/**
*
* NamedRangePasteDlg.js
*
* Created by Julia.Radzhabova on 05.06.15
* Copyright (c) 2014 Ascensio System SIA. All rights reserved.
*
*/
define([
'common/main/lib/view/AdvancedSettingsWindow',
'common/main/lib/component/ListView'
], function () {
'use strict';
SSE.Views = SSE.Views || {};
SSE.Views.NamedRangePasteDlg = Common.Views.AdvancedSettingsWindow.extend(_.extend({
options: {
alias: 'NamedRangePasteDlg',
contentWidth: 250,
height: 282
},
initialize: function (options) {
var me = this;
_.extend(this.options, {
title: this.txtTitle,
template: [
'
',
'
',
'
',
'
',
'',
'',
'',
'',
' | ',
'
',
'
',
'
',
'
',
'
',
'',
''
].join('')
}, options);
this.handler = options.handler;
this.ranges = options.ranges || [];
Common.Views.AdvancedSettingsWindow.prototype.initialize.call(this, this.options);
},
render: function () {
Common.Views.AdvancedSettingsWindow.prototype.render.call(this);
var me = this;
this.rangeList = new Common.UI.ListView({
el: $('#named-range-paste-list', this.$window),
store: new Common.UI.DataViewStore(),
simpleAddMode: true,
template: _.template([''].join('')),
itemTemplate: _.template([
''
].join(''))
});
this.rangeList.store.comparator = function(item1, item2) {
var n1 = item1.get('name').toLowerCase(),
n2 = item2.get('name').toLowerCase();
if (n1==n2) return 0;
return (n10)
this.rangeList.selectByIndex(0);
this.rangeList.scroller.update({alwaysVisibleY: true});
_.delay(function () {
me.rangeList.cmpEl.find('.listview').focus();
}, 100, this);
}
},
getSettings: function() {
var rec = this.rangeList.getSelectedRec();
return (rec.length>0) ? (new Asc.asc_CDefName(rec[0].get('name'), rec[0].get('range'), rec[0].get('scope'), rec[0].get('isTable'))) : null;
},
onPrimary: function() {
this.handler && this.handler.call(this, 'ok', this.getSettings());
this.close();
return false;
},
onDlgBtnClick: function(event) {
var state = event.currentTarget.attributes['result'].value;
this.handler && this.handler.call(this, state, (state == 'ok') ? this.getSettings() : undefined);
this.close();
},
onDblClickFunction: function () {
this.handler && this.handler.call(this, 'ok', this.getSettings());
this.close();
},
txtTitle: 'Paste Name',
cancelButtonText : 'Cancel',
okButtonText : 'Ok',
textNames: 'Named Ranges'
}, SSE.Views.NamedRangePasteDlg || {}));
});