some coments inline

> +++ b/www/manager6/form/DiskStorageSelector.js
> @@ -0,0 +1,109 @@
> +Ext.define('PVE.form.DiskStorageSelector', {
> +    extend: 'Ext.container.Container',
> +    alias: 'widget.pveDiskStorageSelector',
> +
> +    layout: 'fit',
> +    defaults: {
> +     margin: '0 0 5 0'
> +    },

since the component has some new properties which we can set via
a config object, it would make to list these properties at the top, so
we know what they are like

            hideSize: undefined, //
            hideSelection: true // (maybe called hideRawDevSelector ?)

what do you think ? (idea taken from HDEdit.js)

> +    changeStorage: function(f, value) {
> +     var me = this;
> +     var formatsel = me.getComponent('diskformat');
> +     var hdfilesel = me.getComponent('hdimage');
> +     var hdsizesel = me.getComponent('disksize');
> +
> +     // initial store load, and reset/deletion of the storage
> +     if (!value) {
> +         hdfilesel.setDisabled(true);
> +         hdfilesel.setVisible(false);
> +
> +         formatsel.setDisabled(true);
> +         return;
> +     }
> +
> +     var rec = f.store.getById(value);
> +     // if the storage is not defined, or valid,
> +     // we cannot know what to enable/disable
> +     if (!rec) {
> +         return;
> +     }
> +
> +     var format = PVE.Utils.getStorageFormat(rec.data.type);
> +
> +     formatsel.setDisabled(format.formats.length === 1);
> +     formatsel.setValue(format.formats.length === 1 ? 'raw' : 'qcow2');
> +
> +     hdfilesel.setDisabled(!format.select || me.hideSelection);
> +     hdfilesel.setVisible(format.select && !me.hideSelection);
> +     if (!me.hideSelection) {
> +         hdfilesel.setStorage(value);
> +     }
> +
> +     hdsizesel.setDisabled(format.select || me.hideSize);
> +     hdsizesel.setVisible(!format.select && !me.hideSize);
> +    },
> +
> +    initComponent: function() {
> +     var me = this;
> +
> +     me.items = [
> +         {
> +             xtype: 'pveStorageSelector',
> +             itemId: 'hdstorage',
> +             name: 'hdstorage',
> +             reference: 'hdstorage',

AFAIK if we access the components via getComponent() we just need the
itemID so we don't need a reference property on each item


_______________________________________________
pve-devel mailing list
pve-devel@pve.proxmox.com
https://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel

Reply via email to