@afeefa/vue-app 0.0.294 → 0.0.296

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- 0.0.294
1
+ 0.0.296
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@afeefa/vue-app",
3
- "version": "0.0.294",
3
+ "version": "0.0.296",
4
4
  "description": "",
5
5
  "author": "Afeefa Kollektiv <kollektiv@afeefa.de>",
6
6
  "license": "MIT",
@@ -7,6 +7,7 @@
7
7
  >
8
8
  <slot
9
9
  name="form"
10
+ :form="this"
10
11
  :changed="changed"
11
12
  :valid="valid"
12
13
  :modelToEdit="modelToEdit"
@@ -22,5 +22,13 @@ export default class FormFieldText extends Mixins(FormFieldMixin) {
22
22
  setFocus () {
23
23
  this.$refs.input.setFocus(true)
24
24
  }
25
+
26
+ validate () {
27
+ this.$refs.input.validate()
28
+ }
29
+
30
+ get internalValue () {
31
+ return this.$refs.input?.internalValue
32
+ }
25
33
  }
26
34
  </script>
@@ -1,7 +1,7 @@
1
1
  import { Component, Vue } from '@a-vue'
2
2
 
3
3
  @Component({
4
- props: ['name', 'label']
4
+ props: ['name', 'label', 'optionRequestParams']
5
5
  })
6
6
  export class ListFilterMixin extends Vue {
7
7
  name_ = null
@@ -31,11 +31,7 @@ export default class ListFilterSelect extends Mixins(ListFilterMixin) {
31
31
  this.filter.value = []
32
32
  }
33
33
 
34
- if (this.filter.hasOptionsRequest()) {
35
- this.items = this.loadRequestOptions()
36
- } else if (this.filter.hasOptions()) {
37
- this.items = this.getOptions()
38
- }
34
+ this.reloadOptions()
39
35
  }
40
36
 
41
37
  get clearable () {
@@ -56,7 +52,11 @@ export default class ListFilterSelect extends Mixins(ListFilterMixin) {
56
52
 
57
53
  async loadRequestOptions () {
58
54
  const {models} = await ListAction
59
- .fromRequest(this.filter.createOptionsRequest())
55
+ .fromRequest(
56
+ this.filter
57
+ .createOptionsRequest()
58
+ .addParams(this.optionRequestParams || {})
59
+ )
60
60
  .load()
61
61
 
62
62
  this.$emit('optionsLoaded', models)
@@ -93,5 +93,13 @@ export default class ListFilterSelect extends Mixins(ListFilterMixin) {
93
93
  })
94
94
  ]
95
95
  }
96
+
97
+ reloadOptions () {
98
+ if (this.filter.hasOptionsRequest()) {
99
+ this.items = this.loadRequestOptions()
100
+ } else if (this.filter.hasOptions()) {
101
+ this.items = this.getOptions()
102
+ }
103
+ }
96
104
  }
97
105
  </script>
@@ -8,9 +8,10 @@
8
8
  :createModelToEdit="createModelToEdit"
9
9
  v-on="$listeners"
10
10
  >
11
- <template #form="{modelToEdit, model, getField, changed, valid}">
11
+ <template #form="{form, modelToEdit, model, getField, changed, valid}">
12
12
  <slot
13
13
  name="form"
14
+ :form="form"
14
15
  :modelToEdit="modelToEdit"
15
16
  :model="model"
16
17
  :getField="getField"