فهرست منبع

移除array_delete

jqh 5 سال پیش
والد
کامیت
41d909a1d5

+ 2 - 1
src/Form/Concerns/HasFieldValidator.php

@@ -3,6 +3,7 @@
 namespace Dcat\Admin\Form\Concerns;
 
 use Dcat\Admin\Form;
+use Dcat\Admin\Support\Helper;
 use Illuminate\Support\Arr;
 use Illuminate\Support\Facades\Validator;
 use Illuminate\Support\Str;
@@ -231,7 +232,7 @@ trait HasFieldValidator
     protected function deleteRuleByKeyword(&$rules, $rule)
     {
         if (is_array($rules)) {
-            array_delete($rules, $rule);
+            Helper::deleteByValue($rules, $rule);
 
             return;
         }

+ 6 - 5
src/Form/Footer.php

@@ -2,6 +2,7 @@
 
 namespace Dcat\Admin\Form;
 
+use Dcat\Admin\Support\Helper;
 use Dcat\Admin\Widgets\Checkbox;
 use Illuminate\Contracts\Support\Renderable;
 
@@ -55,7 +56,7 @@ class Footer implements Renderable
     public function disableReset(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->buttons, 'reset');
+            Helper::deleteByValue($this->buttons, 'reset');
         } elseif (! in_array('reset', $this->buttons)) {
             array_push($this->buttons, 'reset');
         }
@@ -73,7 +74,7 @@ class Footer implements Renderable
     public function disableSubmit(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->buttons, 'submit');
+            Helper::deleteByValue($this->buttons, 'submit');
         } elseif (! in_array('submit', $this->buttons)) {
             array_push($this->buttons, 'submit');
         }
@@ -91,7 +92,7 @@ class Footer implements Renderable
     public function disableViewCheck(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->checkboxes, 'view');
+            Helper::deleteByValue($this->checkboxes, 'view');
         } elseif (! in_array('view', $this->checkboxes)) {
             array_push($this->checkboxes, 'view');
         }
@@ -109,7 +110,7 @@ class Footer implements Renderable
     public function disableEditingCheck(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->checkboxes, 'continue_editing');
+            Helper::deleteByValue($this->checkboxes, 'continue_editing');
         } elseif (! in_array('continue_editing', $this->checkboxes)) {
             array_push($this->checkboxes, 'continue_editing');
         }
@@ -127,7 +128,7 @@ class Footer implements Renderable
     public function disableCreatingCheck(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->checkboxes, 'continue_creating');
+            Helper::deleteByValue($this->checkboxes, 'continue_creating');
         } elseif (! in_array('continue_creating', $this->checkboxes)) {
             array_push($this->checkboxes, 'continue_creating');
         }

+ 4 - 4
src/Grid/Displayers/Actions.php

@@ -89,7 +89,7 @@ class Actions extends AbstractDisplayer
     public function disableView(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->actions, 'view');
+            Helper::deleteByValue($this->actions, 'view');
         } elseif (! in_array('view', $this->actions)) {
             array_push($this->actions, 'view');
         }
@@ -105,7 +105,7 @@ class Actions extends AbstractDisplayer
     public function disableDelete(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->actions, 'delete');
+            Helper::deleteByValue($this->actions, 'delete');
         } elseif (! in_array('delete', $this->actions)) {
             array_push($this->actions, 'delete');
         }
@@ -121,7 +121,7 @@ class Actions extends AbstractDisplayer
     public function disableEdit(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->actions, 'edit');
+            Helper::deleteByValue($this->actions, 'edit');
         } elseif (! in_array('edit', $this->actions)) {
             array_push($this->actions, 'edit');
         }
@@ -137,7 +137,7 @@ class Actions extends AbstractDisplayer
     public function disableQuickEdit(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->actions, 'quickEdit');
+            Helper::deleteByValue($this->actions, 'quickEdit');
         } elseif (! in_array('quickEdit', $this->actions)) {
             array_push($this->actions, 'quickEdit');
         }

+ 4 - 4
src/Grid/Displayers/DropdownActions.php

@@ -137,7 +137,7 @@ JS;
     public function disableView(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->defaultClass, Show::class);
+            Helper::deleteByValue($this->defaultClass, Show::class);
         } elseif (! in_array(Show::class, $this->defaultClass)) {
             array_push($this->defaultClass, Show::class);
         }
@@ -155,7 +155,7 @@ JS;
     public function disableDelete(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->defaultClass, Delete::class);
+            Helper::deleteByValue($this->defaultClass, Delete::class);
         } elseif (! in_array(Delete::class, $this->defaultClass)) {
             array_push($this->defaultClass, Delete::class);
         }
@@ -173,7 +173,7 @@ JS;
     public function disableEdit(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->defaultClass, Edit::class);
+            Helper::deleteByValue($this->defaultClass, Edit::class);
         } elseif (! in_array(Edit::class, $this->defaultClass)) {
             array_push($this->defaultClass, Edit::class);
         }
@@ -189,7 +189,7 @@ JS;
     public function disableQuickEdit(bool $disable = true)
     {
         if ($disable) {
-            array_delete($this->defaultClass, QuickEdit::class);
+            Helper::deleteByValue($this->defaultClass, QuickEdit::class);
         } elseif (! in_array(Show::class, $this->defaultClass)) {
             array_push($this->defaultClass, QuickEdit::class);
         }

+ 2 - 1
src/Grid/Tools/Selector.php

@@ -3,6 +3,7 @@
 namespace Dcat\Admin\Grid\Tools;
 
 use Dcat\Admin\Grid;
+use Dcat\Admin\Support\Helper;
 use Illuminate\Http\Request;
 use Illuminate\Support\Arr;
 use Illuminate\Support\Collection;
@@ -158,7 +159,7 @@ class Selector
         }
 
         if (in_array($value, $options)) {
-            array_delete($options, $value);
+            Helper::deleteByValue($options, $value);
         } else {
             if ($add) {
                 $options = [];

+ 17 - 0
src/Support/Helper.php

@@ -307,4 +307,21 @@ class Helper
     {
         return "<?php \nreturn ".static::exportArray($array).";\n";
     }
+
+    /**
+     * Delete from array by value.
+     *
+     * @param array $array
+     * @param mixed $value
+     */
+    public static function deleteByValue(&$array, $value)
+    {
+        $value = (array) $value;
+
+        foreach ($array as $index => $item) {
+            if (in_array($item, $value)) {
+                unset($array[$index]);
+            }
+        }
+    }
 }

+ 0 - 18
src/Support/helpers.php

@@ -384,21 +384,3 @@ if (! function_exists('admin_asset')) {
         return (config('admin.https') || config('admin.secure')) ? secure_asset($path) : asset($path);
     }
 }
-
-if (! function_exists('array_delete')) {
-
-    /**
-     * Delete from array by value.
-     *
-     * @param array $array
-     * @param mixed $value
-     */
-    function array_delete(&$array, $value)
-    {
-        foreach ($array as $index => $item) {
-            if ($value == $item) {
-                unset($array[$index]);
-            }
-        }
-    }
-}

+ 2 - 2
src/Widgets/Form.php

@@ -380,7 +380,7 @@ class Form implements Renderable
      */
     public function disableResetButton()
     {
-        array_delete($this->buttons, 'reset');
+        Helper::deleteByValue($this->buttons, 'reset');
 
         return $this;
     }
@@ -392,7 +392,7 @@ class Form implements Renderable
      */
     public function disableSubmitButton()
     {
-        array_delete($this->buttons, 'submit');
+        Helper::deleteByValue($this->buttons, 'submit');
 
         return $this;
     }