Merge pull request #335 from ONLYOFFICE/feature/mobile-opensource
Feature/mobile opensource
This commit is contained in:
commit
07b3d69d88
|
@ -62,7 +62,8 @@ require.config({
|
|||
gateway : 'common/Gateway',
|
||||
locale : 'common/locale',
|
||||
irregularstack : 'common/IrregularStack',
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings'
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings',
|
||||
features : '../../web-apps-mobile/word/patch'
|
||||
},
|
||||
|
||||
shim: {
|
||||
|
@ -224,7 +225,8 @@ require([
|
|||
'common/mobile/lib/controller/Collaboration'
|
||||
], function() {
|
||||
window.compareVersions = true;
|
||||
app.start();
|
||||
var _s = app.start.bind(app);
|
||||
require(['features'], _s, _s);
|
||||
});
|
||||
});
|
||||
}, function(err) {
|
||||
|
|
|
@ -643,6 +643,22 @@ define([
|
|||
|
||||
applyLicense: function() {
|
||||
var me = this;
|
||||
if (this.editorConfig.mode !== 'view' && !this.isSupportEditFeature()) {
|
||||
var value = Common.localStorage.getItem("de-opensource-warning");
|
||||
value = (value!==null) ? parseInt(value) : 0;
|
||||
var now = (new Date).getTime();
|
||||
if (now - value > 86400000) {
|
||||
Common.localStorage.setItem("de-opensource-warning", now);
|
||||
uiApp.modal({
|
||||
title: me.notcriticalErrorTitle,
|
||||
text : me.errorOpensource,
|
||||
buttons: [{text: 'OK'}]
|
||||
});
|
||||
}
|
||||
DE.getController('Toolbar').activateControls();
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._state.licenseType) {
|
||||
var license = this._state.licenseType,
|
||||
buttons = [{text: 'OK'}];
|
||||
|
@ -737,7 +753,8 @@ define([
|
|||
me.appOptions.canRequestEditRights = me.editorConfig.canRequestEditRights;
|
||||
me.appOptions.canEdit = (me.permissions.edit !== false || me.permissions.review === true) && // can edit or review
|
||||
(me.editorConfig.canRequestEditRights || me.editorConfig.mode !== 'view') && // if mode=="view" -> canRequestEditRights must be defined
|
||||
(!me.appOptions.isReviewOnly || me.appOptions.canLicense); // if isReviewOnly==true -> canLicense must be true
|
||||
(!me.appOptions.isReviewOnly || me.appOptions.canLicense) && // if isReviewOnly==true -> canLicense must be true
|
||||
me.isSupportEditFeature();
|
||||
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;
|
||||
|
@ -1151,7 +1168,6 @@ define([
|
|||
},
|
||||
|
||||
onSendThemeColors: function(colors, standart_colors) {
|
||||
Common.Utils.ThemeColor.setColors(colors, standart_colors);
|
||||
},
|
||||
|
||||
onAdvancedOptions: function(type, advOptions, mode, formatOptions) {
|
||||
|
@ -1344,6 +1360,10 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
isSupportEditFeature: function() {
|
||||
return false;
|
||||
},
|
||||
|
||||
leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.',
|
||||
criticalErrorTitle: 'Error',
|
||||
notcriticalErrorTitle: 'Warning',
|
||||
|
@ -1470,7 +1490,8 @@ define([
|
|||
textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.<br>Please contact our Sales Department to get a quote.',
|
||||
waitText: 'Please, wait...',
|
||||
errorFileSizeExceed: 'The file size exceeds the limitation set for your server.<br>Please contact your Document Server administrator for details.',
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.'
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.',
|
||||
errorOpensource: 'Files can be opened for viewing only. Mobile web editors are not available in the Open Source version.'
|
||||
}
|
||||
})(), DE.Controllers.Main || {}))
|
||||
});
|
|
@ -98,10 +98,6 @@ define([
|
|||
|
||||
onInsertByFile: function (e) {
|
||||
DE.getController('AddContainer').hideModal();
|
||||
|
||||
if (this.api) {
|
||||
this.api.asc_addImage();
|
||||
}
|
||||
},
|
||||
|
||||
onUrlChange: function (e) {
|
||||
|
@ -118,9 +114,6 @@ define([
|
|||
if (!_.isEmpty(value)) {
|
||||
if ((/((^https?)|(^ftp)):\/\/.+/i.test(value))) {
|
||||
DE.getController('AddContainer').hideModal();
|
||||
_.defer(function () {
|
||||
me.api.AddImageUrl(value);
|
||||
});
|
||||
} else {
|
||||
uiApp.alert(me.txtNotUrl);
|
||||
}
|
||||
|
|
|
@ -79,9 +79,6 @@ define([
|
|||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
// me.api.asc_registerCallback('asc_onInitEditorFonts', _.bind(onApiLoadFonts, me));
|
||||
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -145,28 +142,7 @@ define([
|
|||
},
|
||||
|
||||
onClickInsertFootnote: function() {
|
||||
var me = this,
|
||||
format = $('input[name="doc-footnote-format"]:checked').data('value'),
|
||||
start = $('#start-at-footnote .item-after label').text(),
|
||||
position = $('input[name="doc-footnote-pos"]:checked').data('value'),
|
||||
props = new Asc.CAscFootnotePr();
|
||||
var startTo10;
|
||||
if (me.fromCustomFormat) {
|
||||
startTo10 = parseInt(me.fromCustomFormat(start));
|
||||
} else {
|
||||
startTo10 = me.api.asc_GetFootnoteProps().get_NumStart();
|
||||
}
|
||||
props.put_Pos(position);
|
||||
props.put_NumFormat(format);
|
||||
props.put_NumStart(startTo10);
|
||||
props.put_NumRestart(Asc.c_oAscFootnoteRestart.Continuous);
|
||||
if (me.api) {
|
||||
me.api.asc_SetFootnoteProps(props, false);
|
||||
setTimeout(function() {
|
||||
me.api.asc_AddFootnote();
|
||||
}, 1);
|
||||
DE.getController('AddContainer').hideModal();
|
||||
}
|
||||
},
|
||||
|
||||
onFormatFootnoteChange: function(e) {
|
||||
|
@ -227,32 +203,6 @@ define([
|
|||
},
|
||||
|
||||
onInsertLink: function (e) {
|
||||
var me = this,
|
||||
url = $('#add-link-url input').val(),
|
||||
display = $('#add-link-display input').val(),
|
||||
tip = $('#add-link-tip 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')," ");
|
||||
|
||||
var props = new Asc.CHyperlinkProperty();
|
||||
props.put_Value(url);
|
||||
props.put_Text(_.isEmpty(display) ? url : display);
|
||||
props.put_ToolTip(tip);
|
||||
|
||||
me.api.add_Hyperlink(props);
|
||||
|
||||
DE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
|
|
|
@ -215,13 +215,6 @@ define([
|
|||
},
|
||||
|
||||
onShapeClick: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget);
|
||||
|
||||
if ($target && me.api) {
|
||||
me.api.AddShapeOnCurrentPage($target.data('type'));
|
||||
}
|
||||
|
||||
DE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
|
|
|
@ -51,8 +51,7 @@ define([
|
|||
'use strict';
|
||||
|
||||
DE.Controllers.AddTable = Backbone.Controller.extend(_.extend((function() {
|
||||
var _styles = [],
|
||||
_initDefaultStyles = false;
|
||||
var _initDefaultStyles = false;
|
||||
|
||||
return {
|
||||
models: [],
|
||||
|
@ -69,13 +68,13 @@ define([
|
|||
'view:render' : this.onViewRender
|
||||
}
|
||||
});
|
||||
|
||||
this._styles = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitTableTemplates', _.bind(me.onApiInitTemplates, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -87,7 +86,7 @@ define([
|
|||
|
||||
if (!_initDefaultStyles) {
|
||||
_initDefaultStyles = true;
|
||||
_styles = [];
|
||||
this._styles = [];
|
||||
|
||||
me.api.asc_GetDefaultTableStyles();
|
||||
}
|
||||
|
@ -172,22 +171,7 @@ define([
|
|||
// Public
|
||||
|
||||
getStyles: function () {
|
||||
return _styles;
|
||||
},
|
||||
|
||||
// API handlers
|
||||
|
||||
onApiInitTemplates: function(templates) {
|
||||
if (_styles.length < 1) {
|
||||
_.each(templates, function(template){
|
||||
_styles.push({
|
||||
imageUrl : template.asc_getImage(),
|
||||
templateId : template.asc_getId()
|
||||
});
|
||||
});
|
||||
|
||||
this.getView('AddTable').render();
|
||||
}
|
||||
return this._styles;
|
||||
},
|
||||
|
||||
textTableSize: 'Table Size',
|
||||
|
|
|
@ -52,7 +52,6 @@ define([
|
|||
DE.Controllers.EditChart = Backbone.Controller.extend(_.extend((function() {
|
||||
// Private
|
||||
var _stack = [],
|
||||
_chartObject = undefined,
|
||||
_shapeObject = undefined,
|
||||
_metricText = Common.Utils.Metric.getCurrentMetricName(),
|
||||
_borderColor = 'transparent';
|
||||
|
@ -127,6 +126,8 @@ define([
|
|||
'page:show': this.onPageShow
|
||||
}
|
||||
});
|
||||
|
||||
this._chartObject = undefined;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
|
@ -134,7 +135,6 @@ define([
|
|||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onUpdateChartStyles', _.bind(me.onApiUpdateChartStyles, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -172,11 +172,11 @@ define([
|
|||
initSettings: function (pageId) {
|
||||
var me = this;
|
||||
_metricText = Common.Utils.Metric.getMetricName(Common.Utils.Metric.getCurrentMetric());
|
||||
if (_chartObject) {
|
||||
if (me._chartObject) {
|
||||
if (pageId == '#edit-chart-wrap') {
|
||||
me._initWrapView();
|
||||
} else if (pageId == '#edit-chart-style') {
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(_chartObject.get_ChartProperties().getType()));
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(me._chartObject.get_ChartProperties().getType()));
|
||||
me._initStyleView();
|
||||
} else if (pageId == '#edit-chart-border-color-view') {
|
||||
me._initStyleView();
|
||||
|
@ -187,7 +187,7 @@ define([
|
|||
_initWrapView: function() {
|
||||
// Wrap type
|
||||
var me = this,
|
||||
wrapping = _chartObject.get_WrappingStyle(),
|
||||
wrapping = me._chartObject.get_WrappingStyle(),
|
||||
$chartWrapInput = $('.chart-wrap input'),
|
||||
chartWrapType = wrapTypesTransform.sdkToUi(wrapping);
|
||||
|
||||
|
@ -195,7 +195,7 @@ define([
|
|||
me._uiTransformByWrap(chartWrapType);
|
||||
|
||||
// Wrap align
|
||||
var chartHAlign = _chartObject.get_PositionH().get_Align();
|
||||
var chartHAlign = me._chartObject.get_PositionH().get_Align();
|
||||
|
||||
$('.chart-wrap .align a[data-type=left]').toggleClass('active', chartHAlign == Asc.c_oAscAlignH.Left);
|
||||
$('.chart-wrap .align a[data-type=center]').toggleClass('active', chartHAlign == Asc.c_oAscAlignH.Center);
|
||||
|
@ -203,11 +203,11 @@ define([
|
|||
|
||||
|
||||
// Wrap flags
|
||||
$('#edit-chart-movetext input').prop('checked', _chartObject.get_PositionV().get_RelativeFrom() == Asc.c_oAscRelativeFromV.Paragraph);
|
||||
$('#edit-chart-overlap input').prop('checked', _chartObject.get_AllowOverlap());
|
||||
$('#edit-chart-movetext input').prop('checked', me._chartObject.get_PositionV().get_RelativeFrom() == Asc.c_oAscRelativeFromV.Paragraph);
|
||||
$('#edit-chart-overlap input').prop('checked', me._chartObject.get_AllowOverlap());
|
||||
|
||||
// Wrap distance
|
||||
var paddings = _chartObject.get_Paddings();
|
||||
var paddings = me._chartObject.get_Paddings();
|
||||
if (paddings) {
|
||||
var distance = Common.Utils.Metric.fnRecalcFromMM(paddings.get_Top());
|
||||
$('.chart-wrap .distance input').val(distance);
|
||||
|
@ -217,7 +217,7 @@ define([
|
|||
|
||||
_initStyleView: function (updateStyles) {
|
||||
var me = this,
|
||||
chartProperties = _chartObject.get_ChartProperties(),
|
||||
chartProperties = me._chartObject.get_ChartProperties(),
|
||||
shapeProperties = _shapeObject.get_ShapeProperties(),
|
||||
paletteFillColor = me.getView('EditChart').paletteFillColor,
|
||||
paletteBorderColor = me.getView('EditChart').paletteBorderColor;
|
||||
|
@ -295,29 +295,12 @@ define([
|
|||
// Public
|
||||
|
||||
getChart: function () {
|
||||
return _chartObject;
|
||||
return this._chartObject;
|
||||
},
|
||||
|
||||
// Handlers
|
||||
|
||||
onType: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
var image = new Asc.asc_CImgProperty(),
|
||||
chart = _chartObject.get_ChartProperties();
|
||||
|
||||
chart.changeType(type);
|
||||
image.put_ChartProperties(chart);
|
||||
|
||||
me.api.ImgApply(image);
|
||||
|
||||
$('.chart-types li').removeClass('active');
|
||||
$target.addClass('active');
|
||||
|
||||
// Force update styles
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(chart.getType()));
|
||||
},
|
||||
|
||||
onStyle: function (e) {
|
||||
|
@ -326,7 +309,7 @@ define([
|
|||
type = $target.data('type');
|
||||
|
||||
var image = new Asc.asc_CImgProperty(),
|
||||
chart = _chartObject.get_ChartProperties();
|
||||
chart = me._chartObject.get_ChartProperties();
|
||||
|
||||
chart.putStyle(type);
|
||||
image.put_ChartProperties(chart);
|
||||
|
@ -560,23 +543,13 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
_chartObject = getTopObject(charts);
|
||||
this._chartObject = getTopObject(charts);
|
||||
_shapeObject = getTopObject(shapes);
|
||||
},
|
||||
|
||||
onApiUpdateChartStyles: function () {
|
||||
if (this.api && _chartObject && _chartObject.get_ChartProperties()) {
|
||||
this._updateChartStyles(this.api.asc_getChartPreviews(_chartObject.get_ChartProperties().getType()));
|
||||
}
|
||||
},
|
||||
|
||||
// Helpers
|
||||
|
||||
_updateChartStyles: function(styles) {
|
||||
Common.SharedSettings.set('chartstyles', styles);
|
||||
Common.NotificationCenter.trigger('chartstyles:load', styles);
|
||||
|
||||
$('#tab-chart-style li').single('click', _.bind(this.onStyle, this));
|
||||
},
|
||||
|
||||
_uiTransformByWrap: function(type) {
|
||||
|
|
|
@ -51,12 +51,8 @@ define([
|
|||
|
||||
DE.Controllers.EditParagraph = Backbone.Controller.extend(_.extend((function() {
|
||||
// Private
|
||||
var _stack = [],
|
||||
_paragraphInfo = {},
|
||||
_paragraphObject = undefined,
|
||||
var _paragraphInfo = {},
|
||||
_paragraphProperty = undefined,
|
||||
_styles = [],
|
||||
_styleThumbSize,
|
||||
_styleName,
|
||||
metricText = Common.Utils.Metric.getCurrentMetricName();
|
||||
|
||||
|
@ -77,17 +73,15 @@ define([
|
|||
'style:click' : this.onStyleClick
|
||||
}
|
||||
});
|
||||
|
||||
this._styles = [];
|
||||
this._styleThumbSize = undefined;
|
||||
this._paragraphObject = undefined;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_setParagraphStylesSizes(330, 38);
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(me.onApiInitEditorStyles, me));
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onParaStyleName', _.bind(me.onApiParagraphStyleChange, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -148,23 +142,23 @@ define([
|
|||
$('#paragraph-spin-first-line .item-after label').text(firstLineFix + ' ' + metricText);
|
||||
}
|
||||
|
||||
if (_paragraphObject) {
|
||||
_paragraphInfo.spaceBefore = _paragraphObject.get_Spacing().get_Before() < 0 ? _paragraphObject.get_Spacing().get_Before() : Common.Utils.Metric.fnRecalcFromMM(_paragraphObject.get_Spacing().get_Before());
|
||||
_paragraphInfo.spaceAfter = _paragraphObject.get_Spacing().get_After() < 0 ? _paragraphObject.get_Spacing().get_After() : Common.Utils.Metric.fnRecalcFromMM(_paragraphObject.get_Spacing().get_After());
|
||||
if (me._paragraphObject) {
|
||||
_paragraphInfo.spaceBefore = me._paragraphObject.get_Spacing().get_Before() < 0 ? me._paragraphObject.get_Spacing().get_Before() : Common.Utils.Metric.fnRecalcFromMM(me._paragraphObject.get_Spacing().get_Before());
|
||||
_paragraphInfo.spaceAfter = me._paragraphObject.get_Spacing().get_After() < 0 ? me._paragraphObject.get_Spacing().get_After() : Common.Utils.Metric.fnRecalcFromMM(me._paragraphObject.get_Spacing().get_After());
|
||||
var distanceBeforeFix = parseFloat(_paragraphInfo.spaceBefore.toFixed(2));
|
||||
var distanceAfterFix = parseFloat(_paragraphInfo.spaceAfter.toFixed(2));
|
||||
$('#paragraph-distance-before .item-after label').text(_paragraphInfo.spaceBefore < 0 ? 'Auto' : distanceBeforeFix + ' ' + metricText);
|
||||
$('#paragraph-distance-after .item-after label').text(_paragraphInfo.spaceAfter < 0 ? 'Auto' : distanceAfterFix + ' ' + metricText);
|
||||
|
||||
$('#paragraph-space input:checkbox').prop('checked', _paragraphObject.get_ContextualSpacing());
|
||||
$('#paragraph-page-break input:checkbox').prop('checked', _paragraphObject.get_PageBreakBefore());
|
||||
$('#paragraph-page-orphan input:checkbox').prop('checked', _paragraphObject.get_WidowControl());
|
||||
$('#paragraph-page-keeptogether input:checkbox').prop('checked', _paragraphObject.get_KeepLines());
|
||||
$('#paragraph-page-keepnext input:checkbox').prop('checked', _paragraphObject.get_KeepNext());
|
||||
$('#paragraph-space input:checkbox').prop('checked', me._paragraphObject.get_ContextualSpacing());
|
||||
$('#paragraph-page-break input:checkbox').prop('checked', me._paragraphObject.get_PageBreakBefore());
|
||||
$('#paragraph-page-orphan input:checkbox').prop('checked', me._paragraphObject.get_WidowControl());
|
||||
$('#paragraph-page-keeptogether input:checkbox').prop('checked', me._paragraphObject.get_KeepLines());
|
||||
$('#paragraph-page-keepnext input:checkbox').prop('checked', me._paragraphObject.get_KeepNext());
|
||||
|
||||
|
||||
// Background color
|
||||
var shade = _paragraphObject.get_Shade(),
|
||||
var shade = me._paragraphObject.get_Shade(),
|
||||
backColor = 'transparent';
|
||||
|
||||
if (!_.isNull(shade) && !_.isUndefined(shade) && shade.get_Value()===Asc.c_oAscShdClear) {
|
||||
|
@ -203,11 +197,11 @@ define([
|
|||
|
||||
// Public
|
||||
getStyles: function () {
|
||||
return _styles || [];
|
||||
return this._styles || [];
|
||||
},
|
||||
|
||||
getThumbSize: function () {
|
||||
return _styleThumbSize || {width: 0, height: 0};
|
||||
return this._styleThumbSize || {width: 0, height: 0};
|
||||
},
|
||||
|
||||
// Handlers
|
||||
|
@ -369,48 +363,6 @@ define([
|
|||
|
||||
// API handlers
|
||||
|
||||
onApiFocusObject: function (objects) {
|
||||
_stack = objects;
|
||||
|
||||
var paragraphs = [];
|
||||
|
||||
_.each(_stack, function(object) {
|
||||
if (object.get_ObjectType() == Asc.c_oAscTypeSelectElement.Paragraph) {
|
||||
paragraphs.push(object);
|
||||
}
|
||||
});
|
||||
|
||||
if (paragraphs.length > 0) {
|
||||
var object = paragraphs[paragraphs.length - 1]; // get top
|
||||
_paragraphObject = object.get_ObjectValue();
|
||||
} else {
|
||||
_paragraphObject = undefined;
|
||||
}
|
||||
},
|
||||
|
||||
onApiInitEditorStyles: function (styles) {
|
||||
window.styles_loaded = false;
|
||||
|
||||
if (styles.length < 1) {
|
||||
return;
|
||||
}
|
||||
|
||||
_styles = [];
|
||||
_styleThumbSize = {
|
||||
width : styles.STYLE_THUMBNAIL_WIDTH,
|
||||
height : styles.STYLE_THUMBNAIL_HEIGHT
|
||||
};
|
||||
|
||||
_.each(styles.get_MergedStyles(), function(style){
|
||||
_styles.push({
|
||||
image : style.asc_getImage(),
|
||||
name : style.get_Name()
|
||||
});
|
||||
});
|
||||
|
||||
window.styles_loaded = true;
|
||||
},
|
||||
|
||||
onApiParagraphStyleChange: function(name) {
|
||||
_styleName = name;
|
||||
$('#paragraph-list input[name=paragraph-style]').val([_styleName]);
|
||||
|
|
|
@ -301,29 +301,9 @@ define([
|
|||
},
|
||||
|
||||
onReorder: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
var properties = new Asc.asc_CImgProperty();
|
||||
|
||||
if ('all-up' == type) {
|
||||
properties.put_ChangeLevel(Asc.c_oAscChangeLevel.BringToFront);
|
||||
} else if ('all-down' == type) {
|
||||
properties.put_ChangeLevel(Asc.c_oAscChangeLevel.SendToBack);
|
||||
} else if ('move-up' == type) {
|
||||
properties.put_ChangeLevel(Asc.c_oAscChangeLevel.BringForward);
|
||||
} else if ('move-down' == type) {
|
||||
properties.put_ChangeLevel(Asc.c_oAscChangeLevel.BringBackward);
|
||||
}
|
||||
|
||||
this.api.ImgApply(properties);
|
||||
},
|
||||
|
||||
onReplace: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
this.api.ChangeShapeType(type);
|
||||
},
|
||||
|
||||
onWrapType: function (e) {
|
||||
|
|
|
@ -123,9 +123,6 @@ define([
|
|||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onInitTableTemplates', _.bind(me.onApiInitTemplates, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -134,15 +131,6 @@ define([
|
|||
|
||||
initEvents: function () {
|
||||
var me = this;
|
||||
|
||||
$('#table-remove-all').single('click', _.bind(function(){me.api.remTable(); me._closeIfNeed()}, me));
|
||||
$('#insert-column-left').single('click', _.bind(function(){me.api.addColumnLeft(); me._closeIfNeed()}, me));
|
||||
$('#insert-column-right').single('click', _.bind(function(){me.api.addColumnRight(); me._closeIfNeed()}, me));
|
||||
$('#insert-row-above').single('click', _.bind(function(){me.api.addRowAbove(); me._closeIfNeed()}, me));
|
||||
$('#insert-row-below').single('click', _.bind(function(){me.api.addRowBelow(); me._closeIfNeed()}, me));
|
||||
$('#remove-column').single('click', _.bind(function(){me.api.remColumn(); me._closeIfNeed()}, me));
|
||||
$('#remove-row').single('click', _.bind(function(){me.api.remRow(); me._closeIfNeed()}, me));
|
||||
|
||||
me.initSettings();
|
||||
},
|
||||
|
||||
|
@ -650,19 +638,6 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onApiInitTemplates: function(templates) {
|
||||
var styles = [];
|
||||
|
||||
_.each(templates, function(template){
|
||||
styles.push({
|
||||
imageUrl : template.asc_getImage(),
|
||||
templateId : template.asc_getId()
|
||||
});
|
||||
});
|
||||
|
||||
this.getView('EditTable').updateStyles(styles);
|
||||
},
|
||||
|
||||
// Helpers
|
||||
|
||||
_closeIfNeed: function () {
|
||||
|
|
|
@ -51,26 +51,10 @@ define([
|
|||
'use strict';
|
||||
|
||||
DE.Controllers.EditText = Backbone.Controller.extend(_.extend((function() {
|
||||
var _fontsArray = [],
|
||||
_stack = [],
|
||||
var _stack = [],
|
||||
_paragraphObject = undefined,
|
||||
_fontInfo = {};
|
||||
|
||||
function onApiLoadFonts(fonts, select) {
|
||||
_.each(fonts, function(font){
|
||||
var fontId = font.asc_getFontId();
|
||||
_fontsArray.push({
|
||||
id : fontId,
|
||||
name : font.asc_getFontName(),
|
||||
// displayValue: font.asc_getFontName(),
|
||||
imgidx : font.asc_getFontThumbnail(),
|
||||
type : font.asc_getFontType()
|
||||
});
|
||||
});
|
||||
|
||||
Common.NotificationCenter.trigger('fonts:load', _fontsArray, select);
|
||||
}
|
||||
|
||||
return {
|
||||
models: [],
|
||||
collections: [],
|
||||
|
@ -87,26 +71,13 @@ define([
|
|||
'font:click': this.onFontClick
|
||||
}
|
||||
});
|
||||
|
||||
this._fontsArray = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitEditorFonts', _.bind(onApiLoadFonts, me));
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onFontFamily', _.bind(me.onApiChangeFont, me));
|
||||
me.api.asc_registerCallback('asc_onFontSize', _.bind(me.onApiFontSize, me));
|
||||
me.api.asc_registerCallback('asc_onBold', _.bind(me.onApiBold, me));
|
||||
me.api.asc_registerCallback('asc_onItalic', _.bind(me.onApiItalic, me));
|
||||
me.api.asc_registerCallback('asc_onUnderline', _.bind(me.onApiUnderline, me));
|
||||
me.api.asc_registerCallback('asc_onStrikeout', _.bind(me.onApiStrikeout, me));
|
||||
me.api.asc_registerCallback('asc_onVerticalAlign', _.bind(me.onApiVerticalAlign, me));
|
||||
me.api.asc_registerCallback('asc_onListType', _.bind(me.onApiBullets, me));
|
||||
me.api.asc_registerCallback('asc_onPrAlign', _.bind(me.onApiParagraphAlign, me));
|
||||
me.api.asc_registerCallback('asc_onTextColor', _.bind(me.onApiTextColor, me));
|
||||
me.api.asc_registerCallback('asc_onParaSpacingLine', _.bind(me.onApiLineSpacing, me));
|
||||
me.api.asc_registerCallback('asc_onTextShd', _.bind(me.onApiTextShd, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -169,7 +140,7 @@ define([
|
|||
// Public
|
||||
|
||||
getFonts: function() {
|
||||
return _fontsArray;
|
||||
return this._fontsArray;
|
||||
},
|
||||
|
||||
getStack: function() {
|
||||
|
|
|
@ -61,7 +61,8 @@ require.config({
|
|||
gateway : 'common/Gateway',
|
||||
locale : 'common/locale',
|
||||
irregularstack : 'common/IrregularStack',
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings'
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings',
|
||||
features : '../../web-apps-mobile/slide/patch'
|
||||
},
|
||||
|
||||
shim: {
|
||||
|
@ -221,7 +222,8 @@ require([
|
|||
|
||||
], function() {
|
||||
window.compareVersions = true;
|
||||
app.start();
|
||||
var _s = app.start.bind(app);
|
||||
require(['features'], _s, _s);
|
||||
});
|
||||
});
|
||||
}, function(err) {
|
||||
|
|
|
@ -575,6 +575,22 @@ define([
|
|||
|
||||
applyLicense: function() {
|
||||
var me = this;
|
||||
if (this.editorConfig.mode !== 'view' && !this.isSupportEditFeature()) {
|
||||
var value = Common.localStorage.getItem("pe-opensource-warning");
|
||||
value = (value!==null) ? parseInt(value) : 0;
|
||||
var now = (new Date).getTime();
|
||||
if (now - value > 86400000) {
|
||||
Common.localStorage.setItem("pe-opensource-warning", now);
|
||||
uiApp.modal({
|
||||
title: me.notcriticalErrorTitle,
|
||||
text : me.errorOpensource,
|
||||
buttons: [{text: 'OK'}]
|
||||
});
|
||||
}
|
||||
PE.getController('Toolbar').activateControls();
|
||||
return;
|
||||
}
|
||||
|
||||
if (this._state.licenseType) {
|
||||
var license = this._state.licenseType,
|
||||
buttons = [{text: 'OK'}];
|
||||
|
@ -669,7 +685,8 @@ define([
|
|||
me.appOptions.canRequestEditRights = me.editorConfig.canRequestEditRights;
|
||||
me.appOptions.canEdit = (me.permissions.edit !== false || me.permissions.review === true) && // can edit or review
|
||||
(me.editorConfig.canRequestEditRights || me.editorConfig.mode !== 'view') && // if mode=="view" -> canRequestEditRights must be defined
|
||||
(!me.appOptions.isReviewOnly || me.appOptions.canLicense); // if isReviewOnly==true -> canLicense must be true
|
||||
(!me.appOptions.isReviewOnly || me.appOptions.canLicense) && // if isReviewOnly==true -> canLicense must be true
|
||||
me.isSupportEditFeature();
|
||||
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;
|
||||
|
@ -1097,7 +1114,6 @@ define([
|
|||
},
|
||||
|
||||
onSendThemeColors: function(colors, standart_colors) {
|
||||
Common.Utils.ThemeColor.setColors(colors, standart_colors);
|
||||
},
|
||||
|
||||
onFocusObject: function(SelectedObjects) {
|
||||
|
@ -1249,6 +1265,10 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
isSupportEditFeature: function() {
|
||||
return false;
|
||||
},
|
||||
|
||||
// Translation
|
||||
leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.',
|
||||
criticalErrorTitle: 'Error',
|
||||
|
@ -1412,7 +1432,8 @@ define([
|
|||
textCustomLoader: 'Please note that according to the terms of the license you are not entitled to change the loader.<br>Please contact our Sales Department to get a quote.',
|
||||
waitText: 'Please, wait...',
|
||||
errorFileSizeExceed: 'The file size exceeds the limitation set for your server.<br>Please contact your Document Server administrator for details.',
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.'
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.',
|
||||
errorOpensource: 'Files can be opened for viewing only. Mobile web editors are not available in the Open Source version.'
|
||||
}
|
||||
})(), PE.Controllers.Main || {}))
|
||||
});
|
|
@ -95,10 +95,6 @@ define([
|
|||
|
||||
onInsertByFile: function (e) {
|
||||
PE.getController('AddContainer').hideModal();
|
||||
|
||||
if (this.api) {
|
||||
this.api.asc_addImage();
|
||||
}
|
||||
},
|
||||
|
||||
onUrlChange: function (e) {
|
||||
|
@ -115,9 +111,6 @@ define([
|
|||
if (!_.isEmpty(value)) {
|
||||
if ((/((^https?)|(^ftp)):\/\/.+/i.test(value))) {
|
||||
PE.getController('AddContainer').hideModal();
|
||||
_.defer(function () {
|
||||
me.api.AddImageUrl(value);
|
||||
});
|
||||
} else {
|
||||
uiApp.alert(me.txtNotUrl);
|
||||
}
|
||||
|
|
|
@ -57,9 +57,6 @@ define([
|
|||
First: 3,
|
||||
Num: 4
|
||||
},
|
||||
_linkType = c_oHyperlinkType.WebLink,
|
||||
_slideLink = 0,
|
||||
_slideNum = 0,
|
||||
_slidesCount = 0;
|
||||
|
||||
return {
|
||||
|
@ -83,6 +80,10 @@ define([
|
|||
uiApp.onPageBack('addlink-type addlink-slidenumber', function (page) {
|
||||
me.initSettings();
|
||||
});
|
||||
|
||||
this._linkType = c_oHyperlinkType.WebLink;
|
||||
this._slideLink = 0;
|
||||
this._slideNum = 0;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
|
@ -103,8 +104,8 @@ define([
|
|||
var $target = $(e.currentTarget);
|
||||
|
||||
if ($target && $target.prop('id') === 'add-link') {
|
||||
_linkType = c_oHyperlinkType.WebLink;
|
||||
_slideLink = _slideNum = 0;
|
||||
this._linkType = c_oHyperlinkType.WebLink;
|
||||
this._slideLink = this._slideNum = 0;
|
||||
var text = this.api.can_AddHyperlink();
|
||||
if (text !== false) {
|
||||
$('#add-link-display input').val((text !== null) ? text : this.textDefault);
|
||||
|
@ -119,17 +120,17 @@ define([
|
|||
var me = this;
|
||||
|
||||
if (pageId == '#addlink-type') {
|
||||
$('#page-addlink-type input').val([_linkType]);
|
||||
$('#page-addlink-type input').val([this._linkType]);
|
||||
} else if (pageId == '#addlink-slidenumber') {
|
||||
_slidesCount = me.api.getCountPages();
|
||||
$('#page-addlink-slidenumber input').val([_slideLink]);
|
||||
$('#addlink-slide-number .item-after label').text(_slideNum+1);
|
||||
$('#page-addlink-slidenumber input').val([this._slideLink]);
|
||||
$('#addlink-slide-number .item-after label').text(this._slideNum+1);
|
||||
} 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']();
|
||||
$('#add-link-type .item-after').text((this._linkType==c_oHyperlinkType.WebLink) ? me.textExternalLink : me.textInternalLink);
|
||||
$('#add-link-url')[(this._linkType==c_oHyperlinkType.WebLink) ? 'show' : 'hide']();
|
||||
$('#add-link-number')[(this._linkType==c_oHyperlinkType.WebLink) ? 'hide' : 'show']();
|
||||
|
||||
if (_linkType==c_oHyperlinkType.WebLink) {
|
||||
if (this._linkType==c_oHyperlinkType.WebLink) {
|
||||
$('#add-link-url input[type=url]').single('input', _.bind(function(e) {
|
||||
$('#add-link-insert').toggleClass('disabled', _.isEmpty($('#add-link-url input').val()));
|
||||
}, this));
|
||||
|
@ -138,7 +139,7 @@ define([
|
|||
}, 1000);
|
||||
} else {
|
||||
var slidename = '';
|
||||
switch (_slideLink) {
|
||||
switch (this._slideLink) {
|
||||
case 0:
|
||||
slidename = me.textNext;
|
||||
break;
|
||||
|
@ -152,13 +153,13 @@ define([
|
|||
slidename = me.textLast;
|
||||
break;
|
||||
case 4:
|
||||
slidename = me.textSlide + ' ' + (_slideNum+1);
|
||||
slidename = me.textSlide + ' ' + (this._slideNum+1);
|
||||
break;
|
||||
}
|
||||
$('#add-link-number .item-after').text(slidename);
|
||||
}
|
||||
|
||||
$('#add-link-insert').toggleClass('disabled', (_linkType==c_oHyperlinkType.WebLink) && _.isEmpty($('#add-link-url input').val()));
|
||||
$('#add-link-insert').toggleClass('disabled', (this._linkType==c_oHyperlinkType.WebLink) && _.isEmpty($('#add-link-url input').val()));
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -174,66 +175,6 @@ define([
|
|||
// Handlers
|
||||
|
||||
onInsertLink: function (e) {
|
||||
var me = this,
|
||||
display = $('#add-link-display input').val(),
|
||||
tip = $('#add-link-tip input').val(),
|
||||
props = new Asc.CHyperlinkProperty(),
|
||||
def_display = '';
|
||||
|
||||
if (_linkType==c_oHyperlinkType.WebLink) {
|
||||
var url = $('#add-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 (!$('#add-link-display').hasClass('disabled')) {
|
||||
props.put_Text(_.isEmpty(display) ? def_display : display);
|
||||
} else
|
||||
props.put_Text(null);
|
||||
|
||||
me.api.add_Hyperlink(props);
|
||||
|
||||
PE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
|
@ -241,7 +182,7 @@ define([
|
|||
var $target = $(e.currentTarget).find('input');
|
||||
|
||||
if ($target && this.api) {
|
||||
_linkType = parseFloat($target.prop('value'));
|
||||
this._linkType = parseFloat($target.prop('value'));
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -249,20 +190,20 @@ define([
|
|||
var $target = $(e.currentTarget).find('input');
|
||||
|
||||
if ($target && this.api) {
|
||||
_slideLink = parseFloat($target.prop('value'));
|
||||
this._slideLink = parseFloat($target.prop('value'));
|
||||
}
|
||||
},
|
||||
|
||||
onSlideNumber: function (e) {
|
||||
var $button = $(e.currentTarget),
|
||||
slide = _slideNum;
|
||||
slide = this._slideNum;
|
||||
|
||||
if ($button.hasClass('decrement')) {
|
||||
slide = Math.max(0, --slide);
|
||||
} else {
|
||||
slide = Math.min(_slidesCount-1, ++slide);
|
||||
}
|
||||
_slideNum = slide;
|
||||
this._slideNum = slide;
|
||||
$('#addlink-slide-number .item-after label').text(slide+1);
|
||||
},
|
||||
|
||||
|
|
|
@ -212,13 +212,6 @@ define([
|
|||
},
|
||||
|
||||
onShapeClick: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget);
|
||||
|
||||
if ($target && me.api) {
|
||||
me.api.AddShapeOnCurrentPage($target.data('type'));
|
||||
}
|
||||
|
||||
PE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
|
|
|
@ -48,8 +48,6 @@ define([
|
|||
'use strict';
|
||||
|
||||
PE.Controllers.AddSlide = Backbone.Controller.extend(_.extend((function() {
|
||||
var _layouts = [];
|
||||
|
||||
return {
|
||||
models: [],
|
||||
collections: [],
|
||||
|
@ -59,12 +57,12 @@ define([
|
|||
|
||||
initialize: function () {
|
||||
Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
|
||||
this._layouts = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
me.api.asc_registerCallback('asc_onUpdateLayout', _.bind(me.onUpdateLayout, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -73,49 +71,18 @@ define([
|
|||
|
||||
initEvents: function () {
|
||||
var me = this;
|
||||
me.getView('AddSlide').updateLayouts(_layouts);
|
||||
me.getView('AddSlide').updateLayouts(this._layouts);
|
||||
$('#add-slide .slide-layout li').single('click', _.buffered(me.onLayoutClick, 100, me));
|
||||
},
|
||||
|
||||
onLayoutClick: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
me.api.AddSlide(type);
|
||||
|
||||
PE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
// Public
|
||||
|
||||
getLayouts: function () {
|
||||
return _layouts;
|
||||
},
|
||||
|
||||
// API handlers
|
||||
|
||||
onUpdateLayout: function(layouts){
|
||||
var me = this;
|
||||
_layouts = [];
|
||||
if (!_.isEmpty(layouts)){
|
||||
_.each(layouts, function(layout){
|
||||
var name = layout.get_Name();
|
||||
_layouts.push({
|
||||
imageUrl : layout.get_Image(),
|
||||
title : (name !== '') ? name : PE.getController('Main').layoutNames[layout.getType()],
|
||||
itemWidth : layout.get_Width(),
|
||||
itemHeight : layout.get_Height(),
|
||||
idx : layout.getIndex()
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
Common.SharedSettings.set('slidelayouts', _layouts);
|
||||
Common.NotificationCenter.trigger('slidelayouts:load', _layouts);
|
||||
|
||||
this.getView('AddSlide').updateLayouts(_layouts);
|
||||
$('#add-slide .slide-layout li').single('click', _.buffered(me.onLayoutClick, 100, me));
|
||||
return this._layouts;
|
||||
}
|
||||
}
|
||||
})(), PE.Controllers.AddSlide || {}))
|
||||
|
|
|
@ -48,8 +48,7 @@ define([
|
|||
'use strict';
|
||||
|
||||
PE.Controllers.AddTable = Backbone.Controller.extend(_.extend((function() {
|
||||
var _styles = [],
|
||||
_initDefaultStyles = false;
|
||||
var _initDefaultStyles = false;
|
||||
|
||||
return {
|
||||
models: [],
|
||||
|
@ -60,13 +59,12 @@ define([
|
|||
|
||||
initialize: function () {
|
||||
Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
|
||||
this._styles = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitTableTemplates', _.bind(me.onApiInitTemplates, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -78,7 +76,7 @@ define([
|
|||
|
||||
if (!_initDefaultStyles) {
|
||||
_initDefaultStyles = true;
|
||||
_styles = [];
|
||||
me._styles = [];
|
||||
|
||||
me.api.asc_GetDefaultTableStyles && me.api.asc_GetDefaultTableStyles();
|
||||
}
|
||||
|
@ -159,27 +157,11 @@ define([
|
|||
// Public
|
||||
|
||||
getStyles: function () {
|
||||
return _styles;
|
||||
return this._styles;
|
||||
},
|
||||
|
||||
// API handlers
|
||||
|
||||
onApiInitTemplates: function(templates){
|
||||
if (_styles.length < 1) {
|
||||
_.each(templates, function(template){
|
||||
_styles.push({
|
||||
imageUrl : template.asc_getImage(),
|
||||
templateId : template.asc_getId()
|
||||
});
|
||||
});
|
||||
|
||||
this.getView('AddTable').render();
|
||||
}
|
||||
|
||||
Common.SharedSettings.set('tablestyles', _styles);
|
||||
Common.NotificationCenter.trigger('tablestyles:load', _styles);
|
||||
},
|
||||
|
||||
textTableSize: 'Table Size',
|
||||
textColumns: 'Columns',
|
||||
textRows: 'Rows',
|
||||
|
|
|
@ -52,7 +52,6 @@ define([
|
|||
PE.Controllers.EditChart = Backbone.Controller.extend(_.extend((function() {
|
||||
// Private
|
||||
var _stack = [],
|
||||
_chartObject = undefined,
|
||||
_shapeObject = undefined,
|
||||
_metricText = Common.Utils.Metric.getCurrentMetricName(),
|
||||
_borderColor = 'transparent';
|
||||
|
@ -99,6 +98,7 @@ define([
|
|||
'page:show': this.onPageShow
|
||||
}
|
||||
});
|
||||
this._chartObject = undefined;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
|
@ -106,7 +106,6 @@ define([
|
|||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onUpdateChartStyles', _.bind(me.onApiUpdateChartStyles, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -139,9 +138,9 @@ define([
|
|||
initSettings: function (pageId) {
|
||||
var me = this;
|
||||
|
||||
if (_chartObject) {
|
||||
if (me._chartObject) {
|
||||
if (pageId == '#edit-chart-style') {
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(_chartObject.getType()));
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(me._chartObject.getType()));
|
||||
me._initStyleView();
|
||||
} else if (pageId == '#edit-chart-border-color-view') {
|
||||
me._initStyleView();
|
||||
|
@ -151,7 +150,7 @@ define([
|
|||
|
||||
_initStyleView: function (updateStyles) {
|
||||
var me = this,
|
||||
chartProperties = _chartObject,
|
||||
chartProperties = me._chartObject,
|
||||
shapeProperties = _shapeObject,
|
||||
paletteFillColor = me.getView('EditChart').paletteFillColor,
|
||||
paletteBorderColor = me.getView('EditChart').paletteBorderColor;
|
||||
|
@ -228,25 +227,12 @@ define([
|
|||
// Public
|
||||
|
||||
getChart: function () {
|
||||
return _chartObject;
|
||||
return this._chartObject;
|
||||
},
|
||||
|
||||
// Handlers
|
||||
|
||||
onType: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
var chart = new Asc.CAscChartProp();
|
||||
chart.changeType(type);
|
||||
me.api.ChartApply(chart);
|
||||
|
||||
$('.chart-types li').removeClass('active');
|
||||
$target.addClass('active');
|
||||
|
||||
// Force update styles
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(chart.getType()));
|
||||
},
|
||||
|
||||
onStyle: function (e) {
|
||||
|
@ -405,23 +391,13 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
_chartObject = getTopObject(charts);
|
||||
this._chartObject = getTopObject(charts);
|
||||
_shapeObject = getTopObject(shapes);
|
||||
},
|
||||
|
||||
onApiUpdateChartStyles: function () {
|
||||
if (this.api && _chartObject) {
|
||||
this._updateChartStyles(this.api.asc_getChartPreviews(_chartObject.getType()));
|
||||
}
|
||||
},
|
||||
|
||||
// Helpers
|
||||
|
||||
_updateChartStyles: function(styles) {
|
||||
Common.SharedSettings.set('chartstyles', styles);
|
||||
Common.NotificationCenter.trigger('chartstyles:load', styles);
|
||||
|
||||
$('#tab-chart-style li').single('click', _.bind(this.onStyle, this));
|
||||
},
|
||||
|
||||
_closeIfNeed: function () {
|
||||
|
|
|
@ -234,18 +234,6 @@ define([
|
|||
},
|
||||
|
||||
onReorder: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
if ('all-up' == type) {
|
||||
this.api.shapes_bringToFront();
|
||||
} else if ('all-down' == type) {
|
||||
this.api.shapes_bringToBack();
|
||||
} else if ('move-up' == type) {
|
||||
this.api.shapes_bringForward();
|
||||
} else if ('move-down' == type) {
|
||||
this.api.shapes_bringBackward();
|
||||
}
|
||||
},
|
||||
|
||||
onAlign: function (e) {
|
||||
|
@ -272,10 +260,6 @@ define([
|
|||
},
|
||||
|
||||
onReplace: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
this.api.ChangeShapeType(type);
|
||||
},
|
||||
|
||||
onBorderSize: function (e) {
|
||||
|
|
|
@ -53,7 +53,6 @@ define([
|
|||
// Private
|
||||
var _stack = [],
|
||||
_slideObject = undefined,
|
||||
_themes = [],
|
||||
_themeId = -1,
|
||||
_effect = Asc.c_oAscSlideTransitionTypes.None,
|
||||
_effectType = -1,
|
||||
|
@ -81,6 +80,7 @@ define([
|
|||
uiApp.onPageBack('editslide-effect-type editslide-effect', function (page) {
|
||||
me.initSettings('#edit-slide-transition');
|
||||
});
|
||||
this._themes = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
|
@ -88,7 +88,6 @@ define([
|
|||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(me.onApiInitEditorStyles, me));
|
||||
me.api.asc_registerCallback('asc_onUpdateThemeIndex', _.bind(me.onApiUpdateThemeIndex, me));
|
||||
},
|
||||
|
||||
|
@ -210,28 +209,15 @@ define([
|
|||
},
|
||||
|
||||
getThemes: function () {
|
||||
return _themes || [];
|
||||
return this._themes || [];
|
||||
},
|
||||
|
||||
// Handlers
|
||||
|
||||
onLayoutClick: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
me.api.ChangeLayout(type);
|
||||
},
|
||||
|
||||
onThemeClick: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
$('.container-edit .slide-theme div').removeClass('active');
|
||||
$target.addClass('active');
|
||||
|
||||
me.api.ChangeTheme(type);
|
||||
},
|
||||
|
||||
onRemoveSlide: function () {
|
||||
|
@ -386,35 +372,6 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
onApiInitEditorStyles: function(themes) {
|
||||
if (themes) {
|
||||
window.styles_loaded = false;
|
||||
|
||||
var me = this,
|
||||
defaultThemes = themes[0] || [],
|
||||
docThemes = themes[1] || [];
|
||||
|
||||
_themes = [];
|
||||
|
||||
_.each(defaultThemes, function(theme, index) {
|
||||
_themes.push({
|
||||
themeId : theme.get_Index(),
|
||||
offsety : index * 38
|
||||
});
|
||||
});
|
||||
|
||||
_.each(docThemes, function(theme) {
|
||||
_themes.push({
|
||||
imageUrl: theme.get_Image(),
|
||||
themeId : theme.get_Index(),
|
||||
offsety : 0
|
||||
});
|
||||
});
|
||||
|
||||
window.styles_loaded = true;
|
||||
}
|
||||
},
|
||||
|
||||
onApiUpdateThemeIndex: function(themeId) {
|
||||
_themeId = themeId;
|
||||
$('.container-edit .slide-theme .row div').removeClass('active');
|
||||
|
|
|
@ -112,9 +112,6 @@ define([
|
|||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onInitTableTemplates', _.bind(me.onApiInitTemplates, me));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -124,13 +121,6 @@ define([
|
|||
initEvents: function () {
|
||||
var me = this;
|
||||
|
||||
$('#table-remove-all').single('click', _.bind(function(){me.api.remTable(); me._closeIfNeed()}, me));
|
||||
$('#insert-column-left').single('click', _.bind(function(){me.api.addColumnLeft(); me._closeIfNeed()}, me));
|
||||
$('#insert-column-right').single('click', _.bind(function(){me.api.addColumnRight(); me._closeIfNeed()}, me));
|
||||
$('#insert-row-above').single('click', _.bind(function(){me.api.addRowAbove(); me._closeIfNeed()}, me));
|
||||
$('#insert-row-below').single('click', _.bind(function(){me.api.addRowBelow(); me._closeIfNeed()}, me));
|
||||
$('#remove-column').single('click', _.bind(function(){me.api.remColumn(); me._closeIfNeed()}, me));
|
||||
$('#remove-row').single('click', _.bind(function(){me.api.remRow(); me._closeIfNeed()}, me));
|
||||
$('#table-options-margins input').single('change touchend', _.buffered(me.onOptionMargin, 100, me));
|
||||
$('#table-options-margins input').single('input', _.bind(me.onOptionMarginChanging, me));
|
||||
|
||||
|
@ -548,19 +538,6 @@ define([
|
|||
});
|
||||
|
||||
return tableExist;
|
||||
},
|
||||
|
||||
onApiInitTemplates: function(templates) {
|
||||
var styles = [];
|
||||
|
||||
_.each(templates, function(template){
|
||||
styles.push({
|
||||
imageUrl : template.asc_getImage(),
|
||||
templateId : template.asc_getId()
|
||||
});
|
||||
});
|
||||
|
||||
this.getView('EditTable').updateStyles(styles);
|
||||
}
|
||||
}
|
||||
})(), PE.Controllers.EditTable || {}))
|
||||
|
|
|
@ -51,28 +51,12 @@ define([
|
|||
'use strict';
|
||||
|
||||
PE.Controllers.EditText = Backbone.Controller.extend(_.extend((function() {
|
||||
var _fontsArray = [],
|
||||
_stack = [],
|
||||
var _stack = [],
|
||||
_paragraphObject = undefined,
|
||||
_fontInfo = {},
|
||||
_paragraphInfo = {},
|
||||
metricText = Common.Utils.Metric.getCurrentMetricName();
|
||||
|
||||
function onApiLoadFonts(fonts, select) {
|
||||
_.each(fonts, function(font){
|
||||
var fontId = font.asc_getFontId();
|
||||
_fontsArray.push({
|
||||
id : fontId,
|
||||
name : font.asc_getFontName(),
|
||||
// displayValue: font.asc_getFontName(),
|
||||
imgidx : font.asc_getFontThumbnail(),
|
||||
type : font.asc_getFontType()
|
||||
});
|
||||
});
|
||||
|
||||
Common.NotificationCenter.trigger('fonts:load', _fontsArray, select);
|
||||
}
|
||||
|
||||
return {
|
||||
models: [],
|
||||
collections: [],
|
||||
|
@ -90,35 +74,12 @@ define([
|
|||
'font:click': this.onFontClick
|
||||
}
|
||||
});
|
||||
this._fontsArray = [];
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitEditorFonts', _.bind(onApiLoadFonts, me));
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
me.api.asc_registerCallback('asc_onFontFamily', _.bind(me.onApiChangeFont, me));
|
||||
me.api.asc_registerCallback('asc_onFontSize', _.bind(me.onApiFontSize, me));
|
||||
me.api.asc_registerCallback('asc_onBold', _.bind(me.onApiBold, me));
|
||||
me.api.asc_registerCallback('asc_onItalic', _.bind(me.onApiItalic, me));
|
||||
me.api.asc_registerCallback('asc_onUnderline', _.bind(me.onApiUnderline, me));
|
||||
me.api.asc_registerCallback('asc_onStrikeout', _.bind(me.onApiStrikeout, me));
|
||||
me.api.asc_registerCallback('asc_onVerticalAlign', _.bind(me.onApiVerticalAlign, me));
|
||||
me.api.asc_registerCallback('asc_onTextColor', _.bind(me.onApiTextColor, me));
|
||||
|
||||
me.api.asc_registerCallback('asc_onListType', _.bind(me.onApiBullets, me));
|
||||
me.api.asc_registerCallback('asc_onPrAlign', _.bind(me.onApiParagraphAlign, me));
|
||||
me.api.asc_registerCallback('asc_canIncreaseIndent', _.bind(me.onApiCanIncreaseIndent, me));
|
||||
me.api.asc_registerCallback('asc_canDecreaseIndent', _.bind(me.onApiCanDecreaseIndent, me));
|
||||
me.api.asc_registerCallback('asc_onLineSpacing', _.bind(me.onApiLineSpacing, me));
|
||||
me.api.asc_registerCallback('asc_onVerticalTextAlign', _.bind(me.onApiVerticalTextAlign, me));
|
||||
|
||||
// me.api.asc_registerCallback('asc_onUpdateThemeIndex', _.bind(this.onApiUpdateThemeIndex, this));
|
||||
// me.api.asc_registerCallback('asc_onCanGroup', _.bind(this.onApiCanGroup, this));
|
||||
// me.api.asc_registerCallback('asc_onCanUnGroup', _.bind(this.onApiCanUnGroup, this));
|
||||
// me.api.asc_registerCallback('asc_onPresentationSize', _.bind(this.onApiPageSize, this));
|
||||
// me.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(this.onApiInitEditorStyles, this));
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -199,7 +160,7 @@ define([
|
|||
// Public
|
||||
|
||||
getFonts: function() {
|
||||
return _fontsArray;
|
||||
return this._fontsArray;
|
||||
},
|
||||
|
||||
getStack: function() {
|
||||
|
|
|
@ -61,7 +61,8 @@ require.config({
|
|||
gateway : 'common/Gateway',
|
||||
locale : 'common/locale',
|
||||
irregularstack : 'common/IrregularStack',
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings'
|
||||
sharedsettings : 'common/mobile/utils/SharedSettings',
|
||||
features : '../../web-apps-mobile/cell/patch'
|
||||
},
|
||||
|
||||
shim: {
|
||||
|
@ -210,7 +211,8 @@ require([
|
|||
,'common/mobile/lib/controller/Collaboration'
|
||||
], function() {
|
||||
window.compareVersions = true;
|
||||
app.start();
|
||||
var _s = app.start.bind(app);
|
||||
require(['features'], _s, _s);
|
||||
});
|
||||
});
|
||||
}, function(err) {
|
||||
|
|
|
@ -606,6 +606,21 @@ define([
|
|||
|
||||
applyLicense: function() {
|
||||
var me = this;
|
||||
if (this.editorConfig.mode !== 'view' && !this.isSupportEditFeature()) {
|
||||
var value = Common.localStorage.getItem("sse-opensource-warning");
|
||||
value = (value!==null) ? parseInt(value) : 0;
|
||||
var now = (new Date).getTime();
|
||||
if (now - value > 86400000) {
|
||||
Common.localStorage.setItem("sse-opensource-warning", now);
|
||||
uiApp.modal({
|
||||
title: me.notcriticalErrorTitle,
|
||||
text : me.errorOpensource,
|
||||
buttons: [{text: 'OK'}]
|
||||
});
|
||||
}
|
||||
SSE.getController('Toolbar').activateControls();
|
||||
return;
|
||||
}
|
||||
if (this._state.licenseType) {
|
||||
var license = this._state.licenseType,
|
||||
buttons = [{text: 'OK'}];
|
||||
|
@ -712,8 +727,9 @@ define([
|
|||
|
||||
me.appOptions.canRequestEditRights = me.editorConfig.canRequestEditRights;
|
||||
me.appOptions.canEdit = me.permissions.edit !== false && // can edit
|
||||
(me.editorConfig.canRequestEditRights || me.editorConfig.mode !== 'view'); // if mode=="view" -> canRequestEditRights must be defined
|
||||
me.appOptions.isEdit = (me.appOptions.canLicense || me.appOptions.isEditDiagram || me.appOptions.isEditMailMerge) && me.permissions.edit !== false && me.editorConfig.mode !== 'view';
|
||||
(me.editorConfig.canRequestEditRights || me.editorConfig.mode !== 'view') && // if mode=="view" -> canRequestEditRights must be defined
|
||||
me.isSupportEditFeature();
|
||||
me.appOptions.isEdit = (me.appOptions.canLicense || me.appOptions.isEditDiagram || me.appOptions.isEditMailMerge) && me.permissions.edit !== false && me.editorConfig.mode !== 'view' && me.isSupportEditFeature();
|
||||
me.appOptions.canDownload = (me.permissions.download !== false);
|
||||
me.appOptions.canPrint = (me.permissions.print !== false);
|
||||
|
||||
|
@ -1247,7 +1263,6 @@ define([
|
|||
},
|
||||
|
||||
onSendThemeColors: function(colors, standart_colors) {
|
||||
Common.Utils.ThemeColor.setColors(colors, standart_colors);
|
||||
},
|
||||
|
||||
onAdvancedOptions: function(type, advOptions, mode, formatOptions) {
|
||||
|
@ -1460,6 +1475,10 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
isSupportEditFeature: function() {
|
||||
return false;
|
||||
},
|
||||
|
||||
leavePageText: 'You have unsaved changes in this document. Click \'Stay on this Page\' to await the autosave of the document. Click \'Leave this Page\' to discard all the unsaved changes.',
|
||||
criticalErrorTitle: 'Error',
|
||||
notcriticalErrorTitle: 'Warning',
|
||||
|
@ -1642,7 +1661,8 @@ define([
|
|||
errorFrmlMaxTextLength: 'Text values in formulas are limited to 255 characters.<br>Use the CONCATENATE function or concatenation operator (&)',
|
||||
waitText: 'Please, wait...',
|
||||
errorFileSizeExceed: 'The file size exceeds the limitation set for your server.<br>Please contact your Document Server administrator for details.',
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.'
|
||||
errorUpdateVersionOnDisconnect: 'Internet connection has been restored, and the file version has been changed.<br>Before you can continue working, you need to download the file or copy its content to make sure nothing is lost, and then reload this page.',
|
||||
errorOpensource: 'Files can be opened for viewing only. Mobile web editors are not available in the Open Source version.'
|
||||
}
|
||||
})(), SSE.Controllers.Main || {}))
|
||||
});
|
|
@ -78,10 +78,6 @@ define([
|
|||
|
||||
onInsertChart: function (type) {
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
|
||||
var settings = this.api.asc_getChartObject();
|
||||
settings.changeType(type);
|
||||
this.api.asc_addChartDrawingObject(settings);
|
||||
},
|
||||
|
||||
txtDiagramTitle: 'Chart Title',
|
||||
|
|
|
@ -69,6 +69,7 @@ define([
|
|||
'function:info': me.onFunctionInfo.bind(me)
|
||||
}
|
||||
});
|
||||
this.fd = fd;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
|
@ -111,40 +112,7 @@ define([
|
|||
|
||||
editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase();
|
||||
|
||||
var localizationFunctionsDesc = function (data) {
|
||||
var jsonDesc = {},
|
||||
view = me.getView('AddFunction');
|
||||
|
||||
fd = data;
|
||||
|
||||
try {
|
||||
jsonDesc = JSON.parse(fd);
|
||||
} catch (e) {
|
||||
jsonDesc = fd
|
||||
}
|
||||
|
||||
var grouparr = me.api.asc_getFormulasInfo();
|
||||
for (var g in grouparr) {
|
||||
var group = grouparr[g];
|
||||
var groupname = group.asc_getGroupName();
|
||||
var funcarr = group.asc_getFormulasArray();
|
||||
|
||||
for (var f in funcarr) {
|
||||
var func = funcarr[f];
|
||||
var _name = func.asc_getName();
|
||||
functions[_name] = {
|
||||
type: _name,
|
||||
group: groupname,
|
||||
caption: func.asc_getLocaleName(),
|
||||
args: (jsonDesc && jsonDesc[_name]) ? jsonDesc[_name].a : '',
|
||||
descr: (jsonDesc && jsonDesc[_name]) ? jsonDesc[_name].d : ''
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
view.setFunctions(functions, editorLang);
|
||||
view.render();
|
||||
};
|
||||
var localizationFunctionsDesc = function (data) {};
|
||||
|
||||
$.getJSON(Common.Utils.String.format("{0}/{1}_desc.json", "resources/l10n/functions", editorLang), function(json) {
|
||||
localizationFunctionsDesc(json);
|
||||
|
@ -155,8 +123,6 @@ define([
|
|||
|
||||
onInsertFunction: function (type) {
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
|
||||
this.api.asc_insertFormula(this.api.asc_getFormulaLocaleName(type), Asc.c_oAscPopUpSelectorType.Func, true);
|
||||
},
|
||||
|
||||
onFunctionInfo: function (type) {
|
||||
|
|
|
@ -49,54 +49,6 @@ define([
|
|||
var cfgLink;
|
||||
|
||||
// Handlers
|
||||
function onInsertLink (args) {
|
||||
var link = new Asc.asc_CHyperlink();
|
||||
|
||||
if ( args.type == 'ext' ) {
|
||||
var url = args.url,
|
||||
urltype = this.api.asc_getUrlType($.trim(url)),
|
||||
isEmail = (urltype == 2);
|
||||
|
||||
if (urltype < 1) {
|
||||
uiApp.alert(this.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')," ");
|
||||
|
||||
link.asc_setType(Asc.c_oAscHyperlinkType.WebLink);
|
||||
link.asc_setHyperlinkUrl(url);
|
||||
display = url;
|
||||
} else {
|
||||
var isValid = /^[A-Z]+[1-9]\d*:[A-Z]+[1-9]\d*$/.test(args.url);
|
||||
|
||||
if (!isValid)
|
||||
isValid = /^[A-Z]+[1-9]\d*$/.test(args.url);
|
||||
|
||||
if (!isValid) {
|
||||
uiApp.alert(this.textInvalidRange);
|
||||
return;
|
||||
}
|
||||
|
||||
link.asc_setType(Asc.c_oAscHyperlinkType.RangeLink);
|
||||
link.asc_setSheet(args.sheet);
|
||||
link.asc_setRange(args.url);
|
||||
|
||||
var display = args.sheet + '!' + args.url;
|
||||
}
|
||||
|
||||
link.asc_setText(args.text == null ? null : !!args.text ? args.text : display);
|
||||
link.asc_setTooltip(args.tooltip);
|
||||
|
||||
this.api.asc_insertHyperlink(link);
|
||||
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
}
|
||||
|
||||
function onChangePanel (view, pageId) {
|
||||
var me = this;
|
||||
|
@ -142,7 +94,7 @@ define([
|
|||
this.addListeners({
|
||||
'AddLink': {
|
||||
'panel:change' : onChangePanel.bind(this)
|
||||
, 'link:insert': onInsertLink.bind(this)
|
||||
, 'link:insert': this.onInsertLink.bind(this)
|
||||
, 'link:changetype': onChangeLinkType.bind(this)
|
||||
, 'link:changesheet': onChangeLinkSheet.bind(this)
|
||||
}
|
||||
|
@ -218,6 +170,10 @@ define([
|
|||
view.fireEvent('page:show', [this, '#addlink']);
|
||||
},
|
||||
|
||||
onInsertLink: function(args){
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
textInvalidRange : 'ERROR! Invalid cells range',
|
||||
txtNotUrl : 'This field should be a URL in the format \"http://www.example.com\"'
|
||||
}
|
||||
|
|
|
@ -112,10 +112,6 @@ define([
|
|||
if (!_.isEmpty(url)) {
|
||||
if ((/((^https?)|(^ftp)):\/\/.+/i.test(url))) {
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
|
||||
_.defer(function () {
|
||||
me.api.asc_addImageDrawingObject(url);
|
||||
});
|
||||
} else {
|
||||
uiApp.alert(me.txtNotUrl);
|
||||
}
|
||||
|
@ -124,7 +120,6 @@ define([
|
|||
}
|
||||
} else {
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
this.api.asc_addImage();
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -133,11 +128,6 @@ define([
|
|||
},
|
||||
|
||||
onInsertFilter: function(checked) {
|
||||
var formatTableInfo = this.api.asc_getCellInfo().asc_getFormatTableInfo();
|
||||
var tablename = (formatTableInfo) ? formatTableInfo.asc_getTableName() : undefined;
|
||||
if (checked)
|
||||
this.api.asc_addAutoFilter(); else
|
||||
this.api.asc_changeAutoFilter(tablename, Asc.c_oAscChangeFilterOptions.filter, checked);
|
||||
},
|
||||
|
||||
onError: function(id, level, errData) {
|
||||
|
|
|
@ -211,12 +211,6 @@ define([
|
|||
},
|
||||
|
||||
onShapeClick: function (e) {
|
||||
var $target = $(e.currentTarget);
|
||||
|
||||
if ($target && this.api) {
|
||||
this.api.asc_addShapeOnSheet($target.data('type'));
|
||||
}
|
||||
|
||||
SSE.getController('AddContainer').hideModal();
|
||||
},
|
||||
|
||||
|
|
|
@ -51,29 +51,8 @@ define([
|
|||
'use strict';
|
||||
|
||||
SSE.Controllers.EditCell = Backbone.Controller.extend(_.extend((function() {
|
||||
var _fontsArray = [],
|
||||
_stack = [],
|
||||
_cellInfo = undefined,
|
||||
_cellStyles = [],
|
||||
_fontInfo = {},
|
||||
_borderInfo = {color: '000000', width: Asc.c_oAscBorderStyles.Medium},
|
||||
_styleSize = {width: 100, height: 50},
|
||||
_isEdit = false;
|
||||
|
||||
function onApiLoadFonts(fonts, select) {
|
||||
_.each(fonts, function(font){
|
||||
var fontId = font.asc_getFontId();
|
||||
_fontsArray.push({
|
||||
id : fontId,
|
||||
name : font.asc_getFontName(),
|
||||
// displayValue: font.asc_getFontName(),
|
||||
imgidx : font.asc_getFontThumbnail(),
|
||||
type : font.asc_getFontType()
|
||||
});
|
||||
});
|
||||
|
||||
Common.NotificationCenter.trigger('fonts:load', _fontsArray, select);
|
||||
}
|
||||
var _stack = [],
|
||||
_borderInfo = {color: '000000', width: Asc.c_oAscBorderStyles.Medium};
|
||||
|
||||
return {
|
||||
models: [],
|
||||
|
@ -92,22 +71,26 @@ define([
|
|||
'style:click' : this.onStyleClick
|
||||
}
|
||||
});
|
||||
this._fontsArray = [];
|
||||
this._styleSize = {width: 100, height: 50};
|
||||
this._cellStyles = [];
|
||||
this._cellInfo = undefined;
|
||||
this._fontInfo = {};
|
||||
this._isEdit = false;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_setThumbnailStylesSizes(_styleSize.width, _styleSize.height);
|
||||
me.api.asc_setThumbnailStylesSizes(me._styleSize.width, me._styleSize.height);
|
||||
|
||||
me.api.asc_registerCallback('asc_onInitEditorFonts', _.bind(onApiLoadFonts, me));
|
||||
me.api.asc_registerCallback('asc_onSelectionChanged', _.bind(me.onApiSelectionChanged, me));
|
||||
me.api.asc_registerCallback('asc_onEditorSelectionChanged', _.bind(me.onApiEditorSelectionChanged, me));
|
||||
me.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(me.onApiInitEditorStyles, me));
|
||||
},
|
||||
|
||||
setMode: function (mode) {
|
||||
_isEdit = mode.isEdit;
|
||||
this._isEdit = mode.isEdit;
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -125,13 +108,11 @@ define([
|
|||
$('#font-italic').single('click', _.bind(me.onItalic, me));
|
||||
$('#font-underline').single('click', _.bind(me.onUnderline, me));
|
||||
|
||||
me.getView('EditCell').renderStyles(_cellStyles);
|
||||
me.getView('EditCell').renderStyles(me._cellStyles);
|
||||
|
||||
me.initSettings();
|
||||
},
|
||||
|
||||
|
||||
|
||||
onPageShow: function (view, pageId) {
|
||||
var me = this;
|
||||
|
||||
|
@ -156,14 +137,14 @@ define([
|
|||
} else if (!_.isUndefined(pageId) && pageId.indexOf('#edit-cell-format') > -1) {
|
||||
me.initCellFormat();
|
||||
} else {
|
||||
me.initCellSettings(_cellInfo);
|
||||
me.initCellSettings(me._cellInfo);
|
||||
}
|
||||
},
|
||||
|
||||
// Public
|
||||
|
||||
getFonts: function() {
|
||||
return _fontsArray;
|
||||
return this._fontsArray;
|
||||
},
|
||||
|
||||
getStack: function() {
|
||||
|
@ -171,20 +152,20 @@ define([
|
|||
},
|
||||
|
||||
getFontInfo: function () {
|
||||
return _fontInfo;
|
||||
return this._fontInfo;
|
||||
},
|
||||
|
||||
getCell: function () {
|
||||
return _cellInfo;
|
||||
return this._cellInfo;
|
||||
},
|
||||
|
||||
getStyleSize: function () {
|
||||
return _styleSize;
|
||||
return this._styleSize;
|
||||
},
|
||||
|
||||
initFontsPage: function () {
|
||||
var me = this,
|
||||
displaySize = _fontInfo.size;
|
||||
displaySize = this._fontInfo.size;
|
||||
|
||||
_.isUndefined(displaySize) ? displaySize = this.textAuto : displaySize = displaySize + ' ' + this.textPt;
|
||||
|
||||
|
@ -195,7 +176,7 @@ define([
|
|||
initTextColorPage: function () {
|
||||
var me = this,
|
||||
palette = me.getView('EditCell').paletteTextColor,
|
||||
color = me._sdkToThemeColor(_fontInfo.color);
|
||||
color = me._sdkToThemeColor(this._fontInfo.color);
|
||||
|
||||
if (palette) {
|
||||
palette.select(color);
|
||||
|
@ -204,9 +185,11 @@ define([
|
|||
},
|
||||
|
||||
initFillColorPage: function () {
|
||||
if (_.isUndefined(this._cellInfo)) return;
|
||||
|
||||
var me = this,
|
||||
palette = me.getView('EditCell').paletteFillColor,
|
||||
color = me._sdkToThemeColor(_cellInfo.asc_getFill().asc_getColor());
|
||||
color = me._sdkToThemeColor(me._cellInfo.asc_getFill().asc_getColor());
|
||||
|
||||
if (palette) {
|
||||
palette.select(color);
|
||||
|
@ -228,13 +211,15 @@ define([
|
|||
},
|
||||
|
||||
initTextFormat: function () {
|
||||
if (_.isUndefined(this._cellInfo)) return;
|
||||
|
||||
var me = this,
|
||||
$pageTextFormat = $('.page[data-page=edit-text-format]'),
|
||||
hAlign = _cellInfo.asc_getHorAlign(),
|
||||
vAlign = _cellInfo.asc_getVertAlign(),
|
||||
hAlign = me._cellInfo.asc_getHorAlign(),
|
||||
vAlign = me._cellInfo.asc_getVertAlign(),
|
||||
hAlignStr = 'left',
|
||||
vAlignStr = 'bottom',
|
||||
isWrapText = _cellInfo.asc_getFlags().asc_getWrapText();
|
||||
isWrapText = me._cellInfo.asc_getFlags().asc_getWrapText();
|
||||
|
||||
if (vAlign == Asc.c_oAscVAlign.Top)
|
||||
vAlignStr = 'top';
|
||||
|
@ -294,7 +279,7 @@ define([
|
|||
|
||||
// Init font name
|
||||
var fontName = fontObj.asc_getName() || this.textFonts;
|
||||
_fontInfo.name = fontName;
|
||||
this._fontInfo.name = fontName;
|
||||
|
||||
$('#font-fonts .item-title').html(fontName);
|
||||
|
||||
|
@ -306,8 +291,8 @@ define([
|
|||
|
||||
|
||||
// Init font size
|
||||
_fontInfo.size = fontObj.asc_getSize();
|
||||
var displaySize = _fontInfo.size;
|
||||
this._fontInfo.size = fontObj.asc_getSize();
|
||||
var displaySize = this._fontInfo.size;
|
||||
|
||||
_.isUndefined(displaySize) ? displaySize = this.textAuto : displaySize = displaySize + ' ' + this.textPt;
|
||||
|
||||
|
@ -316,9 +301,9 @@ define([
|
|||
|
||||
|
||||
// Init font color
|
||||
_fontInfo.color = fontObj.asc_getColor();
|
||||
this._fontInfo.color = fontObj.asc_getColor();
|
||||
|
||||
var color = _fontInfo.color,
|
||||
var color = this._fontInfo.color,
|
||||
clr = me._sdkToThemeColor(color);
|
||||
|
||||
$('#text-color .color-preview').css('background-color', '#' + (_.isObject(clr) ? clr.color : clr));
|
||||
|
@ -356,21 +341,12 @@ define([
|
|||
me.initTextFormat();
|
||||
},
|
||||
|
||||
onApiInitEditorStyles: function(styles){
|
||||
window.styles_loaded = false;
|
||||
_cellStyles = styles;
|
||||
|
||||
this.getView('EditCell').renderStyles(styles);
|
||||
|
||||
window.styles_loaded = true;
|
||||
},
|
||||
|
||||
// Handlers
|
||||
|
||||
onFontSize: function (e) {
|
||||
var me = this,
|
||||
$button = $(e.currentTarget),
|
||||
fontSize = _fontInfo.size;
|
||||
fontSize = this._fontInfo.size;
|
||||
|
||||
if ($button.hasClass('decrement')) {
|
||||
_.isUndefined(fontSize) ? me.api.asc_decreaseFontSize() : fontSize = Math.max(1, --fontSize);
|
||||
|
@ -464,10 +440,6 @@ define([
|
|||
},
|
||||
|
||||
onCellFormat: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = decodeURIComponent(atob($target.data('type')));
|
||||
|
||||
this.api.asc_setCellFormat(type);
|
||||
},
|
||||
|
||||
onBorderStyle: function (e) {
|
||||
|
@ -504,21 +476,9 @@ define([
|
|||
// API handlers
|
||||
|
||||
onApiEditorSelectionChanged: function(fontObj) {
|
||||
if (!_isEdit) {
|
||||
return;
|
||||
}
|
||||
|
||||
_fontInfo = fontObj;
|
||||
this.initFontSettings(fontObj);
|
||||
},
|
||||
|
||||
onApiSelectionChanged: function(cellInfo) {
|
||||
if (!_isEdit) {
|
||||
return;
|
||||
}
|
||||
|
||||
_cellInfo = cellInfo;
|
||||
this.initCellSettings(cellInfo);
|
||||
},
|
||||
|
||||
// Helpers
|
||||
|
|
|
@ -53,11 +53,9 @@ define([
|
|||
|
||||
SSE.Controllers.EditChart = Backbone.Controller.extend(_.extend((function() {
|
||||
var _stack = [],
|
||||
_chartObject = undefined,
|
||||
_shapeObject = undefined,
|
||||
_borderInfo = {color: '000000', width: 1},
|
||||
_metricText = Common.Utils.Metric.getCurrentMetricName(),
|
||||
_isEdit = false;
|
||||
_metricText = Common.Utils.Metric.getCurrentMetricName();
|
||||
|
||||
var borderSizeTransform = (function() {
|
||||
var _sizes = [0, 0.5, 1, 1.5, 2.25, 3, 4.5, 6];
|
||||
|
@ -101,23 +99,19 @@ define([
|
|||
'page:show' : this.onPageShow
|
||||
}
|
||||
});
|
||||
this._chartObject = undefined;
|
||||
this._isEdit = false;
|
||||
},
|
||||
|
||||
setApi: function (api) {
|
||||
var me = this;
|
||||
me.api = api;
|
||||
|
||||
me.api.asc_registerCallback('asc_onSelectionChanged', _.bind(me.onApiSelectionChanged, me));
|
||||
me.api.asc_registerCallback('asc_onFocusObject', _.bind(me.onApiFocusObject, me));
|
||||
|
||||
me.api.asc_registerCallback('asc_onUpdateChartStyles', _.bind(me.onApiUpdateChartStyles, me));
|
||||
// me.api.asc_registerCallback('asc_onSelectionChanged', _.bind(me.onApiSelectionChanged, me));
|
||||
// me.api.asc_registerCallback('asc_onEditorSelectionChanged', _.bind(me.onApiEditorSelectionChanged, me));
|
||||
// me.api.asc_registerCallback('asc_onInitEditorStyles', _.bind(me.onApiInitEditorStyles, me)); // TODO: It does not work until the error in the SDK
|
||||
},
|
||||
|
||||
setMode: function (mode) {
|
||||
_isEdit = mode.isEdit;
|
||||
this._isEdit = mode.isEdit;
|
||||
},
|
||||
|
||||
onLaunch: function () {
|
||||
|
@ -178,15 +172,17 @@ define([
|
|||
initRootPage: function () {
|
||||
$('#chart-remove').single('click', _.bind(this.onRemoveChart, this));
|
||||
|
||||
if (!_.isUndefined(_chartObject)) {
|
||||
this.updateAxisProps(_chartObject.get_ChartProperties().getType());
|
||||
if (!_.isUndefined(this._chartObject)) {
|
||||
this.updateAxisProps(this._chartObject.get_ChartProperties().getType());
|
||||
}
|
||||
},
|
||||
|
||||
initStylePage: function () {
|
||||
if (_.isUndefined(this._chartObject)) return;
|
||||
|
||||
var me = this,
|
||||
color,
|
||||
chartProperties = _chartObject.get_ChartProperties(),
|
||||
chartProperties = me._chartObject.get_ChartProperties(),
|
||||
shapeProperties = _shapeObject.get_ShapeProperties();
|
||||
|
||||
// Type
|
||||
|
@ -199,7 +195,7 @@ define([
|
|||
// Styles
|
||||
|
||||
_.defer(function () {
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(_chartObject.get_ChartProperties().getType()));
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(me._chartObject.get_ChartProperties().getType()));
|
||||
});
|
||||
|
||||
// Fill
|
||||
|
@ -247,8 +243,10 @@ define([
|
|||
},
|
||||
|
||||
initLayoutPage: function () {
|
||||
if (_.isUndefined(this._chartObject)) return;
|
||||
|
||||
var me = this,
|
||||
chartProperties = _chartObject.get_ChartProperties(),
|
||||
chartProperties = me._chartObject.get_ChartProperties(),
|
||||
chartType = chartProperties.getType(),
|
||||
$layoutPage = $('.page[data-page=edit-chart-layout]');
|
||||
|
||||
|
@ -564,41 +562,9 @@ define([
|
|||
},
|
||||
|
||||
onType: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
$('.chart-types li').removeClass('active');
|
||||
$target.addClass('active');
|
||||
|
||||
_.defer(function() {
|
||||
var image = new Asc.asc_CImgProperty(),
|
||||
chart = _chartObject.get_ChartProperties();
|
||||
|
||||
chart.changeType(type);
|
||||
image.put_ChartProperties(chart);
|
||||
|
||||
me.api.asc_setGraphicObjectProps(image);
|
||||
|
||||
// Force update styles
|
||||
me._updateChartStyles(me.api.asc_getChartPreviews(chart.getType()));
|
||||
|
||||
me.updateAxisProps(type);
|
||||
});
|
||||
},
|
||||
|
||||
onStyle: function (e) {
|
||||
var me = this,
|
||||
$target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
var image = new Asc.asc_CImgProperty(),
|
||||
chart = _chartObject.get_ChartProperties();
|
||||
|
||||
chart.putStyle(type);
|
||||
image.put_ChartProperties(chart);
|
||||
|
||||
me.api.asc_setGraphicObjectProps(image);
|
||||
},
|
||||
|
||||
onFillColor:function (palette, color) {
|
||||
|
@ -937,32 +903,10 @@ define([
|
|||
|
||||
// API handlers
|
||||
|
||||
onApiUpdateChartStyles: function () {
|
||||
if (this.api && _chartObject && _chartObject.get_ChartProperties()) {
|
||||
this._updateChartStyles(this.api.asc_getChartPreviews(_chartObject.get_ChartProperties().getType()));
|
||||
}
|
||||
},
|
||||
|
||||
onApiSelectionChanged: function(info) {
|
||||
if (!_isEdit) {
|
||||
return;
|
||||
}
|
||||
|
||||
var me = this,
|
||||
selectedObjects = [],
|
||||
selectType = info.asc_getFlags().asc_getSelectionType();
|
||||
|
||||
if (selectType == Asc.c_oAscSelectionType.RangeChart) {
|
||||
selectedObjects = me.api.asc_getGraphicObjectProps();
|
||||
}
|
||||
|
||||
me.onApiFocusObject(selectedObjects);
|
||||
},
|
||||
|
||||
onApiFocusObject: function (objects) {
|
||||
_stack = objects;
|
||||
|
||||
if (!_isEdit) {
|
||||
if (!this._isEdit) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -989,7 +933,7 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
_chartObject = getTopObject(charts);
|
||||
this._chartObject = getTopObject(charts);
|
||||
_shapeObject = getTopObject(shapes);
|
||||
},
|
||||
|
||||
|
|
|
@ -241,28 +241,9 @@ define([
|
|||
},
|
||||
|
||||
onReorder: function(e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type'),
|
||||
ascType;
|
||||
|
||||
if (type == 'all-up') {
|
||||
ascType = Asc.c_oAscDrawingLayerType.BringToFront;
|
||||
} else if (type == 'all-down') {
|
||||
ascType = Asc.c_oAscDrawingLayerType.SendToBack;
|
||||
} else if (type == 'move-up') {
|
||||
ascType = Asc.c_oAscDrawingLayerType.BringForward;
|
||||
} else {
|
||||
ascType = Asc.c_oAscDrawingLayerType.SendBackward;
|
||||
}
|
||||
|
||||
this.api.asc_setSelectedDrawingObjectLayer(ascType);
|
||||
},
|
||||
|
||||
onReplace: function (e) {
|
||||
var $target = $(e.currentTarget),
|
||||
type = $target.data('type');
|
||||
|
||||
this.api.asc_changeShapeType(type);
|
||||
},
|
||||
|
||||
onBorderSize: function (e) {
|
||||
|
|
|
@ -60,6 +60,14 @@ module.exports = function(grunt) {
|
|||
to: process.env['PLUGIN_LINK_MACROS'] || 'https://api.onlyoffice.com/plugin/macros'
|
||||
}];
|
||||
|
||||
let path = require('path');
|
||||
let addons = grunt.option('addon') || [];
|
||||
if (!Array.isArray(addons))
|
||||
addons = [addons];
|
||||
|
||||
addons.forEach((element,index,self) => self[index] = '../../web-apps-' + element + '/build');
|
||||
addons = addons.filter(element => grunt.file.isDir(element));
|
||||
|
||||
grunt.loadNpmTasks('grunt-contrib-clean');
|
||||
grunt.loadNpmTasks('grunt-contrib-copy');
|
||||
grunt.loadNpmTasks('grunt-contrib-uglify');
|
||||
|
@ -134,6 +142,14 @@ module.exports = function(grunt) {
|
|||
if (packageFile) {
|
||||
grunt.log.ok(appName + ' config loaded successfully'.green);
|
||||
|
||||
addons.forEach(element => {
|
||||
let _path = path.join(element,configFile);
|
||||
if (grunt.file.exists(_path)) {
|
||||
_merge(packageFile, require(_path));
|
||||
grunt.log.ok('addon '.green + element + ' is merged successfully'.green);
|
||||
}
|
||||
});
|
||||
|
||||
if ( !!_extConfig && _extConfig.name == packageFile.name ) {
|
||||
_merge(packageFile, _extConfig);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue