Browse Source

Merge pull request #1771 from laradocs/fix-issue-1717

Fix number() add disable() increment and decrement buttons invalid
Tall Libra 2 years ago
parent
commit
5156f88367

+ 2 - 2
resources/assets/dcat/plugins/number-input/bootstrap-number-input.js

@@ -57,10 +57,10 @@
             }
 
             var group = $("<div class='input-group'></div>");
-            var down = $("<button type='button'>-</button>").attr('class', 'btn btn-' + settings.downClass).click(function () {
+            var down = $("<button type='button'>-</button>").attr({'class': 'btn btn-' +settings.downClass, 'disabled': options.disabled}).click(function () {
                 setText(getVal() - 1);
             });
-            var up = $("<button type='button'>+</button>").attr('class', 'btn btn-' + settings.upClass).click(function () {
+            var up = $("<button type='button'>+</button>").attr({'class': 'btn btn-' +settings.upClass, 'disabled': options.disabled}).click(function () {
                 setText(getVal() + 1);
             });
             $("<span class='input-group-btn'></span>").append(down).appendTo(group);

+ 2 - 2
resources/dist/dcat/plugins/number-input/bootstrap-number-input.js

@@ -57,10 +57,10 @@
             }
 
             var group = $("<div class='input-group'></div>");
-            var down = $("<button type='button'>-</button>").attr('class', 'btn btn-' + settings.downClass).click(function () {
+            var down = $("<button type='button'>-</button>").attr({'class': 'btn btn-' +settings.downClass, 'disabled': options.disabled}).click(function () {
                 setText(getVal() - 1);
             });
-            var up = $("<button type='button'>+</button>").attr('class', 'btn btn-' + settings.upClass).click(function () {
+            var up = $("<button type='button'>+</button>").attr({'class': 'btn btn-' +settings.upClass, 'disabled': options.disabled}).click(function () {
                 setText(getVal() + 1);
             });
             $("<span class='input-group-btn'></span>").append(down).appendTo(group);

+ 16 - 0
src/Form/Field/Number.php

@@ -10,6 +10,7 @@ class Number extends Text
         'upClass'   => 'primary shadow-0',
         'downClass' => 'light shadow-0',
         'center'    => true,
+        'disabled'  => false,
     ];
 
     /**
@@ -38,6 +39,21 @@ class Number extends Text
         return $this;
     }
 
+    /**
+     * Set increment and decrement button to disabled.
+     *
+     * @param bool $value
+     * @return $this
+     */
+    public function disable(bool $value = true)
+    {
+        parent::disable($value);
+
+        $this->options['disabled'] = $value;
+
+        return $this;
+    }
+
     /**
      * {@inheritDoc}
      */