1
0
mirror of https://github.com/cjango/dcat-vue.git synced 2025-12-06 22:40:03 +08:00

checkbox & watch

This commit is contained in:
weiwait
2023-03-08 15:20:40 +08:00
parent b22d185482
commit 0f0153b348
18 changed files with 417 additions and 380 deletions

View File

@@ -6,12 +6,12 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Dcat\Admin\Widgets\Checkbox as WidgetCheckbox;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasOptions;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class Vue extends Field\Checkbox
class Checkbox extends Field\Checkbox
{
use FieldCommon;
protected array $watch = [];
use FieldCommon, HasOptions, HasWatch;
public function render()
{
@@ -30,9 +30,10 @@ class Vue extends Field\Checkbox
$this->addVariables([
'checked' => $this->checked,
'watch' => $this->watch,
]);
$this->withProvides();
$this->addVariables([
'provides' => $this->variables(),
]);
@@ -45,7 +46,7 @@ class Vue extends Field\Checkbox
return $this->attributes;
}
public function disabled($disabled): Vue
public function disabled($disabled): static
{
$this->addVariables([
'disabled' => (array) $disabled
@@ -54,14 +55,11 @@ class Vue extends Field\Checkbox
return $this;
}
public function watch($column, $handler): Vue
protected function withProvides()
{
$this->watch[] = [
'type' => "$column:change",
'handler' => $handler,
];
return $this;
$this->addVariables([
'component' => 'Checkbox',
]);
}
protected function checkboxRender()

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class DateRange extends Field\DateRange
{
use FieldCommon;
use FieldCommon, HasWatch;
public function render()
{

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Exception;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class Distpicker extends Field
{
use FieldCommon;
use FieldCommon, HasWatch;
// 地图高度
protected string $height = '380px';
// 模板id

View File

@@ -5,11 +5,12 @@ namespace Weiwait\DcatVue\Field;
use Dcat\Admin\Form\Field;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
use Weiwait\DcatVue\Models\WeiwaitUpload;
class File extends Field\File
{
use FieldCommon;
use FieldCommon, HasWatch;
protected string $disk;

View File

@@ -6,11 +6,12 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
use Weiwait\DcatVue\Models\WeiwaitUpload;
class Image extends Field\Image
{
use FieldCommon;
use FieldCommon, HasWatch;
protected string $disk;
protected bool $disableCropper = false;

View File

@@ -8,11 +8,12 @@ use Illuminate\Support\Arr;
use Illuminate\Support\MessageBag;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
use function Swoole\Coroutine\map;
class KeyValue extends Field\KeyValue
{
use FieldCommon;
use FieldCommon, HasWatch;
private bool $is_list = false;
private bool $is_serial = false;

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class ListField extends Field\ListField
{
use FieldCommon;
use FieldCommon, HasWatch;
public function render()
{

View File

@@ -5,11 +5,12 @@ namespace Weiwait\DcatVue\Field;
use Dcat\Admin\Form\Field;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
use Weiwait\DcatVue\Models\WeiwaitUpload;
class MultipleFile extends Field\MultipleFile
{
use FieldCommon;
use FieldCommon, HasWatch;
protected string $disk;

View File

@@ -6,11 +6,12 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
use Weiwait\DcatVue\Models\WeiwaitUpload;
class MultipleImage extends Field\MultipleImage
{
use FieldCommon;
use FieldCommon, HasWatch;
protected string $disk;

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class MultipleSelect extends Field\MultipleSelect
{
use FieldCommon;
use FieldCommon, HasWatch;
private string $optionsFromKeyValueField = '';
private string $concatSeparator = '';

View File

@@ -5,10 +5,11 @@ namespace Weiwait\DcatVue\Field;
use Dcat\Admin\Form\Field;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class Number extends Field\Number
{
use FieldCommon;
use FieldCommon, HasWatch;
public function render()
{

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasOptions;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class Select extends Field\Select
{
use HasOptions, FieldCommon;
use HasOptions, FieldCommon, HasWatch;
private string $optionsFromKeyValueField = '';
private string $concatSeparator = '';

View File

@@ -6,10 +6,11 @@ use Dcat\Admin\Form\Field;
use Dcat\Admin\Support\Helper;
use Illuminate\Support\Str;
use Weiwait\DcatVue\Field\Traits\FieldCommon;
use Weiwait\DcatVue\Field\Traits\HasWatch;
class Tag extends Field\Tags
{
use FieldCommon;
use FieldCommon, HasWatch;
public function render()
{

View File

@@ -0,0 +1,22 @@
<?php
namespace Weiwait\DcatVue\Field\Traits;
use Dcat\Admin\Exception\RuntimeException;
use Dcat\Admin\Form\Field;
use Illuminate\Database\Eloquent\Model;
trait HasWatch
{
public function watch(string $field, string $handler): static
{
$this->addVariables([
'watches' => array_merge(
$this->variables()['watches'] ?? [],
[compact('field', 'handler')]
)
]);
return $this;
}
}