Ext.define('PBS.TapeManagement.TapeBackupWindow', {
    extend: 'Proxmox.window.Edit',
    alias: 'pbsTapeBackupWindow',

    width: 400,
    subject: gettext('Backup'),
    url: '/api2/extjs/tape/backup',
    method: 'POST',
    showTaskViewer: true,
    isCreate: true,

    defaults: {
	labelWidth: 120,
    },

    items: [
	{
	    xtype: 'pbsDataStoreSelector',
	    fieldLabel: gettext('Datastore'),
	    name: 'store',
	},
	{
	    xtype: 'pbsMediaPoolSelector',
	    fieldLabel: gettext('Media Pool'),
	    name: 'pool',
	},
	{
	    xtype: 'pbsDriveSelector',
	    fieldLabel: gettext('Drive'),
	    name: 'drive',
	},
	{
	    xtype: 'proxmoxcheckbox',
	    name: 'export-media-set',
	    fieldLabel: gettext('Export Media Set'),
	    listeners: {
		change: function(cb, value) {
		    let me = this;
		    let eject = me.up('window').down('proxmoxcheckbox[name=eject-media]');
		    if (value) {
			eject.setValue(false);
		    }
		    eject.setDisabled(!!value);
		},
	    },
	},
	{
	    xtype: 'proxmoxcheckbox',
	    name: 'eject-media',
	    fieldLabel: gettext('Eject Media'),
	},
	{
	    xtype: 'pbsUserSelector',
	    name: 'notify-user',
	    fieldLabel: gettext('Notify User'),
	    emptyText: 'root@pam',
	    value: null,
	    allowBlank: true,
	    skipEmptyText: true,
	    renderer: Ext.String.htmlEncode,
	},
    ],
});
