Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
W
web-apps
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
web-apps
Commits
ad7d6b71
Commit
ad7d6b71
authored
May 18, 2016
by
Julia Radzhabova
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #8 from ONLYOFFICE/feature/sse-filter-settings
Feature/sse filter settings
parents
cfa19d3a
a52c65e6
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
1163 additions
and
212 deletions
+1163
-212
apps/common/main/lib/component/ColorPaletteExt.js
apps/common/main/lib/component/ColorPaletteExt.js
+213
-0
apps/common/main/resources/less/asc-mixins.less
apps/common/main/resources/less/asc-mixins.less
+1
-1
apps/common/main/resources/less/colorpalette.less
apps/common/main/resources/less/colorpalette.less
+42
-0
apps/spreadsheeteditor/main/app/controller/DocumentHolder.js
apps/spreadsheeteditor/main/app/controller/DocumentHolder.js
+54
-9
apps/spreadsheeteditor/main/app/controller/Toolbar.js
apps/spreadsheeteditor/main/app/controller/Toolbar.js
+4
-4
apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js
apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js
+750
-190
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
+42
-4
apps/spreadsheeteditor/main/app/view/Toolbar.js
apps/spreadsheeteditor/main/app/view/Toolbar.js
+2
-2
apps/spreadsheeteditor/main/locale/en.json
apps/spreadsheeteditor/main/locale/en.json
+44
-1
apps/spreadsheeteditor/main/resources/less/filterdialog.less
apps/spreadsheeteditor/main/resources/less/filterdialog.less
+11
-1
No files found.
apps/common/main/lib/component/ColorPaletteExt.js
0 → 100644
View file @
ad7d6b71
/**
* 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
;
}
});
});
\ No newline at end of file
apps/common/main/resources/less/asc-mixins.less
View file @
ad7d6b71
...
...
@@ -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
...
...
apps/common/main/resources/less/colorpalette.less
View file @
ad7d6b71
...
...
@@ -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;
}
}
}
\ No newline at end of file
apps/spreadsheeteditor/main/app/controller/DocumentHolder.js
View file @
ad7d6b71
...
...
@@ -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
[
1
3
].
setVisible
(
iscellmenu
&&
!
iscelledit
&&
this
.
permissions
.
canCoAuthoring
&&
this
.
permissions
.
canComments
);
documentHolder
.
ssMenu
.
items
[
1
6
].
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
;
...
...
apps/spreadsheeteditor/main/app/controller/Toolbar.js
View file @
ad7d6b71
...
...
@@ -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
));
...
...
apps/spreadsheeteditor/main/app/view/AutoFilterDialog.js
View file @
ad7d6b71
This diff is collapsed.
Click to expand it.
apps/spreadsheeteditor/main/app/view/DocumentHolder.js
View file @
ad7d6b71
...
...
@@ -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
||
{}));
});
\ No newline at end of file
apps/spreadsheeteditor/main/app/view/Toolbar.js
View file @
ad7d6b71
...
...
@@ -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
,
...
...
apps/spreadsheeteditor/main/locale/en.json
View file @
ad7d6b71
...
...
@@ -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"
}
\ No newline at end of file
apps/spreadsheeteditor/main/resources/less/filterdialog.less
View file @
ad7d6b71
...
...
@@ -2,7 +2,7 @@
.combo-values {
width: 100%;
height:
265
px;
height:
162
px;
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;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment