|
@@ -1,54 +1,54 @@
|
|
|
-<?php
|
|
|
-
|
|
|
-namespace Dcat\Admin\Form\Field;
|
|
|
-
|
|
|
-use Illuminate\Support\Str;
|
|
|
-
|
|
|
-trait CanLoadFields
|
|
|
-{
|
|
|
- /**
|
|
|
- * 联动加载.
|
|
|
- *
|
|
|
- * @param string $field
|
|
|
- * @param string $sourceUrl
|
|
|
- * @param string $idField
|
|
|
- * @param string $textField
|
|
|
- *
|
|
|
- * @return $this
|
|
|
- */
|
|
|
- public function load($field, $sourceUrl, string $idField = 'id', string $textField = 'text')
|
|
|
- {
|
|
|
- return $this->loads($field, $sourceUrl, $idField, $textField);
|
|
|
- }
|
|
|
-
|
|
|
- /**
|
|
|
- * 联动加载多个字段.
|
|
|
- *
|
|
|
- * @param array|string $fields
|
|
|
- * @param array|string $sourceUrls
|
|
|
- * @param string $idField
|
|
|
- * @param string $textField
|
|
|
- *
|
|
|
- * @return $this
|
|
|
- */
|
|
|
- public function loads($fields = [], $sourceUrls = [], string $idField = 'id', string $textField = 'text')
|
|
|
- {
|
|
|
- $fieldsStr = implode('^', array_map(function ($field) {
|
|
|
- if (Str::contains($field, '.')) {
|
|
|
- return $this->normalizeElementClass($field).'_';
|
|
|
- }
|
|
|
-
|
|
|
- return $this->normalizeElementClass($field);
|
|
|
- }, (array) $fields));
|
|
|
- $urlsStr = implode('^', array_map(function ($url) {
|
|
|
- return admin_url($url);
|
|
|
- }, (array) $sourceUrls));
|
|
|
-
|
|
|
- return $this->addVariables(['loads' => [
|
|
|
- 'fields' => $fieldsStr,
|
|
|
- 'urls' => $urlsStr,
|
|
|
- 'idField' => $idField,
|
|
|
- 'textField' => $textField,
|
|
|
- ]]);
|
|
|
- }
|
|
|
-}
|
|
|
+<?php
|
|
|
+
|
|
|
+namespace Dcat\Admin\Form\Field;
|
|
|
+
|
|
|
+use Illuminate\Support\Str;
|
|
|
+
|
|
|
+trait CanLoadFields
|
|
|
+{
|
|
|
+ /**
|
|
|
+ * 联动加载.
|
|
|
+ *
|
|
|
+ * @param string $field
|
|
|
+ * @param string $sourceUrl
|
|
|
+ * @param string $idField
|
|
|
+ * @param string $textField
|
|
|
+ *
|
|
|
+ * @return $this
|
|
|
+ */
|
|
|
+ public function load($field, $sourceUrl, string $idField = 'id', string $textField = 'text')
|
|
|
+ {
|
|
|
+ return $this->loads($field, $sourceUrl, $idField, $textField);
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 联动加载多个字段.
|
|
|
+ *
|
|
|
+ * @param array|string $fields
|
|
|
+ * @param array|string $sourceUrls
|
|
|
+ * @param string $idField
|
|
|
+ * @param string $textField
|
|
|
+ *
|
|
|
+ * @return $this
|
|
|
+ */
|
|
|
+ public function loads($fields = [], $sourceUrls = [], string $idField = 'id', string $textField = 'text')
|
|
|
+ {
|
|
|
+ $fieldsStr = implode('^', array_map(function ($field) {
|
|
|
+ if (Str::contains($field, '.')) {
|
|
|
+ return $this->normalizeElementClass($field).'_';
|
|
|
+ }
|
|
|
+
|
|
|
+ return $this->normalizeElementClass($field);
|
|
|
+ }, (array) $fields));
|
|
|
+ $urlsStr = implode('^', array_map(function ($url) {
|
|
|
+ return admin_url($url);
|
|
|
+ }, (array) $sourceUrls));
|
|
|
+
|
|
|
+ return $this->addVariables(['loads' => [
|
|
|
+ 'fields' => $fieldsStr,
|
|
|
+ 'urls' => $urlsStr,
|
|
|
+ 'idField' => $idField,
|
|
|
+ 'textField' => $textField,
|
|
|
+ ]]);
|
|
|
+ }
|
|
|
+}
|