diff --git a/apps/spreadsheeteditor/main/app/controller/PivotTable.js b/apps/spreadsheeteditor/main/app/controller/PivotTable.js
index 563fac4be..0d62cab59 100644
--- a/apps/spreadsheeteditor/main/app/controller/PivotTable.js
+++ b/apps/spreadsheeteditor/main/app/controller/PivotTable.js
@@ -58,7 +58,11 @@ define([
// comments handlers
'pivottable:rowscolumns': _.bind(this.onCheckTemplateChange, this),
'pivottable:create': _.bind(this.onCreateClick, this),
- 'pivottable:style': _.bind(this.onPivotStyleSelect, this)
+ 'pivottable:style': _.bind(this.onPivotStyleSelect, this),
+ 'pivottable:layout': _.bind(this.onPivotLayout, this),
+ 'pivottable:blankrows': _.bind(this.onPivotBlankRows, this),
+ 'pivottable:subtotals': _.bind(this.onPivotSubtotals, this),
+ 'pivottable:grandtotals': _.bind(this.onPivotGrandTotals, this)
}
});
},
@@ -135,12 +139,79 @@ define([
},
onPivotStyleSelect: function(record){
- if (this.api && !this._noApply) {
+ if (this.api) {
this._originalProps.asc_getStyleInfo().asc_setName(this.api, this._originalProps, record.get('name'));
}
Common.NotificationCenter.trigger('edit:complete', this);
},
+ onPivotBlankRows: function(type){
+ if (this.api) {
+ if (type === 'insert'){
+
+ } else {
+
+ }
+ }
+ Common.NotificationCenter.trigger('edit:complete', this);
+ },
+
+ onPivotLayout: function(type){
+ if (this.api) {
+ switch (type){
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ break;
+ case 3:
+ break;
+ case 4:
+ break;
+ }
+ }
+ Common.NotificationCenter.trigger('edit:complete', this);
+ },
+
+ onPivotGrandTotals: function(type){
+ if (this.api) {
+ switch (type){
+ case 0:
+ // this._originalProps.asc_setColGrandTotals(false);
+ // this._originalProps.asc_setRowGrandTotals(false);
+ break;
+ case 1:
+ // this._originalProps.asc_setColGrandTotals(true);
+ // this._originalProps.asc_setRowGrandTotals(true);
+ break;
+ case 2:
+ // this._originalProps.asc_setColGrandTotals(false);
+ // this._originalProps.asc_setRowGrandTotals(true);
+ break;
+ case 3:
+ // this._originalProps.asc_setColGrandTotals(true);
+ // this._originalProps.asc_setRowGrandTotals(false);
+ break;
+ }
+ }
+ Common.NotificationCenter.trigger('edit:complete', this);
+ },
+
+ onPivotSubtotals: function(type){
+ if (this.api) {
+ switch (type){
+ case 0:
+ break;
+ case 1:
+ break;
+ case 2:
+ break;
+ }
+ }
+ Common.NotificationCenter.trigger('edit:complete', this);
+ },
+
ChangeSettings: function(props) {
if (props )
{
diff --git a/apps/spreadsheeteditor/main/app/view/PivotTable.js b/apps/spreadsheeteditor/main/app/view/PivotTable.js
index 19619f69c..af16a3d15 100644
--- a/apps/spreadsheeteditor/main/app/view/PivotTable.js
+++ b/apps/spreadsheeteditor/main/app/view/PivotTable.js
@@ -56,6 +56,13 @@ define([
'' +
'' +
'
' +
'
' +
'' +
@@ -83,6 +90,22 @@ define([
me.fireEvent('pivottable:create');
});
+ this.btnPivotLayout.menu.on('item:click', function (menu, item, e) {
+ me.fireEvent('pivottable:layout', [item.value]);
+ });
+
+ this.btnPivotBlankRows.menu.on('item:click', function (menu, item, e) {
+ me.fireEvent('pivottable:blankrows', [item.value]);
+ });
+
+ this.btnPivotSubtotals.menu.on('item:click', function (menu, item, e) {
+ me.fireEvent('pivottable:subtotals', [item.value]);
+ });
+
+ this.btnPivotGrandTotals.menu.on('item:click', function (menu, item, e) {
+ me.fireEvent('pivottable:grandtotals', [item.value]);
+ });
+
this.chRowHeader.on('change', function (field, value) {
me.fireEvent('pivottable:rowscolumns', [0, value]);
});
@@ -140,6 +163,65 @@ define([
});
// this.lockedControls.push(this.btnAddPivot);
+ this.btnPivotLayout = new Common.UI.Button({
+ cls : 'btn-toolbar x-huge icon-top',
+ iconCls : 'btn-insertimage',
+ caption : this.capLayout,
+ menu : new Common.UI.Menu({
+ items: [
+ { caption: this.mniLayoutCompact, value: 0 },
+ { caption: this.mniLayoutOutline, value: 1 },
+ { caption: this.mniLayoutTabular, value: 2 },
+ { caption: '--' },
+ { caption: this.mniLayoutRepeat, value: 3 },
+ { caption: this.mniLayoutNoRepeat, value: 4 }
+ ]
+ })
+ });
+ this.lockedControls.push(this.btnPivotLayout);
+
+ this.btnPivotBlankRows = new Common.UI.Button({
+ cls : 'btn-toolbar x-huge icon-top',
+ iconCls : 'btn-insertimage',
+ caption : this.capBlankRows,
+ menu : new Common.UI.Menu({
+ items: [
+ { caption: this.mniInsertBlankLine, value: 'insert' },
+ { caption: this.mniRemoveBlankLine, value: 'remove' }
+ ]
+ })
+ });
+ this.lockedControls.push(this.btnPivotBlankRows);
+
+ this.btnPivotSubtotals = new Common.UI.Button({
+ cls : 'btn-toolbar x-huge icon-top',
+ iconCls : 'btn-insertimage',
+ caption : this.capSubtotals,
+ menu : new Common.UI.Menu({
+ items: [
+ { caption: this.mniNoSubtotals, value: 0 },
+ { caption: this.mniBottomSubtotals, value: 1 },
+ { caption: this.mniTopSubtotals, value: 2 }
+ ]
+ })
+ });
+ this.lockedControls.push(this.btnPivotSubtotals);
+
+ this.btnPivotGrandTotals = new Common.UI.Button({
+ cls : 'btn-toolbar x-huge icon-top',
+ iconCls : 'btn-insertimage',
+ caption : this.capGrandTotals,
+ menu : new Common.UI.Menu({
+ items: [
+ { caption: this.mniOffTotals, value: 0 },
+ { caption: this.mniOnTotals, value: 1 },
+ { caption: this.mniOnRowsTotals, value: 2 },
+ { caption: this.mniOnColumnsTotals, value: 3 }
+ ]
+ })
+ });
+ this.lockedControls.push(this.btnPivotGrandTotals);
+
this.pivotStyles = new Common.UI.ComboDataView({
cls : 'combo-pivot-template',
enableKeyEvents : true,
@@ -166,6 +248,10 @@ define([
accept();
})).then(function(){
me.btnAddPivot.updateHint(me.tipCreatePivot);
+ me.btnPivotLayout.updateHint(me.capLayout);
+ me.btnPivotBlankRows.updateHint(me.capBlankRows);
+ me.btnPivotSubtotals.updateHint(me.capSubtotals);
+ me.btnPivotGrandTotals.updateHint(me.capGrandTotals);
setEvents.call(me);
});
@@ -180,6 +266,10 @@ define([
this.chColBanded.render(this.$el.find('#slot-chk-banded-column'));
this.btnAddPivot.render(this.$el.find('#slot-btn-add-pivot'));
+ this.btnPivotLayout.render(this.$el.find('#slot-btn-pivot-report-layout'));
+ this.btnPivotBlankRows.render(this.$el.find('#slot-btn-pivot-blank-rows'));
+ this.btnPivotSubtotals.render(this.$el.find('#slot-btn-pivot-subtotals'));
+ this.btnPivotGrandTotals.render(this.$el.find('#slot-btn-pivot-grand-totals'));
this.pivotStyles.render(this.$el.find('#slot-field-pivot-styles'));
return this.$el;
@@ -206,7 +296,26 @@ define([
textRowHeader: 'Row Headers',
textColHeader: 'Column Headers',
textRowBanded: 'Banded Rows',
- textColBanded: 'Banded Columns'
+ textColBanded: 'Banded Columns',
+ capBlankRows: 'Blank Rows',
+ mniInsertBlankLine: 'Insert Blank Line after Each Item',
+ mniRemoveBlankLine: 'Remove Blank Line after Each Item',
+ capGrandTotals: 'Grand Totals',
+ mniOffTotals: 'Off for Rows and Columns',
+ mniOnTotals: 'On for Rows and Columns',
+ mniOnRowsTotals: 'On for Rows Only',
+ mniOnColumnsTotals: 'On for Columns Only',
+ capLayout: 'Report Layout',
+ capSubtotals: 'Subtotals',
+ mniLayoutCompact: 'Show in Compact Form',
+ mniLayoutOutline: 'Show in Outline Form',
+ mniLayoutTabular: 'Show in Tabular Form',
+ mniLayoutRepeat: 'Repeat All Item Labels',
+ mniLayoutNoRepeat: 'Don\'t Repeat All Item Labels',
+ mniNoSubtotals: 'Don\'t Show Subtotals',
+ mniBottomSubtotals: 'Show all Subtotals at Bottom of Group',
+ mniTopSubtotals: 'Show all Subtotals at Top of Group'
+
}
}()), SSE.Views.PivotTable || {}));
});
\ No newline at end of file