108 lines
2.0 KiB
JavaScript
108 lines
2.0 KiB
JavaScript
Ext.define('LabelSetupPanel', {
|
|
extend: 'Ext.panel.Panel',
|
|
alias: 'widget.labelSetupPanel',
|
|
|
|
layout: {
|
|
type: 'hbox',
|
|
align: 'stretch',
|
|
pack: 'start',
|
|
},
|
|
|
|
getValues: function() {
|
|
let me = this;
|
|
|
|
let values = {};
|
|
|
|
Ext.Array.each(me.query('[isFormField]'), function(field) {
|
|
let data = field.getSubmitData();
|
|
Ext.Object.each(data, function(name, val) {
|
|
let parsed = parseInt(val, 10);
|
|
values[name] = isNaN(parsed) ? val : parsed;
|
|
});
|
|
});
|
|
|
|
return values;
|
|
},
|
|
|
|
controller: {
|
|
xclass: 'Ext.app.ViewController',
|
|
|
|
init: function() {
|
|
let me = this;
|
|
let view = me.getView();
|
|
let list = view.down("labelList");
|
|
let store = list.getStore();
|
|
store.on('datachanged', function(store) {
|
|
view.fireEvent("listchanged", store);
|
|
});
|
|
store.on('update', function(store) {
|
|
view.fireEvent("listchanged", store);
|
|
});
|
|
},
|
|
|
|
onAdd: function() {
|
|
let list = this.lookupReference('label_list');
|
|
let view = this.getView();
|
|
let params = view.getValues();
|
|
list.getStore().add(params);
|
|
},
|
|
},
|
|
|
|
items: [
|
|
{
|
|
border: false,
|
|
layout: {
|
|
type: 'vbox',
|
|
align: 'stretch',
|
|
pack: 'start',
|
|
},
|
|
items: [
|
|
{
|
|
xtype: 'prefixfield',
|
|
name: 'prefix',
|
|
value: 'TEST',
|
|
fieldLabel: 'Prefix',
|
|
},
|
|
{
|
|
xtype: 'ltoTapeType',
|
|
name: 'tape_type',
|
|
fieldLabel: 'Type',
|
|
value: 'L8',
|
|
},
|
|
{
|
|
xtype: 'ltoLabelStyle',
|
|
name: 'mode',
|
|
fieldLabel: 'Mode',
|
|
value: 'color',
|
|
},
|
|
{
|
|
xtype: 'numberfield',
|
|
name: 'start',
|
|
fieldLabel: 'Start',
|
|
minValue: 0,
|
|
allowBlank: false,
|
|
value: 0,
|
|
},
|
|
{
|
|
xtype: 'numberfield',
|
|
name: 'end',
|
|
fieldLabel: 'End',
|
|
minValue: 0,
|
|
emptyText: 'Fill',
|
|
},
|
|
{
|
|
xtype: 'button',
|
|
text: 'Add',
|
|
handler: 'onAdd',
|
|
},
|
|
],
|
|
},
|
|
{
|
|
margin: "0 0 0 10",
|
|
xtype: 'labelList',
|
|
reference: 'label_list',
|
|
flex: 1,
|
|
},
|
|
],
|
|
});
|