156 lines
3.9 KiB
JavaScript
156 lines
3.9 KiB
JavaScript
|
Ext.namespace('Zarafa.plugins.mdm.dialogs');
|
||
|
|
||
|
/**
|
||
|
* @class Zarafa.plugins.mdm.dialogs.MDMDeviceGeneralTab
|
||
|
* @extends Ext.form.FormPanel
|
||
|
* @xtype mdmplugin.mdmdevicegeneraltab
|
||
|
*
|
||
|
* Details tab in the {@link Zarafa.plugins.mdm.dialogs.MDMDeviceContentPanel}
|
||
|
*/
|
||
|
Zarafa.plugins.mdm.dialogs.MDMDeviceGeneralTab = Ext.extend(Ext.form.FormPanel, {
|
||
|
|
||
|
/**
|
||
|
* @cfg {Boolean} isKoe True if device has Kopano Outlook Extension information.
|
||
|
*/
|
||
|
isKoe : false,
|
||
|
|
||
|
/**
|
||
|
* @constructor
|
||
|
* @param {Object} config Configuration object
|
||
|
*/
|
||
|
constructor: function (config)
|
||
|
{
|
||
|
config = config || {};
|
||
|
Ext.applyIf(config, {
|
||
|
xtype: 'mdmplugin.mdmdevicegeneraltab',
|
||
|
cls: 'tab-general',
|
||
|
border: false,
|
||
|
labelAlign: 'left',
|
||
|
defaults: {
|
||
|
border: false,
|
||
|
xtype: 'panel',
|
||
|
layout: 'form',
|
||
|
labelWidth: 150,
|
||
|
cls: 'mdm-device-panel'
|
||
|
},
|
||
|
items: [
|
||
|
this.createDeviceInfoPanel(config),
|
||
|
this.createFolderInfoPanel()
|
||
|
],
|
||
|
listeners: {
|
||
|
afterlayout: this.onAfterLayout,
|
||
|
scope: this
|
||
|
}
|
||
|
});
|
||
|
|
||
|
Zarafa.plugins.mdm.dialogs.MDMDeviceGeneralTab.superclass.constructor.call(this, config);
|
||
|
},
|
||
|
/**
|
||
|
* Function which is use to create device status panel
|
||
|
* @param {Object} config Configuration object
|
||
|
* @return {Object} Configuration object for the panel which shows device status properties
|
||
|
* @private
|
||
|
*/
|
||
|
createDeviceInfoPanel: function (config)
|
||
|
{
|
||
|
return {
|
||
|
cls : 'mdm-device-panel',
|
||
|
defaultType: 'displayfield',
|
||
|
defaults: {
|
||
|
disabled: true
|
||
|
},
|
||
|
items: [{
|
||
|
cls: 'mdm-display-name',
|
||
|
value: dgettext('plugin_mdm', config.record.get('devicetype')),
|
||
|
htmlEncode: true,
|
||
|
disabled: false,
|
||
|
hideLabel: true
|
||
|
}, {
|
||
|
fieldLabel: dgettext('plugin_mdm', 'Connected since'),
|
||
|
value: String.format('{0}', new Date(config.record.get('firstsynctime')).format(_('d F Y')))
|
||
|
}, {
|
||
|
fieldLabel: dgettext('plugin_mdm', 'Last updated'),
|
||
|
value: String.format(_('{0}'), new Date(config.record.get('lastupdatetime')).format(_('d F Y, H:i')))
|
||
|
}, {
|
||
|
fieldLabel: dgettext('plugin_mdm', 'Status'),
|
||
|
hidden: config.isKoe,
|
||
|
listeners: {
|
||
|
afterrender: this.onAfterRenderStatus,
|
||
|
scope: this
|
||
|
}
|
||
|
}]
|
||
|
};
|
||
|
},
|
||
|
/**
|
||
|
* Function which is use to create folders synchronization panel
|
||
|
* @return {Object} Configuration object for the panel which shows folders properties
|
||
|
* @private
|
||
|
*/
|
||
|
createFolderInfoPanel: function ()
|
||
|
{
|
||
|
return {
|
||
|
cls : 'mdm-device-panel mdm-field-sep',
|
||
|
defaultType: 'displayfield',
|
||
|
items: [{
|
||
|
cls: 'mdm-display-name',
|
||
|
value: dgettext('plugin_mdm', 'Synchronize'),
|
||
|
htmlEncode: true,
|
||
|
hideLabel: true
|
||
|
}, {
|
||
|
fieldLabel: dgettext('plugin_mdm', 'Folders'),
|
||
|
disabled: true,
|
||
|
name: 'synchronizedfolders'
|
||
|
}, {
|
||
|
xtype: 'fieldset',
|
||
|
layout: 'form',
|
||
|
labelWidth: 140,
|
||
|
cls : 'mdm-synchronize-panel',
|
||
|
defaultType: 'displayfield',
|
||
|
defaults: {
|
||
|
labelSeparator: '',
|
||
|
value: '0',
|
||
|
disabled: true
|
||
|
},
|
||
|
items: [{
|
||
|
fieldLabel: _('Email'),
|
||
|
name: 'emailsfolder'
|
||
|
}, {
|
||
|
fieldLabel: _('Calendar'),
|
||
|
name: 'calendarsfolder'
|
||
|
}, {
|
||
|
fieldLabel: _('Contacts'),
|
||
|
name: 'contactsfolder'
|
||
|
}, {
|
||
|
fieldLabel: _('Notes'),
|
||
|
name: 'notesfolder'
|
||
|
}, {
|
||
|
fieldLabel: _('Tasks'),
|
||
|
name: 'tasksfolder'
|
||
|
}]
|
||
|
}]
|
||
|
};
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Function which handles the after layoutevent.
|
||
|
* Which is use to set record values into form fields.
|
||
|
*/
|
||
|
onAfterLayout: function ()
|
||
|
{
|
||
|
this.getForm().loadRecord(this.record);
|
||
|
},
|
||
|
|
||
|
/**
|
||
|
* Function which handles the after render event of status field.
|
||
|
* Which is use to set the the display name for the given Provisioning Status into given field
|
||
|
* @param {Ext.form.TextField} statusField text field
|
||
|
*/
|
||
|
onAfterRenderStatus: function (statusField)
|
||
|
{
|
||
|
var status = parseInt(this.record.get("wipestatus"));
|
||
|
statusField.setValue(Zarafa.plugins.mdm.data.ProvisioningStatus.getDisplayName(status));
|
||
|
}
|
||
|
});
|
||
|
|
||
|
Ext.reg('mdmplugin.mdmdevicegeneraltab', Zarafa.plugins.mdm.dialogs.MDMDeviceGeneralTab);
|