Merge branch 'develop' into feature/de-plugins
# Conflicts: # apps/documenteditor/sdk_dev_scripts.js
This commit is contained in:
commit
af20ed609f
245
apps/common/main/lib/component/ColorPaletteExt.js
Normal file
245
apps/common/main/lib/component/ColorPaletteExt.js
Normal file
|
@ -0,0 +1,245 @@
|
|||
/*
|
||||
*
|
||||
* (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
|
||||
*
|
||||
*/
|
||||
/**
|
||||
* ColorPaletteExt.js
|
||||
*
|
||||
* Created by Julia Radzhabova on 07/21/15
|
||||
* Copyright (c) 2014 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
if (Common === undefined)
|
||||
var Common = {};
|
||||
|
||||
define([
|
||||
'common/main/lib/component/BaseView'
|
||||
], function () { 'use strict';
|
||||
|
||||
Common.UI.ColorPaletteExt = Common.UI.BaseView.extend({
|
||||
options: {
|
||||
dynamiccolors: 10,
|
||||
allowReselect: true,
|
||||
cls: '',
|
||||
style: ''
|
||||
},
|
||||
|
||||
template:
|
||||
_.template([
|
||||
'<div class="palette-color-ext">',
|
||||
'<% var me = this; %>',
|
||||
'<% $(colors).each(function(num, item) { %>',
|
||||
'<% if (me.isColor(item)) { %>',
|
||||
'<div class="palette-color-item palette-color color-<%=item%>" style="background:#<%=item%>" hidefocus="on">',
|
||||
'<em><span style="background:#<%=item%>;" unselectable="on"> </span></em>',
|
||||
'</div>',
|
||||
'<% } else if (me.isTransparent(item)) { %>',
|
||||
'<div class="palette-color-item color-<%=item%>" hidefocus="on">',
|
||||
'<em><span unselectable="on"> </span></em>',
|
||||
'</div>',
|
||||
'<% } else if (me.isEffect(item)) { %>',
|
||||
'<div effectid="<%=item.effectId%>" effectvalue="<%=item.effectValue%>" class="palette-color-item palette-color-effect color-<%=item.color%>" style="background:#<%=item.color%>" hidefocus="on">',
|
||||
'<em><span style="background:#<%=item.color%>;" unselectable="on"> </span></em>',
|
||||
'</div>',
|
||||
'<% } %>',
|
||||
'<% }); %>',
|
||||
'</div>'].join('')),
|
||||
|
||||
colorRe: /(?:^|\s)color-(.{6})(?:\s|$)/,
|
||||
selectedCls: 'selected',
|
||||
|
||||
initialize : function(options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this, options);
|
||||
|
||||
this.id = this.options.id;
|
||||
this.cls = this.options.cls;
|
||||
this.style = this.options.style;
|
||||
this.colors = this.options.colors || [];
|
||||
this.value = this.options.value;
|
||||
|
||||
if (this.options.el)
|
||||
this.render();
|
||||
|
||||
if (this.options.value)
|
||||
this.select(this.options.value, true);
|
||||
},
|
||||
|
||||
render: function (parentEl) {
|
||||
var me = this;
|
||||
|
||||
if (!me.rendered) {
|
||||
this.cmpEl = $(this.template({
|
||||
id : this.id,
|
||||
cls : this.cls,
|
||||
style : this.style,
|
||||
colors : this.colors
|
||||
}));
|
||||
|
||||
if (parentEl) {
|
||||
this.setElement(parentEl, false);
|
||||
parentEl.html(this.cmpEl);
|
||||
} else {
|
||||
$(this.el).html(this.cmpEl);
|
||||
}
|
||||
|
||||
this.cmpEl.on('click', _.bind(this.handleClick, this));
|
||||
} else {
|
||||
this.cmpEl = $(this.el);
|
||||
}
|
||||
|
||||
me.rendered = true;
|
||||
return this;
|
||||
},
|
||||
|
||||
isColor: function(v) {
|
||||
return typeof(v) == 'string' && (/[0-9A-F]{6}/).test(v);
|
||||
},
|
||||
|
||||
isTransparent: function(v) {
|
||||
return typeof(v) == 'string' && (v=='transparent');
|
||||
},
|
||||
|
||||
isEffect: function(v) {
|
||||
return (typeof(v) == 'object' && v.effectId !== undefined);
|
||||
},
|
||||
|
||||
getColor: function() {
|
||||
return this.value;
|
||||
},
|
||||
|
||||
handleClick: function(e) {
|
||||
var me = this;
|
||||
var target = $(e.target).closest('div.palette-color-item');
|
||||
var color, cmp;
|
||||
|
||||
if (target.length==0) return;
|
||||
|
||||
if (target.hasClass('color-transparent') ) {
|
||||
$(me.el).find('div.' + me.selectedCls).removeClass(me.selectedCls);
|
||||
target.addClass(me.selectedCls);
|
||||
me.value = 'transparent';
|
||||
me.trigger('select', me, 'transparent');
|
||||
} else {
|
||||
if (!/^[a-fA-F0-9]{6}$/.test(me.value) || _.indexOf(me.colors, me.value)<0 )
|
||||
me.value = false;
|
||||
|
||||
$(me.el).find('div.' + me.selectedCls).removeClass(me.selectedCls);
|
||||
target.addClass(me.selectedCls);
|
||||
|
||||
color = target[0].className.match(me.colorRe)[1];
|
||||
if ( target.hasClass('palette-color-effect') ) {
|
||||
var effectId = parseInt(target.attr('effectid'));
|
||||
if (color) {
|
||||
me.value = color.toUpperCase();
|
||||
me.trigger('select', me, {color: color, effectId: effectId});
|
||||
}
|
||||
} else {
|
||||
if (/#?[a-fA-F0-9]{6}/.test(color)) {
|
||||
color = /#?([a-fA-F0-9]{6})/.exec(color)[1].toUpperCase();
|
||||
me.value = color;
|
||||
me.trigger('select', me, color);
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
select: function(color, suppressEvent) {
|
||||
var el = $(this.el);
|
||||
el.find('div.' + this.selectedCls).removeClass(this.selectedCls);
|
||||
|
||||
if (!color) return;
|
||||
|
||||
if (typeof(color) == 'object' ) {
|
||||
var effectEl;
|
||||
if (color.effectId !== undefined) {
|
||||
effectEl = el.find('div[effectid="'+color.effectId+'"]').first();
|
||||
if (effectEl.length>0) {
|
||||
effectEl.addClass(this.selectedCls);
|
||||
this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase();
|
||||
} else
|
||||
this.value = false;
|
||||
} else if (color.effectValue !== undefined) {
|
||||
effectEl = el.find('div[effectvalue="'+color.effectValue+'"].color-' + color.color.toUpperCase()).first();
|
||||
if (effectEl.length>0) {
|
||||
effectEl.addClass(this.selectedCls);
|
||||
this.value = effectEl[0].className.match(this.colorRe)[1].toUpperCase();
|
||||
} else
|
||||
this.value = false;
|
||||
}
|
||||
} else {
|
||||
if (/#?[a-fA-F0-9]{6}/.test(color)) {
|
||||
color = /#?([a-fA-F0-9]{6})/.exec(color)[1].toUpperCase();
|
||||
this.value = color;
|
||||
}
|
||||
|
||||
if (/^[a-fA-F0-9]{6}|transparent$/.test(color) && _.indexOf(this.colors, color)>=0 ) {
|
||||
if (_.indexOf(this.colors, this.value)<0) this.value = false;
|
||||
|
||||
if (color != this.value || this.options.allowReselect) {
|
||||
(color == 'transparent') ? el.find('div.color-transparent').addClass(this.selectedCls) : el.find('div.palette-color.color-' + color).first().addClass(this.selectedCls);
|
||||
this.value = color;
|
||||
if (suppressEvent !== true) {
|
||||
this.fireEvent('select', this, color);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
var co = el.find('#'+color).first();
|
||||
if (co.length==0)
|
||||
co = el.find('div[color="'+color+'"]').first();
|
||||
if (co.length>0) {
|
||||
co.addClass(this.selectedCls);
|
||||
this.value = color.toUpperCase();
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
updateColors: function(effectcolors) {
|
||||
if (effectcolors===undefined) return;
|
||||
|
||||
this.colors = effectcolors;
|
||||
this.cmpEl = $(this.template({
|
||||
id : this.id,
|
||||
cls : this.cls,
|
||||
style : this.style,
|
||||
colors : this.colors
|
||||
}));
|
||||
$(this.el).html(this.cmpEl);
|
||||
this.cmpEl.on('click', _.bind(this.handleClick, this));
|
||||
},
|
||||
|
||||
clearSelection: function(suppressEvent) {
|
||||
$(this.el).find('div.' + this.selectedCls).removeClass(this.selectedCls);
|
||||
this.value = undefined;
|
||||
}
|
||||
});
|
||||
});
|
|
@ -138,7 +138,7 @@
|
|||
|
||||
@common-controls-width: 100px;
|
||||
.img-commonctrl,
|
||||
.theme-colorpalette .color-transparent, .dropdown-menu li .checked:before, .input-error:before {
|
||||
.theme-colorpalette .color-transparent, .palette-color-ext .color-transparent, .dropdown-menu li .checked:before, .input-error:before {
|
||||
background: e(%("url(%s)",'@{common-image-path}/@{common-controls}')) no-repeat;
|
||||
|
||||
@media
|
||||
|
|
|
@ -10,4 +10,46 @@
|
|||
.box-shadow(0 0 0 1px @primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.palette-color-ext {
|
||||
padding: 10px;
|
||||
.palette-color-item {
|
||||
padding: 0;
|
||||
border: 1px solid #fff;
|
||||
display: inline-block;
|
||||
text-decoration: none;
|
||||
-moz-outline: 0 none;
|
||||
outline: 0 none;
|
||||
cursor: pointer;
|
||||
vertical-align: middle;
|
||||
|
||||
em {
|
||||
border: none;
|
||||
display: block;
|
||||
|
||||
span{
|
||||
height: 12px;
|
||||
width: 12px;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
}
|
||||
|
||||
&:hover, &.selected {
|
||||
border-color: #000;
|
||||
em span {
|
||||
border-color: #fff;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.color-transparent {
|
||||
background-position: @nocolor-offset-x @nocolor-offset-y;
|
||||
|
||||
em span {
|
||||
border:solid 1px #C0C0C0;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -98,6 +98,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
|
|||
this._nRatio = 1;
|
||||
|
||||
this._originalProps = this.options.imageProps;
|
||||
this.sectionProps = this.options.sectionProps;
|
||||
this.pageWidth = this.options.sectionProps ? this.options.sectionProps.get_W() : 210;
|
||||
this.pageHeight = this.options.sectionProps ? this.options.sectionProps.get_H() : 297;
|
||||
this._changedProps = null;
|
||||
|
@ -327,10 +328,10 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
|
|||
}, this));
|
||||
|
||||
this._arrHRelativePc = [
|
||||
{displayValue: this.textLeftMargin, value: Asc.c_oAscRelativeFromH.LeftMargin},
|
||||
{displayValue: this.textMargin, value: Asc.c_oAscRelativeFromH.Margin},
|
||||
{displayValue: this.textPage, value: Asc.c_oAscRelativeFromH.Page},
|
||||
{displayValue: this.textRightMargin, value: Asc.c_oAscRelativeFromH.RightMargin}
|
||||
{displayValue: this.textLeftMargin, value: Asc.c_oAscRelativeFromH.LeftMargin, size: this.sectionProps.get_LeftMargin()},
|
||||
{displayValue: this.textMargin, value: Asc.c_oAscRelativeFromH.Margin, size: this.sectionProps.get_W() - this.sectionProps.get_LeftMargin() - this.sectionProps.get_RightMargin()},
|
||||
{displayValue: this.textPage, value: Asc.c_oAscRelativeFromH.Page, size: this.sectionProps.get_W()},
|
||||
{displayValue: this.textRightMargin, value: Asc.c_oAscRelativeFromH.RightMargin, size: this.sectionProps.get_RightMargin()}
|
||||
];
|
||||
|
||||
this.cmbWidthPc = new Common.UI.ComboBox({
|
||||
|
@ -345,10 +346,10 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
|
|||
this.cmbWidthPc.on('selected', _.bind(this.onCmbWidthPcSelect, this));
|
||||
|
||||
this._arrVRelativePc = [
|
||||
{displayValue: this.textMargin, value: Asc.c_oAscRelativeFromV.Margin},
|
||||
{displayValue: this.textBottomMargin, value: Asc.c_oAscRelativeFromV.BottomMargin},
|
||||
{displayValue: this.textPage, value: Asc.c_oAscRelativeFromV.Page},
|
||||
{displayValue: this.textTopMargin, value: Asc.c_oAscRelativeFromV.TopMargin}
|
||||
{displayValue: this.textMargin, value: Asc.c_oAscRelativeFromV.Margin, size: this.sectionProps.get_H() - this.sectionProps.get_TopMargin() - this.sectionProps.get_BottomMargin()},
|
||||
{displayValue: this.textBottomMargin, value: Asc.c_oAscRelativeFromV.BottomMargin, size: this.sectionProps.get_BottomMargin()},
|
||||
{displayValue: this.textPage, value: Asc.c_oAscRelativeFromV.Page, size: this.sectionProps.get_H()},
|
||||
{displayValue: this.textTopMargin, value: Asc.c_oAscRelativeFromV.TopMargin, size: this.sectionProps.get_TopMargin()}
|
||||
];
|
||||
|
||||
this.cmbHeightPc = new Common.UI.ComboBox({
|
||||
|
@ -1265,6 +1266,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
|
|||
for (i=0; i<this._arrHRelativePc.length; i++) {
|
||||
if (value == this._arrHRelativePc[i].value) {
|
||||
this.cmbWidthPc.setValue(value);
|
||||
this.spnShapeWidth.setValue(Common.Utils.Metric.fnRecalcFromMM(this._arrHRelativePc[i].size * sizeRelH.get_Value()/100).toFixed(2), true);
|
||||
this._state.ShapeWidthPcFrom = value;
|
||||
break;
|
||||
}
|
||||
|
@ -1283,6 +1285,7 @@ define([ 'text!documenteditor/main/app/template/ImageSettingsAdvanced.templat
|
|||
for (i=0; i<this._arrVRelativePc.length; i++) {
|
||||
if (value == this._arrVRelativePc[i].value) {
|
||||
this.cmbHeightPc.setValue(value);
|
||||
this.spnShapeHeight.setValue(Common.Utils.Metric.fnRecalcFromMM(this._arrVRelativePc[i].size * sizeRelV.get_Value()/100).toFixed(2), true);
|
||||
this._state.ShapeHeightPcFrom = value;
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -142,7 +142,7 @@ var sdk_dev_scrpipts = [
|
|||
"../../../../sdkjs/word/Private/MailMerge.js",
|
||||
"../../../../sdkjs/word/Private/TrackRevisions.js",
|
||||
"../../../../sdkjs/common/applyDocumentChanges.js",
|
||||
"../../../../sdkjs/common/Drawings/Format/OleObject.js",
|
||||
"../../../../sdkjs/common/Drawings/Format/OleObject.js",
|
||||
"../../../../sdkjs/common/clipboard_base.js",
|
||||
"../../../../sdkjs/common/plugins.js",
|
||||
"../../../../sdkjs/word/apiBuilder.js"
|
||||
|
|
|
@ -152,6 +152,8 @@ define([
|
|||
view.pmiInsertCells.menu.on('item:click', _.bind(me.onInsertCells, me));
|
||||
view.pmiDeleteCells.menu.on('item:click', _.bind(me.onDeleteCells, me));
|
||||
view.pmiSortCells.menu.on('item:click', _.bind(me.onSortCells, me));
|
||||
view.pmiFilterCells.menu.on('item:click', _.bind(me.onFilterCells, me));
|
||||
view.pmiReapply.on('click', _.bind(me.onReapply, me));
|
||||
view.pmiClear.menu.on('item:click', _.bind(me.onClear, me));
|
||||
view.pmiSelectTable.menu.on('item:click', _.bind(me.onSelectTable, me));
|
||||
view.pmiInsertTable.menu.on('item:click', _.bind(me.onInsertTable, me));
|
||||
|
@ -336,13 +338,48 @@ define([
|
|||
|
||||
onSortCells: function(menu, item) {
|
||||
if (this.api) {
|
||||
this.api.asc_sortColFilter(item.value, '');
|
||||
this.api.asc_sortColFilter(item.value, '', undefined, (item.value==Asc.c_oAscSortOptions.ByColorFill) ? this.documentHolder.ssMenu.cellColor : this.documentHolder.ssMenu.fontColor);
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', this.documentHolder);
|
||||
Common.component.Analytics.trackEvent('DocumentHolder', 'Sort Cells');
|
||||
}
|
||||
},
|
||||
|
||||
onFilterCells: function(menu, item) {
|
||||
if (this.api) {
|
||||
var autoFilterObject = new Asc.AutoFiltersOptions(),
|
||||
filterObj = new Asc.AutoFilterObj();
|
||||
if (item.value>0) {
|
||||
filterObj.asc_setFilter(new Asc.ColorFilter());
|
||||
filterObj.asc_setType(Asc.c_oAscAutoFilterTypes.ColorFilter);
|
||||
|
||||
var colorFilter = filterObj.asc_getFilter();
|
||||
colorFilter.asc_setCellColor((item.value==1) ? null : false);
|
||||
colorFilter.asc_setCColor((item.value==1) ? this.documentHolder.ssMenu.cellColor : this.documentHolder.ssMenu.fontColor);
|
||||
} else {
|
||||
filterObj.asc_setFilter(new Asc.CustomFilters());
|
||||
filterObj.asc_setType(Asc.c_oAscAutoFilterTypes.CustomFilters);
|
||||
|
||||
var customFilter = filterObj.asc_getFilter();
|
||||
customFilter.asc_setCustomFilters([new Asc.CustomFilter()]);
|
||||
customFilter.asc_setAnd(true);
|
||||
var customFilters = customFilter.asc_getCustomFilters();
|
||||
customFilters[0].asc_setOperator(Asc.c_oAscCustomAutoFilter.equals);
|
||||
// customFilters[0].asc_setVal('');
|
||||
}
|
||||
|
||||
autoFilterObject.asc_setFilterObj(filterObj);
|
||||
this.api.asc_applyAutoFilterByType(autoFilterObject);
|
||||
|
||||
Common.NotificationCenter.trigger('edit:complete', this.documentHolder);
|
||||
Common.component.Analytics.trackEvent('DocumentHolder', 'Filter Cells');
|
||||
}
|
||||
},
|
||||
|
||||
onReapply: function() {
|
||||
this.api.asc_reapplyAutoFilter(this.documentHolder.ssMenu.formatTableName);
|
||||
},
|
||||
|
||||
onClear: function(menu, item) {
|
||||
if (this.api) {
|
||||
this.api.asc_emptyCells(item.value);
|
||||
|
@ -1181,6 +1218,8 @@ define([
|
|||
formatTableInfo = cellinfo.asc_getFormatTableInfo(),
|
||||
isintable = (formatTableInfo !== null);
|
||||
documentHolder.ssMenu.formatTableName = (isintable) ? formatTableInfo.asc_getTableName() : null;
|
||||
documentHolder.ssMenu.cellColor = cellinfo.asc_getFill().asc_getColor();
|
||||
documentHolder.ssMenu.fontColor = cellinfo.asc_getFont().asc_getColor();
|
||||
|
||||
documentHolder.pmiInsertEntire.setVisible(isrowmenu||iscolmenu);
|
||||
documentHolder.pmiInsertEntire.setCaption((isrowmenu) ? this.textInsertTop : this.textInsertLeft);
|
||||
|
@ -1190,7 +1229,10 @@ define([
|
|||
documentHolder.pmiSelectTable.setVisible(iscellmenu && !iscelledit && isintable);
|
||||
documentHolder.pmiInsertTable.setVisible(iscellmenu && !iscelledit && isintable);
|
||||
documentHolder.pmiDeleteTable.setVisible(iscellmenu && !iscelledit && isintable);
|
||||
documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu||cansort) && !iscelledit && !isintable);
|
||||
documentHolder.pmiSortCells.setVisible((iscellmenu||isallmenu||cansort) && !iscelledit);
|
||||
documentHolder.pmiFilterCells.setVisible((iscellmenu||cansort) && !iscelledit);
|
||||
documentHolder.pmiReapply.setVisible((iscellmenu||isallmenu||cansort) && !iscelledit);
|
||||
documentHolder.ssMenu.items[12].setVisible((iscellmenu||isallmenu||cansort) && !iscelledit);
|
||||
documentHolder.pmiInsFunction.setVisible(iscellmenu||insfunc);
|
||||
documentHolder.pmiAddNamedRange.setVisible(iscellmenu && !iscelledit);
|
||||
|
||||
|
@ -1218,7 +1260,7 @@ define([
|
|||
documentHolder.pmiFreezePanes.setCaption(this.api.asc_getSheetViewSettings().asc_getIsFreezePane() ? documentHolder.textUnFreezePanes : documentHolder.textFreezePanes);
|
||||
|
||||
/** coauthoring begin **/
|
||||
documentHolder.ssMenu.items[13].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
|
||||
documentHolder.ssMenu.items[16].setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
|
||||
documentHolder.pmiAddComment.setVisible(iscellmenu && !iscelledit && this.permissions.canCoAuthoring && this.permissions.canComments);
|
||||
/** coauthoring end **/
|
||||
documentHolder.pmiCellMenuSeparator.setVisible(iscellmenu || isrowmenu || iscolmenu || isallmenu || insfunc);
|
||||
|
@ -1236,17 +1278,20 @@ define([
|
|||
documentHolder.pmiClear.menu.items[3].setVisible(!this.permissions.isEditDiagram);
|
||||
documentHolder.pmiClear.menu.items[4].setVisible(!this.permissions.isEditDiagram);
|
||||
|
||||
var filterInfo = cellinfo.asc_getAutoFilterInfo();
|
||||
filterInfo = (filterInfo) ? filterInfo.asc_getIsApplyAutoFilter() : false;
|
||||
documentHolder.pmiInsertCells.menu.items[0].setDisabled(filterInfo);
|
||||
documentHolder.pmiDeleteCells.menu.items[0].setDisabled(filterInfo);
|
||||
documentHolder.pmiInsertCells.menu.items[1].setDisabled(filterInfo);
|
||||
documentHolder.pmiDeleteCells.menu.items[1].setDisabled(filterInfo);
|
||||
var filterInfo = cellinfo.asc_getAutoFilterInfo(),
|
||||
isApplyAutoFilter = (filterInfo) ? filterInfo.asc_getIsApplyAutoFilter() : false;
|
||||
filterInfo = (filterInfo) ? filterInfo.asc_getIsAutoFilter() : null;
|
||||
documentHolder.pmiInsertCells.menu.items[0].setDisabled(isApplyAutoFilter);
|
||||
documentHolder.pmiDeleteCells.menu.items[0].setDisabled(isApplyAutoFilter);
|
||||
documentHolder.pmiInsertCells.menu.items[1].setDisabled(isApplyAutoFilter);
|
||||
documentHolder.pmiDeleteCells.menu.items[1].setDisabled(isApplyAutoFilter);
|
||||
|
||||
_.each(documentHolder.ssMenu.items, function(item) {
|
||||
item.setDisabled(isCellLocked);
|
||||
});
|
||||
documentHolder.pmiCopy.setDisabled(false);
|
||||
documentHolder.pmiSortCells.setDisabled(isCellLocked || (filterInfo==null));
|
||||
documentHolder.pmiReapply.setDisabled(isCellLocked || (isApplyAutoFilter!==true));
|
||||
if (showMenu) this.showPopupMenu(documentHolder.ssMenu, {}, event);
|
||||
} else if (this.permissions.isEditDiagram && seltype == Asc.c_oAscSelectionType.RangeChartText) {
|
||||
if (!showMenu && !documentHolder.textInShapeMenu.isVisible()) return;
|
||||
|
|
|
@ -206,10 +206,10 @@ define([
|
|||
toolbar.btnInsertText.on('click', _.bind(this.onBtnInsertTextClick, this));
|
||||
toolbar.btnInsertText.menu.on('item:click', _.bind(this.onInsertTextClick, this));
|
||||
toolbar.btnInsertShape.menu.on('hide:after', _.bind(this.onInsertShapeHide, this));
|
||||
toolbar.btnSortDown.on('click', _.bind(this.onSortType, this, 'ascending'));
|
||||
toolbar.btnSortUp.on('click', _.bind(this.onSortType, this, 'descending'));
|
||||
toolbar.mnuitemSortAZ.on('click', _.bind(this.onSortType, this, 'ascending'));
|
||||
toolbar.mnuitemSortZA.on('click', _.bind(this.onSortType, this, 'descending'));
|
||||
toolbar.btnSortDown.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Ascending));
|
||||
toolbar.btnSortUp.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Descending));
|
||||
toolbar.mnuitemSortAZ.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Ascending));
|
||||
toolbar.mnuitemSortZA.on('click', _.bind(this.onSortType, this, Asc.c_oAscSortOptions.Descending));
|
||||
toolbar.btnSetAutofilter.on('click', _.bind(this.onAutoFilter, this));
|
||||
toolbar.mnuitemAutoFilter.on('click', _.bind(this.onAutoFilter, this));
|
||||
toolbar.btnClearAutofilter.on('click', _.bind(this.onClearFilter, this));
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -230,15 +230,44 @@ define([
|
|||
items: [
|
||||
{
|
||||
caption : me.txtAscending,
|
||||
value : 'ascending'
|
||||
value : Asc.c_oAscSortOptions.Ascending
|
||||
},{
|
||||
caption : me.txtDescending,
|
||||
value : 'descending'
|
||||
value : Asc.c_oAscSortOptions.Descending
|
||||
},{
|
||||
caption : me.txtSortCellColor,
|
||||
value : Asc.c_oAscSortOptions.ByColorFill
|
||||
},{
|
||||
caption : me.txtSortFontColor,
|
||||
value : Asc.c_oAscSortOptions.ByColorFont
|
||||
}
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
me.pmiFilterCells = new Common.UI.MenuItem({
|
||||
caption : me.txtFilter,
|
||||
menu : new Common.UI.Menu({
|
||||
menuAlign : 'tl-tr',
|
||||
items: [
|
||||
{
|
||||
caption : me.txtFilterValue,
|
||||
value : 0
|
||||
},{
|
||||
caption : me.txtFilterCellColor,
|
||||
value : 1
|
||||
},{
|
||||
caption : me.txtFilterFontColor,
|
||||
value : 2
|
||||
}
|
||||
]
|
||||
})
|
||||
});
|
||||
|
||||
me.pmiReapply = new Common.UI.MenuItem({
|
||||
caption : me.txtReapply
|
||||
});
|
||||
|
||||
me.pmiInsFunction = new Common.UI.MenuItem({
|
||||
caption : me.txtFormula
|
||||
});
|
||||
|
@ -319,7 +348,10 @@ define([
|
|||
me.pmiDeleteCells,
|
||||
me.pmiDeleteTable,
|
||||
me.pmiClear,
|
||||
{caption: '--'},
|
||||
me.pmiSortCells,
|
||||
me.pmiFilterCells,
|
||||
me.pmiReapply,
|
||||
{caption: '--'},
|
||||
me.pmiAddComment,
|
||||
me.pmiCellMenuSeparator,
|
||||
|
@ -629,7 +661,13 @@ define([
|
|||
insertColumnRightText : 'Insert Column Right',
|
||||
deleteRowText : 'Delete Row',
|
||||
deleteColumnText : 'Delete Column',
|
||||
deleteTableText : 'Delete Table'
|
||||
|
||||
deleteTableText : 'Delete Table',
|
||||
txtFilter: 'Filter',
|
||||
txtFilterValue: 'Filter by Selected cell\'s value',
|
||||
txtFilterCellColor: 'Filter by cell\'s color',
|
||||
txtFilterFontColor: 'Filter by font color',
|
||||
txtReapply: 'Reapply',
|
||||
txtSortCellColor: 'Selected Cell Color on top',
|
||||
txtSortFontColor: 'Selected Font Color on top'
|
||||
}, SSE.Views.DocumentHolder || {}));
|
||||
});
|
|
@ -1454,13 +1454,13 @@ define([
|
|||
caption : me.txtSortAZ,
|
||||
iconCls : 'mnu-sort-asc',
|
||||
lock : [_set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.coAuth, _set.ruleFilter],
|
||||
value : 'ascending'
|
||||
value : Asc.c_oAscSortOptions.Ascending
|
||||
}),
|
||||
me.mnuitemSortZA = new Common.UI.MenuItem({
|
||||
caption : me.txtSortZA,
|
||||
iconCls : 'mnu-sort-desc',
|
||||
lock : [_set.selChart, _set.selChartText, _set.selShape, _set.selShapeText, _set.selImage, _set.coAuth, _set.ruleFilter],
|
||||
value : 'descending'
|
||||
value : Asc.c_oAscSortOptions.Descending
|
||||
}),
|
||||
me.mnuitemAutoFilter = new Common.UI.MenuItem({
|
||||
caption : me.txtFilter,
|
||||
|
|
|
@ -245,6 +245,34 @@
|
|||
"SSE.Views.AutoFilterDialog.txtEmpty": "Enter cell filter",
|
||||
"SSE.Views.AutoFilterDialog.txtTitle": "Filter",
|
||||
"SSE.Views.AutoFilterDialog.warnNoSelected": "You must choose at least one value",
|
||||
"SSE.Views.AutoFilterDialog.txtSortLow2High": "Sort Lowest to Highest",
|
||||
"SSE.Views.AutoFilterDialog.txtSortHigh2Low": "Sort Highest to Lowest",
|
||||
"SSE.Views.AutoFilterDialog.txtSortCellColor": "Sort by cells color",
|
||||
"SSE.Views.AutoFilterDialog.txtSortFontColor": "Sort by font color",
|
||||
"SSE.Views.AutoFilterDialog.txtNumFilter": "Number filter",
|
||||
"SSE.Views.AutoFilterDialog.txtTextFilter": "Text filter",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterCellColor": "Filter by cells color",
|
||||
"SSE.Views.AutoFilterDialog.txtFilterFontColor": "Filter by font color",
|
||||
"SSE.Views.AutoFilterDialog.txtClear": "Clear",
|
||||
"SSE.Views.AutoFilterDialog.txtReapply": "Reapply",
|
||||
"SSE.Views.AutoFilterDialog.txtEquals": "Equals...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEquals": "Does not equal...",
|
||||
"SSE.Views.AutoFilterDialog.txtGreater": "Greater than...",
|
||||
"SSE.Views.AutoFilterDialog.txtGreaterEquals": "Greater than or equal to...",
|
||||
"SSE.Views.AutoFilterDialog.txtLess": "Less than...",
|
||||
"SSE.Views.AutoFilterDialog.txtLessEquals": "Less than or equal to...",
|
||||
"SSE.Views.AutoFilterDialog.txtBetween": "Between...",
|
||||
"SSE.Views.AutoFilterDialog.txtTop10": "Top 10",
|
||||
"SSE.Views.AutoFilterDialog.txtAboveAve": "Above average",
|
||||
"SSE.Views.AutoFilterDialog.txtBelowAve": "Below average",
|
||||
"SSE.Views.AutoFilterDialog.txtBegins": "Begins with...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotBegins": "Does not begin with...",
|
||||
"SSE.Views.AutoFilterDialog.txtEnds": "Ends with...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotEnds": "Does not end with...",
|
||||
"SSE.Views.AutoFilterDialog.txtContains": "Contains...",
|
||||
"SSE.Views.AutoFilterDialog.txtNotContains": "Does not contain...",
|
||||
"SSE.Views.AutoFilterDialog.textSelectAllResults": "Select All Search Results",
|
||||
"SSE.Views.AutoFilterDialog.textAddSelection": "Add current selection to filter",
|
||||
"SSE.Views.CellEditor.textManager": "Name Manager",
|
||||
"SSE.Views.CellEditor.tipFormula": "Insert Function",
|
||||
"SSE.Views.CellRangeDialog.errorMaxRows": "ERROR! The maximum number of data series per chart is 255",
|
||||
|
@ -458,6 +486,13 @@
|
|||
"SSE.Views.DocumentHolder.deleteRowText": "Delete Row",
|
||||
"SSE.Views.DocumentHolder.deleteColumnText": "Delete Column",
|
||||
"SSE.Views.DocumentHolder.deleteTableText": "Delete Table",
|
||||
"SSE.Views.DocumentHolder.txtFilter": "Filter",
|
||||
"SSE.Views.DocumentHolder.txtFilterValue": "Filter by Selected cell's value",
|
||||
"SSE.Views.DocumentHolder.txtFilterCellColor": "Filter by cell's color",
|
||||
"SSE.Views.DocumentHolder.txtFilterFontColor": "Filter by font color",
|
||||
"SSE.Views.DocumentHolder.txtReapply": "Reapply",
|
||||
"SSE.Views.DocumentHolder.txtSortCellColor": "Selected Cell Color on top",
|
||||
"SSE.Views.DocumentHolder.txtSortFontColor": "Selected Font Color on top",
|
||||
"SSE.Views.FileMenu.btnBackCaption": "Go to Documents",
|
||||
"SSE.Views.FileMenu.btnCreateNewCaption": "Create New",
|
||||
"SSE.Views.FileMenu.btnDownloadCaption": "Download as...",
|
||||
|
@ -1087,5 +1122,13 @@
|
|||
"SSE.Views.Toolbar.txtText": "Text",
|
||||
"SSE.Views.Toolbar.txtTime": "Time",
|
||||
"SSE.Views.Toolbar.txtUnmerge": "Unmerge Cells",
|
||||
"SSE.Views.Toolbar.txtYen": "¥ Yen"
|
||||
"SSE.Views.Toolbar.txtYen": "¥ Yen",
|
||||
"SSE.Views.Top10FilterDialog.cancelButtonText": "Cancel",
|
||||
"SSE.Views.Top10FilterDialog.okButtonText": "OK",
|
||||
"SSE.Views.Top10FilterDialog.txtTitle": "Top 10 AutoFilter",
|
||||
"SSE.Views.Top10FilterDialog.textType": "Show",
|
||||
"SSE.Views.Top10FilterDialog.txtTop": "Top",
|
||||
"SSE.Views.Top10FilterDialog.txtBottom": "Bottom",
|
||||
"SSE.Views.Top10FilterDialog.txtItems": "Item",
|
||||
"SSE.Views.Top10FilterDialog.txtPercent": "Percent"
|
||||
}
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
.combo-values {
|
||||
width: 100%;
|
||||
height: 265px;
|
||||
height: 162px;
|
||||
overflow: hidden;
|
||||
|
||||
.list-item {
|
||||
|
@ -53,6 +53,16 @@
|
|||
}
|
||||
}
|
||||
|
||||
#menu-container-filters > .dropdown-menu {
|
||||
position: inherit !important;
|
||||
left: 0 !important;
|
||||
top: 0 !important;
|
||||
width: 100%;
|
||||
display: inline-block;
|
||||
.box-shadow(none);
|
||||
border: none;
|
||||
}
|
||||
|
||||
.btn-placeholder {
|
||||
// background-color: red;
|
||||
display: inline-block;
|
||||
|
|
Loading…
Reference in a new issue