Browse Source

简化接口命名

jqh 5 years ago
parent
commit
387fe7bddc
5 changed files with 25 additions and 30 deletions
  1. 3 3
      src/Form/EmbeddedForm.php
  2. 13 23
      src/Form/Field.php
  3. 1 0
      src/Form/Field/Tags.php
  4. 5 1
      src/Form/Field/WebUploader.php
  5. 3 3
      src/Form/NestedForm.php

+ 3 - 3
src/Form/EmbeddedForm.php

@@ -246,9 +246,9 @@ class EmbeddedForm
             $elementClass = "{$this->column}_$jsonKey";
         }
 
-        $field->setElementName($elementName)
-            ->setErrorKey($errorKey)
-            ->setElementClass($elementClass);
+        $field->elementName($elementName)
+            ->errorKey($errorKey)
+            ->elementClass($elementClass);
 
         return $field;
     }

+ 13 - 23
src/Form/Field.php

@@ -311,12 +311,16 @@ class Field implements Renderable
      *
      * @param string $name
      *
-     * @return $this
+     * @return $this|string
      *
      * @author Edwin Hui
      */
-    public function setElementName($name)
+    public function elementName($name = null)
     {
+        if ($name === null) {
+            return $this->elementName ?: $this->formatName($this->column);
+        }
+
         $this->elementName = $name;
 
         return $this;
@@ -480,24 +484,18 @@ class Field implements Renderable
     }
 
     /**
-     * Get key for error message.
-     *
-     * @return string
-     */
-    public function errorKey()
-    {
-        return $this->errorKey ?: $this->column;
-    }
-
-    /**
-     * Set key for error message.
+     * Get or set key for error message.
      *
      * @param string $key
      *
-     * @return $this
+     * @return $this|string
      */
-    public function setErrorKey($key)
+    public function errorKey($key = null)
     {
+        if ($key === null) {
+            return $this->errorKey ?: $this->column;
+        }
+
         $this->errorKey = $key;
 
         return $this;
@@ -998,14 +996,6 @@ class Field implements Renderable
         return $this;
     }
 
-    /**
-     * @return string
-     */
-    public function elementName()
-    {
-        return $this->elementName ?: $this->formatName($this->column);
-    }
-
     /**
      * Get the view variables of this field.
      *

+ 1 - 0
src/Form/Field/Tags.php

@@ -208,6 +208,7 @@ $(document).off('keyup', '.select2-selection--multiple .select2-search__field').
                 var newOption = new Option(optionText, optionText, true, true);
                 $select.append(newOption).trigger('change');
                 $this.val('');
+                $select.select2('close');
             }
         }
     } catch (e) {

+ 5 - 1
src/Form/Field/WebUploader.php

@@ -187,7 +187,11 @@ trait WebUploader
             $this->options['deleteUrl'] = $this->form->action();
         }
 
-        if ($this->form->builder() && $this->form->builder()->isCreating()) {
+        if (
+            method_exists($this->form, 'builder')
+            && $this->form->builder()
+            && $this->form->builder()->isCreating()
+        ) {
             unset(
                 $this->options['formData']['_method'],
                 $this->options['deleteData']['_method'],

+ 3 - 3
src/Form/NestedForm.php

@@ -390,9 +390,9 @@ class NestedForm
             $elementClass = [$this->relationName, $column];
         }
 
-        return $field->setErrorKey($errorKey)
-            ->setElementName($elementName)
-            ->setElementClass($elementClass);
+        return $field->errorKey($errorKey)
+            ->elementName($elementName)
+            ->elementClass($elementClass);
     }
 
     /**