diff --git a/apps/common/mobile/lib/component/ThemeColorPalette.jsx b/apps/common/mobile/lib/component/ThemeColorPalette.jsx index 7a7dd86ad8..b0637aa453 100644 --- a/apps/common/mobile/lib/component/ThemeColorPalette.jsx +++ b/apps/common/mobile/lib/component/ThemeColorPalette.jsx @@ -56,12 +56,15 @@ const CustomColors = ({ options, customColors, onColorClick, curColor }) => { >) } } + + let indexCurColor = colors.indexOf(curColor); + return (
{colors && colors.length > 0 && colors.map((color, index) => { return( {onColorClick(color)}} > diff --git a/apps/common/mobile/resources/less/common-material.less b/apps/common/mobile/resources/less/common-material.less index daa240ba9b..b2b44f5a94 100644 --- a/apps/common/mobile/resources/less/common-material.less +++ b/apps/common/mobile/resources/less/common-material.less @@ -56,6 +56,20 @@ } } + .add-popup { + .view{ + .block-title{ + margin-bottom: 0; + margin-top: 8px; + } + .inputs-list { + ul:after, :before{ + display: none; + } + } + } + } + // Buttons .segmented { .decrement, .increment { diff --git a/apps/documenteditor/mobile/locale/en.json b/apps/documenteditor/mobile/locale/en.json index bfb1738323..0492ef13d5 100644 --- a/apps/documenteditor/mobile/locale/en.json +++ b/apps/documenteditor/mobile/locale/en.json @@ -330,6 +330,7 @@ "advDRMOptions": "Protected File", "txtProtected": "Once you enter the password and open the file, the current password to the file will be reset", "textOpenFile": "Enter a password to open the file", + "txtIncorrectPwd": "Password is incorrect", "textNoTextFound": "Text not found", "textReplace": "Replace", "textReplaceAll": "Replace All", diff --git a/apps/documenteditor/mobile/src/controller/Main.jsx b/apps/documenteditor/mobile/src/controller/Main.jsx index b30a0f26bf..4bf67dcf4b 100644 --- a/apps/documenteditor/mobile/src/controller/Main.jsx +++ b/apps/documenteditor/mobile/src/controller/Main.jsx @@ -611,7 +611,8 @@ class MainController extends Component { this.api.asc_registerCallback('asc_onAdvancedOptions', (type, advOptions, mode, formatOptions) => { const {t} = this.props; const _t = t("Settings", { returnObjects: true }); - onAdvancedOptions(type, advOptions, mode, formatOptions, _t, this._isDocReady, this.props.storeAppOptions.canRequestClose); + onAdvancedOptions(type, advOptions, mode, formatOptions, _t, this._isDocReady, this.props.storeAppOptions.canRequestClose, this.isDRM); + if(type == Asc.c_oAscAdvancedOptionsID.DRM) this.isDRM = true; }); } diff --git a/apps/documenteditor/mobile/src/controller/settings/Download.jsx b/apps/documenteditor/mobile/src/controller/settings/Download.jsx index 7b3a3a7030..81cfa0dfe7 100644 --- a/apps/documenteditor/mobile/src/controller/settings/Download.jsx +++ b/apps/documenteditor/mobile/src/controller/settings/Download.jsx @@ -33,7 +33,7 @@ class DownloadController extends Component { () => { if (format == Asc.c_oAscFileType.TXT) { const isDocReady = this.props.storeAppOptions.isDocReady; - onAdvancedOptions(Asc.c_oAscAdvancedOptionsID.TXT, api.asc_getAdvancedOptions(), 2, new Asc.asc_CDownloadOptions(format), _t, isDocReady); + onAdvancedOptions(Asc.c_oAscAdvancedOptionsID.TXT, api.asc_getAdvancedOptions(), 2, new Asc.asc_CDownloadOptions(format), _t, isDocReady, isDRM); } else { setTimeout(() => { @@ -60,7 +60,7 @@ class DownloadController extends Component { const DownloadWithTranslation = inject("storeAppOptions")(observer(withTranslation()(DownloadController))); -const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady, canRequestClose) => { +const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady, canRequestClose, isDRM) => { if ($$('.dlg-adv-options.modal-in').length > 0) return; const api = Common.EditorApi.get(); @@ -137,6 +137,17 @@ const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady } } }]; + + if(isDRM) { + f7.dialog.create({ + text: _t.txtIncorrectPwd, + buttons : [{ + text: 'OK', + bold: true, + }] + }).open(); + } + if (canRequestClose) buttons.push({ text: _t.closeButtonText, diff --git a/apps/documenteditor/mobile/src/view/add/AddImage.jsx b/apps/documenteditor/mobile/src/view/add/AddImage.jsx index 1fed2d95a5..aaaf9c31c3 100644 --- a/apps/documenteditor/mobile/src/view/add/AddImage.jsx +++ b/apps/documenteditor/mobile/src/view/add/AddImage.jsx @@ -11,7 +11,7 @@ const PageLinkSettings = props => { {_t.textAddress} - + { {(isShape || isChart) ? null : - - - } - {(isShape || isChart) ? null : - , + + { initFootnoteStartAt: props.initFootnoteStartAt }}> - } + ] + } ) }; diff --git a/apps/presentationeditor/mobile/locale/en.json b/apps/presentationeditor/mobile/locale/en.json index 343ef9533d..381d210e97 100644 --- a/apps/presentationeditor/mobile/locale/en.json +++ b/apps/presentationeditor/mobile/locale/en.json @@ -29,6 +29,7 @@ "advDRMPassword": "Password", "txtProtected": "Once you enter the password and open the file, the current password to the file will be reset", "textOpenFile": "Enter a password to open the file", + "txtIncorrectPwd": "Password is incorrect", "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.", "titleLicenseExp": "License expired", "warnLicenseExp": "Your license has expired. Please update your license and refresh the page.", diff --git a/apps/presentationeditor/mobile/src/controller/ContextMenu.jsx b/apps/presentationeditor/mobile/src/controller/ContextMenu.jsx index fde237e74f..99ed87b06b 100644 --- a/apps/presentationeditor/mobile/src/controller/ContextMenu.jsx +++ b/apps/presentationeditor/mobile/src/controller/ContextMenu.jsx @@ -111,7 +111,7 @@ class ContextMenu extends ContextMenuController { text: 'OK', onClick: () => { const dontShow = $$('input[name="checkbox-show"]').prop('checked'); - if (dontShow) LocalStorage.setItem("de-hide-copy-cut-paste-warning", 1); + if (dontShow) LocalStorage.setItem("pe-hide-copy-cut-paste-warning", 1); } }] }).open(); diff --git a/apps/presentationeditor/mobile/src/controller/Main.jsx b/apps/presentationeditor/mobile/src/controller/Main.jsx index 6210b4bf67..720a355394 100644 --- a/apps/presentationeditor/mobile/src/controller/Main.jsx +++ b/apps/presentationeditor/mobile/src/controller/Main.jsx @@ -300,7 +300,6 @@ class MainController extends Component { this.api.asc_registerCallback('asc_onDocumentContentReady', this.onDocumentContentReady.bind(this)); this.api.asc_registerCallback('asc_onDocumentUpdateVersion', this.onUpdateVersion.bind(this)); this.api.asc_registerCallback('asc_onServerVersion', this.onServerVersion.bind(this)); - this.api.asc_registerCallback('asc_onAdvancedOptions', this.onAdvancedOptions.bind(this)); this.api.asc_registerCallback('asc_onDocumentName', this.onDocumentName.bind(this)); this.api.asc_registerCallback('asc_onPrintUrl', this.onPrintUrl.bind(this)); this.api.asc_registerCallback('asc_onPrint', this.onPrint.bind(this)); @@ -310,6 +309,10 @@ class MainController extends Component { const storePresentationSettings = this.props.storePresentationSettings; + this.api.asc_registerCallback('asc_onAdvancedOptions', (type, advOptions) => { + this.onAdvancedOptions(type, advOptions); + }); + this.api.asc_registerCallback('asc_onPresentationSize', (width, height) => { storePresentationSettings.changeSizeIndex(width, height); }); @@ -604,6 +607,17 @@ class MainController extends Component { } } }]; + + if(this.isDRM) { + f7.dialog.create({ + text: _t.txtIncorrectPwd, + buttons : [{ + text: 'OK', + bold: true, + }] + }).open(); + } + if (this.props.storeAppOptions.canRequestClose) buttons.push({ text: _t.closeButtonText, @@ -620,6 +634,7 @@ class MainController extends Component { buttons: buttons, cssClass: 'dlg-adv-options' }).open(); + this.isDRM = true; } } diff --git a/apps/presentationeditor/mobile/src/view/add/AddImage.jsx b/apps/presentationeditor/mobile/src/view/add/AddImage.jsx index c34d4e6080..28991117eb 100644 --- a/apps/presentationeditor/mobile/src/view/add/AddImage.jsx +++ b/apps/presentationeditor/mobile/src/view/add/AddImage.jsx @@ -11,7 +11,7 @@ const PageLinkSettings = props => { {_t.textAddress} - + Use the CONCATENATE function or concatenation operator (&)", "errorFrmlMaxLength": "You cannot add this formula as its length exceeded the allowed number of characters.
Please edit it and try again.", "errorFrmlMaxReference": "You cannot enter this formula because it has too many values,
cell references, and/or names.", - "errorDataValidate":"The value you entered is not valid.
A user has restricted values that can be entered into this cell.", + "errorDataValidate": "The value you entered is not valid.
A user has restricted values that can be entered into this cell.", "errorLockedCellPivot": "You cannot change data inside a pivot table." }, "ContextMenu": { @@ -460,6 +460,7 @@ "closeButtonText": "Close File", "txtProtected": "Once you enter the password and open the file, the current password to the file will be reset", "textOpenFile": "Enter a password to open the file", + "txtIncorrectPwd": "Password is incorrect", "textCancel": "Cancel", "textUnitOfMeasurement": "Unit Of Measurement", "textCentimeter": "Centimeter", diff --git a/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx b/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx index 7965086fb8..15462d90b0 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/ContextMenu.jsx @@ -142,7 +142,7 @@ class ContextMenu extends ContextMenuController { text: 'OK', onClick: () => { const dontShow = $$('input[name="checkbox-show"]').prop('checked'); - if (dontShow) LocalStorage.setItem("de-hide-copy-cut-paste-warning", 1); + if (dontShow) LocalStorage.setItem("sse-hide-copy-cut-paste-warning", 1); } }] }).open(); diff --git a/apps/spreadsheeteditor/mobile/src/controller/FilterOptions.jsx b/apps/spreadsheeteditor/mobile/src/controller/FilterOptions.jsx index 61d7614189..6e8b153e88 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/FilterOptions.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/FilterOptions.jsx @@ -52,6 +52,8 @@ const FilterOptionsController = () => { const onSort = (type) => { const api = Common.EditorApi.get(); api.asc_sortColFilter(type == 'sortdown' ? Asc.c_oAscSortOptions.Ascending : Asc.c_oAscSortOptions.Descending, configFilter.asc_getCellId(), configFilter.asc_getDisplayName()); + f7.sheet.close('.picker__sheet'); + f7.popover.close('#picker-popover'); }; const onClearFilter = () => { diff --git a/apps/spreadsheeteditor/mobile/src/controller/Main.jsx b/apps/spreadsheeteditor/mobile/src/controller/Main.jsx index f23dd952d5..a021ed9e24 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/Main.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/Main.jsx @@ -323,7 +323,8 @@ class MainController extends Component { this.api.asc_registerCallback('asc_onAdvancedOptions', (type, advOptions, mode, formatOptions) => { const {t} = this.props; const _t = t("View.Settings", { returnObjects: true }); - onAdvancedOptions(type, advOptions, mode, formatOptions, _t, this._isDocReady, this.props.storeAppOptions.canRequestClose); + onAdvancedOptions(type, advOptions, mode, formatOptions, _t, this._isDocReady, this.props.storeAppOptions.canRequestClose,this.isDRM); + if(type == Asc.c_oAscAdvancedOptionsID.DRM) this.isDRM = true; }); } diff --git a/apps/spreadsheeteditor/mobile/src/controller/settings/Download.jsx b/apps/spreadsheeteditor/mobile/src/controller/settings/Download.jsx index af1fbf4c2e..6e1ed4b252 100644 --- a/apps/spreadsheeteditor/mobile/src/controller/settings/Download.jsx +++ b/apps/spreadsheeteditor/mobile/src/controller/settings/Download.jsx @@ -39,7 +39,7 @@ class DownloadController extends Component { const DownloadWithTranslation = withTranslation()(DownloadController); -const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady, canRequestClose) => { +const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady, canRequestClose, isDRM) => { const api = Common.EditorApi.get(); if (type == Asc.c_oAscAdvancedOptionsID.CSV) { @@ -137,6 +137,16 @@ const onAdvancedOptions = (type, advOptions, mode, formatOptions, _t, isDocReady } }]; + if(isDRM) { + f7.dialog.create({ + text: _t.txtIncorrectPwd, + buttons : [{ + text: 'OK', + bold: true, + }] + }).open(); + } + if (canRequestClose) buttons.push({ text: _t.closeButtonText, diff --git a/apps/spreadsheeteditor/mobile/src/view/add/AddImage.jsx b/apps/spreadsheeteditor/mobile/src/view/add/AddImage.jsx index a23ad9a3c2..a3311cb6c1 100644 --- a/apps/spreadsheeteditor/mobile/src/view/add/AddImage.jsx +++ b/apps/spreadsheeteditor/mobile/src/view/add/AddImage.jsx @@ -27,7 +27,7 @@ const PageLinkSettings = props => { {_t.textAddress} - +