UNPKG

ucan-ext-js-kitchen-sink

Version:

my-ext-gen-app description for Ext JS app MyExtGenApp

167 lines (160 loc) 4.89 kB
Ext.define('UCAN.aboutDialog.src.aboutDialog', { extend: 'Ext.Dialog', xtype: 'ucanAboutDialog', reference: 'aboutDialog', cls: 'ucan-about-dialog', viewModel: {}, closable: true, hideOnMaskTap: true, focusable: true, maximizable: true, scrollable: true, header: false, defaultListenerScope: this, referenceHolder: true, layout: 'hbox', config: { url: null, icon: null, tool: 'Unknown', whatIsNew: null, poweredBy: null, translator: { version: 'Version', max_memory: 'Maximum memory', used_memory: 'Used memory', variant: 'Variant', os: 'Operating system', what_is_new: 'What is new?', powered_by: 'Powered by Institute for Communication and Assessment Research', new_tab_open: 'Open in new tab', dialog_close: 'Close', unknown: 'Unknown' } }, publishes: { url: null, icon: true, tool: true, whatIsNew: true, poweredBy: true, translator: true }, items: [ { bind: '<img src="{aboutDialog.icon}" style="width:64px; height:auto; transform:translateY(25%);">', }, { xtype: 'spacer', width: '16px' }, { layout: 'vbox', items: [ { bind: '<h1>{aboutDialog.tool}</h1>', cls: 'ucan-about-dialog-container-header' }, { reference: 'version', bind: '{aboutDialog.translator.version}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { reference: 'what-is-new', bind: { html: '<a title="{aboutDialog.translator.new_tab_open}" href="{aboutDialog.whatIsNew}" target="_blank">{aboutDialog.translator.what_is_new}</a>' }, cls: 'ucan-about-dialog-container-info' }, { xtype: 'spacer', height: '14px', width: '0px' }, { reference: 'used-memory', bind: '{aboutDialog.translator.used_memory}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { reference: 'max-memory', bind: '{aboutDialog.translator.max_memory}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { xtype: 'spacer', height: '14px', width: '0px' }, { reference: 'java-variant', bind: 'Java {aboutDialog.translator.variant}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { reference: 'java-version', bind: 'Java {aboutDialog.translator.version}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { xtype: 'spacer', height: '14px', width: '0px' }, { reference: 'os', bind: '{aboutDialog.translator.os}: {aboutDialog.translator.unknown}', cls: 'ucan-about-dialog-container-info' }, { xtype: 'spacer', height: '14px', width: '0px' }, { reference: 'powered-by', bind: { html: '<a title="{aboutDialog.translator.new_tab_open}" href="{aboutDialog.poweredBy}" target="_blank">{aboutDialog.translator.powered_by}</a>' }, cls: 'ucan-about-dialog-container-info' } ] } ], buttons: { close: { bind: '{aboutDialog.translator.dialog_close}', handler: function(button) { button.up().up().destroy(); } } }, maskTapHandler: function(dialog) { dialog.destroy(); }, listeners: { initialize: function(me) { if (!Ext.isEmpty(this.getUrl())) { me.setMasked(true); Ext.Ajax.request({ url: this.getUrl(), success: function(response) { const about = JSON.parse(response.responseText); this.lookupReference('version').setHtml(this.getTranslator().version + ': ' + about.version); this.lookupReference('max-memory').setHtml(this.getTranslator().max_memory + ': ' + about.heap_max); this.lookupReference('used-memory').setHtml(this.getTranslator().used_memory + ': ' + about.heap_size); this.lookupReference('java-variant').setHtml("Java " + this.getTranslator().variant + ': ' + about.java_vendor); this.lookupReference('java-version').setHtml("Java " + this.getTranslator().version + ': ' + about.java_version); this.lookupReference('os').setHtml(this.getTranslator().os + ': ' + about.os_name + ' ' + about.os_version); me.setMasked(false); }, failure: function() { me.setMasked(false); }, scope: this, }); } } } });