vuetify-form-base
Version:
Form-Generator as Vue-Component using Vuetify 2.0
148 lines (122 loc) • 6.07 kB
Plain Text
0.1.3
- control type 'list' and 'array' added
0.1.4 - 21.08.2019
- Please Update to Vuetify > 2.0
- File Input added (type:'file')
- Pickers for Color, Date and Time added/adapted (type:'color|date|time')
- added Button Toggle (Group) { type:'btn-toggle', ... }
NEW CSS class for PROPS
value:{ num: { int: { one:1 } } } -> .prop-num .prop-int .prop-one
CSS class for KEY
value:{ num: { int: { one:1 } } } -> .key-num-int-one
NEW Change Event will listen only to input & click
Update Event will listen to input, click, focus, resize, swipe
0.1.5
- Event 'blur' available
0.1.6
- added Mouseenter, -over, -leave event
- added Tooltip Support ( schema:{ ..., tooltip: 'myTooltip' } ) or use <div slot="slot-tooltip" >
Events
- Change Event will listen only to input & click
- Watch Event will listen to focus, input, click, blur
- Mouse Event will listen to mouseenter, mouseleave
- Display will listen to resize, swipe, intersect
- Update will listen to all events
0.1.9
- added support for v-img | { type:'img'}
0.1.11
- added support for grouping some control | { type:'group', ...}
0.1.16
-added new property 'flex' for setting default grid behaviour
<v-form-base :flex="{xs:12,sm:6}" .... />
<v-form-base flex="12" .... /> ident with xs:12
- added Icon { type:'icon' [,label:'print'] ... } // icon: try label or if undefined use value
0.1.17
- fixed known problem of splicing arrays in v-for and index key
- new Type { type:'text', ext:'date' } gives you access to Datepicker linked to textfield
- new Type { type:'text', ext:'time' } gives you access to Timepicker linked to textfield
- new Type { type:'text', ext:'color' } gives you access to Colorpicker linked to textfield
0.1.18
BUG GROUP FIXED
BREAKING CHANGE GROUPING from {type:'card' } into { type:'group } - see grouping example
0.1.19
change to new grid system vuetify 2.0.
It comes with a 12 point grid system built using flex-box.
schema { type:'text', name:{ col: { cols: 12, sm: 6, md:4, lg:3, xl:2 }} }
or
adding grid as attribute :flex="12" or :col="12"
<v-form-base :model="myModel" :schema="mySchema" :col="{ cols:6, sm:4, md:3, lg:2,xl:1 }" />
https://vuetifyjs.com/en/components/grids/#grid-system
add drag & drop
schema {
name1: { type:'text', drag:true },
name2: { type:'text', drop:({value}) => value },
name4: { type:'text', drag:true, drop:true }
}
0.1.20
implement dynamic change of attributes model, schema and grid
bug fix error using v-file-input
0.1.22 - 2.8.2020
- custom components added. See custom component example
- in Slots current control data-object (key, value and schema) available
- https://unpkg.com/ available
0.2.5 -23.8.2020
- Issue #53 Row gutters in grouped controls -fixed
fix: row & col configuration works in group & array schema too
grouped: {
type: "group",
row:{ noGutters:false}, // global for next schema
col: 6, // global for next schema
schema:{ A:{ type:'text', col:4, ... }
}
- issue #47 Error with empty model - enhancement generate/complete model in deep nested schema structure
if model is an empty object or an incomplete object
schema:{ a:{type: "group", schema: { b: [ {c:'text'} ] } } }
then the model structure now will be constructed/completed from schema
model:{} -> model:{ "a": { "b": { "0": {} } } }
Important this works only with model (not with deprecated value)
- Issue #52 Month picker display - updated
any 'type' prop in vuetify-control or your custom component is shadowed from v-form-base schema 'type' property
if '<v-datepicker type="month">' control needs type="month"
then you solve this with 'typeInt' -> schema { monthselect: { type:'date', typeInt:'month'}
components internal 'type' mapping works in this order typeInt || ext || type
schema { vc: { type:'v-control', typeInt:'any-v-type', ext:'any-ext' } -> <v-control type ="typeInt || ext || type" >
0.2.6 -23.8.2020
fix: handle in onEvent function - undefined event
issue #55 add attribute :search-input.sync="obj.schema.searchInput"
0.2.7 -17.9.2020
issue #58 and #52 add: control <menu> in text-picker
schema:{ ..., menu:{ closeOnContentClick:true, nudgeRight:96 } }
0.3.0 - 23.10
rewrite example using router / it is also planned to revise the documentation
issue #59 - grouping not based on model structure
-> see Example https://github.com/wotamann/vuetify-form-base/blob/master/example/src/components/wrap.vue
grouping based on model structure
-> see Example https://github.com/wotamann/vuetify-form-base/blob/master/example/src/components/grouping.vue
issue #66 - added click event for click:hour, :minute, :second
issue #68 - fixed bug with down-arrow in select|combo|autocomplete
0.3.1
add external custom component example
new slot for prepend/append in v-text-field
0.3.2
issue #71 - Fix BUG: Select|Combo|autocomplete dont display items in type 'array' -> fixed generating default key
BREAKING: changed mask-directive from 'vue-the-mask' to 'v-mask' - v-mask https://github.com/probil/v-mask
Refactor: removing 'schema.mask' as special case in vFormBase.vue not possible (doesn't work with v-textarea)
add custom-component example with external component
0.3.3
revision of radio-group and button toggle - using for prop:options an
array of strings
const options = ['A', 'B', 'C']
or array of objects
const optionsObject = [
{ icon: 'format_align_left', value: 1 },
{ icon: 'format_align_justify', value: 2, color:'red' },
{ icon: 'format_align_right', value: 3, color:'green', class:'ma-2' }
]
const optionsRadio = [
{ value: 'B', color:'blue', label: 'Blue' },
{ value: 'R', color:'red', label:'Red' },
{ value: 'G', color:'green', label:'Green' },
]
0.3.4
revision of Slots