From 34910ba851b422f44d41d4b258ae1035a964e2a0 Mon Sep 17 00:00:00 2001 From: Julia Radzhabova Date: Wed, 31 Jul 2019 15:46:50 +0300 Subject: [PATCH] [SSE] Add spellcheck --- .../main/app/controller/Spellcheck.js | 93 +++++++++++++++++++ .../main/app/view/Spellcheck.js | 83 +++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 apps/spreadsheeteditor/main/app/controller/Spellcheck.js create mode 100644 apps/spreadsheeteditor/main/app/view/Spellcheck.js diff --git a/apps/spreadsheeteditor/main/app/controller/Spellcheck.js b/apps/spreadsheeteditor/main/app/controller/Spellcheck.js new file mode 100644 index 000000000..1c22005f2 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/controller/Spellcheck.js @@ -0,0 +1,93 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * User: Julia.Radzhabova + * Date: 30.07.19 + */ + +define([ + 'core', + 'spreadsheeteditor/main/app/view/Spellcheck' +], function () { + 'use strict'; + + SSE.Controllers.Spellcheck = Backbone.Controller.extend(_.extend({ + models: [], + collections: [ + ], + views: [ + 'Spellcheck' + ], + + initialize: function() { + var me = this; + this.addListeners({ + 'Spellcheck': { + 'show': function() { + }, + 'hide': function() { + } + } + }); + }, + + events: function() { + }, + + onLaunch: function() { + this.panelSpellcheck= this.createView('Spellcheck', { + }); + this.panelSpellcheck.on('render:after', _.bind(this.onAfterRender, this)); + this._isDisabled = false; + }, + + setApi: function(api) { + this.api = api; + // this.api.asc_registerCallback('asc_onDocumentOutlineUpdate', _.bind(this.updateSpellcheck, this)); + return this; + }, + + setMode: function(mode) { + this.mode = mode; + return this; + }, + + onAfterRender: function(panelSpellcheck) { + }, + + SetDisabled: function(state) { + this._isDisabled = state; + } + + }, SSE.Controllers.Spellcheck || {})); +}); diff --git a/apps/spreadsheeteditor/main/app/view/Spellcheck.js b/apps/spreadsheeteditor/main/app/view/Spellcheck.js new file mode 100644 index 000000000..b6e5f3367 --- /dev/null +++ b/apps/spreadsheeteditor/main/app/view/Spellcheck.js @@ -0,0 +1,83 @@ +/* + * + * (c) Copyright Ascensio System SIA 2010-2019 + * + * This program is a free software product. You can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License (AGPL) + * version 3 as published by the Free Software Foundation. In accordance with + * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect + * that Ascensio System SIA expressly excludes the warranty of non-infringement + * of any third-party rights. + * + * This program is distributed WITHOUT ANY WARRANTY; without even the implied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For + * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html + * + * You can contact Ascensio System SIA at 20A-12 Ernesta Birznieka-Upisha + * street, Riga, Latvia, EU, LV-1050. + * + * The interactive user interfaces in modified source and object code versions + * of the Program must display Appropriate Legal Notices, as required under + * Section 5 of the GNU AGPL version 3. + * + * Pursuant to Section 7(b) of the License you must retain the original Product + * logo when distributing the program. Pursuant to Section 7(e) we decline to + * grant you any rights under trademark law for use of our trademarks. + * + * All the Product's GUI elements, including illustrations and icon sets, as + * well as technical writing content are licensed under the terms of the + * Creative Commons Attribution-ShareAlike 4.0 International. See the License + * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode + * +*/ +/** + * User: Julia.Radzhabova + * Date: 30.07.19 + */ + +define([ + 'common/main/lib/util/utils', + 'common/main/lib/component/BaseView', + 'common/main/lib/component/Layout' +], function (template) { + 'use strict'; + + SSE.Views.Spellcheck = Common.UI.BaseView.extend(_.extend({ + el: '#left-panel-spellcheck', + + template: _.template([ + '
', + '
<%= scope.txtSpelling %>
', + '
' + ].join('')), + + initialize: function(options) { + _.extend(this, options); + Common.UI.BaseView.prototype.initialize.call(this, arguments); + }, + + render: function(el) { + el = el || this.el; + this.$el = $(el); + this.$el.html(this.template({scope: this})); + + this.trigger('render:after', this); + return this; + }, + + show: function () { + Common.UI.BaseView.prototype.show.call(this,arguments); + this.fireEvent('show', this ); + }, + + hide: function () { + Common.UI.BaseView.prototype.hide.call(this,arguments); + this.fireEvent('hide', this ); + }, + + ChangeSettings: function(props) { + }, + + txtSpelling: 'Spelling' + }, SSE.Views.Spellcheck || {})); +}); \ No newline at end of file