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
6b1ca42f
Commit
6b1ca42f
authored
Dec 22, 2016
by
Julia Radzhabova
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PE mobile] Add slides demostration.
parent
c6783cd8
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
265 additions
and
11 deletions
+265
-11
apps/presentationeditor/mobile/app-dev.js
apps/presentationeditor/mobile/app-dev.js
+2
-0
apps/presentationeditor/mobile/app.js
apps/presentationeditor/mobile/app.js
+2
-0
apps/presentationeditor/mobile/app/controller/DocumentHolder.js
...resentationeditor/mobile/app/controller/DocumentHolder.js
+28
-10
apps/presentationeditor/mobile/app/controller/DocumentPreview.js
...esentationeditor/mobile/app/controller/DocumentPreview.js
+149
-0
apps/presentationeditor/mobile/app/template/Toolbar.template
apps/presentationeditor/mobile/app/template/Toolbar.template
+3
-0
apps/presentationeditor/mobile/app/view/DocumentPreview.js
apps/presentationeditor/mobile/app/view/DocumentPreview.js
+75
-0
apps/presentationeditor/mobile/app/view/Toolbar.js
apps/presentationeditor/mobile/app/view/Toolbar.js
+6
-1
No files found.
apps/presentationeditor/mobile/app-dev.js
View file @
6b1ca42f
...
...
@@ -138,6 +138,7 @@ require([
'
Search
'
,
'
Main
'
,
'
DocumentHolder
'
,
'
DocumentPreview
'
,
'
Settings
'
,
'
EditContainer
'
,
'
EditText
'
,
...
...
@@ -204,6 +205,7 @@ require([
'
presentationeditor/mobile/app/controller/Search
'
,
'
presentationeditor/mobile/app/controller/Main
'
,
'
presentationeditor/mobile/app/controller/DocumentHolder
'
,
'
presentationeditor/mobile/app/controller/DocumentPreview
'
,
'
presentationeditor/mobile/app/controller/Settings
'
,
'
presentationeditor/mobile/app/controller/edit/EditContainer
'
,
'
presentationeditor/mobile/app/controller/edit/EditText
'
,
...
...
apps/presentationeditor/mobile/app.js
View file @
6b1ca42f
...
...
@@ -149,6 +149,7 @@ require([
'
Search
'
,
'
Main
'
,
'
DocumentHolder
'
,
'
DocumentPreview
'
,
'
Settings
'
,
'
EditContainer
'
,
'
EditText
'
,
...
...
@@ -215,6 +216,7 @@ require([
'
presentationeditor/mobile/app/controller/Search
'
,
'
presentationeditor/mobile/app/controller/Main
'
,
'
presentationeditor/mobile/app/controller/DocumentHolder
'
,
'
presentationeditor/mobile/app/controller/DocumentPreview
'
,
'
presentationeditor/mobile/app/controller/Settings
'
,
'
presentationeditor/mobile/app/controller/edit/EditContainer
'
,
'
presentationeditor/mobile/app/controller/edit/EditText
'
,
...
...
apps/presentationeditor/mobile/app/controller/DocumentHolder.js
View file @
6b1ca42f
...
...
@@ -43,6 +43,9 @@
define
([
'
core
'
,
'
jquery
'
,
'
underscore
'
,
'
backbone
'
,
'
presentationeditor/mobile/app/view/DocumentHolder
'
],
function
(
core
)
{
'
use strict
'
;
...
...
@@ -50,7 +53,9 @@ define([
PE
.
Controllers
.
DocumentHolder
=
Backbone
.
Controller
.
extend
(
_
.
extend
((
function
()
{
// private
var
_stack
,
_isEdit
=
false
;
_view
,
_isEdit
=
false
,
_isPopMenuHidden
=
false
;
return
{
models
:
[],
...
...
@@ -68,10 +73,12 @@ define([
},
setApi
:
function
(
api
)
{
this
.
api
=
api
;
var
me
=
this
;
me
.
api
=
api
;
this
.
api
.
asc_registerCallback
(
'
asc_onShowPopMenu
'
,
_
.
bind
(
this
.
onApiShowPopMenu
,
this
));
this
.
api
.
asc_registerCallback
(
'
asc_onHidePopMenu
'
,
_
.
bind
(
this
.
onApiHidePopMenu
,
this
));
me
.
api
.
asc_registerCallback
(
'
asc_onShowPopMenu
'
,
_
.
bind
(
me
.
onApiShowPopMenu
,
me
));
me
.
api
.
asc_registerCallback
(
'
asc_onHidePopMenu
'
,
_
.
bind
(
me
.
onApiHidePopMenu
,
me
));
},
setMode
:
function
(
mode
)
{
...
...
@@ -82,7 +89,7 @@ define([
onLaunch
:
function
()
{
var
me
=
this
;
me
.
view
=
me
.
createView
(
'
DocumentHolder
'
).
render
();
_
view
=
me
.
createView
(
'
DocumentHolder
'
).
render
();
$$
(
window
).
on
(
'
resize
'
,
_
.
bind
(
me
.
onEditorResize
,
me
));
},
...
...
@@ -101,11 +108,11 @@ define([
}
else
if
(
'
delete
'
==
eventName
)
{
me
.
api
.
asc_Remove
();
}
else
if
(
'
edit
'
==
eventName
)
{
me
.
view
.
hideMenu
();
_
view
.
hideMenu
();
PE
.
getController
(
'
EditContainer
'
).
showModal
();
}
else
if
(
'
addlink
'
==
eventName
)
{
me
.
view
.
hideMenu
();
_
view
.
hideMenu
();
PE
.
getController
(
'
AddContainer
'
).
showModal
();
uiApp
.
showTab
(
'
#add-link
'
);
...
...
@@ -119,7 +126,16 @@ define([
});
}
me
.
view
.
hideMenu
();
_view
.
hideMenu
();
},
stopApiPopMenu
:
function
()
{
_isPopMenuHidden
=
true
;
this
.
onApiHidePopMenu
();
},
startApiPopMenu
:
function
()
{
_isPopMenuHidden
=
false
;
},
// API Handlers
...
...
@@ -129,17 +145,19 @@ define([
},
onApiShowPopMenu
:
function
(
posX
,
posY
)
{
if
(
_isPopMenuHidden
||
$
(
'
.popover.settings
'
).
length
>
0
||
$
(
'
.popup.settings
'
).
length
>
0
)
return
;
var
me
=
this
,
items
;
_stack
=
me
.
api
.
getSelectedElements
();
items
=
me
.
_initMenu
(
_stack
);
me
.
view
.
showMenu
(
items
,
posX
,
posY
);
_
view
.
showMenu
(
items
,
posX
,
posY
);
},
onApiHidePopMenu
:
function
()
{
this
.
view
.
hideMenu
();
_view
&&
_
view
.
hideMenu
();
},
// Internal
...
...
apps/presentationeditor/mobile/app/controller/DocumentPreview.js
0 → 100644
View file @
6b1ca42f
/*
*
* (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
*
*/
/**
* DocumentPreview.js
* Presentation Editor
*
* Created by Julia Radzhabova on 12/22/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
core
'
,
'
jquery
'
,
'
underscore
'
,
'
backbone
'
,
'
presentationeditor/mobile/app/view/DocumentPreview
'
],
function
(
core
)
{
'
use strict
'
;
PE
.
Controllers
.
DocumentPreview
=
Backbone
.
Controller
.
extend
(
_
.
extend
((
function
()
{
// private
var
_view
,
_touches
,
_touchStart
,
_touchEnd
;
return
{
models
:
[],
collections
:
[],
views
:
[
'
DocumentPreview
'
],
initialize
:
function
()
{
},
setApi
:
function
(
api
)
{
var
me
=
this
;
me
.
api
=
api
;
me
.
api
.
asc_registerCallback
(
'
asc_onEndDemonstration
'
,
_
.
bind
(
me
.
onEndDemonstration
,
me
));
},
// When our application is ready, lets get started
onLaunch
:
function
()
{
var
me
=
this
;
_view
=
me
.
createView
(
'
DocumentPreview
'
).
render
();
$$
(
'
#pe-preview
'
).
on
(
'
touchstart
'
,
_
.
bind
(
me
.
onTouchStart
,
me
))
.
on
(
'
touchmove
'
,
_
.
bind
(
me
.
onTouchMove
,
me
))
.
on
(
'
touchend
'
,
_
.
bind
(
me
.
onTouchEnd
,
me
))
.
on
(
'
click
'
,
_
.
bind
(
me
.
onClick
,
me
));
},
// Handlers
show
:
function
()
{
_view
.
$el
.
css
(
'
display
'
,
'
block
'
);
$
(
'
.view.view-main
'
).
css
(
'
z-index
'
,
'
0
'
);
PE
.
getController
(
'
DocumentHolder
'
).
stopApiPopMenu
();
this
.
api
.
StartDemonstration
(
'
presentation-preview
'
,
this
.
api
.
getCurrentPage
());
},
onTouchStart
:
function
(
event
)
{
event
.
preventDefault
();
_touches
=
[];
for
(
var
i
=
0
;
i
<
event
.
touches
.
length
;
i
++
)
{
_touches
.
push
([
event
.
touches
[
i
].
pageX
,
event
.
touches
[
i
].
pageY
]);
}
_touchEnd
=
_touchStart
=
[
event
.
touches
[
0
].
pageX
,
event
.
touches
[
0
].
pageY
];
},
onTouchMove
:
function
(
event
)
{
event
.
preventDefault
();
_touchEnd
=
[
event
.
touches
[
0
].
pageX
,
event
.
touches
[
0
].
pageY
];
if
(
event
.
touches
.
length
<
2
)
return
;
for
(
var
i
=
0
;
i
<
event
.
touches
.
length
;
i
++
)
{
if
(
Math
.
abs
(
event
.
touches
[
i
].
pageX
-
_touches
[
i
][
0
])
>
20
||
Math
.
abs
(
event
.
touches
[
i
].
pageY
-
_touches
[
i
][
1
])
>
20
)
{
this
.
api
.
EndDemonstration
();
break
;
}
}
},
onTouchEnd
:
function
(
event
)
{
event
.
preventDefault
();
if
(
_touchEnd
[
0
]
-
_touchStart
[
0
]
>
20
)
this
.
api
.
DemonstrationPrevSlide
();
else
if
(
_touchStart
[
0
]
-
_touchEnd
[
0
]
>
20
)
this
.
api
.
DemonstrationNextSlide
();
},
onClick
:
function
(
event
)
{
this
.
api
.
DemonstrationNextSlide
();
},
// API Handlers
onEndDemonstration
:
function
()
{
_view
.
$el
.
css
(
'
display
'
,
'
none
'
);
$
(
'
.view.view-main
'
).
css
(
'
z-index
'
,
'
auto
'
);
PE
.
getController
(
'
DocumentHolder
'
).
startApiPopMenu
();
}
// Internal
}
})(),
PE
.
Controllers
.
DocumentPreview
||
{}))
});
\ No newline at end of file
apps/presentationeditor/mobile/app/template/Toolbar.template
View file @
6b1ca42f
...
...
@@ -20,6 +20,9 @@
<div class="center" id="toolbar-title"></div>
<% } %>
<div class="right">
<a href="#" id="toolbar-preview" class="link icon-only">
<i class="icon icon-edit"></i>
</a>
<% if (android) { %>
<a href="#" id="toolbar-undo" class="link icon-only disabled" style="display: none;">
<i class="icon icon-undo"></i>
...
...
apps/presentationeditor/mobile/app/view/DocumentPreview.js
0 → 100644
View file @
6b1ca42f
/*
*
* (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
*
*/
/**
* DocumentPreview.js
* Presentation Editor
*
* Created by Julia Radzhabova on 12/22/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
jquery
'
,
'
underscore
'
,
'
backbone
'
],
function
(
$
,
_
,
Backbone
)
{
'
use strict
'
;
PE
.
Views
.
DocumentPreview
=
Backbone
.
View
.
extend
((
function
()
{
// private
return
{
el
:
'
#pe-preview
'
,
template
:
_
.
template
(
'
<div id="presentation-preview" style="width:100%; height:100%"></div>
'
),
// Delegated events for creating new items, and clearing completed ones.
events
:
{
},
// Set innerHTML and get the references to the DOM elements
initialize
:
function
()
{
//
},
// Render layout
render
:
function
()
{
var
el
=
$
(
this
.
el
);
el
.
append
(
this
.
template
({}));
return
this
;
}
}
})());
});
\ No newline at end of file
apps/presentationeditor/mobile/app/view/Toolbar.js
View file @
6b1ca42f
...
...
@@ -62,7 +62,8 @@ define([
"
click #toolbar-search
"
:
"
searchToggle
"
,
"
click #toolbar-edit
"
:
"
showEdition
"
,
"
click #toolbar-add
"
:
"
showInserts
"
,
"
click #toolbar-settings
"
:
"
showSettings
"
"
click #toolbar-settings
"
:
"
showSettings
"
,
"
click #toolbar-preview
"
:
"
showPreview
"
},
// Set innerHTML and get the references to the DOM elements
...
...
@@ -148,6 +149,10 @@ define([
PE
.
getController
(
'
Settings
'
).
showModal
();
},
showPreview
:
function
()
{
PE
.
getController
(
'
DocumentPreview
'
).
show
();
},
textBack
:
'
Back
'
}
})(),
PE
.
Views
.
Toolbar
||
{}))
...
...
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