From partial element re-factoring

This commit is contained in:
Cüneyt Şentürk 2020-01-20 18:16:56 +03:00
parent f0a9c18ccb
commit 8562223ff3
9 changed files with 221 additions and 75 deletions

View File

@ -1,68 +1,86 @@
<template> <template>
<component class="dropdown col-md-11 pl-0"
:is="tag" <base-input :label="title"
:class="[{show: isOpen}, {'dropdown': direction === 'down'}, {'dropup': direction ==='up'}]" :name="name"
aria-haspopup="true" :class="formClasses"
:aria-expanded="isOpen" :error="formError">
@click="toggleDropDown"
v-click-outside="closeDropDown"> <el-select @input="change" filterable :placeholder="placeholder">
<input
autocomplete="off" <template slot="prefix">
placeholder="Type to search.." <span class="el-input__suffix-inner el-select-icon">
name="search" <i :class="'select-icon-position el-input__icon fa fa-' + icon"></i>
type="text" </span>
class="form-control form-control-sm w-100"> </template>
<div class="dropdown-menu"
ref="menu" <el-option v-if="!group" v-for="(label, value) in selectOptions"
:class="[{'dropdown-menu-right': position === 'right'}, {show: isOpen}, menuClasses]" :key="value"
> :label="label"
<a class="dropdown-item d-none" href="#about">About</a> :value="value">
</div> </el-option>
</component>
<el-option-group
v-if="group"
v-for="(options, name) in selectOptions"
:key="name"
:label="name">
<el-option
v-for="(label, value) in options"
:key="value"
:label="label"
:value="value">
</el-option>
</el-option-group>
</el-select>
</base-input>
</template> </template>
<script> <script>
import { Select, Option, OptionGroup } from 'element-ui';
export default { export default {
components: {
[Select.name]: Select,
[Option.name]: Option,
[OptionGroup.name]: OptionGroup,
},
props: { props: {
direction: {
type: String,
default: "down"
},
title: { title: {
type: String, type: String,
description: "Dropdown title" default: '',
description: "Modal header title"
}, },
placeholder: {
type: String,
default: '',
description: "Modal header title"
},
formClasses: null,
formError: null,
name: null,
value: null,
options: null,
model: null,
icon: { icon: {
type: String, type: String,
description: "Icon for dropdown title" description: "Prepend icon (left)"
}, },
position: {
type: String, group: false,
description: "Position of dropdown menu (e.g right|left)" multiple:false,
}, disabled:false,
menuClasses: { collapse: false
type: [String, Object],
description: "Dropdown menu classes"
},
hideArrow: {
type: Boolean,
description: "Whether dropdown arrow should be hidden"
},
appendToBody: {
type: Boolean,
default: true,
description: "Whether dropdown should be appended to document body"
},
tag: {
type: String,
default: "div",
description: "Dropdown html tag (e.g div, li etc)"
}
}, },
data() { data() {
return { return {
isOpen: false isOpen: false,
selectOptions: this.options,
real_model: this.model,
} }
}, },

View File

@ -2,7 +2,14 @@
<akaunting-date <akaunting-date
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'fa fa-{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
@ -16,10 +23,21 @@
@if (!empty($attributes['date-format'])) @if (!empty($attributes['date-format']))
dateFormat: '{{ $attributes['date-format'] }}' dateFormat: '{{ $attributes['date-format'] }}'
@endif @endif
}" }"
:icon="'fa fa-{{ $icon }}'"
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}" @if (!empty($attributes['v-model']))
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}" @interface="{{ $attributes['v-model'] . ' = $event' }}"
></akaunting-date> @elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}"
@else
:form-error="form.errors.get('{{ $name }}')"
@endif
></akaunting-date>
@stack($name . '_input_end') @stack($name . '_input_end')

View File

@ -13,6 +13,7 @@
<i class="fa fa-{{ $icon }}"></i> <i class="fa fa-{{ $icon }}"></i>
</span> </span>
</div> </div>
{!! Form::email($name, $value, array_merge([ {!! Form::email($name, $value, array_merge([
'class' => 'form-control', 'class' => 'form-control',
'data-name' => $name, 'data-name' => $name,

View File

@ -2,13 +2,19 @@
<akaunting-select <akaunting-select
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
:options="{{ json_encode($values) }}" :options="{{ json_encode($values) }}"
:value="{{ json_encode(old($name, $selected)) }}" :value="{{ json_encode(old($name, $selected)) }}"
:icon="'{{ $icon }}'"
:multiple="true" :multiple="true"
:add-new="{{ json_encode([ :add-new="{{ json_encode([
'status' => true, 'status' => true,
@ -29,18 +35,29 @@
] ]
] ]
])}}" ])}}"
@if (!empty($attributes['collapse'])) @if (!empty($attributes['collapse']))
:collapse="true" :collapse="true"
@endif @endif
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}"
@if (!empty($attributes['v-model']))
@interface="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if (!empty($attributes['change'])) @if (!empty($attributes['change']))
@change="{{ $attributes['change'] }}($event)" @change="{{ $attributes['change'] }}($event)"
@endif @endif
@if(isset($attributes['v-error-message'])) @if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}" :form-error="{{ $attributes['v-error-message'] }}"
@else @else
:form-error="form.errors.get('{{ $name }}')" :form-error="form.errors.get('{{ $name }}')"
@endif @endif
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
></akaunting-select> ></akaunting-select>

View File

@ -2,28 +2,45 @@
<akaunting-select <akaunting-select
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
:options="{{ json_encode($values) }}" :options="{{ json_encode($values) }}"
:value="{{ json_encode(old($name, $selected)) }}" :value="{{ json_encode(old($name, $selected)) }}"
:icon="'{{ $icon }}'"
:multiple="true" :multiple="true"
@if (!empty($attributes['collapse'])) @if (!empty($attributes['collapse']))
:collapse="true" :collapse="true"
@endif @endif
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}"
@if (!empty($attributes['v-model']))
@interface="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if (!empty($attributes['change'])) @if (!empty($attributes['change']))
@change="{{ $attributes['change'] }}($event)" @change="{{ $attributes['change'] }}($event)"
@endif @endif
@if(isset($attributes['v-error-message'])) @if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}" :form-error="{{ $attributes['v-error-message'] }}"
@else @else
:form-error="form.errors.get('{{ $name }}')" :form-error="form.errors.get('{{ $name }}')"
@endif
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
@endif
></akaunting-select> ></akaunting-select>
@stack($name . '_input_end') @stack($name . '_input_end')

View File

@ -1,13 +1,19 @@
@stack($name . '_input_start') @stack($name . '_input_start')
<akaunting-select <akaunting-select
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
:options="{{ json_encode($values) }}" :options="{{ json_encode($values) }}"
:value="'{{ old($name, $selected) }}'" :value="'{{ old($name, $selected) }}'"
:icon="'{{ $icon }}'"
:add-new="{{ json_encode([ :add-new="{{ json_encode([
'status' => true, 'status' => true,
'text' => trans('general.form.add_new', ['field' => $text]), 'text' => trans('general.form.add_new', ['field' => $text]),
@ -27,11 +33,25 @@
] ]
] ]
])}}" ])}}"
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}"
@if (!empty($attributes['v-model']))
@interface="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if (!empty($attributes['change'])) @if (!empty($attributes['change']))
@change="{{ $attributes['change'] }}($event)" @change="{{ $attributes['change'] }}($event)"
@endif @endif
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}"
@if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}"
@else
:form-error="form.errors.get('{{ $name }}')"
@endif
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
></akaunting-select> ></akaunting-select>

View File

@ -2,13 +2,19 @@
<akaunting-select <akaunting-select
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
:options="{{ json_encode($values) }}" :options="{{ json_encode($values) }}"
:value="'{{ old($name, $selected) }}'" :value="'{{ old($name, $selected) }}'"
:icon="'{{ $icon }}'"
:add-new="{{ json_encode([ :add-new="{{ json_encode([
'status' => true, 'status' => true,
'text' => trans('general.form.add_new', ['field' => $text]), 'text' => trans('general.form.add_new', ['field' => $text]),
@ -29,11 +35,25 @@
] ]
])}}" ])}}"
:group="true" :group="true"
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}"
@if (!empty($attributes['v-model']))
@interface="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if (!empty($attributes['change'])) @if (!empty($attributes['change']))
@change="{{ $attributes['change'] }}($event)" @change="{{ $attributes['change'] }}($event)"
@endif @endif
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}"
@if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}"
@else
:form-error="form.errors.get('{{ $name }}')"
@endif
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
></akaunting-select> ></akaunting-select>

View File

@ -2,19 +2,39 @@
<akaunting-select <akaunting-select
class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}" class="{{ $col }} {{ isset($attributes['required']) ? 'required' : '' }}"
:form-classes="[{'has-error': {{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.get("' . $name . '")' }} }]"
@if (!empty($attributes['v-error']))
:form-classes="[{'has-error': {{ $attributes['v-error'] }} }]"
@else
:form-classes="[{'has-error': form.errors.get('{{ $name }}') }]"
@endif
:icon="'{{ $icon }}'"
:title="'{{ $text }}'" :title="'{{ $text }}'"
:placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'" :placeholder="'{{ trans('general.form.select.field', ['field' => $text]) }}'"
:name="'{{ $name }}'" :name="'{{ $name }}'"
:options="{{ json_encode($values) }}" :options="{{ json_encode($values) }}"
:value="'{{ old($name, $selected) }}'" :value="'{{ old($name, $selected) }}'"
:icon="'{{ $icon }}'"
:group="true" :group="true"
@interface="{{ !empty($attributes['v-model']) ? $attributes['v-model'] . ' = $event' : (!empty($attributes['data-field']) ? 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' : 'form.' . $name . ' = $event') }}"
@if (!empty($attributes['v-model']))
@interface="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@interface="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@interface="form.{{ $name }} = $event"
@endif
@if (!empty($attributes['change'])) @if (!empty($attributes['change']))
@change="{{ $attributes['change'] }}($event)" @change="{{ $attributes['change'] }}($event)"
@endif @endif
:form-error="{{ isset($attributes['v-error-message']) ? $attributes['v-error-message'] : 'form.errors.get("' . $name . '")' }}"
@if(isset($attributes['v-error-message']))
:form-error="{{ $attributes['v-error-message'] }}"
@else
:form-error="form.errors.get('{{ $name }}')"
@endif
:no-data-text="'{{ trans('general.no_data') }}'" :no-data-text="'{{ trans('general.no_data') }}'"
:no-matching-data-text="'{{ trans('general.no_matching_data') }}'" :no-matching-data-text="'{{ trans('general.no_matching_data') }}'"
></akaunting-select> ></akaunting-select>

View File

@ -7,8 +7,23 @@
<html-editor <html-editor
:name="'{{ $name }}'" :name="'{{ $name }}'"
@if (!empty($attributes['v-model']))
:value="{{ $attributes['v-model'] . ' = ' . $value }}"
@elseif (!empty($attributes['data-field']))
:value="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = '. $value }}"
@else
:value="form.{{ $name }} = '{{ $value }}'" :value="form.{{ $name }} = '{{ $value }}'"
@input="form.{{ $name }} = $event"></html-editor> @endif
@if (!empty($attributes['v-model']))
@input="{{ $attributes['v-model'] . ' = $event' }}"
@elseif (!empty($attributes['data-field']))
@input="{{ 'form.' . $attributes['data-field'] . '.' . $name . ' = $event' }}"
@else
@input="form.{{ $name }} = $event"
@endif
></html-editor>
<div class="invalid-feedback d-block" <div class="invalid-feedback d-block"
v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has("' . $name . '")' }}" v-if="{{ isset($attributes['v-error']) ? $attributes['v-error'] : 'form.errors.has("' . $name . '")' }}"