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
b0eafed8
Commit
b0eafed8
authored
Nov 22, 2016
by
Alexander Yuzhin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[PE mobile] Add Settings view
parent
d264753c
Changes
5
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
648 additions
and
6 deletions
+648
-6
apps/presentationeditor/mobile/app-dev.js
apps/presentationeditor/mobile/app-dev.js
+4
-4
apps/presentationeditor/mobile/app/controller/Settings.js
apps/presentationeditor/mobile/app/controller/Settings.js
+203
-0
apps/presentationeditor/mobile/app/template/Settings.template
.../presentationeditor/mobile/app/template/Settings.template
+238
-0
apps/presentationeditor/mobile/app/view/Settings.js
apps/presentationeditor/mobile/app/view/Settings.js
+201
-0
apps/presentationeditor/mobile/app/view/Toolbar.js
apps/presentationeditor/mobile/app/view/Toolbar.js
+2
-2
No files found.
apps/presentationeditor/mobile/app-dev.js
View file @
b0eafed8
...
...
@@ -136,9 +136,9 @@ require([
'
Editor
'
,
'
Toolbar
'
,
'
Search
'
,
'
Main
'
'
Main
'
,
// 'DocumentHolder',
// 'Settings',
'
Settings
'
// 'EditContainer',
// 'EditText',
// 'EditParagraph',
...
...
@@ -201,9 +201,9 @@ require([
'
presentationeditor/mobile/app/controller/Editor
'
,
'
presentationeditor/mobile/app/controller/Toolbar
'
,
'
presentationeditor/mobile/app/controller/Search
'
,
'
presentationeditor/mobile/app/controller/Main
'
'
presentationeditor/mobile/app/controller/Main
'
,
// 'presentationeditor/mobile/app/controller/DocumentHolder',
// 'presentationeditor/mobile/app/controller/Settings',
'
presentationeditor/mobile/app/controller/Settings
'
// 'presentationeditor/mobile/app/controller/edit/EditContainer',
// 'presentationeditor/mobile/app/controller/edit/EditText',
// 'presentationeditor/mobile/app/controller/edit/EditParagraph',
...
...
apps/presentationeditor/mobile/app/controller/Settings.js
0 → 100644
View file @
b0eafed8
/*
*
* (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
*
*/
/**
* Settings.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/22/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
core
'
,
'
presentationeditor/mobile/app/view/Settings
'
],
function
(
core
)
{
'
use strict
'
;
PE
.
Controllers
.
Settings
=
Backbone
.
Controller
.
extend
(
_
.
extend
((
function
()
{
// private
var
rootView
,
inProgress
,
infoObj
,
modalView
;
return
{
models
:
[],
collections
:
[],
views
:
[
'
Settings
'
],
initialize
:
function
()
{
Common
.
SharedSettings
.
set
(
'
readerMode
'
,
false
);
Common
.
NotificationCenter
.
on
(
'
settingscontainer:show
'
,
_
.
bind
(
this
.
initEvents
,
this
));
this
.
addListeners
({
'
Settings
'
:
{
'
page:show
'
:
this
.
onPageShow
}
});
},
setApi
:
function
(
api
)
{
this
.
api
=
api
;
},
onLaunch
:
function
()
{
this
.
createView
(
'
Settings
'
).
render
();
},
setMode
:
function
(
mode
)
{
this
.
getView
(
'
Settings
'
).
setMode
(
mode
);
},
initEvents
:
function
()
{
},
rootView
:
function
()
{
return
rootView
;
},
showModal
:
function
()
{
if
(
Common
.
SharedSettings
.
get
(
'
phone
'
))
{
modalView
=
uiApp
.
popup
(
'
<div class="popup settings container-settings">
'
+
'
<div class="content-block">
'
+
'
<div class="view settings-root-view navbar-through">
'
+
this
.
getView
(
'
Settings
'
).
rootLayout
()
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
);
}
else
{
modalView
=
uiApp
.
popover
(
'
<div class="popover settings container-settings">
'
+
'
<div class="popover-angle"></div>
'
+
'
<div class="popover-inner">
'
+
'
<div class="content-block">
'
+
'
<div class="view popover-view settings-root-view navbar-through">
'
+
this
.
getView
(
'
Settings
'
).
rootLayout
()
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
+
'
</div>
'
,
$$
(
'
#toolbar-settings
'
)
);
}
if
(
Framework7
.
prototype
.
device
.
android
===
true
)
{
$$
(
'
.view.settings-root-view.navbar-through
'
).
removeClass
(
'
navbar-through
'
).
addClass
(
'
navbar-fixed
'
);
$$
(
'
.view.settings-root-view .navbar
'
).
prependTo
(
'
.view.settings-root-view > .pages > .page
'
);
}
rootView
=
uiApp
.
addView
(
'
.settings-root-view
'
,
{
dynamicNavbar
:
true
});
Common
.
NotificationCenter
.
trigger
(
'
settingscontainer:show
'
);
this
.
onPageShow
(
this
.
getView
(
'
Settings
'
));
},
hideModal
:
function
()
{
if
(
modalView
)
{
uiApp
.
closeModal
(
modalView
);
}
},
onPageShow
:
function
(
view
)
{
var
me
=
this
;
$
(
'
#settings-search
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
_onSearch
,
me
));
$
(
'
#settings-readermode input:checkbox
'
).
single
(
'
change
'
,
_
.
bind
(
me
.
_onReaderMode
,
me
));
$
(
'
#settings-edit-presentation
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
_onEditPresentation
,
me
));
$
(
modalView
).
find
(
'
.formats a
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
_onSaveFormat
,
me
));
},
// API handlers
_onApiDocumentName
:
function
(
name
)
{
$
(
'
#settings-presentation-title
'
).
html
(
name
?
name
:
'
-
'
);
},
_onEditPresentation
:
function
()
{
Common
.
Gateway
.
requestEditRights
();
},
_onSearch
:
function
(
e
)
{
var
toolbarView
=
PE
.
getController
(
'
Toolbar
'
).
getView
(
'
Toolbar
'
);
if
(
toolbarView
)
{
toolbarView
.
showSearch
();
}
this
.
hideModal
();
},
_onReaderMode
:
function
(
e
)
{
var
me
=
this
;
Common
.
SharedSettings
.
set
(
'
readerMode
'
,
!
Common
.
SharedSettings
.
get
(
'
readerMode
'
));
me
.
api
&&
me
.
api
.
ChangeReaderMode
();
if
(
Common
.
SharedSettings
.
get
(
'
phone
'
))
{
_
.
defer
(
function
()
{
me
.
hideModal
();
},
1000
);
}
Common
.
NotificationCenter
.
trigger
(
'
readermode:change
'
,
Common
.
SharedSettings
.
get
(
'
readerMode
'
));
},
_onSaveFormat
:
function
(
e
)
{
var
me
=
this
,
format
=
$
(
e
.
currentTarget
).
data
(
'
format
'
);
if
(
format
)
{
_
.
defer
(
function
()
{
me
.
api
.
asc_DownloadAs
(
format
);
});
}
me
.
hideModal
();
},
txtLoading
:
'
Loading...
'
,
notcriticalErrorTitle
:
'
Warning
'
,
warnDownloadAs
:
'
If you continue saving in this format all features except the text will be lost.<br>Are you sure you want to continue?
'
}
})(),
PE
.
Controllers
.
Settings
||
{}))
});
\ No newline at end of file
apps/presentationeditor/mobile/app/template/Settings.template
0 → 100644
View file @
b0eafed8
This diff is collapsed.
Click to expand it.
apps/presentationeditor/mobile/app/view/Settings.js
0 → 100644
View file @
b0eafed8
/*
*
* (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
*
*/
/**
* Settings.js
* Presentation Editor
*
* Created by Alexander Yuzhin on 11/22/16
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
*
*/
define
([
'
text!presentationeditor/mobile/app/template/Settings.template
'
,
'
jquery
'
,
'
underscore
'
,
'
backbone
'
],
function
(
settingsTemplate
,
$
,
_
,
Backbone
)
{
'
use strict
'
;
PE
.
Views
.
Settings
=
Backbone
.
View
.
extend
(
_
.
extend
((
function
()
{
// private
var
isEdit
;
return
{
// el: '.view-main',
template
:
_
.
template
(
settingsTemplate
),
events
:
{
//
},
initialize
:
function
()
{
Common
.
NotificationCenter
.
on
(
'
settingscontainer:show
'
,
_
.
bind
(
this
.
initEvents
,
this
));
Common
.
Gateway
.
on
(
'
opendocument
'
,
_
.
bind
(
this
.
loadDocument
,
this
));
},
initEvents
:
function
()
{
var
me
=
this
;
$
(
'
#settings-presentation-info
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showInfo
,
me
));
$
(
'
#settings-download
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showDownload
,
me
));
$
(
'
#settings-history
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showHistory
,
me
));
$
(
'
#settings-help
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showHelp
,
me
));
$
(
'
#settings-about
'
).
single
(
'
click
'
,
_
.
bind
(
me
.
showAbout
,
me
));
me
.
initControls
();
},
// Render layout
render
:
function
()
{
this
.
layout
=
$
(
'
<div/>
'
).
append
(
this
.
template
({
android
:
Common
.
SharedSettings
.
get
(
'
android
'
),
phone
:
Common
.
SharedSettings
.
get
(
'
phone
'
),
scope
:
this
}));
return
this
;
},
setMode
:
function
(
mode
)
{
isEdit
=
(
mode
===
'
edit
'
)
},
rootLayout
:
function
()
{
if
(
this
.
layout
)
{
var
$layour
=
this
.
layout
.
find
(
'
#settings-root-view
'
),
isPhone
=
Common
.
SharedSettings
.
get
(
'
phone
'
);
if
(
isEdit
)
{
$layour
.
find
(
'
#settings-edit-presentation
'
).
hide
();
$layour
.
find
(
'
#settings-readermode
'
).
hide
();
$layour
.
find
(
'
#settings-search .item-title
'
).
text
(
this
.
textFindAndReplace
)
}
else
{
$layour
.
find
(
'
#settings-readermode input:checkbox
'
)
.
attr
(
'
checked
'
,
Common
.
SharedSettings
.
get
(
'
readerMode
'
))
.
prop
(
'
checked
'
,
Common
.
SharedSettings
.
get
(
'
readerMode
'
));
}
return
$layour
.
html
();
}
return
''
;
},
initControls
:
function
()
{
//
},
showPage
:
function
(
templateId
)
{
var
rootView
=
PE
.
getController
(
'
Settings
'
).
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
);
}
},
showInfo
:
function
()
{
this
.
showPage
(
'
#settings-info-view
'
);
var
document
=
Common
.
SharedSettings
.
get
(
'
document
'
)
||
{},
info
=
document
.
info
||
{};
$
(
'
#settings-presentation-title
'
).
html
(
document
.
title
?
document
.
title
:
this
.
unknownText
);
$
(
'
#settings-presentation-autor
'
).
html
(
info
.
author
?
info
.
author
:
this
.
unknownText
);
$
(
'
#settings-presentation-date
'
).
html
(
info
.
created
?
info
.
created
:
this
.
unknownText
);
},
showDownload
:
function
()
{
this
.
showPage
(
'
#settings-download-view
'
);
},
showHistory
:
function
()
{
this
.
showPage
(
'
#settings-history-view
'
);
},
showHelp
:
function
()
{
window
.
open
(
'
http://support.onlyoffice.com/
'
,
"
_blank
"
);
PE
.
getController
(
'
Settings
'
).
hideModal
();
},
showAbout
:
function
()
{
this
.
showPage
(
'
#settings-about-view
'
);
},
loadDocument
:
function
(
data
)
{
var
permissions
=
{};
if
(
data
.
doc
)
{
permissions
=
_
.
extend
(
permissions
,
data
.
doc
.
permissions
);
if
(
permissions
.
edit
===
false
)
{
$
(
'
#settings-edit-presentation
'
).
hide
();
}
}
},
unknownText
:
'
Unknown
'
,
textSettings
:
'
Settings
'
,
textDone
:
'
Done
'
,
textEditPresent
:
'
Edit Presentation
'
,
textPresentSetup
:
'
Presentation Setup
'
,
textDownload
:
'
Download
'
,
textPresentInfo
:
'
Presentation Info
'
,
textHelp
:
'
Help
'
,
textAbout
:
'
About
'
,
textBack
:
'
Back
'
,
textPresentTitle
:
'
Presentation Title
'
,
textLoading
:
'
Loading...
'
,
textAuthor
:
'
Author
'
,
textCreateDate
:
'
Create date
'
,
textDownloadAs
:
'
Download As...
'
,
textVersion
:
'
Version
'
,
textAddress
:
'
address
'
,
textEmail
:
'
email
'
,
textTel
:
'
tel
'
}
})(),
PE
.
Views
.
Settings
||
{}))
});
\ No newline at end of file
apps/presentationeditor/mobile/app/view/Toolbar.js
View file @
b0eafed8
...
...
@@ -120,13 +120,13 @@ define([
// Editor
showEdition
:
function
()
{
PE
.
getController
(
'
EditContainer
'
).
showModal
();
//
PE.getController('EditContainer').showModal();
},
// Inserts
showInserts
:
function
()
{
PE
.
getController
(
'
AddContainer
'
).
showModal
();
//
PE.getController('AddContainer').showModal();
},
// Settings
...
...
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