Browse Source

try to fix problem of slider for additional disk in createVM

andre 4 years ago
parent
commit
e516889ad9

+ 1 - 2
app/UI/Client/Templates/assets/js/vm/create.js

@@ -122,8 +122,7 @@ $(document).ready(function () {
         content.removeClass("hidden");
         content.removeClass("pm-disk-content-default");
         var index = $("#pm-add-disk-button").closest('.lu-widget').find('.lu-widget').size();
-        content.find('output[for="additionalDiskSize"]').prop("id","outputadditionalDiskSize"+index).prop("for","additionalDiskSize"+index);
-        content.find('input[name="additionalDiskSize"]').prop("name","additionalDiskSize"+index).attr("oninput","outputadditionalDiskSize"+index+".value=additionalDiskSize"+index+".value");
+        content.find('input[name="additionalDiskSize"]').prop("name","additionalDiskSize"+index);
         content.find('select[name="additionalDiskBus"]').prop("name","additionalDiskBus"+index);
         content.find('select[name="additionalDiskFormat"]').prop("name","additionalDiskFormat"+index);
         content.find('select[name="additionalDiskBackup"]').prop("name","additionalDiskBackup"+index);

+ 1 - 2
app/UI/Client/Templates/assets/js/vm/index.js

@@ -149,8 +149,7 @@ $(document).ready(function () {
         content.removeClass("hidden");
         content.removeClass("pm-disk-content-default");
         var index = $("#pm-add-disk-button").closest('.lu-widget').find('.lu-widget').size();
-        content.find('output[for="additionalDiskSize"]').prop("id","outputadditionalDiskSize"+index).prop("for","additionalDiskSize"+index);
-        content.find('input[name="additionalDiskSize"]').prop("name","additionalDiskSize"+index).prop("id","additionalDiskSize"+index).attr("oninput","outputadditionalDiskSize"+index+".value=additionalDiskSize"+index+".value");
+        content.find('input[name="additionalDiskSize"]').prop("name","additionalDiskSize"+index);
         content.find('select[name="additionalDiskBus"]').prop("name","additionalDiskBus"+index);
         content.find('select[name="additionalDiskFormat"]').prop("name","additionalDiskFormat"+index);
         content.find('select[name="additionalDiskBackup"]').prop("name","additionalDiskBackup"+index);

+ 11 - 12
app/UI/VmCreate/Sections/AdditionalDiskSection.php

@@ -4,13 +4,11 @@ namespace ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmCreate\Sections;
 
 use ModulesGarden\ProxmoxAddon\App\Models\VirtualNetwork;
 use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ProductService;
-use ModulesGarden\ProxmoxAddon\App\Services\Cloud\ResourceManager;
 use ModulesGarden\Servers\ProxmoxCloudVps\App\UI\VmCreate\Validators\DiskSizeValidator;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Interfaces\ClientArea;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Select;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Switcher;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Text;
-use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Fields\Range;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\BaseSection;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\BoxSection;
 use ModulesGarden\Servers\ProxmoxCloudVps\Core\UI\Widget\Forms\Sections\HalfPageSection;
@@ -30,15 +28,12 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
     public function initFields()
     {
         //size
-        $this->resourceManager = new ResourceManager();
-        $field = new Range('additionalDiskSize', $this->configuration()->serverDiskSize->min, $this->resourceManager->disk()->free());
-        $field->addValidator(new DiskSizeValidator('additionalDiskSize',true));
-        $field->setDefaultValue($this->configuration()->serverDiskSize->min);
-        $field->setDescription('description');
-//        $field->replaceClasses(['lu-col-md-6']);
+        $field = new Text('additionalDiskSize');
+        $field->addValidator(new DiskSizeValidator('disk',false));
+        $field->replaceClasses(['lu-col-md-6']);
         $this->addField($field);
         //bus
-        if($this->configuration()->isQemu() && count($this->configuration()->getAdditionalDiskType()) > 1){
+        if($this->configuration()->isQemu()){
             $field = new Select('additionalDiskBus');
             $options=[];
             foreach( $this->configuration()->getAdditionalDiskType() as $entery){
@@ -49,7 +44,7 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
             $this->addField($field);
         }
         //format
-        if($this->configuration()->isQemu() && count($this->configuration()->getAdditionalDiskFormat()) > 1){
+        if($this->configuration()->isQemu()){
             $field = new Select('additionalDiskFormat');
             $options=[];
             foreach( $this->configuration()->getAdditionalDiskFormat() as $entery){
@@ -69,8 +64,12 @@ class AdditionalDiskSection extends BaseSection implements ClientArea
         //backup
         if ($this->configuration()->isPermissionAdditionalDiskBackup())
         {
-            $field = new Switcher('additionalDiskBackup');
-//            $field->replaceClasses(['lu-col-md-6']);
+            $field = new Select('additionalDiskBackup');
+            $field->setAvailableValues([
+                'on' => 'Enable',
+                'off'=>'Disable',
+            ]);
+            $field->replaceClasses(['lu-col-md-6']);
             $this->addField($field);
         }
     }