From 7315a797c669daf5095611a2aeaae362f58d63fc Mon Sep 17 00:00:00 2001 From: OVSharova Date: Thu, 3 Feb 2022 11:55:32 +0300 Subject: [PATCH] add date:click for input wiyh calendar --- .../main/lib/component/CalendarDialog.js | 95 ------------------- apps/common/main/lib/component/InputField.js | 12 +-- 2 files changed, 6 insertions(+), 101 deletions(-) delete mode 100644 apps/common/main/lib/component/CalendarDialog.js diff --git a/apps/common/main/lib/component/CalendarDialog.js b/apps/common/main/lib/component/CalendarDialog.js deleted file mode 100644 index 456b12756..000000000 --- a/apps/common/main/lib/component/CalendarDialog.js +++ /dev/null @@ -1,95 +0,0 @@ -/* - * - * (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 - * -*/ -/** - * CalendarDialog.js - * - * Created by Olga Sharova on 28/01/21 - * Copyright (c) 2021 Ascensio System SIA. All rights reserved. - * - */ - -if (Common === undefined) - var Common = {}; -define([ - 'common/main/lib/component/Window' -], function () { 'use strict'; - Common.UI.CalendarDialog = Common.UI.Window.extend(_.extend({ - options: { - header: false, - cls: 'calendar-dlg' - }, - - initialize : function(options) { - _.extend(this.options, options || {}); - this.template = [ - '
', - '
', - '
' - ].join(''); - this.options.tpl = _.template(this.template)(this.options); - this._state=[]; - this._state.date = options.date; - this.handler = this.options.handler; - Common.UI.Window.prototype.initialize.call(this, this.options); - }, - - render: function() { - //me = this; - Common.UI.Window.prototype.render.call(this); - this.wndCalendar = new Common.UI.Calendar({ - el: $('#id-calendar-box'), - date: this._state.date, - enableKeyEvents: true, - firstday: 1 - - }); - this.wndCalendar.setDate(this._state.date); - this.wndCalendar.on('date:click', _.bind(this.onSetDate,this)); - }, - - onSetDate: function (){ - this._state.date = this.wndCalendar.selectedDate; - this._handleInput('ok'); - }, - - _handleInput: function(state) { - if (this.options.handler) { - this.options.handler.call(this, state, this._state); - } - - this.close(); - }, - textTitle: 'More Effects' - - }, Common.UI.CalendarDialog || {})); -}); \ No newline at end of file diff --git a/apps/common/main/lib/component/InputField.js b/apps/common/main/lib/component/InputField.js index 0b94d0617..75a92ad42 100644 --- a/apps/common/main/lib/component/InputField.js +++ b/apps/common/main/lib/component/InputField.js @@ -54,8 +54,7 @@ if (Common === undefined) define([ 'common/main/lib/component/BaseView', 'common/main/lib/component/Tooltip', - 'common/main/lib/component/Button', - 'common/main/lib/component/CalendarDialog' + 'common/main/lib/component/Button' ], function () { 'use strict'; Common.UI.InputField = Common.UI.BaseView.extend((function() { @@ -732,18 +731,19 @@ define([ firstday: 1 }); this.cmpCalendar.setDate(this.date); + this.cmpCalendar.on('date:click', function (cmp, date) { - - me.date = this.selectedDate; - me.setValue(this.selectedDate.toLocaleDateString()); + me.date = date; + me.trigger('date:click', me, date); controlsContainer.hide(); - }); + this.cmpCalendar.on('calendar:keydown', function (cmp, e) { if (e.keyCode==Common.UI.Keys.ESC) { controlsContainer.hide(); } }); + $(document).on('mousedown', function(e) { if (e.target.localName !== 'canvas' && controlsContainer.is(':visible') && controlsContainer.find(e.target).length==0) { controlsContainer.hide();