const paper_sizes = { a4: { comment: 'A4 (plain)', page_width: 210, page_height: 297, }, letter: { comment: 'Letter (plain)', page_width: 215.9, page_height: 279.4, }, avery3420: { fixed: true, comment: 'Avery Zweckform 3420', page_width: 210, page_height: 297, label_width: 70, label_height: 16.9, margin_left: 0, margin_top: 5, column_spacing: 0, row_spacing: 0, }, }; function paper_size_combo_data() { let data = []; for (let [key, value] of Object.entries(paper_sizes)) { data.push({ value: key, text: value.comment }); } return data; } Ext.define('PaperSize', { extend: 'Ext.form.field.ComboBox', alias: 'widget.paperSize', editable: false, displayField: 'text', valueField: 'value', queryMode: 'local', store: { field: ['value', 'text'], data: paper_size_combo_data(), }, });