Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
web-apps
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
web-apps
Commits
9c65d45f
Commit
9c65d45f
authored
Dec 06, 2016
by
Julia Radzhabova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PE mobile] Edit hyperlinks.
parent
9be7b6ef
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
692 additions
and
27 deletions
+692
-27
apps/presentationeditor/mobile/app-dev.js
apps/presentationeditor/mobile/app-dev.js
+2
-4
apps/presentationeditor/mobile/app.js
apps/presentationeditor/mobile/app.js
+2
-4
apps/presentationeditor/mobile/app/controller/add/AddLink.js
apps/presentationeditor/mobile/app/controller/add/AddLink.js
+8
-9
apps/presentationeditor/mobile/app/controller/edit/EditContainer.js
...ntationeditor/mobile/app/controller/edit/EditContainer.js
+2
-2
apps/presentationeditor/mobile/app/controller/edit/EditLink.js
...presentationeditor/mobile/app/controller/edit/EditLink.js
+362
-0
apps/presentationeditor/mobile/app/template/EditLink.template
.../presentationeditor/mobile/app/template/EditLink.template
+175
-0
apps/presentationeditor/mobile/app/view/add/AddLink.js
apps/presentationeditor/mobile/app/view/add/AddLink.js
+0
-8
apps/presentationeditor/mobile/app/view/edit/EditLink.js
apps/presentationeditor/mobile/app/view/edit/EditLink.js
+141
-0
No files found.
apps/presentationeditor/mobile/app-dev.js
View file @
9c65d45f
...
...
@@ -141,12 +141,11 @@ require([
'
Settings
'
,
'
EditContainer
'
,
'
EditText
'
,
// 'EditParagraph',
'
EditTable
'
,
'
EditImage
'
,
'
EditShape
'
,
// 'EditChart',
// 'EditHyperl
ink',
'
EditL
ink
'
,
'
AddContainer
'
,
'
AddTable
'
,
'
AddShape
'
,
...
...
@@ -206,12 +205,11 @@ require([
'
presentationeditor/mobile/app/controller/Settings
'
,
'
presentationeditor/mobile/app/controller/edit/EditContainer
'
,
'
presentationeditor/mobile/app/controller/edit/EditText
'
,
// 'presentationeditor/mobile/app/controller/edit/EditParagraph',
'
presentationeditor/mobile/app/controller/edit/EditTable
'
,
'
presentationeditor/mobile/app/controller/edit/EditImage
'
,
'
presentationeditor/mobile/app/controller/edit/EditShape
'
,
// 'presentationeditor/mobile/app/controller/edit/EditChart',
// 'presentationeditor/mobile/app/controller/edit/EditHyperl
ink',
'
presentationeditor/mobile/app/controller/edit/EditL
ink
'
,
'
presentationeditor/mobile/app/controller/add/AddContainer
'
,
'
presentationeditor/mobile/app/controller/add/AddTable
'
,
'
presentationeditor/mobile/app/controller/add/AddShape
'
,
...
...
apps/presentationeditor/mobile/app.js
View file @
9c65d45f
...
...
@@ -152,12 +152,11 @@ require([
// 'Settings',
// 'EditContainer',
'
EditText
'
,
// 'EditParagraph'
'
EditTable
'
,
'
EditImage
'
,
'
EditShape
'
,
// 'EditChart',
// 'EditHyperl
ink',
'
EditL
ink
'
,
'
AddContainer
'
,
'
AddTable
'
,
'
AddShape
'
,
...
...
@@ -217,12 +216,11 @@ require([
// 'presentationeditor/mobile/app/controller/Settings',
'
presentationeditor/mobile/app/controller/edit/EditContainer
'
,
'
presentationeditor/mobile/app/controller/edit/EditText
'
,
// 'presentationeditor/mobile/app/controller/edit/EditParagraph'
'
presentationeditor/mobile/app/controller/edit/EditTable
'
,
'
presentationeditor/mobile/app/controller/edit/EditImage
'
,
'
presentationeditor/mobile/app/controller/edit/EditShape
'
,
// 'presentationeditor/mobile/app/controller/edit/EditChart',
// 'presentationeditor/mobile/app/controller/edit/EditHyperl
ink',
'
presentationeditor/mobile/app/controller/edit/EditL
ink
'
,
'
presentationeditor/mobile/app/controller/add/AddContainer
'
,
'
presentationeditor/mobile/app/controller/add/AddTable
'
,
'
presentationeditor/mobile/app/controller/add/AddShape
'
,
...
...
apps/presentationeditor/mobile/app/controller/add/AddLink.js
View file @
9c65d45f
...
...
@@ -46,8 +46,7 @@ define([
'
use strict
'
;
PE
.
Controllers
.
AddLink
=
Backbone
.
Controller
.
extend
(
_
.
extend
((
function
()
{
var
_linkObject
=
undefined
,
c_oHyperlinkType
=
{
var
c_oHyperlinkType
=
{
InternalLink
:
0
,
WebLink
:
1
},
...
...
@@ -105,11 +104,15 @@ define([
var
$target
=
$
(
e
.
currentTarget
);
if
(
$target
&&
$target
.
prop
(
'
id
'
)
===
'
add-link
'
)
{
_linkType
=
c_oHyperlinkType
.
WebLink
;
_slideLink
=
_slideNum
=
0
;
_isDisplayChanged
=
false
;
var
text
=
this
.
api
.
can_AddHyperlink
();
if
(
text
!==
false
)
{
_linkObject
=
new
Asc
.
CHyperlinkProperty
(
);
_linkObject
.
put_Text
(
text
);
$
(
'
#add-link-display input
'
).
val
((
text
!==
null
)
?
text
:
this
.
textDefault
);
$
(
'
#add-link-display
'
).
toggleClass
(
'
disabled
'
,
text
===
null
);
}
this
.
initSettings
();
}
},
...
...
@@ -123,11 +126,7 @@ define([
_slidesCount
=
me
.
api
.
getCountPages
();
$
(
'
#page-addlink-slidenumber input
'
).
val
([
_slideLink
]);
$
(
'
#addlink-slide-number .item-after label
'
).
text
(
_slideNum
+
1
);
}
else
if
(
_linkObject
)
{
var
text
=
_linkObject
.
get_Text
();
$
(
'
#add-link-display input
'
).
val
((
text
!==
null
)
?
text
:
me
.
textDefault
);
$
(
'
#add-link-display
'
).
toggleClass
(
'
disabled
'
,
text
===
null
);
}
else
{
$
(
'
#add-link-type .item-after
'
).
text
((
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
me
.
textExternalLink
:
me
.
textInternalLink
);
$
(
'
#add-link-url
'
)[(
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
'
show
'
:
'
hide
'
]();
$
(
'
#add-link-number
'
)[(
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
'
hide
'
:
'
show
'
]();
...
...
apps/presentationeditor/mobile/app/controller/edit/EditContainer.js
View file @
9c65d45f
...
...
@@ -157,7 +157,7 @@ define([
editors
.
push
({
caption
:
me
.
textHyperlink
,
id
:
'
edit-link
'
,
layout
:
PE
.
getController
(
'
Edit
Hyperlink
'
).
getView
(
'
EditHyperl
ink
'
).
rootLayout
()
layout
:
PE
.
getController
(
'
Edit
Link
'
).
getView
(
'
EditL
ink
'
).
rootLayout
()
})
}
}
...
...
@@ -334,7 +334,7 @@ define([
_settings
.
push
(
'
shape
'
);
no_text
=
false
;
}
else
if
(
Asc
.
c_oAscTypeSelectElement
.
Hyperlink
==
type
)
{
//
_settings.push('hyperlink');
_settings
.
push
(
'
hyperlink
'
);
}
});
if
(
!
no_text
)
...
...
apps/presentationeditor/mobile/app/controller/edit/EditLink.js
0 → 100644
View file @
9c65d45f
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* EditLink.js
* Presentation Editor
*
* Created by Julia Radzhabova on 12/06/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
core
'
,
'
presentationeditor/mobile/app/view/edit/EditLink
'
],
function
(
core
)
{
'
use strict
'
;
PE
.
Controllers
.
EditLink
=
Backbone
.
Controller
.
extend
(
_
.
extend
((
function
()
{
// Private
var
_stack
=
[],
_linkObject
=
undefined
,
c_oHyperlinkType
=
{
InternalLink
:
0
,
WebLink
:
1
},
c_oSlideLink
=
{
Next
:
0
,
Previouse
:
1
,
Last
:
2
,
First
:
3
,
Num
:
4
},
_linkType
=
c_oHyperlinkType
.
WebLink
,
_slideLink
=
0
,
_slideNum
=
0
,
_slidesCount
=
0
,
_isDisplayChanged
=
false
;
return
{
models
:
[],
collections
:
[],
views
:
[
'
EditLink
'
],
initialize
:
function
()
{
Common
.
NotificationCenter
.
on
(
'
editcontainer:show
'
,
_
.
bind
(
this
.
initEvents
,
this
));
Common
.
NotificationCenter
.
on
(
'
editcategory:show
'
,
_
.
bind
(
this
.
categoryShow
,
this
));
this
.
addListeners
({
'
EditLink
'
:
{
'
page:show
'
:
this
.
onPageShow
}
});
var
me
=
this
;
uiApp
.
onPageBack
(
'
editlink-type editlink-slidenumber
'
,
function
(
page
)
{
me
.
initSettings
();
});
},
setApi
:
function
(
api
)
{
var
me
=
this
;
me
.
api
=
api
;
me
.
api
.
asc_registerCallback
(
'
asc_onFocusObject
'
,
_
.
bind
(
me
.
onApiFocusObject
,
me
));
},
onLaunch
:
function
()
{
this
.
createView
(
'
EditLink
'
).
render
();
},
initEvents
:
function
()
{
var
me
=
this
;
$
(
'
#edit-link-edit
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
onEditLink
,
me
));
$
(
'
#edit-link-remove
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
onRemoveLink
,
me
));
},
categoryShow
:
function
(
e
)
{
var
$target
=
$
(
e
.
currentTarget
);
if
(
$target
&&
$target
.
prop
(
'
id
'
)
===
'
edit-link
'
&&
_linkObject
)
{
var
url
=
_linkObject
.
get_Value
();
if
(
url
===
null
||
url
===
undefined
||
url
==
''
)
_linkType
=
c_oHyperlinkType
.
WebLink
;
else
{
var
indAction
=
url
.
indexOf
(
"
ppaction://hlink
"
);
if
(
0
==
indAction
)
{
if
(
url
==
"
ppaction://hlinkshowjump?jump=firstslide
"
)
{
_slideLink
=
2
;
}
else
if
(
url
==
"
ppaction://hlinkshowjump?jump=lastslide
"
)
{
_slideLink
=
3
;
}
else
if
(
url
==
"
ppaction://hlinkshowjump?jump=nextslide
"
)
{
_slideLink
=
0
;
}
else
if
(
url
==
"
ppaction://hlinkshowjump?jump=previousslide
"
)
{
_slideLink
=
1
;
}
else
{
_slideLink
=
4
;
_slidesCount
=
this
.
api
.
getCountPages
();
var
mask
=
"
ppaction://hlinksldjumpslide
"
,
indSlide
=
url
.
indexOf
(
mask
);
if
(
0
==
indSlide
)
{
_slideNum
=
parseInt
(
url
.
substring
(
mask
.
length
));
if
(
_slideNum
<
0
)
_slideNum
=
0
;
if
(
_slideNum
>=
_slidesCount
)
_slideNum
=
_slidesCount
-
1
;
}
else
_slideNum
=
0
;
}
_linkType
=
c_oHyperlinkType
.
InternalLink
;
}
else
{
_linkType
=
c_oHyperlinkType
.
WebLink
;
}
}
var
text
=
_linkObject
.
get_Text
();
if
(
text
!==
false
)
{
$
(
'
#edit-link-display input
'
).
val
((
text
!==
null
)
?
text
:
this
.
textDefault
);
$
(
'
#edit-link-display
'
).
toggleClass
(
'
disabled
'
,
text
===
null
);
}
if
(
_linkType
==
c_oHyperlinkType
.
WebLink
)
{
var
value
=
_linkObject
.
get_Value
();
$
(
'
#edit-link-url input
'
).
val
(
value
?
[
value
.
replace
(
new
RegExp
(
"
"
,
'
g
'
),
"
%20
"
)]
:
''
);
}
$
(
'
#edit-link-tip input
'
).
val
([
_linkObject
.
get_ToolTip
()]);
this
.
initSettings
();
}
},
initSettings
:
function
(
pageId
)
{
var
me
=
this
;
if
(
pageId
==
'
#editlink-type
'
)
{
$
(
'
#page-editlink-type input
'
).
val
([
_linkType
]);
}
else
if
(
pageId
==
'
#editlink-slidenumber
'
)
{
_slidesCount
=
me
.
api
.
getCountPages
();
$
(
'
#page-editlink-slidenumber input
'
).
val
([
_slideLink
]);
$
(
'
#editlink-slide-number .item-after label
'
).
text
(
_slideNum
+
1
);
}
else
{
$
(
'
#edit-link-type .item-after
'
).
text
((
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
me
.
textExternalLink
:
me
.
textInternalLink
);
$
(
'
#edit-link-url
'
)[(
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
'
show
'
:
'
hide
'
]();
$
(
'
#edit-link-number
'
)[(
_linkType
==
c_oHyperlinkType
.
WebLink
)
?
'
hide
'
:
'
show
'
]();
if
(
_linkType
==
c_oHyperlinkType
.
WebLink
)
{
_
.
delay
(
function
()
{
$
(
'
.page[data-page=editlink-link] input[type=url]
'
).
focus
();
},
1000
);
}
else
{
var
slidename
=
''
;
switch
(
_slideLink
)
{
case
0
:
slidename
=
me
.
textNext
;
break
;
case
1
:
slidename
=
me
.
textPrev
;
break
;
case
2
:
slidename
=
me
.
textFirst
;
break
;
case
3
:
slidename
=
me
.
textLast
;
break
;
case
4
:
slidename
=
me
.
textSlide
+
'
'
+
(
_slideNum
+
1
);
break
;
}
$
(
'
#edit-link-number .item-after
'
).
text
(
slidename
);
}
$
(
'
#edit-link-edit
'
).
toggleClass
(
'
disabled
'
,
(
_linkType
==
c_oHyperlinkType
.
WebLink
)
&&
_
.
isEmpty
(
$
(
'
#edit-link-url input
'
).
val
()));
}
},
onPageShow
:
function
(
view
,
pageId
)
{
var
me
=
this
;
$
(
'
#page-editlink-type li
'
).
single
(
'
click
'
,
_
.
buffered
(
me
.
onLinkType
,
100
,
me
));
$
(
'
#page-editlink-slidenumber li
'
).
single
(
'
click
'
,
_
.
buffered
(
me
.
onSlideLink
,
100
,
me
));
$
(
'
#editlink-slide-number .button
'
).
single
(
'
click
'
,
_
.
buffered
(
me
.
onSlideNumber
,
100
,
me
));
$
(
'
#edit-link-display input[type="text"]
'
).
single
(
'
input
'
,
_
.
bind
(
function
(
e
)
{
_isDisplayChanged
=
true
;
},
this
));
me
.
initSettings
(
pageId
);
},
// Handlers
onEditLink
:
function
()
{
var
me
=
this
,
display
=
$
(
'
#edit-link-display input
'
).
val
(),
tip
=
$
(
'
#edit-link-tip input
'
).
val
(),
props
=
new
Asc
.
CHyperlinkProperty
(),
def_display
=
''
;
if
(
_linkType
==
c_oHyperlinkType
.
WebLink
)
{
var
url
=
$
(
'
#edit-link-url input
'
).
val
(),
urltype
=
me
.
api
.
asc_getUrlType
(
$
.
trim
(
url
)),
isEmail
=
(
urltype
==
2
);
if
(
urltype
<
1
)
{
uiApp
.
alert
(
me
.
txtNotUrl
);
return
;
}
url
=
url
.
replace
(
/^
\s
+|
\s
+$/g
,
''
);
if
(
!
/
(((
^https
?)
|
(
^ftp
))
:
\/\/)
|
(
^mailto:
)
/i
.
test
(
url
)
)
url
=
(
isEmail
?
'
mailto:
'
:
'
http://
'
)
+
url
;
url
=
url
.
replace
(
new
RegExp
(
"
%20
"
,
'
g
'
),
"
"
);
props
.
put_Value
(
url
);
props
.
put_ToolTip
(
tip
);
def_display
=
url
;
}
else
{
var
url
=
"
ppaction://hlink
"
;
var
slidetip
=
''
;
switch
(
_slideLink
)
{
case
0
:
url
=
url
+
"
showjump?jump=nextslide
"
;
slidetip
=
this
.
textNext
;
break
;
case
1
:
url
=
url
+
"
showjump?jump=previousslide
"
;
slidetip
=
this
.
textPrev
;
break
;
case
2
:
url
=
url
+
"
showjump?jump=firstslide
"
;
slidetip
=
this
.
textFirst
;
break
;
case
3
:
url
=
url
+
"
showjump?jump=lastslide
"
;
slidetip
=
this
.
textLast
;
break
;
case
4
:
url
=
url
+
"
sldjumpslide
"
+
_slideNum
;
slidetip
=
this
.
textSlide
+
'
'
+
(
_slideNum
+
1
);
break
;
}
props
.
put_Value
(
url
);
props
.
put_ToolTip
(
_
.
isEmpty
(
tip
)
?
slidetip
:
tip
);
def_display
=
slidetip
;
}
if
(
!
$
(
'
#edit-link-display
'
).
hasClass
(
'
disabled
'
)
&&
(
_isDisplayChanged
||
_
.
isEmpty
(
display
)))
{
props
.
put_Text
(
_
.
isEmpty
(
display
)
?
def_display
:
display
);
}
else
props
.
put_Text
(
null
);
me
.
api
.
change_Hyperlink
(
props
);
PE
.
getController
(
'
EditContainer
'
).
hideModal
();
},
onRemoveLink
:
function
()
{
this
.
api
&&
this
.
api
.
remove_Hyperlink
();
PE
.
getController
(
'
EditContainer
'
).
hideModal
();
},
onLinkType
:
function
(
e
)
{
var
$target
=
$
(
e
.
currentTarget
).
find
(
'
input
'
);
if
(
$target
&&
this
.
api
)
{
_linkType
=
parseFloat
(
$target
.
prop
(
'
value
'
));
}
},
onSlideLink
:
function
(
e
)
{
var
$target
=
$
(
e
.
currentTarget
).
find
(
'
input
'
);
if
(
$target
&&
this
.
api
)
{
_slideLink
=
parseFloat
(
$target
.
prop
(
'
value
'
));
}
},
onSlideNumber
:
function
(
e
)
{
var
$button
=
$
(
e
.
currentTarget
),
slide
=
_slideNum
;
if
(
$button
.
hasClass
(
'
decrement
'
))
{
slide
=
Math
.
max
(
0
,
--
slide
);
}
else
{
slide
=
Math
.
min
(
_slidesCount
-
1
,
++
slide
);
}
_slideNum
=
slide
;
$
(
'
#editlink-slide-number .item-after label
'
).
text
(
slide
+
1
);
},
// API handlers
onApiFocusObject
:
function
(
objects
)
{
_stack
=
objects
;
var
links
=
[];
_
.
each
(
_stack
,
function
(
object
)
{
if
(
object
.
get_ObjectType
()
==
Asc
.
c_oAscTypeSelectElement
.
Hyperlink
)
{
links
.
push
(
object
);
}
});
if
(
links
.
length
>
0
)
{
var
object
=
links
[
links
.
length
-
1
];
// get top
_linkObject
=
object
.
get_ObjectValue
();
}
else
{
_linkObject
=
undefined
;
}
},
// Helpers
_closeIfNeed
:
function
()
{
if
(
!
this
.
_isImageInStack
())
{
PE
.
getController
(
'
EditContainer
'
).
hideModal
();
}
},
txtNotUrl
:
'
This field should be a URL in the format
\
"http://www.example.com
\
"
'
,
textDefault
:
'
Selected text
'
,
textNext
:
'
Next Slide
'
,
textPrev
:
'
Previous Slide
'
,
textFirst
:
'
First Slide
'
,
textLast
:
'
Last Slide
'
,
textSlide
:
'
Slide
'
,
textExternalLink
:
'
External Link
'
,
textInternalLink
:
'
Slide in this Presentation
'
};
})(),
PE
.
Controllers
.
EditLink
||
{}))
});
\ No newline at end of file
apps/presentationeditor/mobile/app/template/EditLink.template
0 → 100644
View file @
9c65d45f
<!-- Root view -->
<div id="edit-link-root">
<div class="list-block">
<ul>
<li>
<div id="edit-link-type" class="item-content item-link">
<div class="item-inner">
<div class="item-title"><%= scope.textLinkType %></div>
<div class="item-after"><%= scope.textExternalLink %></div>
</div>
</div>
</li>
<li>
<div id="edit-link-url" class="item-content">
<div class="item-inner">
<div class="item-title label"><%= scope.textLink %></div>
<div class="item-input">
<input type="url" placeholder="<%= scope.textLink %>">
</div>
</div>
</div>
</li>
<li>
<div id="edit-link-number" class="item-content item-link">
<div class="item-inner">
<div class="item-title label"><%= scope.textLinkSlide %></div>
<div class="item-after"><%= scope.textNext %></div>
</div>
</div>
</li>
<li>
<div id="edit-link-display" class="item-content">
<div class="item-inner">
<div class="item-title label"><%= scope.textDisplay %></div>
<div class="item-input">
<input type="text" placeholder="<%= scope.textDisplay %>">
</div>
</div>
</div>
</li>
<li>
<div id="edit-link-tip" class="item-content">
<div class="item-inner">
<div class="item-title label"><%= scope.textTip %></div>
<div class="item-input">
<input type="text" placeholder="<%= scope.textTip %>">
</div>
</div>
</div>
</li>
</ul>
</div>
<div class="list-block">
<% if (android) { %>
<a href="#" id="edit-link-edit" class="button button-raised button-fill disabled" style="margin: 20px 16px;"><%= scope.textEdit %></a>
<a href="#" id="edit-link-remove" class="button button-raised button-fill" style="margin: 20px 16px; background-color: #f44336;"><%= scope.textRemove %></a>
<% } else { %>
<ul>
<li>
<a href="#" id="edit-link-edit" class="list-button item-link disabled" style="text-align: center;"><%= scope.textEdit %></a>
</li>
<li>
<a href="#" id="edit-link-remove" class="list-button item-link" style="text-align: center; color: #f00"><%= scope.textRemove %></a>
</li>
</ul>
<% } %>
</div>
</div>
<!-- Link Type view -->
<div id="editlink-type">
<div class="navbar">
<div class="navbar-inner">
<div class="left sliding"><a href="#" class="back link"><i class="icon icon-back"></i><% if (!android) { %><span><%= scope.textBack %></span><% } %></a></div>
<div class="center sliding"><%= scope.textLinkType %></div>
</div>
</div>
<div class="page" id="page-editlink-type" data-page="editlink-type">
<div class="page-content">
<div class="list-block">
<ul>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-type" value="1">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textExternalLink %></div>
</div>
</label>
</li>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-type" value="0">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textInternalLink %></div>
</div>
</label>
</li>
</ul>
</div>
</div>
</div>
</div>
<!-- Slide Number view -->
<div id="editlink-slidenumber">
<div class="navbar">
<div class="navbar-inner">
<div class="left sliding"><a href="#" class="back link"><i class="icon icon-back"></i><% if (!android) { %><span><%= scope.textBack %></span><% } %></a></div>
<div class="center sliding"><%= scope.textLinkSlide %></div>
</div>
</div>
<div class="page" id="page-editlink-slidenumber" data-page="editlink-slidenumber">
<div class="page-content">
<div class="list-block">
<ul>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-slide" value="0">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textNext %></div>
</div>
</label>
</li>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-slide" value="1">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textPrev %></div>
</div>
</label>
</li>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-slide" value="2">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textFirst %></div>
</div>
</label>
</li>
<li>
<label class="label-radio item-content">
<input type="radio" name="editlink-slide" value="3">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textLast %></div>
</div>
</label>
</li>
<li id="editlink-slide-number">
<label class="label-radio item-content">
<input type="radio" name="editlink-slide" value="4">
<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>
<div class="item-inner">
<div class="item-title"><%= scope.textNumber %></div>
<div class="item-after splitter">
<% if (!android) { %><label></label><% } %>
<p class="buttons-row">
<span class="button decrement"><% if (android) { %><i class="icon icon-expand-down"></i><% } else { %>-<% } %></span>
<% if (android) { %><label></label><% } %>
<span class="button increment"><% if (android) { %><i class="icon icon-expand-up"></i><% } else { %>+<% } %></span>
</p>
</div>
</div>
</label>
</li>
</ul>
</div>
</div>
</div>
</div>
\ No newline at end of file
apps/presentationeditor/mobile/app/view/add/AddLink.js
View file @
9c65d45f
...
...
@@ -68,8 +68,6 @@ define([
$
(
'
#add-link-number
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showPageNumber
,
me
));
$
(
'
#add-link-type
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showLinkType
,
me
));
me
.
initControls
();
},
// Render layout
...
...
@@ -93,10 +91,6 @@ define([
return
''
;
},
initControls
:
function
()
{
//
},
showPage
:
function
(
templateId
)
{
var
rootView
=
PE
.
getController
(
'
AddContainer
'
).
rootView
;
...
...
@@ -139,8 +133,6 @@ define([
textFirst
:
'
First Slide
'
,
textLast
:
'
Last Slide
'
,
textNumber
:
'
Slide Number
'
}
})(),
PE
.
Views
.
AddLink
||
{}))
});
\ No newline at end of file
apps/presentationeditor/mobile/app/view/edit/EditLink.js
0 → 100644
View file @
9c65d45f
/*
*
* (c) Copyright Ascensio System Limited 2010-2016
*
* This program is a free software product. You can redistribute it and/or
* modify it under the terms of the GNU Affero General Public License (AGPL)
* version 3 as published by the Free Software Foundation. In accordance with
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
* that Ascensio System SIA expressly excludes the warranty of non-infringement
* of any third-party rights.
*
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
*
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
* EU, LV-1021.
*
* The interactive user interfaces in modified source and object code versions
* of the Program must display Appropriate Legal Notices, as required under
* Section 5 of the GNU AGPL version 3.
*
* Pursuant to Section 7(b) of the License you must retain the original Product
* logo when distributing the program. Pursuant to Section 7(e) we decline to
* grant you any rights under trademark law for use of our trademarks.
*
* All the Product's GUI elements, including illustrations and icon sets, as
* well as technical writing content are licensed under the terms of the
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
*
*/
/**
* EditLink.js
* Presentation Editor
*
* Created by Julia Radzhabova on 12/06/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
text!presentationeditor/mobile/app/template/EditLink.template
'
,
'
jquery
'
,
'
underscore
'
,
'
backbone
'
],
function
(
editTemplate
,
$
,
_
,
Backbone
)
{
'
use strict
'
;
PE
.
Views
.
EditLink
=
Backbone
.
View
.
extend
(
_
.
extend
((
function
()
{
// private
return
{
// el: '.view-main',
template
:
_
.
template
(
editTemplate
),
events
:
{
},
initialize
:
function
()
{
Common
.
NotificationCenter
.
on
(
'
editcontainer:show
'
,
_
.
bind
(
this
.
initEvents
,
this
));
},
initEvents
:
function
()
{
var
me
=
this
;
$
(
'
#edit-link-number
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showPageNumber
,
me
));
$
(
'
#edit-link-type
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showLinkType
,
me
));
},
// Render layout
render
:
function
()
{
this
.
layout
=
$
(
'
<div/>
'
).
append
(
this
.
template
({
android
:
Common
.
SharedSettings
.
get
(
'
android
'
),
phone
:
Common
.
SharedSettings
.
get
(
'
phone
'
),
scope
:
this
}));
return
this
;
},
rootLayout
:
function
()
{
if
(
this
.
layout
)
{
return
this
.
layout
.
find
(
'
#edit-link-root
'
)
.
html
();
}
return
''
;
},
showPage
:
function
(
templateId
)
{
var
rootView
=
PE
.
getController
(
'
EditContainer
'
).
rootView
;
if
(
rootView
&&
this
.
layout
)
{
var
$content
=
this
.
layout
.
find
(
templateId
);
// Android fix for navigation
if
(
Framework7
.
prototype
.
device
.
android
)
{
$content
.
find
(
'
.page
'
).
append
(
$content
.
find
(
'
.navbar
'
));
}
rootView
.
router
.
load
({
content
:
$content
.
html
()
});
this
.
fireEvent
(
'
page:show
'
,
[
this
,
templateId
]);
}
},
showLinkType
:
function
()
{
this
.
showPage
(
'
#editlink-type
'
);
},
showPageNumber
:
function
()
{
this
.
showPage
(
'
#editlink-slidenumber
'
);
},
textLinkType
:
'
Link Type
'
,
textExternalLink
:
'
External Link
'
,
textInternalLink
:
'
Slide in this Presentation
'
,
textLink
:
'
Link
'
,
textLinkSlide
:
'
Link to
'
,
textBack
:
'
Back
'
,
textAddLink
:
'
Add Link
'
,
textDisplay
:
'
Display
'
,
textTip
:
'
Screen Tip
'
,
textInsert
:
'
Insert
'
,
textNext
:
'
Next Slide
'
,
textPrev
:
'
Previous Slide
'
,
textFirst
:
'
First Slide
'
,
textLast
:
'
Last Slide
'
,
textNumber
:
'
Slide Number
'
,
textEdit
:
'
Edit Link
'
,
textRemove
:
'
Remove Link
'
}
})(),
PE
.
Views
.
EditLink
||
{}))
});
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment