Browse Source

Form、Grid以及Show字段类增加when方法

jqh 4 năm trước cách đây
mục cha
commit
dfc131a542
3 tập tin đã thay đổi với 45 bổ sung0 xóa
  1. 15 0
      src/Form/Field.php
  2. 15 0
      src/Grid/Column.php
  3. 15 0
      src/Show/Field.php

+ 15 - 0
src/Form/Field.php

@@ -1107,6 +1107,21 @@ class Field implements Renderable
         return implode(' ', $this->labelClass);
     }
 
+    /**
+     * @param  mixed  $value
+     * @param  callable  $callback
+     *
+     * @return $this|mixed
+     */
+    public function when($value, $callback)
+    {
+        if ($value) {
+            return $callback($this, $value) ?: $this;
+        }
+
+        return $this;
+    }
+
     public function setFormGroupClass($labelClass, bool $append = true)
     {
         $this->formGroupClass = $append

+ 15 - 0
src/Grid/Column.php

@@ -720,6 +720,21 @@ class Column
         return implode(' ', $attrArr);
     }
 
+    /**
+     * @param  mixed  $value
+     * @param  callable  $callback
+     *
+     * @return $this|mixed
+     */
+    public function when($value, $callback)
+    {
+        if ($value) {
+            return $callback($this, $value) ?: $this;
+        }
+
+        return $this;
+    }
+
     /**
      * Passes through all unknown calls to builtin displayer or supported displayer.
      *

+ 15 - 0
src/Show/Field.php

@@ -564,6 +564,21 @@ HTML;
         return $this;
     }
 
+    /**
+     * @param  mixed  $value
+     * @param  callable  $callback
+     *
+     * @return $this|mixed
+     */
+    public function when($value, $callback)
+    {
+        if ($value) {
+            return $callback($this, $value) ?: $this;
+        }
+
+        return $this;
+    }
+
     /**
      * @param string $method
      * @param array  $arguments