diff --git a/apps/spreadsheeteditor/mobile/app-dev.js b/apps/spreadsheeteditor/mobile/app-dev.js
index 4d13e96f4..64f7c7ebe 100644
--- a/apps/spreadsheeteditor/mobile/app-dev.js
+++ b/apps/spreadsheeteditor/mobile/app-dev.js
@@ -119,8 +119,8 @@ require([
'Search',
'Main',
'DocumentHolder'
- , 'CellEditor'
- , 'Statusbar'
+ ,'CellEditor'
+ ,'Statusbar'
,'Settings'
,'EditContainer'
,'EditCell'
@@ -131,7 +131,7 @@ require([
,'EditChart'
// ,'EditHyperlink'
,'AddContainer'
- // ,'AddTable'
+ ,'AddChart'
,'AddShape'
// ,'AddImage'
,'AddOther'
@@ -189,10 +189,10 @@ require([
'spreadsheeteditor/mobile/app/controller/Search',
'spreadsheeteditor/mobile/app/controller/Main',
'spreadsheeteditor/mobile/app/controller/DocumentHolder'
- , 'spreadsheeteditor/mobile/app/controller/CellEditor'
- , 'spreadsheeteditor/mobile/app/controller/Statusbar'
- , 'spreadsheeteditor/mobile/app/controller/Settings'
- , 'spreadsheeteditor/mobile/app/controller/edit/EditContainer'
+ ,'spreadsheeteditor/mobile/app/controller/CellEditor'
+ ,'spreadsheeteditor/mobile/app/controller/Statusbar'
+ ,'spreadsheeteditor/mobile/app/controller/Settings'
+ ,'spreadsheeteditor/mobile/app/controller/edit/EditContainer'
,'spreadsheeteditor/mobile/app/controller/edit/EditCell'
// ,'spreadsheeteditor/mobile/app/controller/edit/EditParagraph'
// ,'spreadsheeteditor/mobile/app/controller/edit/EditTable'
@@ -201,7 +201,7 @@ require([
,'spreadsheeteditor/mobile/app/controller/edit/EditChart'
// ,'spreadsheeteditor/mobile/app/controller/edit/EditHyperlink'
,'spreadsheeteditor/mobile/app/controller/add/AddContainer'
- // ,'spreadsheeteditor/mobile/app/controller/add/AddTable'
+ ,'spreadsheeteditor/mobile/app/controller/add/AddChart'
,'spreadsheeteditor/mobile/app/controller/add/AddShape'
// ,'spreadsheeteditor/mobile/app/controller/add/AddImage'
,'spreadsheeteditor/mobile/app/controller/add/AddOther'
diff --git a/apps/spreadsheeteditor/mobile/app/controller/add/AddChart.js b/apps/spreadsheeteditor/mobile/app/controller/add/AddChart.js
new file mode 100644
index 000000000..cd24249d1
--- /dev/null
+++ b/apps/spreadsheeteditor/mobile/app/controller/add/AddChart.js
@@ -0,0 +1,89 @@
+/*
+ *
+ * (c) Copyright Ascensio System Limited 2010-2016
+ *
+ * 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 Lubanas st. 125a-25, Riga, Latvia,
+ * EU, LV-1021.
+ *
+ * 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
+ *
+ */
+
+/**
+ * AddTable.js
+ *
+ * Created by Maxim Kadushkin on 12/13/2016
+ * Copyright (c) 2016 Ascensio System SIA. All rights reserved.
+ *
+ */
+
+
+define([
+ 'core',
+ 'spreadsheeteditor/mobile/app/view/add/AddChart'
+], function (core) {
+ 'use strict';
+
+ SSE.Controllers.AddChart = Backbone.Controller.extend(_.extend((function() {
+
+ return {
+ models: [],
+ collections: [],
+ views: [
+ 'AddChart'
+ ],
+
+ initialize: function () {
+ Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
+
+ this.addListeners({
+ 'AddChart': {
+ 'chart:insert': this.onInsertChart.bind(this)
+ }
+ });
+ },
+
+ setApi: function (api) {
+ var me = this;
+ me.api = api;
+ },
+
+ onLaunch: function () {
+ this.createView('AddChart').render();
+ },
+
+ initEvents: function () {
+ },
+
+ onInsertChart: function (type) {
+ SSE.getController('AddContainer').hideModal();
+
+ var settings = this.api.asc_getChartObject();
+ settings.changeType(type);
+ this.api.asc_addChartDrawingObject(settings);
+ },
+ }
+ })(), SSE.Controllers.AddChart || {}))
+});
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/mobile/app/controller/add/AddContainer.js b/apps/spreadsheeteditor/mobile/app/controller/add/AddContainer.js
index c0828c650..c642e1766 100644
--- a/apps/spreadsheeteditor/mobile/app/controller/add/AddContainer.js
+++ b/apps/spreadsheeteditor/mobile/app/controller/add/AddContainer.js
@@ -109,7 +109,7 @@ define([
addViews.push({
caption: me.textChart,
id: 'add-chart',
- layout: me._dummyEditController().getLayout()
+ layout: SSE.getController('AddChart').getView('AddChart').rootLayout()
});
addViews.push({
diff --git a/apps/spreadsheeteditor/mobile/app/template/AddChart.template b/apps/spreadsheeteditor/mobile/app/template/AddChart.template
new file mode 100644
index 000000000..09771f73e
--- /dev/null
+++ b/apps/spreadsheeteditor/mobile/app/template/AddChart.template
@@ -0,0 +1,14 @@
+
+
+
+ <% _.each(types, function(row) { %>
+
+ <% _.each(row, function(type) { %>
+
+
+
+ <% }); %>
+
+ <% }); %>
+
+
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/mobile/app/view/add/AddChart.js b/apps/spreadsheeteditor/mobile/app/view/add/AddChart.js
new file mode 100644
index 000000000..a7aca009d
--- /dev/null
+++ b/apps/spreadsheeteditor/mobile/app/view/add/AddChart.js
@@ -0,0 +1,137 @@
+/*
+ *
+ * (c) Copyright Ascensio System Limited 2010-2016
+ *
+ * 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 Lubanas st. 125a-25, Riga, Latvia,
+ * EU, LV-1021.
+ *
+ * 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
+ *
+ */
+
+/**
+ * AddChart.js
+ *
+ * Created by Maxim Kadushkin on 12/13/2016
+ * Copyright (c) 2016 Ascensio System SIA. All rights reserved.
+ *
+ */
+
+define([
+ 'text!spreadsheeteditor/mobile/app/template/AddChart.template',
+ 'backbone'
+], function (addTemplate, Backbone) {
+ 'use strict';
+
+ SSE.Views.AddChart = Backbone.View.extend(_.extend((function() {
+ // private
+
+ var _types = [
+ { type: Asc.c_oAscChartTypeSettings.barNormal, thumb: 'bar-normal'},
+ { type: Asc.c_oAscChartTypeSettings.barStacked, thumb: 'bar-stacked'},
+ { type: Asc.c_oAscChartTypeSettings.barStackedPer, thumb: 'bar-pstacked'},
+ { type: Asc.c_oAscChartTypeSettings.lineNormal, thumb: 'line-normal'},
+ { type: Asc.c_oAscChartTypeSettings.lineStacked, thumb: 'line-stacked'},
+ { type: Asc.c_oAscChartTypeSettings.lineStackedPer, thumb: 'line-pstacked'},
+ { type: Asc.c_oAscChartTypeSettings.hBarNormal, thumb: 'hbar-normal'},
+ { type: Asc.c_oAscChartTypeSettings.hBarStacked, thumb: 'hbar-stacked'},
+ { type: Asc.c_oAscChartTypeSettings.hBarStackedPer, thumb: 'hbar-pstacked'},
+ { type: Asc.c_oAscChartTypeSettings.areaNormal, thumb: 'area-normal'},
+ { type: Asc.c_oAscChartTypeSettings.areaStacked, thumb: 'area-stacked'},
+ { type: Asc.c_oAscChartTypeSettings.areaStackedPer, thumb: 'area-pstacked'},
+ { type: Asc.c_oAscChartTypeSettings.pie, thumb: 'pie'},
+ { type: Asc.c_oAscChartTypeSettings.doughnut, thumb: 'doughnut'},
+ { type: Asc.c_oAscChartTypeSettings.pie3d, thumb: 'pie3d'},
+ { type: Asc.c_oAscChartTypeSettings.scatter, thumb: 'scatter'},
+ { type: Asc.c_oAscChartTypeSettings.stock, thumb: 'stock'},
+ { type: Asc.c_oAscChartTypeSettings.line3d, thumb: 'line3d'},
+ { type: Asc.c_oAscChartTypeSettings.barNormal3d, thumb: 'bar3dnormal'},
+ { type: Asc.c_oAscChartTypeSettings.barStacked3d, thumb: 'bar3dstack'},
+ { type: Asc.c_oAscChartTypeSettings.barStackedPer3d, thumb: 'bar3dpstack'},
+ { type: Asc.c_oAscChartTypeSettings.hBarNormal3d, thumb: 'hbar3dnormal'},
+ { type: Asc.c_oAscChartTypeSettings.hBarStacked3d, thumb: 'hbar3dstack'},
+ { type: Asc.c_oAscChartTypeSettings.hBarStackedPer3d, thumb: 'hbar3dpstack'},
+ { type: Asc.c_oAscChartTypeSettings.barNormal3dPerspective, thumb: 'bar3dpsnormal'}
+ ];
+
+ return {
+ // el: '.view-main',
+
+ template: _.template(addTemplate),
+
+ events: {
+ },
+
+ initialize: function () {
+ Common.NotificationCenter.on('addcontainer:show', _.bind(this.initEvents, this));
+ },
+
+ initEvents: function () {
+ var me = this;
+
+ $('.chart-types .thumb').single('click', this.onTypeClick.bind(this));
+
+ me.initControls();
+ },
+
+ // Render layout
+ render: function () {
+ var elementsInRow = 3;
+ var groupsOfTypes = _.chain(_types).groupBy(function(element, index){
+ return Math.floor(index/elementsInRow);
+ }).toArray().value();
+
+ this.layout = $('').append(this.template({
+ android : Common.SharedSettings.get('android'),
+ phone : Common.SharedSettings.get('phone'),
+ types : groupsOfTypes
+ }));
+
+ var $chartStyles = $('.container-add .chart-styles');
+ if ( $chartStyles ) {
+ $chartStyles.replaceWith(this.layout.find('#add-chart-root').html());
+ }
+
+ return this;
+ },
+
+ rootLayout: function () {
+ if (this.layout) {
+ return this.layout.html();
+ }
+
+ return '';
+ },
+
+ initControls: function () {
+ //
+ },
+
+ onTypeClick: function (e) {
+ this.fireEvent('chart:insert', [$(e.target.parentElement).data('type')]);
+ }
+ }
+ })(), SSE.Views.AddChart || {}))
+});
\ No newline at end of file
diff --git a/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less b/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less
index ce3c0156b..48ba8d234 100644
--- a/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less
+++ b/apps/spreadsheeteditor/mobile/resources/less/ios/_icons.less
@@ -164,4 +164,82 @@ i.icon {
height: 28px;
.encoded-svg-background('');
}
+}
+
+.chart-types .thumb {
+ &.bar-normal {
+ background-image: data-uri('../img/charts/chart-03.png');
+ }
+ &.bar-stacked {
+ background-image: data-uri('../img/charts/chart-02.png');
+ }
+ &.bar-pstacked {
+ background-image: data-uri('../img/charts/chart-01.png');
+ }
+ &.line-normal {
+ background-image: data-uri('../img/charts/chart-06.png');
+ }
+ &.line-stacked {
+ background-image: data-uri('../img/charts/chart-05.png');
+ }
+ &.line-pstacked {
+ background-image: data-uri('../img/charts/chart-04.png');
+ }
+ &.hbar-normal {
+ background-image: data-uri('../img/charts/chart-09.png');
+ }
+ &.hbar-stacked {
+ background-image: data-uri('../img/charts/chart-08.png');
+ }
+ &.hbar-pstacked {
+ background-image: data-uri('../img/charts/chart-07.png');
+ }
+ &.area-normal {
+ background-image: data-uri('../img/charts/chart-12.png');
+ }
+ &.area-stacked {
+ background-image: data-uri('../img/charts/chart-11.png');
+ }
+ &.area-pstacked {
+ background-image: data-uri('../img/charts/chart-10.png');
+ }
+ &.pie {
+ background-image: data-uri('../img/charts/chart-13.png');
+ }
+ &.doughnut {
+ background-image: data-uri('../img/charts/chart-14.png');
+ }
+ &.pie3d {
+ background-image: data-uri('../img/charts/chart-22.png');
+ }
+ &.scatter {
+ background-image: data-uri('../img/charts/chart-15.png');
+ }
+ &.stock {
+ background-image: data-uri('../img/charts/chart-16.png');
+ }
+ &.line3d {
+ background-image: data-uri('../img/charts/chart-21.png');
+ }
+ &.bar3dnormal {
+ background-image: data-uri('../img/charts/chart-17.png');
+ }
+ &.bar3dstack {
+ background-image: data-uri('../img/charts/chart-18.png');
+ }
+ &.bar3dpstack {
+ background-image: data-uri('../img/charts/chart-19.png');
+ }
+ &.hbar3dnormal {
+ background-image: data-uri('../img/charts/chart-25.png');
+ }
+ &.hbar3dstack {
+ background-image: data-uri('../img/charts/chart-24.png');
+ }
+ &.hbar3dpstack {
+ background-image: data-uri('../img/charts/chart-23.png');
+ }
+ &.bar3dpsnormal {
+ background-image: data-uri('../img/charts/chart-20.png');
+ }
}
\ No newline at end of file