[DE mobile] Handle AdvancedOptions on open

This commit is contained in:
Alexander Yuzhin 2016-11-16 16:42:35 +03:00
parent 34d2540d97
commit 35e2bd4f78

View file

@ -104,8 +104,10 @@ define([
// }
var value = Common.localStorage.getItem("de-settings-fontrender");
if (value === null)
if (value === null) {
window.devicePixelRatio > 1 ? value = '1' : '0';
}
// Initialize api
@ -156,32 +158,34 @@ define([
},
loadConfig: function(data) {
this.editorConfig = $.extend(this.editorConfig, data.config);
var me = this;
this.editorConfig.user =
this.appOptions.user = fillUserInfo(this.editorConfig.user, this.editorConfig.lang, this.textAnonymous);
this.appOptions.nativeApp = this.editorConfig.nativeApp === true;
this.appOptions.isDesktopApp = this.editorConfig.targetApp == 'desktop';
this.appOptions.canCreateNew = !_.isEmpty(this.editorConfig.createUrl) && !this.appOptions.isDesktopApp;
this.appOptions.canOpenRecent = this.editorConfig.nativeApp !== true && this.editorConfig.recent !== undefined && !this.appOptions.isDesktopApp;
this.appOptions.templates = this.editorConfig.templates;
this.appOptions.recent = this.editorConfig.recent;
this.appOptions.createUrl = this.editorConfig.createUrl;
this.appOptions.lang = this.editorConfig.lang;
this.appOptions.location = (typeof (this.editorConfig.location) == 'string') ? this.editorConfig.location.toLowerCase() : '';
this.appOptions.sharingSettingsUrl = this.editorConfig.sharingSettingsUrl;
this.appOptions.fileChoiceUrl = this.editorConfig.fileChoiceUrl;
this.appOptions.mergeFolderUrl = this.editorConfig.mergeFolderUrl;
this.appOptions.canAnalytics = false;
this.appOptions.customization = this.editorConfig.customization;
this.appOptions.canBackToFolder = (this.editorConfig.canBackToFolder!==false) && (typeof (this.editorConfig.customization) == 'object')
&& (typeof (this.editorConfig.customization.goback) == 'object') && !_.isEmpty(this.editorConfig.customization.goback.url);
this.appOptions.canBack = this.editorConfig.nativeApp !== true && this.appOptions.canBackToFolder === true;
this.appOptions.canPlugins = false;
this.plugins = this.editorConfig.plugins;
me.editorConfig = $.extend(me.editorConfig, data.config);
if (this.editorConfig.lang)
this.api.asc_setLocale(this.editorConfig.lang);
me.editorConfig.user =
me.appOptions.user = fillUserInfo(me.editorConfig.user, me.editorConfig.lang, me.textAnonymous);
me.appOptions.nativeApp = me.editorConfig.nativeApp === true;
me.appOptions.isDesktopApp = me.editorConfig.targetApp == 'desktop';
me.appOptions.canCreateNew = !_.isEmpty(me.editorConfig.createUrl) && !me.appOptions.isDesktopApp;
me.appOptions.canOpenRecent = me.editorConfig.nativeApp !== true && me.editorConfig.recent !== undefined && !me.appOptions.isDesktopApp;
me.appOptions.templates = me.editorConfig.templates;
me.appOptions.recent = me.editorConfig.recent;
me.appOptions.createUrl = me.editorConfig.createUrl;
me.appOptions.lang = me.editorConfig.lang;
me.appOptions.location = (typeof (me.editorConfig.location) == 'string') ? me.editorConfig.location.toLowerCase() : '';
me.appOptions.sharingSettingsUrl = me.editorConfig.sharingSettingsUrl;
me.appOptions.fileChoiceUrl = me.editorConfig.fileChoiceUrl;
me.appOptions.mergeFolderUrl = me.editorConfig.mergeFolderUrl;
me.appOptions.canAnalytics = false;
me.appOptions.customization = me.editorConfig.customization;
me.appOptions.canBackToFolder = (me.editorConfig.canBackToFolder!==false) && (typeof (me.editorConfig.customization) == 'object')
&& (typeof (me.editorConfig.customization.goback) == 'object') && !_.isEmpty(me.editorConfig.customization.goback.url);
me.appOptions.canBack = me.editorConfig.nativeApp !== true && me.appOptions.canBackToFolder === true;
me.appOptions.canPlugins = false;
me.plugins = me.editorConfig.plugins;
if (me.editorConfig.lang)
me.api.asc_setLocale(me.editorConfig.lang);
// if (this.appOptions.location == 'us' || this.appOptions.location == 'ca')
// Common.Utils.Metric.setDefaultMetric(Common.Utils.Metric.c_MetricUnits.inch);
@ -219,11 +223,8 @@ define([
Common.SharedSettings.set('document', data.doc);
if (data.doc) {
this.getApplication()
.getController('Toolbar')
.setDocumentTitle(data.doc.title);
DE.getController('Toolbar').setDocumentTitle(data.doc.title);
}
},
@ -245,6 +246,7 @@ define([
onProcessSaveResult: function(data) {
this.api.asc_OnSaveEnd(data.result);
if (data && data.result === false) {
uiApp.alert(
_.isEmpty(data.message) ? this.errorProcessSaveResult : data.message,
@ -279,153 +281,6 @@ define([
// (type && typeof type[1] === 'string') ? this.api.asc_DownloadOrigin(true) : this.api.asc_DownloadAs(Asc.c_oAscFileType.DOCX, true);
},
onRefreshHistory: function(opts) {
// this.loadMask && this.loadMask.hide();
// if (opts.data.error || !opts.data.history) {
// var historyStore = this.getApplication().getCollection('Common.Collections.HistoryVersions');
// if (historyStore && historyStore.size()>0) {
// historyStore.each(function(item){
// item.set('canRestore', false);
// });
// }
// Common.UI.alert({
// closable: false,
// title: this.notcriticalErrorTitle,
// msg: (opts.data.error) ? opts.data.error : this.txtErrorLoadHistory,
// iconCls: 'warn',
// buttons: ['ok'],
// callback: _.bind(function(btn){
// this.onEditComplete();
// }, this)
// });
// } else {
// this.api.asc_coAuthoringDisconnect();
// this.getApplication().getController('LeftMenu').getView('LeftMenu').showHistory();
// this.disableEditing(true);
// var versions = opts.data.history,
// historyStore = this.getApplication().getCollection('Common.Collections.HistoryVersions'),
// currentVersion = null;
// if (historyStore) {
// var arrVersions = [], ver, version, group = -1, prev_ver = -1, arrColors = [], docIdPrev = '',
// usersStore = this.getApplication().getCollection('Common.Collections.HistoryUsers'), user = null, usersCnt = 0;
//
// for (ver=versions.length-1; ver>=0; ver--) {
// version = versions[ver];
// if (version.versionGroup===undefined || version.versionGroup===null)
// version.versionGroup = version.version;
// if (version) {
// if (!version.user) version.user = {};
// docIdPrev = (ver>0 && versions[ver-1]) ? versions[ver-1].key : version.key + '0';
// user = usersStore.findUser(version.user.id);
// if (!user) {
// user = new Common.Models.User({
// id : version.user.id,
// username : version.user.name,
// colorval : Asc.c_oAscArrUserColors[usersCnt],
// color : this.generateUserColor(Asc.c_oAscArrUserColors[usersCnt++])
// });
// usersStore.add(user);
// }
//
// arrVersions.push(new Common.Models.HistoryVersion({
// version: version.versionGroup,
// revision: version.version,
// userid : version.user.id,
// username : version.user.name,
// usercolor: user.get('color'),
// created: version.created,
// docId: version.key,
// markedAsVersion: (group!==version.versionGroup),
// selected: (opts.data.currentVersion == version.version),
// canRestore: this.appOptions.canHistoryRestore
// }));
// if (opts.data.currentVersion == version.version) {
// currentVersion = arrVersions[arrVersions.length-1];
// }
// group = version.versionGroup;
// if (prev_ver!==version.version) {
// prev_ver = version.version;
// arrColors.reverse();
// for (i=0; i<arrColors.length; i++) {
// arrVersions[arrVersions.length-i-2].set('arrColors',arrColors);
// }
// arrColors = [];
// }
// arrColors.push(user.get('colorval'));
//
// var changes = version.changes, change, i;
// if (changes && changes.length>0) {
// arrVersions[arrVersions.length-1].set('changeid', changes.length-1);
// arrVersions[arrVersions.length-1].set('docIdPrev', docIdPrev);
// for (i=changes.length-2; i>=0; i--) {
// change = changes[i];
//
// user = usersStore.findUser(change.user.id);
// if (!user) {
// user = new Common.Models.User({
// id : change.user.id,
// username : change.user.name,
// colorval : Asc.c_oAscArrUserColors[usersCnt],
// color : this.generateUserColor(Asc.c_oAscArrUserColors[usersCnt++])
// });
// usersStore.add(user);
// }
//
// arrVersions.push(new Common.Models.HistoryVersion({
// version: version.versionGroup,
// revision: version.version,
// changeid: i,
// userid : change.user.id,
// username : change.user.name,
// usercolor: user.get('color'),
// created: change.created,
// docId: version.key,
// docIdPrev: docIdPrev,
// selected: false,
// canRestore: this.appOptions.canHistoryRestore,
// isRevision: false
// }));
// arrColors.push(user.get('colorval'));
// }
// } else if (ver==0 && versions.length==1) {
// arrVersions[arrVersions.length-1].set('docId', version.key + '1');
// }
// }
// }
// if (arrColors.length>0) {
// arrColors.reverse();
// for (i=0; i<arrColors.length; i++) {
// arrVersions[arrVersions.length-i-1].set('arrColors',arrColors);
// }
// arrColors = [];
// }
// historyStore.reset(arrVersions);
// if (currentVersion===null && historyStore.size()>0) {
// currentVersion = historyStore.at(0);
// currentVersion.set('selected', true);
// }
// if (currentVersion)
// this.getApplication().getController('Common.Controllers.History').onSelectRevision(null, null, currentVersion);
// }
// }
},
disableEditing: function(disable) {
var app = this.getApplication();
// if (this.appOptions.canEdit && this.editorConfig.mode !== 'view') {
// app.getController('RightMenu').getView('RightMenu').clearSelection();
// app.getController('Toolbar').DisableToolbar(disable, disable);
// app.getController('RightMenu').SetDisabled(disable, false);
// app.getController('Statusbar').getView('Statusbar').SetDisabled(disable);
//
// var tooltip = app.getController('Toolbar').getView('Toolbar').synchTooltip;
// if (tooltip) tooltip.hide();
// }
// app.getController('LeftMenu').SetDisabled(disable, true);
},
goBack: function(blank) {
var href = this.appOptions.customization.goback.url;
if (blank) {
@ -494,7 +349,7 @@ define([
}
}, 500);
} else {
console.debug('End long action');
// console.debug('End long action');
}
}
@ -600,8 +455,7 @@ define([
}
if (action.type == Asc.c_oAscAsyncActionType['BlockInteraction']) {
if (!this.loadMask)
this.loadMask = uiApp.showPreloader(title);
this.loadMask = uiApp.showPreloader(title);
}
else {
// this.getApplication().getController('Statusbar').setStatusCaption(text);
@ -808,7 +662,6 @@ define([
Common.Gateway.on('applyeditrights', _.bind(me.onApplyEditRights, me));
Common.Gateway.on('processsaveresult', _.bind(me.onProcessSaveResult, me));
Common.Gateway.on('processrightschange', _.bind(me.onProcessRightsChange, me));
Common.Gateway.on('refreshhistory', _.bind(me.onRefreshHistory, me));
Common.Gateway.on('downloadas', _.bind(me.onDownloadAs, me));
Common.Gateway.sendInfo({
@ -885,9 +738,9 @@ define([
me.appOptions.isEdit = me.appOptions.canLicense && me.appOptions.canEdit && me.editorConfig.mode !== 'view';
me.appOptions.canReview = me.appOptions.canLicense && me.appOptions.isEdit && (me.permissions.review===true);
me.appOptions.canUseHistory = me.appOptions.canLicense && !me.appOptions.isLightVersion && me.editorConfig.canUseHistory && me.appOptions.canCoAuthoring && !me.appOptions.isDesktopApp;
me.appOptions.canHistoryClose = me.editorConfig.canHistoryClose;
me.appOptions.canHistoryClose = me.editorConfig.canHistoryClose;
me.appOptions.canHistoryRestore= me.editorConfig.canHistoryRestore && !!me.permissions.changeHistory;
me.appOptions.canUseMailMerge= me.appOptions.canLicense && me.appOptions.canEdit && !me.appOptions.isDesktopApp;
me.appOptions.canUseMailMerge = me.appOptions.canLicense && me.appOptions.canEdit && !me.appOptions.isDesktopApp;
me.appOptions.canSendEmailAddresses = me.appOptions.canLicense && me.editorConfig.canSendEmailAddresses && me.appOptions.canEdit && me.appOptions.canCoAuthoring;
me.appOptions.canComments = me.appOptions.canLicense && !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.comments===false);
me.appOptions.canChat = me.appOptions.canLicense && !me.appOptions.isOffline && !((typeof (me.editorConfig.customization) == 'object') && me.editorConfig.customization.chat===false);
@ -1354,20 +1207,6 @@ define([
this._state.hasCollaborativeChanges = false;
},
initNames: function() {
this.shapeGroupNames = [
this.txtBasicShapes,
this.txtFiguredArrows,
this.txtMath,
this.txtCharts,
this.txtStarsRibbons,
this.txtCallouts,
this.txtButtons,
this.txtRectangles,
this.txtLines
];
},
fillAutoShapes: function(groupNames, shapes){
// if (_.isEmpty(shapes) || _.isEmpty(groupNames) || shapes.length != groupNames.length)
// return;
@ -1469,39 +1308,82 @@ define([
},
onAdvancedOptions: function(advOptions) {
// var type = advOptions.asc_getOptionId(),
// me = this, dlg;
// if (type == Asc.c_oAscAdvancedOptionsID.TXT) {
// dlg = new Common.Views.OpenDialog({
// type: type,
// codepages: advOptions.asc_getOptions().asc_getCodePages(),
// settings: advOptions.asc_getOptions().asc_getRecommendedSettings(),
// handler: function (encoding) {
// me.isShowOpenDialog = false;
// if (me && me.api) {
// me.api.asc_setAdvancedOptions(type, new Asc.asc_CTXTAdvancedOptions(encoding));
// me.loadMask && me.loadMask.show();
// }
// }
// });
// } else if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
// dlg = new Common.Views.OpenDialog({
// type: type,
// handler: function (value) {
// me.isShowOpenDialog = false;
// if (me && me.api) {
// me.api.asc_setAdvancedOptions(type, new Asc.asc_CDRMAdvancedOptions(value));
// me.loadMask && me.loadMask.show();
// }
// }
// });
// }
// if (dlg) {
// this.isShowOpenDialog = true;
// this.loadMask && this.loadMask.hide();
// this.onLongActionEnd(Asc.c_oAscAsyncActionType.BlockInteraction, LoadingDocument);
// dlg.show();
// }
var type = advOptions.asc_getOptionId(),
me = this, modal;
if (type == Asc.c_oAscAdvancedOptionsID.TXT) {
var picker,
pages = [],
pagesName = [];
_.each(advOptions.asc_getOptions().asc_getCodePages(), function(page) {
pages.push(page.asc_getCodePage());
pagesName.push(page.asc_getCodePageName());
});
$(me.loadMask).hasClass('modal-in') && uiApp.closeModal(me.loadMask);
me.onLongActionEnd(Asc.c_oAscAsyncActionType.BlockInteraction, LoadingDocument);
modal = uiApp.modal({
title: "Choose TXT options",
text: '',
afterText:
'<div class="content-block">' +
'<div class="row">' +
'<div class="col-100">Encoding</div>' +
'</div>' +
'<div id="txt-encoding"></div>' +
'</div>',
buttons: [
{
text: 'OK',
bold: true,
onClick: function() {
var encoding = picker.value;
if (me.api) {
me.api.asc_setAdvancedOptions(type, new Asc.asc_CTXTAdvancedOptions(encoding));
me.onLongActionBegin(Asc.c_oAscAsyncActionType['BlockInteraction'], LoadingDocument);
}
}
}
]
});
picker = uiApp.picker({
container: '#txt-encoding',
toolbar: false,
rotateEffect: true,
value: [advOptions.asc_getOptions().asc_getRecommendedSettings().asc_getCodePage()],
cols: [{
values: pages,
displayValues: pagesName
}]
});
// Vertical align
$$(modal).css({
marginTop: - Math.round($$(modal).outerHeight() / 2) + 'px'
});
} else if (type == Asc.c_oAscAdvancedOptionsID.DRM) {
modal = uiApp.modal({
title: 'Protected File',
text: 'You password please:',
afterText: '<div class="input-field"><input type="password" name="modal-password" placeholder="' + 'Password' + '" class="modal-text-input"></div>',
buttons: [
{
text: 'OK',
bold: true,
onClick: function () {
var password = $(modal).find('.modal-text-input[name="modal-password"]').val();
me.api.asc_setAdvancedOptions(type, new Asc.asc_CDRMAdvancedOptions(password));
me.onLongActionBegin(Asc.c_oAscAsyncActionType['BlockInteraction'], LoadingDocument);
}
}
]
});
}
},
onTryUndoInFastCollaborative: function() {
@ -1636,15 +1518,6 @@ define([
errorUsersExceed: 'Count of users was exceed',
errorCoAuthoringDisconnect: 'Server connection lost. You can\'t edit anymore.',
errorFilePassProtect: 'The document is password protected.',
txtBasicShapes: 'Basic Shapes',
txtFiguredArrows: 'Figured Arrows',
txtMath: 'Math',
txtCharts: 'Charts',
txtStarsRibbons: 'Stars & Ribbons',
txtCallouts: 'Callouts',
txtButtons: 'Buttons',
txtRectangles: 'Rectangles',
txtLines: 'Lines',
txtEditingMode: 'Set editing mode...',
textAnonymous: 'Anonymous',
loadingDocumentTitleText: 'Loading document',