[DE] Show recent bullets in list settings
This commit is contained in:
parent
df69d7168e
commit
91b5215a69
|
@ -50,6 +50,7 @@ define([
|
||||||
'common/main/lib/component/ComboBox',
|
'common/main/lib/component/ComboBox',
|
||||||
'common/main/lib/view/SymbolTableDialog'
|
'common/main/lib/view/SymbolTableDialog'
|
||||||
], function () { 'use strict';
|
], function () { 'use strict';
|
||||||
|
var nMaxRecent = 5;
|
||||||
|
|
||||||
DE.Views.ListSettingsDialog = Common.UI.Window.extend(_.extend({
|
DE.Views.ListSettingsDialog = Common.UI.Window.extend(_.extend({
|
||||||
options: {
|
options: {
|
||||||
|
@ -221,6 +222,7 @@ define([
|
||||||
lvlIndexes: []
|
lvlIndexes: []
|
||||||
};
|
};
|
||||||
this.spinners = [];
|
this.spinners = [];
|
||||||
|
this.recentBullets = [];
|
||||||
|
|
||||||
Common.UI.Window.prototype.initialize.call(this, this.options);
|
Common.UI.Window.prototype.initialize.call(this, this.options);
|
||||||
},
|
},
|
||||||
|
@ -279,7 +281,6 @@ define([
|
||||||
'</div>'
|
'</div>'
|
||||||
]);
|
]);
|
||||||
this._arrNumbers = [
|
this._arrNumbers = [
|
||||||
{ displayValue: this.txtNone, value: Asc.c_oAscNumberingFormat.None },
|
|
||||||
{ displayValue: '1, 2, 3,...', value: Asc.c_oAscNumberingFormat.Decimal },
|
{ displayValue: '1, 2, 3,...', value: Asc.c_oAscNumberingFormat.Decimal },
|
||||||
{ displayValue: 'a, b, c,...', value: Asc.c_oAscNumberingFormat.LowerLetter },
|
{ displayValue: 'a, b, c,...', value: Asc.c_oAscNumberingFormat.LowerLetter },
|
||||||
{ displayValue: 'A, B, C,...', value: Asc.c_oAscNumberingFormat.UpperLetter },
|
{ displayValue: 'A, B, C,...', value: Asc.c_oAscNumberingFormat.UpperLetter },
|
||||||
|
@ -300,18 +301,20 @@ define([
|
||||||
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "Ø", font: 'Wingdings' },
|
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "Ø", font: 'Wingdings' },
|
||||||
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "ü", font: 'Wingdings' },
|
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "ü", font: 'Wingdings' },
|
||||||
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "¨", font: 'Symbol' },
|
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "¨", font: 'Symbol' },
|
||||||
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "–", font: 'Arial' },
|
{ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: "–", font: 'Arial' }
|
||||||
{ displayValue: this.txtNewBullet, value: -1 }
|
|
||||||
];
|
];
|
||||||
|
this._itemNoneBullet = { displayValue: this.txtNone, value: Asc.c_oAscNumberingFormat.None };
|
||||||
|
this._itemNewBullet = { displayValue: this.txtNewBullet, value: -1 };
|
||||||
|
this.loadRecent();
|
||||||
this.cmbFormat = new Common.UI.ComboBoxCustom({
|
this.cmbFormat = new Common.UI.ComboBoxCustom({
|
||||||
el : $window.find('#id-dlg-numbering-format'),
|
el : $window.find('#id-dlg-numbering-format'),
|
||||||
menuStyle : 'min-width: 100%;max-height: 220px;',
|
menuStyle : 'min-width: 100%;max-height: 220px;',
|
||||||
style : this.type==2 ? "width: 107px;" : "width: 129px;",
|
style : this.type===2 ? "width: 107px;" : "width: 129px;",
|
||||||
editable : false,
|
editable : false,
|
||||||
template : _.template(template.join('')),
|
template : _.template(template.join('')),
|
||||||
itemsTemplate: _.template(itemsTemplate.join('')),
|
itemsTemplate: _.template(itemsTemplate.join('')),
|
||||||
takeFocusOnClose: true,
|
takeFocusOnClose: true,
|
||||||
data : this.type==0 ? this._arrBullets : this._arrNumbers,
|
data : this.type===1 ? [this._itemNoneBullet].concat(this._arrNumbers) : [],
|
||||||
updateFormControl: function(record) {
|
updateFormControl: function(record) {
|
||||||
var formcontrol = $(this.el).find('.form-control');
|
var formcontrol = $(this.el).find('.form-control');
|
||||||
if (record) {
|
if (record) {
|
||||||
|
@ -345,14 +348,12 @@ define([
|
||||||
if (record.value == Asc.c_oAscNumberingFormat.Bullet) {
|
if (record.value == Asc.c_oAscNumberingFormat.Bullet) {
|
||||||
this.bulletProps.font = record.font;
|
this.bulletProps.font = record.font;
|
||||||
this.bulletProps.symbol = record.symbol;
|
this.bulletProps.symbol = record.symbol;
|
||||||
if (!this._changedProps.get_TextPr()) this._changedProps.put_TextPr(new AscCommonWord.CTextPr());
|
this._changedProps.put_FontFamily(this.bulletProps.font);
|
||||||
this._changedProps.get_TextPr().put_FontFamily(this.bulletProps.font);
|
|
||||||
|
|
||||||
this._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
this._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
||||||
this._changedProps.get_Text()[0].put_Value(this.bulletProps.symbol);
|
this._changedProps.get_Text()[0].put_Value(this.bulletProps.symbol);
|
||||||
} else if (oldformat == Asc.c_oAscNumberingFormat.Bullet) {
|
} else if (oldformat == Asc.c_oAscNumberingFormat.Bullet) {
|
||||||
if (!this._changedProps.get_TextPr()) this._changedProps.put_TextPr(new AscCommonWord.CTextPr());
|
this._changedProps.put_FontFamily(undefined);
|
||||||
this._changedProps.get_TextPr().put_FontFamily(undefined);
|
|
||||||
|
|
||||||
this._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
this._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
||||||
this._changedProps.get_Text()[0].put_Type(Asc.c_oAscNumberingLvlTextType.Num);
|
this._changedProps.get_Text()[0].put_Type(Asc.c_oAscNumberingLvlTextType.Num);
|
||||||
|
@ -699,8 +700,7 @@ define([
|
||||||
props.symbol = settings.symbol;
|
props.symbol = settings.symbol;
|
||||||
if (me._changedProps) {
|
if (me._changedProps) {
|
||||||
me._changedProps.put_Format(Asc.c_oAscNumberingFormat.Bullet);
|
me._changedProps.put_Format(Asc.c_oAscNumberingFormat.Bullet);
|
||||||
if (!me._changedProps.get_TextPr()) me._changedProps.put_TextPr(new AscCommonWord.CTextPr());
|
me._changedProps.put_FontFamily(props.font);
|
||||||
me._changedProps.get_TextPr().put_FontFamily(props.font);
|
|
||||||
|
|
||||||
me._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
me._changedProps.put_Text([new Asc.CAscNumberingLvlText()]);
|
||||||
me._changedProps.get_Text()[0].put_Value(props.symbol);
|
me._changedProps.get_Text()[0].put_Value(props.symbol);
|
||||||
|
@ -754,9 +754,10 @@ define([
|
||||||
this.levels[this.level] = levelProps || new Asc.CAscNumberingLvl(this.level);
|
this.levels[this.level] = levelProps || new Asc.CAscNumberingLvl(this.level);
|
||||||
|
|
||||||
if (this.type==2) {
|
if (this.type==2) {
|
||||||
var store = this.cmbFormat.store;
|
// var store = this.cmbFormat.store;
|
||||||
store.push(this._arrBullets);
|
// store.push(this._arrBullets);
|
||||||
this.cmbFormat.setData(store.models);
|
// store.push(this._itemNewBullet);
|
||||||
|
// this.cmbFormat.setData(store.models);
|
||||||
this.levelsList.selectByIndex(this.level);
|
this.levelsList.selectByIndex(this.level);
|
||||||
} else
|
} else
|
||||||
this.fillLevelProps(this.levels[this.level]);
|
this.fillLevelProps(this.levels[this.level]);
|
||||||
|
@ -776,6 +777,8 @@ define([
|
||||||
fillLevelProps: function(levelProps) {
|
fillLevelProps: function(levelProps) {
|
||||||
if (!levelProps) return;
|
if (!levelProps) return;
|
||||||
|
|
||||||
|
var me = this;
|
||||||
|
|
||||||
this.cmbAlign.setValue((levelProps.get_Align()!==undefined) ? levelProps.get_Align() : '');
|
this.cmbAlign.setValue((levelProps.get_Align()!==undefined) ? levelProps.get_Align() : '');
|
||||||
var format = levelProps.get_Format(),
|
var format = levelProps.get_Format(),
|
||||||
text = levelProps.get_Text();
|
text = levelProps.get_Text();
|
||||||
|
@ -820,17 +823,27 @@ define([
|
||||||
}
|
}
|
||||||
this.btnColor.setColor(color);
|
this.btnColor.setColor(color);
|
||||||
|
|
||||||
if (format == Asc.c_oAscNumberingFormat.Bullet) {
|
if (this.type===1) { // numbers
|
||||||
if (!this.cmbFormat.store.findWhere({value: Asc.c_oAscNumberingFormat.Bullet, symbol: this.bulletProps.symbol, font: this.bulletProps.font}))
|
|
||||||
this.cmbFormat.store.add({ displayValue: this.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: this.bulletProps.symbol, font: this.bulletProps.font }, {at: this.cmbFormat.store.length-1});
|
|
||||||
this.cmbFormat.setData(this.cmbFormat.store.models);
|
|
||||||
this.cmbFormat.selectRecord(this.cmbFormat.store.findWhere({value: Asc.c_oAscNumberingFormat.Bullet, symbol: this.bulletProps.symbol, font: this.bulletProps.font}));
|
|
||||||
} else
|
|
||||||
this.cmbFormat.setValue((format!==undefined) ? format : '');
|
this.cmbFormat.setValue((format!==undefined) ? format : '');
|
||||||
|
|
||||||
if (this.type===1) {
|
|
||||||
this.makeFormatStr(levelProps);
|
this.makeFormatStr(levelProps);
|
||||||
} else if (this.type===2) {
|
} else {
|
||||||
|
if (format == Asc.c_oAscNumberingFormat.Bullet || this.cmbFormat.store.length<1) {
|
||||||
|
this.checkRecent(this.bulletProps.symbol, this.bulletProps.font);
|
||||||
|
var store = (this.type===2) ? [this._itemNoneBullet].concat(this._arrNumbers) : [];
|
||||||
|
store = store.concat(this._arrBullets);
|
||||||
|
this.recentBullets.forEach(function(item) {
|
||||||
|
store.push({ displayValue: me.txtSymbol + ': ', value: Asc.c_oAscNumberingFormat.Bullet, symbol: item.symbol, font: item.font });
|
||||||
|
});
|
||||||
|
store.push(this._itemNewBullet);
|
||||||
|
this.cmbFormat.setData(store);
|
||||||
|
}
|
||||||
|
if (format == Asc.c_oAscNumberingFormat.Bullet)
|
||||||
|
this.cmbFormat.selectRecord(this.cmbFormat.store.findWhere({value: Asc.c_oAscNumberingFormat.Bullet, symbol: this.bulletProps.symbol, font: this.bulletProps.font}));
|
||||||
|
else
|
||||||
|
this.cmbFormat.setValue((format!==undefined) ? format : '');
|
||||||
|
}
|
||||||
|
|
||||||
|
if (this.type===2) {
|
||||||
this.spnStart.setValue(levelProps.get_Start(), true);
|
this.spnStart.setValue(levelProps.get_Start(), true);
|
||||||
this.spnAlign.setValue(Common.Utils.Metric.fnRecalcFromMM(levelProps.get_NumberPosition()), true);
|
this.spnAlign.setValue(Common.Utils.Metric.fnRecalcFromMM(levelProps.get_NumberPosition()), true);
|
||||||
this.spnIndents.setValue(Common.Utils.Metric.fnRecalcFromMM(levelProps.get_IndentSize()), true);
|
this.spnIndents.setValue(Common.Utils.Metric.fnRecalcFromMM(levelProps.get_IndentSize()), true);
|
||||||
|
@ -839,9 +852,6 @@ define([
|
||||||
|
|
||||||
this.txtNumFormat.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
this.txtNumFormat.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
||||||
this.spnStart.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
this.spnStart.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
||||||
// this.cmbFonts.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
|
||||||
// this.btnBold.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
|
||||||
// this.btnItalic.setDisabled(format == Asc.c_oAscNumberingFormat.Bullet);
|
|
||||||
this.chRestart.setDisabled(this.level===0);
|
this.chRestart.setDisabled(this.level===0);
|
||||||
|
|
||||||
var arr = [];
|
var arr = [];
|
||||||
|
@ -1057,6 +1067,45 @@ define([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
loadRecent: function(){
|
||||||
|
var sRecents = Common.localStorage.getItem('de-recent-bullets');
|
||||||
|
if(sRecents !== ''){
|
||||||
|
sRecents = JSON.parse(sRecents);
|
||||||
|
}
|
||||||
|
if(_.isArray(sRecents)){
|
||||||
|
this.recentBullets = sRecents;
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
saveRecent: function(){
|
||||||
|
var sJSON = JSON.stringify(this.recentBullets);
|
||||||
|
Common.localStorage.setItem('de-recent-bullets', sJSON);
|
||||||
|
},
|
||||||
|
|
||||||
|
checkRecent: function(sSymbol, sFont){
|
||||||
|
for(var i = 0; i < this._arrBullets.length; ++i){
|
||||||
|
if(this._arrBullets[i].symbol === sSymbol && this._arrBullets[i].font === sFont){
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(this.recentBullets.length === 0){
|
||||||
|
this.recentBullets.push({symbol: sSymbol, font: sFont});
|
||||||
|
this.saveRecent();
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
for(var i = 0; i < this.recentBullets.length; ++i){
|
||||||
|
if(this.recentBullets[i].symbol === sSymbol && this.recentBullets[i].font === sFont){
|
||||||
|
this.recentBullets.splice(i, 1);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
this.recentBullets.splice(0, 0, {symbol: sSymbol, font: sFont});
|
||||||
|
if(this.recentBullets.length > nMaxRecent){
|
||||||
|
this.recentBullets.splice(nMaxRecent, this.recentBullets.length - nMaxRecent);
|
||||||
|
}
|
||||||
|
this.saveRecent();
|
||||||
|
},
|
||||||
|
|
||||||
txtTitle: 'List Settings',
|
txtTitle: 'List Settings',
|
||||||
txtSize: 'Size',
|
txtSize: 'Size',
|
||||||
txtColor: 'Color',
|
txtColor: 'Color',
|
||||||
|
|
Loading…
Reference in a new issue