From fda8076ec76ad6a69e83eb1f0961aa1de5a839fb Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Tue, 30 Nov 2021 13:44:18 +0300 Subject: [PATCH] [DE forms] Open protected files --- apps/common/forms/resources/less/common.less | 2 + .../app/controller/ApplicationController.js | 41 ++++++++++++++++++- apps/documenteditor/forms/locale/en.json | 16 ++++++++ apps/documenteditor/forms/locale/ru.json | 16 ++++++++ 4 files changed, 73 insertions(+), 2 deletions(-) diff --git a/apps/common/forms/resources/less/common.less b/apps/common/forms/resources/less/common.less index 44e06dde8..e10746914 100644 --- a/apps/common/forms/resources/less/common.less +++ b/apps/common/forms/resources/less/common.less @@ -67,6 +67,7 @@ @import "../../../../common/main/resources/less/dropdown-submenu.less"; @import "../../../../common/main/resources/less/separator.less"; @import "../../../../common/main/resources/less/input.less"; +@import "../../../../common/main/resources/less/combobox.less"; @import "../../../../common/main/resources/less/window.less"; @import "../../../../common/main/resources/less/loadmask.less"; @import "../../../../common/main/resources/less/dataview.less"; @@ -78,6 +79,7 @@ @import "../../../../common/main/resources/less/calendar.less"; @import "../../../../common/main/resources/less/spinner.less"; @import "../../../../common/main/resources/less/checkbox.less"; +@import "../../../../common/main/resources/less/opendialog.less"; @toolbarBorderColor: @border-toolbar-ie; @toolbarBorderColor: @border-toolbar; diff --git a/apps/documenteditor/forms/app/controller/ApplicationController.js b/apps/documenteditor/forms/app/controller/ApplicationController.js index f01fb18ae..198f8912c 100644 --- a/apps/documenteditor/forms/app/controller/ApplicationController.js +++ b/apps/documenteditor/forms/app/controller/ApplicationController.js @@ -14,6 +14,7 @@ define([ 'common/main/lib/view/ImageFromUrlDialog', 'common/main/lib/view/SelectFileDlg', 'common/main/lib/view/SaveAsDlg', + 'common/main/lib/view/OpenDialog', 'common/forms/lib/view/modals', 'documenteditor/forms/app/view/ApplicationView' ], function (Viewport) { @@ -98,7 +99,7 @@ define([ this.api.asc_registerCallback('asc_onOpenDocumentProgress', this.onOpenDocument.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_onCountPages', this.onCountPages.bind(this)); this.api.asc_registerCallback('asc_onCurrentPage', this.onCurrentPage.bind(this)); @@ -696,7 +697,7 @@ define([ } }, - onLongActionEnd: function(type, id){ + onLongActionEnd: function(type, id){ var action = {id: id, type: type}; this.stackLongActions.pop(action); @@ -724,6 +725,42 @@ define([ } }, + onAdvancedOptions: function(type, advOptions, mode, formatOptions) { + if (this._openDlg) return; + + var me = this; + if (type == Asc.c_oAscAdvancedOptionsID.DRM) { + me._openDlg = new Common.Views.OpenDialog({ + title: Common.Views.OpenDialog.prototype.txtTitleProtected, + closeFile: me.appOptions.canRequestClose, + type: Common.Utils.importTextType.DRM, + warning: !(me.appOptions.isDesktopApp && me.appOptions.isOffline) && (typeof advOptions == 'string'), + warningMsg: advOptions, + validatePwd: !!me._isDRM, + handler: function (result, value) { + me.isShowOpenDialog = false; + if (result == 'ok') { + if (me.api) { + me.api.asc_setAdvancedOptions(type, value.drmOptions); + me.loadMask && me.loadMask.show(); + } + } else { + Common.Gateway.requestClose(); + Common.Controllers.Desktop.requestClose(); + } + me._openDlg = null; + } + }); + me._isDRM = true; + } + if (me._openDlg) { + this.isShowOpenDialog = true; + this.loadMask && this.loadMask.hide(); + this.onLongActionEnd(Asc.c_oAscAsyncActionType.BlockInteraction, LoadingDocument); + me._openDlg.show(); + } + }, + onDocMouseMoveStart: function() { screenTip.isHidden = true; }, diff --git a/apps/documenteditor/forms/locale/en.json b/apps/documenteditor/forms/locale/en.json index 74a2135ed..5a344dff3 100644 --- a/apps/documenteditor/forms/locale/en.json +++ b/apps/documenteditor/forms/locale/en.json @@ -59,6 +59,22 @@ "Common.Views.ShareDialog.textTitle": "Share Link", "Common.Views.ShareDialog.txtCopy": "Copy to clipboard", "Common.Views.ShareDialog.warnCopy": "Browser's error! Use keyboard shortcut [Ctrl] + [C]", + "Common.Views.ImageFromUrlDialog.textUrl": "Paste an image URL:", + "Common.Views.ImageFromUrlDialog.txtEmpty": "This field is required", + "Common.Views.ImageFromUrlDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format", + "Common.Views.SelectFileDlg.textLoading": "Loading", + "Common.Views.SelectFileDlg.textTitle": "Select Data Source", + "Common.Views.SaveAsDlg.textLoading": "Loading", + "Common.Views.SaveAsDlg.textTitle": "Folder for save", + "Common.Views.OpenDialog.closeButtonText": "Close File", + "Common.Views.OpenDialog.txtEncoding": "Encoding ", + "Common.Views.OpenDialog.txtIncorrectPwd": "Password is incorrect.", + "Common.Views.OpenDialog.txtOpenFile": "Enter a password to open the file", + "Common.Views.OpenDialog.txtPassword": "Password", + "Common.Views.OpenDialog.txtPreview": "Preview", + "Common.Views.OpenDialog.txtProtected": "Once you enter the password and open the file, the current password to the file will be reset.", + "Common.Views.OpenDialog.txtTitle": "Choose %1 options", + "Common.Views.OpenDialog.txtTitleProtected": "Protected File", "DE.Controllers.ApplicationController.convertationErrorText": "Conversion failed.", "DE.Controllers.ApplicationController.convertationTimeoutText": "Conversion timeout exceeded.", "DE.Controllers.ApplicationController.criticalErrorTitle": "Error", diff --git a/apps/documenteditor/forms/locale/ru.json b/apps/documenteditor/forms/locale/ru.json index 4bbb65d98..fe365d1df 100644 --- a/apps/documenteditor/forms/locale/ru.json +++ b/apps/documenteditor/forms/locale/ru.json @@ -59,6 +59,22 @@ "Common.Views.ShareDialog.textTitle": "Поделиться ссылкой", "Common.Views.ShareDialog.txtCopy": "Скопировать в буфер", "Common.Views.ShareDialog.warnCopy": "Browser's error! Use keyboard shortcut [Ctrl] + [C]", + "Common.Views.ImageFromUrlDialog.textUrl": "Вставьте URL изображения:", + "Common.Views.ImageFromUrlDialog.txtEmpty": "Это поле обязательно для заполнения", + "Common.Views.ImageFromUrlDialog.txtNotUrl": "Это поле должно быть URL-адресом в формате \"http://www.example.com\"", + "Common.Views.OpenDialog.closeButtonText": "Закрыть файл", + "Common.Views.OpenDialog.txtEncoding": "Кодировка", + "Common.Views.OpenDialog.txtIncorrectPwd": "Указан неверный пароль.", + "Common.Views.OpenDialog.txtOpenFile": "Введите пароль для открытия файла", + "Common.Views.OpenDialog.txtPassword": "Пароль", + "Common.Views.OpenDialog.txtPreview": "Просмотр", + "Common.Views.OpenDialog.txtProtected": "Как только вы введете пароль и откроете файл, текущий пароль к файлу будет сброшен.", + "Common.Views.OpenDialog.txtTitle": "Выбрать параметры %1", + "Common.Views.OpenDialog.txtTitleProtected": "Защищенный файл", + "Common.Views.SaveAsDlg.textLoading": "Загрузка", + "Common.Views.SaveAsDlg.textTitle": "Папка для сохранения", + "Common.Views.SelectFileDlg.textLoading": "Загрузка", + "Common.Views.SelectFileDlg.textTitle": "Выбрать источник данных", "DE.Controllers.ApplicationController.convertationErrorText": "Конвертация не удалась.", "DE.Controllers.ApplicationController.convertationTimeoutText": "Превышено время ожидания конвертации.", "DE.Controllers.ApplicationController.criticalErrorTitle": "Ошибка",