add LTO barcode generator App
This commit is contained in:
142
docs/lto-barcode/page-calibration.js
Normal file
142
docs/lto-barcode/page-calibration.js
Normal file
@ -0,0 +1,142 @@
|
||||
Ext.define('PageCalibration', {
|
||||
extend: 'Ext.panel.Panel',
|
||||
alias: 'widget.pageCalibration',
|
||||
|
||||
layout: {
|
||||
type: 'hbox',
|
||||
align: 'stretch',
|
||||
pack: 'start',
|
||||
},
|
||||
|
||||
getValues: function() {
|
||||
let me = this;
|
||||
|
||||
let values = {};
|
||||
|
||||
Ext.Array.each(me.query('[isFormField]'), function(field) {
|
||||
if (field.isValid()) {
|
||||
let data = field.getSubmitData();
|
||||
Ext.Object.each(data, function(name, val) {
|
||||
let parsed = parseFloat(val, 10);
|
||||
values[name] = isNaN(parsed) ? val : parsed;
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
if (values.d_x === undefined) { return; }
|
||||
if (values.d_y === undefined) { return; }
|
||||
if (values.s_x === undefined) { return; }
|
||||
if (values.s_y === undefined) { return; }
|
||||
|
||||
scalex = 100/values.d_x;
|
||||
scaley = 100/values.d_y;
|
||||
|
||||
let offsetx = ((50*scalex) - values.s_x)/scalex;
|
||||
let offsety = ((50*scaley) - values.s_y)/scaley;
|
||||
|
||||
return {
|
||||
scalex: scalex,
|
||||
scaley: scaley,
|
||||
offsetx: offsetx,
|
||||
offsety: offsety,
|
||||
};
|
||||
},
|
||||
|
||||
controller: {
|
||||
xclass: 'Ext.app.ViewController',
|
||||
|
||||
control: {
|
||||
'field': {
|
||||
change: function() {
|
||||
let view = this.getView();
|
||||
let param = view.getValues();
|
||||
view.fireEvent("calibrationchanged", param);
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
|
||||
items: [
|
||||
{
|
||||
border: false,
|
||||
layout: {
|
||||
type: 'vbox',
|
||||
align: 'stretch',
|
||||
pack: 'start',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
value: 'a4',
|
||||
fieldLabel: 'Start Offset Sx (mm)',
|
||||
labelWidth: 150,
|
||||
value: 50,
|
||||
},
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
value: 'a4',
|
||||
fieldLabel: 'Length Dx (mm)',
|
||||
labelWidth: 150,
|
||||
value: 100,
|
||||
},
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
value: 'a4',
|
||||
fieldLabel: 'Start Offset Sy (mm)',
|
||||
labelWidth: 150,
|
||||
value: 50,
|
||||
},
|
||||
{
|
||||
xtype: 'displayfield',
|
||||
value: 'a4',
|
||||
fieldLabel: 'Length Dy (mm)',
|
||||
labelWidth: 150,
|
||||
value: 100,
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
border: false,
|
||||
margin: '0 0 0 20',
|
||||
layout: {
|
||||
type: 'vbox',
|
||||
align: 'stretch',
|
||||
pack: 'start',
|
||||
},
|
||||
items: [
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
value: 'a4',
|
||||
name: 's_x',
|
||||
fieldLabel: 'Meassured Start Offset Sx (mm)',
|
||||
allowBlank: false,
|
||||
labelWidth: 200,
|
||||
},
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
value: 'a4',
|
||||
name: 'd_x',
|
||||
fieldLabel: 'Meassured Length Dx (mm)',
|
||||
allowBlank: false,
|
||||
labelWidth: 200,
|
||||
},
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
value: 'a4',
|
||||
name: 's_y',
|
||||
fieldLabel: 'Meassured Start Offset Sy (mm)',
|
||||
allowBlank: false,
|
||||
labelWidth: 200,
|
||||
},
|
||||
{
|
||||
xtype: 'numberfield',
|
||||
value: 'a4',
|
||||
name: 'd_y',
|
||||
fieldLabel: 'Meassured Length Dy (mm)',
|
||||
allowBlank: false,
|
||||
labelWidth: 200,
|
||||
},
|
||||
],
|
||||
},
|
||||
],
|
||||
})
|
Reference in New Issue
Block a user