-
+
-
+ ++++<%= scope.textClearFilter %>+
+
-
+ ++++<%= scope.textDeleteFilter %>+
+
diff --git a/apps/common/mobile/resources/less/ios/_container.less b/apps/common/mobile/resources/less/ios/_container.less
index b1ee6930d..de81509ef 100644
--- a/apps/common/mobile/resources/less/ios/_container.less
+++ b/apps/common/mobile/resources/less/ios/_container.less
@@ -1,7 +1,8 @@
// Container
.phone.ios {
.container-edit,
- .container-collaboration {
+ .container-collaboration,
+ .container-filter {
.navbar {
.hairline(top, @toolbarBorderColor);
}
@@ -17,7 +18,8 @@
.container-edit,
.container-add,
.container-settings,
-.container-collaboration {
+.container-collaboration,
+.container-filter {
&.popover {
width: 360px;
}
diff --git a/apps/common/mobile/resources/less/material/_container.less b/apps/common/mobile/resources/less/material/_container.less
index fb8d61dbc..04df376e4 100644
--- a/apps/common/mobile/resources/less/material/_container.less
+++ b/apps/common/mobile/resources/less/material/_container.less
@@ -2,7 +2,8 @@
.phone.android {
.container-edit,
- .container-collaboration {
+ .container-collaboration,
+ .container-filter {
.page-content {
.list-block:first-child {
@@ -15,7 +16,8 @@
.container-edit,
.container-add,
.container-settings,
-.container-collaboration {
+.container-collaboration,
+.container-filter {
&.popover {
width: 360px;
}
diff --git a/apps/documenteditor/mobile/resources/css/app-ios.css b/apps/documenteditor/mobile/resources/css/app-ios.css
index df5553571..06279a279 100644
--- a/apps/documenteditor/mobile/resources/css/app-ios.css
+++ b/apps/documenteditor/mobile/resources/css/app-ios.css
@@ -5845,7 +5845,8 @@ html:not(.phone) #editor-navbar.navbar .left a + a {
margin-left: 10px;
}
.phone.ios .container-edit .navbar:before,
-.phone.ios .container-collaboration .navbar:before {
+.phone.ios .container-collaboration .navbar:before,
+.phone.ios .container-filter .navbar:before {
content: '';
position: absolute;
left: 0;
@@ -5861,23 +5862,27 @@ html:not(.phone) #editor-navbar.navbar .left a + a {
transform-origin: 50% 0%;
}
html.pixel-ratio-2 .phone.ios .container-edit .navbar:before,
-html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before {
+html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before,
+html.pixel-ratio-2 .phone.ios .container-filter .navbar:before {
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
html.pixel-ratio-3 .phone.ios .container-edit .navbar:before,
-html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before {
+html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before,
+html.pixel-ratio-3 .phone.ios .container-filter .navbar:before {
-webkit-transform: scaleY(0.33);
transform: scaleY(0.33);
}
.phone.ios .container-edit .page-content .list-block:first-child,
-.phone.ios .container-collaboration .page-content .list-block:first-child {
+.phone.ios .container-collaboration .page-content .list-block:first-child,
+.phone.ios .container-filter .page-content .list-block:first-child {
margin-top: -1px;
}
.container-edit.popover,
.container-add.popover,
.container-settings.popover,
-.container-collaboration.popover {
+.container-collaboration.popover,
+.container-filter.popover {
width: 360px;
}
.settings.popup .list-block ul,
diff --git a/apps/documenteditor/mobile/resources/css/app-material.css b/apps/documenteditor/mobile/resources/css/app-material.css
index 3b3d531f9..05178d09e 100644
--- a/apps/documenteditor/mobile/resources/css/app-material.css
+++ b/apps/documenteditor/mobile/resources/css/app-material.css
@@ -5629,13 +5629,15 @@ a.item-link,
opacity: 1;
}
.phone.android .container-edit .page-content .list-block:first-child,
-.phone.android .container-collaboration .page-content .list-block:first-child {
+.phone.android .container-collaboration .page-content .list-block:first-child,
+.phone.android .container-filter .page-content .list-block:first-child {
margin-top: -1px;
}
.container-edit.popover,
.container-add.popover,
.container-settings.popover,
-.container-collaboration.popover {
+.container-collaboration.popover,
+.container-filter.popover {
width: 360px;
}
.settings.popup .list-block,
diff --git a/apps/presentationeditor/mobile/resources/css/app-ios.css b/apps/presentationeditor/mobile/resources/css/app-ios.css
index 50c8d18c4..3c801ae4a 100644
--- a/apps/presentationeditor/mobile/resources/css/app-ios.css
+++ b/apps/presentationeditor/mobile/resources/css/app-ios.css
@@ -5845,7 +5845,8 @@ html:not(.phone) #editor-navbar.navbar .left a + a {
margin-left: 10px;
}
.phone.ios .container-edit .navbar:before,
-.phone.ios .container-collaboration .navbar:before {
+.phone.ios .container-collaboration .navbar:before,
+.phone.ios .container-filter .navbar:before {
content: '';
position: absolute;
left: 0;
@@ -5861,23 +5862,27 @@ html:not(.phone) #editor-navbar.navbar .left a + a {
transform-origin: 50% 0%;
}
html.pixel-ratio-2 .phone.ios .container-edit .navbar:before,
-html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before {
+html.pixel-ratio-2 .phone.ios .container-collaboration .navbar:before,
+html.pixel-ratio-2 .phone.ios .container-filter .navbar:before {
-webkit-transform: scaleY(0.5);
transform: scaleY(0.5);
}
html.pixel-ratio-3 .phone.ios .container-edit .navbar:before,
-html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before {
+html.pixel-ratio-3 .phone.ios .container-collaboration .navbar:before,
+html.pixel-ratio-3 .phone.ios .container-filter .navbar:before {
-webkit-transform: scaleY(0.33);
transform: scaleY(0.33);
}
.phone.ios .container-edit .page-content .list-block:first-child,
-.phone.ios .container-collaboration .page-content .list-block:first-child {
+.phone.ios .container-collaboration .page-content .list-block:first-child,
+.phone.ios .container-filter .page-content .list-block:first-child {
margin-top: -1px;
}
.container-edit.popover,
.container-add.popover,
.container-settings.popover,
-.container-collaboration.popover {
+.container-collaboration.popover,
+.container-filter.popover {
width: 360px;
}
.settings.popup .list-block ul,
diff --git a/apps/presentationeditor/mobile/resources/css/app-material.css b/apps/presentationeditor/mobile/resources/css/app-material.css
index cd4db0e18..e9cbb9e3f 100644
--- a/apps/presentationeditor/mobile/resources/css/app-material.css
+++ b/apps/presentationeditor/mobile/resources/css/app-material.css
@@ -5629,13 +5629,15 @@ a.item-link,
opacity: 1;
}
.phone.android .container-edit .page-content .list-block:first-child,
-.phone.android .container-collaboration .page-content .list-block:first-child {
+.phone.android .container-collaboration .page-content .list-block:first-child,
+.phone.android .container-filter .page-content .list-block:first-child {
margin-top: -1px;
}
.container-edit.popover,
.container-add.popover,
.container-settings.popover,
-.container-collaboration.popover {
+.container-collaboration.popover,
+.container-filter.popover {
width: 360px;
}
.settings.popup .list-block,
diff --git a/apps/spreadsheeteditor/mobile/app-dev.js b/apps/spreadsheeteditor/mobile/app-dev.js
index e4796fe28..582d4473a 100644
--- a/apps/spreadsheeteditor/mobile/app-dev.js
+++ b/apps/spreadsheeteditor/mobile/app-dev.js
@@ -134,6 +134,7 @@ require([
,'AddOther'
,'AddLink'
,'Collaboration'
+ ,'FilterOptions'
]
});
@@ -205,6 +206,7 @@ require([
,'spreadsheeteditor/mobile/app/controller/add/AddOther'
,'spreadsheeteditor/mobile/app/controller/add/AddLink'
,'spreadsheeteditor/mobile/app/controller/Collaboration'
+ ,'spreadsheeteditor/mobile/app/controller/FilterOptions'
], function() {
window.compareVersions = true;
app.start();
diff --git a/apps/spreadsheeteditor/mobile/app.js b/apps/spreadsheeteditor/mobile/app.js
index 53644603d..fa8717b31 100644
--- a/apps/spreadsheeteditor/mobile/app.js
+++ b/apps/spreadsheeteditor/mobile/app.js
@@ -145,6 +145,7 @@ require([
,'AddOther'
,'AddLink'
,'Collaboration'
+ ,'FilterOptions'
]
});
@@ -216,6 +217,7 @@ require([
,'spreadsheeteditor/mobile/app/controller/add/AddOther'
,'spreadsheeteditor/mobile/app/controller/add/AddLink'
,'spreadsheeteditor/mobile/app/controller/Collaboration'
+ ,'spreadsheeteditor/mobile/app/controller/FilterOptions'
], function() {
app.start();
});
diff --git a/apps/spreadsheeteditor/mobile/app/controller/DocumentHolder.js b/apps/spreadsheeteditor/mobile/app/controller/DocumentHolder.js
index 86cd96482..4a854aa07 100644
--- a/apps/spreadsheeteditor/mobile/app/controller/DocumentHolder.js
+++ b/apps/spreadsheeteditor/mobile/app/controller/DocumentHolder.js
@@ -88,6 +88,9 @@ define([
setMode: function (mode) {
_isEdit = mode.isEdit;
+ if (_isEdit) {
+ this.api.asc_registerCallback('asc_onSetAFDialog', _.bind(this.onApiFilterOptions, this));
+ }
},
// When our application is ready, lets get started
@@ -351,6 +354,13 @@ define([
this.isDisconnected = true;
},
+ onApiFilterOptions: function(config) {
+ if(_isEdit) {
+ SSE.getController('FilterOptions').showModal();
+ }
+ },
+
+
warnMergeLostData: 'Operation can destroy data in the selected cells.
Continue?',
menuCopy: 'Copy',
menuCut: 'Cut',
diff --git a/apps/spreadsheeteditor/mobile/app/controller/FilterOptions.js b/apps/spreadsheeteditor/mobile/app/controller/FilterOptions.js
new file mode 100644
index 000000000..0302340ff
--- /dev/null
+++ b/apps/spreadsheeteditor/mobile/app/controller/FilterOptions.js
@@ -0,0 +1,329 @@
+/*
+ *
+ * (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
+ *
+ */
+
+/**
+ * FilterOptions.js
+ * Spreadsheet Editor
+ *
+ * Created by Julia Svinareva on 13/6/19
+ * Copyright (c) 2019 Ascensio System SIA. All rights reserved.
+ *
+ */
+define([
+ 'core',
+ 'jquery',
+ 'underscore',
+ 'backbone',
+ 'spreadsheeteditor/mobile/app/view/FilterOptions'
+], function (core, $, _, Backbone) {
+ 'use strict';
+
+ SSE.Controllers.FilterOptions = Backbone.Controller.extend(_.extend((function() {
+ // Private
+ var rootView,
+ dataFilter,
+ indChecked = [];
+
+ return {
+ models: [],
+ collections: [],
+ views: [
+ 'FilterOptions'
+ ],
+
+ initialize: function() {
+ var me = this;
+ me.addListeners({
+ 'FilterOptions': {
+ 'page:show' : me.onPageShow
+ }
+ });
+ },
+
+ setApi: function(api) {
+ this.api = api;
+ this.api.asc_registerCallback('asc_onSetAFDialog', _.bind(this.setSettings, this));
+ },
+
+ onLaunch: function () {
+ this.createView('FilterOptions').render();
+ },
+
+ setMode: function(mode) {
+ this.appConfig = mode;
+ },
+
+ showModal: function(x,y) {
+ var me = this,
+ isAndroid = Framework7.prototype.device.android === true,
+ modalView,
+ mainView = SSE.getController('Editor').getView('Editor').f7View;
+
+ uiApp.closeModal();
+
+ if (Common.SharedSettings.get('phone')) {
+ modalView = $$(uiApp.pickerModal(
+ '