@afeefa/vue-app 0.0.52 → 0.0.55

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.
Files changed (92) hide show
  1. package/.afeefa/package/release/version.txt +1 -1
  2. package/package.json +3 -10
  3. package/src/api-resources/ApiActions.js +31 -0
  4. package/src/components/AAlert.vue +1 -1
  5. package/src/components/AAutocomplete.vue +1 -1
  6. package/src/components/ABadge.vue +1 -1
  7. package/src/components/ABreadcrumbs.vue +1 -1
  8. package/src/components/ACheckbox.vue +35 -0
  9. package/src/components/AContextMenu.vue +2 -2
  10. package/src/components/AContextMenuItem.vue +2 -2
  11. package/src/components/ADatePicker.vue +1 -1
  12. package/src/components/ADialog.vue +1 -1
  13. package/src/components/AGrid.vue +2 -1
  14. package/src/components/AIcon.vue +1 -1
  15. package/src/components/AIconButton.vue +1 -1
  16. package/src/components/ALoadingIndicator.vue +1 -1
  17. package/src/components/AModal.vue +1 -1
  18. package/src/components/APagination.vue +1 -1
  19. package/src/components/ARadioGroup.vue +1 -1
  20. package/src/components/ARichTextArea.vue +121 -0
  21. package/src/components/ARow.vue +1 -1
  22. package/src/components/ASaveIndicator.vue +1 -1
  23. package/src/components/ASearchSelect.vue +34 -18
  24. package/src/components/ASelect.vue +1 -1
  25. package/src/components/ATable.vue +1 -1
  26. package/src/components/ATableHeader.vue +1 -1
  27. package/src/components/ATableRow.vue +1 -1
  28. package/src/components/ATextArea.vue +1 -1
  29. package/src/components/ATextField.vue +1 -1
  30. package/src/components/form/EditForm.vue +2 -6
  31. package/src/components/form/EditModal.vue +1 -1
  32. package/src/components/form/FormFieldMixin.js +2 -3
  33. package/src/components/form/fields/FormFieldCheckbox.vue +18 -0
  34. package/src/components/form/fields/FormFieldDate.vue +1 -1
  35. package/src/components/form/fields/FormFieldRadioGroup.vue +1 -1
  36. package/src/components/form/fields/FormFieldRichTextArea.vue +14 -0
  37. package/src/components/form/fields/FormFieldSearchSelect.vue +1 -1
  38. package/src/components/form/fields/FormFieldSelect.vue +1 -1
  39. package/src/components/form/fields/FormFieldSelect2.vue +1 -1
  40. package/src/components/form/fields/FormFieldText.vue +1 -1
  41. package/src/components/form/fields/FormFieldTextArea.vue +1 -1
  42. package/src/components/index.js +4 -0
  43. package/src/components/list/ListFilterMixin.js +1 -1
  44. package/src/components/list/ListFilterRow.vue +1 -1
  45. package/src/components/list/ListViewMixin.js +7 -4
  46. package/src/components/list/filters/ListFilterPage.vue +1 -1
  47. package/src/components/list/filters/ListFilterSearch.vue +1 -1
  48. package/src/components/list/filters/ListFilterSelect.vue +1 -1
  49. package/src/components/mixins/ClickOutsideMixin.js +1 -1
  50. package/src/components/mixins/ComponentWidthMixin.js +1 -1
  51. package/src/components/search-select/SearchSelectFilters.vue +1 -1
  52. package/src/components/search-select/SearchSelectList.vue +13 -3
  53. package/src/components/vue/Component.js +46 -0
  54. package/src/index.js +4 -0
  55. package/src/plugins/api-resources/ApiResourcesPlugin.js +12 -0
  56. package/src/plugins/route-config/RouteConfigPlugin.js +25 -1
  57. package/src/services/escape/CancelOnEscMixin.js +1 -1
  58. package/src/services/position/UsesPositionServiceMixin.js +1 -1
  59. package/src/styles/forms.scss +8 -0
  60. package/src/styles/vue-app.scss +1 -0
  61. package/src-admin/bootstrap.js +2 -5
  62. package/src-admin/components/App.vue +1 -1
  63. package/src-admin/components/NotFound.vue +65 -0
  64. package/src-admin/components/SidebarMenu.vue +1 -1
  65. package/src-admin/components/Splash.vue +34 -34
  66. package/src-admin/components/Start.vue +2 -2
  67. package/src-admin/components/app/AppBarButton.vue +1 -1
  68. package/src-admin/components/app/AppBarButtons.vue +1 -1
  69. package/src-admin/components/app/AppBarTitle.vue +1 -1
  70. package/src-admin/components/app/AppBarTitleContainer.vue +1 -1
  71. package/src-admin/components/controls/SearchSelectFormField.vue +223 -0
  72. package/src-admin/components/detail/DetailProperty.vue +2 -4
  73. package/src-admin/components/list/ListColumnHeader.vue +5 -4
  74. package/src-admin/components/list/ListTitle.vue +1 -1
  75. package/src-admin/components/list/ListView.vue +12 -10
  76. package/src-admin/components/menu/SidebarMenuItem.vue +1 -1
  77. package/src-admin/components/model/ModelCount.vue +1 -1
  78. package/src-admin/components/model/ModelIcon.vue +1 -1
  79. package/src-admin/components/pages/CreatePage.vue +2 -3
  80. package/src-admin/components/pages/DetailPage.vue +4 -4
  81. package/src-admin/components/pages/EditPage.vue +5 -6
  82. package/src-admin/components/pages/EditPageMixin.js +1 -1
  83. package/src-admin/components/pages/ListPage.vue +3 -4
  84. package/src-admin/components/routes/CreateRoute.vue +1 -1
  85. package/src-admin/components/routes/DetailRoute.vue +4 -4
  86. package/src-admin/components/routes/EditRoute.vue +4 -4
  87. package/src-admin/components/routes/ListRoute.vue +4 -4
  88. package/src-admin/config/vuetify.js +3 -1
  89. package/src-admin/models/Model.js +13 -0
  90. package/src-admin/models/ModelAdminConfig.js +20 -0
  91. package/src-components/AMdiIcon.vue +14 -0
  92. package/src/utils/props-helper.js +0 -21
@@ -1 +1 @@
1
- 0.0.52
1
+ 0.0.55
package/package.json CHANGED
@@ -1,20 +1,13 @@
1
1
  {
2
2
  "name": "@afeefa/vue-app",
3
- "version": "0.0.52",
3
+ "version": "0.0.55",
4
4
  "description": "",
5
5
  "author": "Afeefa Kollektiv <kollektiv@afeefa.de>",
6
6
  "license": "MIT",
7
- "scripts": {
8
- "typings": "tsc"
9
- },
10
7
  "devDependencies": {
11
- "core-js": "^3.9.1",
12
- "typescript": "^4.2.3",
13
- "vue": "^2.6.12",
8
+ "core-js": "^3.21.1",
9
+ "vue": "^2.6.14",
14
10
  "vue-class-component": "^7.2.6",
15
11
  "vue-property-decorator": "^9.1.2"
16
- },
17
- "dependencies": {
18
- "moment": "^2.29.1"
19
12
  }
20
13
  }
@@ -228,14 +228,38 @@ export class RemoveAction {
228
228
  }
229
229
 
230
230
  export class ListAction {
231
+ action = null
231
232
  request = null
233
+ params = {}
234
+ fields = {}
235
+ filters = {}
232
236
  events = true
233
237
 
238
+ setAction (action) {
239
+ this.action = action
240
+ return this
241
+ }
242
+
234
243
  setRequest (request) {
235
244
  this.request = request
236
245
  return this
237
246
  }
238
247
 
248
+ setParams (params) {
249
+ this.params = params
250
+ return this
251
+ }
252
+
253
+ setFields (fields) {
254
+ this.fields = fields
255
+ return this
256
+ }
257
+
258
+ setFilters (filters) {
259
+ this.filters = filters
260
+ return this
261
+ }
262
+
239
263
  noEvents (noEvents) {
240
264
  this.events = noEvents === undefined ? false : !noEvents
241
265
  return this
@@ -246,6 +270,13 @@ export class ListAction {
246
270
  eventBus.dispatch(new LoadingEvent(LoadingEvent.START_LOADING))
247
271
  }
248
272
 
273
+ if (!this.request) {
274
+ this.request = this.action.createRequest()
275
+ .params(this.params)
276
+ .fields(this.fields)
277
+ .filters(this.filters)
278
+ }
279
+
249
280
  const result = await this.request.send()
250
281
 
251
282
  if (result.error) {
@@ -35,7 +35,7 @@
35
35
  </template>
36
36
 
37
37
  <script>
38
- import { Component, Vue } from 'vue-property-decorator'
38
+ import { Component, Vue } from '@a-vue'
39
39
  import { AlertEvent } from './alert/AlertEvent'
40
40
 
41
41
  @Component
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <script>
21
- import { Component, Vue, Watch } from 'vue-property-decorator'
21
+ import { Component, Vue, Watch } from '@a-vue'
22
22
  import { Model } from '@afeefa/api-resources-client'
23
23
  import { debounce } from '@a-vue/utils/debounce'
24
24
 
@@ -7,7 +7,7 @@
7
7
 
8
8
 
9
9
  <script>
10
- import { Component, Vue, Watch } from 'vue-property-decorator'
10
+ import { Component, Vue, Watch } from '@a-vue'
11
11
 
12
12
  @Component({
13
13
  props: ['content']
@@ -19,7 +19,7 @@
19
19
 
20
20
 
21
21
  <script>
22
- import { Component, Vue, Watch } from 'vue-property-decorator'
22
+ import { Component, Vue, Watch } from '@a-vue'
23
23
  import { SaveEvent } from './save-indicator/SaveEvent'
24
24
  import { routeConfigPlugin } from '@a-vue/plugins/route-config/RouteConfigPlugin'
25
25
 
@@ -0,0 +1,35 @@
1
+ <template>
2
+ <v-checkbox
3
+ ref="checkbox"
4
+ v-bind="$attrs"
5
+ :inputValue="$attrs.value"
6
+ @change="$emit('input', $event || false)"
7
+ />
8
+ </template>
9
+
10
+
11
+ <script>
12
+ import { Component, Vue } from '@a-vue'
13
+
14
+ @Component({
15
+ props: ['validator']
16
+ })
17
+ export default class ACheckbox extends Vue {
18
+ created () {
19
+ this.init()
20
+ }
21
+
22
+ async init () {
23
+ if (this.validator) {
24
+ this.$nextTick(() => {
25
+ this.$refs.checkbox.validate(true)
26
+ })
27
+ }
28
+ }
29
+
30
+ get validationRules () {
31
+ const label = this.$attrs.label
32
+ return (this.validator && this.validator.getRules(label)) || []
33
+ }
34
+ }
35
+ </script>
@@ -25,7 +25,7 @@
25
25
  </template>
26
26
 
27
27
  <script>
28
- import { Component, Mixins, Watch } from 'vue-property-decorator'
28
+ import { Component, Mixins, Watch } from '@a-vue'
29
29
  import { UsesPositionServiceMixin } from '../services/position/UsesPositionServiceMixin'
30
30
  import { Positions, PositionConfig } from '../services/PositionService'
31
31
  import { randomCssClass } from '../utils/random'
@@ -140,7 +140,7 @@ export default class AContextMenu extends Mixins(UsesPositionServiceMixin) {
140
140
  .popUpContent {
141
141
  min-height: 2.2rem;
142
142
  position: absolute;
143
- z-index: 200;
143
+ z-index: 400;
144
144
  display: block;
145
145
  background-color: white;
146
146
  padding: 0.5rem;
@@ -8,7 +8,7 @@
8
8
  </template>
9
9
 
10
10
  <script>
11
- import { Component, Vue } from 'vue-property-decorator'
11
+ import { Component, Vue } from '@a-vue'
12
12
 
13
13
  @Component({
14
14
  props: ['to']
@@ -29,7 +29,7 @@ export default class AContextMenuItem extends Vue {
29
29
  this.contextMenu.close()
30
30
  if (this.to) {
31
31
  this.$router.push(this.to)
32
- .catch(() => null) // prevent duplicated navigation
32
+ .catch(() => null) // prevent duplicated navigation warning
33
33
  } else {
34
34
  this.$emit('click')
35
35
  }
@@ -29,7 +29,7 @@
29
29
 
30
30
 
31
31
  <script>
32
- import { Component, Mixins, Watch } from 'vue-property-decorator'
32
+ import { Component, Mixins, Watch } from '@a-vue'
33
33
  import { formatDate } from '@a-vue/utils/format-date'
34
34
  import { ComponentWidthMixin } from './mixins/ComponentWidthMixin'
35
35
 
@@ -54,7 +54,7 @@
54
54
  </template>
55
55
 
56
56
  <script>
57
- import { Component, Mixins, Watch } from 'vue-property-decorator'
57
+ import { Component, Mixins, Watch } from '@a-vue'
58
58
  import { DialogEvent } from './dialog/DialogEvent'
59
59
  import { PositionConfig } from '../services/PositionService'
60
60
  import { UsesPositionServiceMixin } from '../services/position/UsesPositionServiceMixin'
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  <script>
9
- import { Component, Vue } from 'vue-property-decorator'
9
+ import { Component, Vue } from '@a-vue'
10
10
 
11
11
  @Component({
12
12
  props: ['fullWidth', 'gap', 'hGap', 'vGap', 'cols', 'even', 'breakMobile']
@@ -91,6 +91,7 @@ export default class AGrid extends Vue {
91
91
  grid-template-columns: repeat(5, 1fr);
92
92
  }
93
93
  }
94
+
94
95
  &.breakMobile {
95
96
  @media (max-width: 900px), (orientation : portrait) {
96
97
  grid-template-columns: 1fr;
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
  <script>
13
- import { Component, Vue } from 'vue-property-decorator'
13
+ import { Component, Vue } from '@a-vue'
14
14
 
15
15
  @Component({
16
16
  props: ['button']
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
  <script>
19
- import { Component, Vue } from 'vue-property-decorator'
19
+ import { Component, Vue } from '@a-vue'
20
20
 
21
21
  @Component({
22
22
  props: ['icon', 'text']
@@ -9,7 +9,7 @@
9
9
  </template>
10
10
 
11
11
  <script>
12
- import { Component, Vue, Watch } from 'vue-property-decorator'
12
+ import { Component, Vue, Watch } from '@a-vue'
13
13
 
14
14
  @Component({
15
15
  props: ['isLoading']
@@ -33,7 +33,7 @@
33
33
  </template>
34
34
 
35
35
  <script>
36
- import { Component, Mixins, Watch } from 'vue-property-decorator'
36
+ import { Component, Mixins, Watch } from '@a-vue'
37
37
  import { PositionConfig } from '../services/PositionService'
38
38
  import { UsesPositionServiceMixin } from '@a-vue/services/position/UsesPositionServiceMixin'
39
39
  import { randomCssClass } from '../utils/random'
@@ -13,7 +13,7 @@
13
13
 
14
14
 
15
15
  <script>
16
- import { Component, Vue } from 'vue-property-decorator'
16
+ import { Component, Vue } from '@a-vue'
17
17
 
18
18
  @Component({
19
19
  props: ['content']
@@ -18,7 +18,7 @@
18
18
 
19
19
 
20
20
  <script>
21
- import { Component, Vue, Watch } from 'vue-property-decorator'
21
+ import { Component, Vue, Watch } from '@a-vue'
22
22
 
23
23
  @Component({
24
24
  props: ['options', 'validator']
@@ -0,0 +1,121 @@
1
+ <template>
2
+ <div :class="['a-rich-text-editor a-text-input', {'a-text-input-focused': focus}]">
3
+ <div v-if="editor">
4
+ <button
5
+ type="button"
6
+ :class="{ 'is-active': editor.isActive('bold') }"
7
+ @click="editor.chain().focus().toggleBold().run()"
8
+ >
9
+ bold
10
+ <a-mdi-icon />
11
+ </button>
12
+ <button
13
+ type="button"
14
+ :class="{ 'is-active': editor.isActive('italic') }"
15
+ @click="editor.chain().focus().toggleItalic().run()"
16
+ >
17
+ italic
18
+ </button>
19
+ <button
20
+ type="button"
21
+ :class="{ 'is-active': editor.isActive('strike') }"
22
+ @click="editor.chain().focus().toggleStrike().run()"
23
+ >
24
+ strike
25
+ </button>
26
+ </div>
27
+
28
+ <editor-content
29
+ :editor="editor"
30
+ :class="['a-rich-text-editor', {focus}]"
31
+ />
32
+ </div>
33
+ </template>
34
+
35
+
36
+ <script>
37
+ import { Component, Vue, Watch } from '@a-vue'
38
+ import { Editor, EditorContent } from '@tiptap/vue-2'
39
+ import StarterKit from '@tiptap/starter-kit'
40
+
41
+ @Component({
42
+ props: ['value', 'validator'],
43
+ components: {
44
+ EditorContent
45
+ }
46
+ })
47
+ export default class ARichTextArea extends Vue {
48
+ editor = null
49
+ internalValue = null
50
+ focus = false
51
+
52
+ created () {
53
+ this.internalValue = this.value
54
+ }
55
+
56
+ mounted () {
57
+ if (this.validator) {
58
+ this.$refs.input.validate(true)
59
+ }
60
+
61
+ this.editor = new Editor({
62
+ content: '<p>I’m running Tiptap with Vue.js. 🎉</p>',
63
+ extensions: [
64
+ StarterKit
65
+ ],
66
+ onUpdate: () => {
67
+ this.$emit('input', this.editor.getHTML())
68
+ },
69
+ onFocus: ({ editor, event }) => {
70
+ this.focus = true
71
+ },
72
+ onBlur: ({ editor, event }) => {
73
+ this.focus = false
74
+ }
75
+ })
76
+
77
+ this.editor.commands.setContent(this.internalValue, false)
78
+ }
79
+
80
+ beforeDestroy () {
81
+ this.editor.destroy()
82
+ }
83
+
84
+ @Watch('value')
85
+ valueChanged () {
86
+ this.internalValue = this.value
87
+
88
+ const isSame = this.editor.getHTML() === this.internalValue
89
+ if (!isSame) {
90
+ this.editor.commands.setContent(this.internalValue, false)
91
+ }
92
+ }
93
+
94
+ get validationRules () {
95
+ const label = this.$attrs.label
96
+ return (this.validator && this.validator.getRules(label)) || []
97
+ }
98
+
99
+ get counter () {
100
+ if (!this.validator) {
101
+ return false
102
+ }
103
+ return this.validator.getParams().max || false
104
+ }
105
+ }
106
+ </script>
107
+
108
+
109
+ <style lang="scss" scoped>
110
+ .v-input:not(.v-input--is-focused) ::v-deep .v-counter {
111
+ display: none;
112
+ }
113
+
114
+ .a-rich-text-editor {
115
+ ::v-deep .ProseMirror {
116
+ &-focused {
117
+ outline: none;
118
+ }
119
+ }
120
+ }
121
+ </style>
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  <script>
9
- import { Component, Vue } from 'vue-property-decorator'
9
+ import { Component, Vue } from '@a-vue'
10
10
 
11
11
  @Component({
12
12
  props: ['fullWidth', 'gap', 'start', 'stretch', 'center', 'vertical', 'right']
@@ -14,7 +14,7 @@
14
14
 
15
15
 
16
16
  <script>
17
- import { Component, Vue } from 'vue-property-decorator'
17
+ import { Component, Vue } from '@a-vue'
18
18
  import { SaveEvent } from './save-indicator/SaveEvent'
19
19
 
20
20
  @Component
@@ -16,6 +16,7 @@
16
16
  <div
17
17
  v-if="isOpen"
18
18
  class="controls"
19
+ :style="cwm_widthStyle"
19
20
  >
20
21
  <div class="background elevation-6" />
21
22
 
@@ -44,14 +45,17 @@
44
45
  <div :class="listCssClass">
45
46
  <search-select-list
46
47
  v-if="isOpen"
47
- v-bind="listConfig"
48
+ :listViewConfig="listViewConfig"
48
49
  :q="q"
50
+ :selectedItems="selectedItems"
49
51
  :events="false"
50
52
  :history="false"
51
53
  :filterSource="filterSource"
52
54
  :loadOnlyIfKeyword="_loadOnlyIfKeyword"
55
+ :filters.sync="filters"
53
56
  :count.sync="count"
54
57
  :isLoading.sync="isLoading"
58
+ :style="cwm_widthStyle"
55
59
  >
56
60
  <template #header>
57
61
  <div />
@@ -60,19 +64,11 @@
60
64
  </template>
61
65
 
62
66
  <template #row="{ model }">
63
- <v-icon
64
- :color="model.getIcon().color"
65
- size="1.5rem"
66
- v-text="model.getIcon().icon"
67
- />
68
-
69
67
  <slot
70
68
  name="row"
71
69
  :model="model"
72
70
  :on="{ click: selectHandler(model) }"
73
71
  />
74
-
75
- <div class="lastColumn" />
76
72
  </template>
77
73
 
78
74
  <template #not-found="{ filters }">
@@ -88,7 +84,7 @@
88
84
 
89
85
 
90
86
  <script>
91
- import { Component, Watch, Mixins } from 'vue-property-decorator'
87
+ import { Component, Watch, Mixins } from '@a-vue'
92
88
  import { UsesPositionServiceMixin } from '../services/position/UsesPositionServiceMixin'
93
89
  import { PositionConfig } from '../services/PositionService'
94
90
  import { randomCssClass } from '../utils/random'
@@ -96,15 +92,25 @@ import { FilterSourceType } from '@a-vue/components/list/FilterSourceType'
96
92
  import SearchSelectFilters from './search-select/SearchSelectFilters'
97
93
  import SearchSelectList from './search-select/SearchSelectList'
98
94
  import { CancelOnEscMixin } from '@a-vue/services/escape/CancelOnEscMixin'
95
+ import { ComponentWidthMixin } from './mixins/ComponentWidthMixin'
99
96
 
100
97
  @Component({
101
- props: ['listConfig', 'q', 'width', 'closeOnSelect', 'loadOnlyIfKeyword'],
98
+ props: [
99
+ 'listViewConfig',
100
+ 'q',
101
+ 'width',
102
+ 'closeOnSelect',
103
+ 'loadOnlyIfKeyword',
104
+ {
105
+ selectedItems: []
106
+ }
107
+ ],
102
108
  components: {
103
109
  SearchSelectFilters,
104
110
  SearchSelectList
105
111
  }
106
112
  })
107
- export default class ASearchSelect extends Mixins(UsesPositionServiceMixin, CancelOnEscMixin) {
113
+ export default class ASearchSelect extends Mixins(ComponentWidthMixin, UsesPositionServiceMixin, CancelOnEscMixin) {
108
114
  selectId = randomCssClass(10)
109
115
  isOpen = false
110
116
  items_ = []
@@ -196,7 +202,7 @@ export default class ASearchSelect extends Mixins(UsesPositionServiceMixin, Canc
196
202
  p
197
203
  .anchorTop()
198
204
  .targetBottom()
199
- .diffY('-1rem')
205
+ .diffY('-.5rem')
200
206
  })
201
207
  .onPosition(this.onListPositionChanged)
202
208
 
@@ -307,24 +313,34 @@ export default class ASearchSelect extends Mixins(UsesPositionServiceMixin, Canc
307
313
  }
308
314
 
309
315
  .controls {
310
- min-width: 400px;
316
+ width: 400px;
311
317
  position: absolute;
312
318
  z-index: 300;
313
319
  display: block;
314
- padding: 0 0.5rem;
320
+ padding: 0 .5rem;
321
+
322
+ ::v-deep .a-row {
323
+ overflow: unset;
324
+ }
315
325
  }
316
326
 
317
327
  .searchSelectList {
318
- min-width: 400px;
328
+ width: 400px;
319
329
  position: absolute;
320
330
  z-index: 301;
321
331
 
322
332
  max-height: 40vh;
323
333
  overflow-y: auto;
334
+ overflow-x: hidden;
324
335
  overscroll-behavior: contain;
325
336
 
326
- ::v-deep .a-table-row > * {
327
- cursor: pointer;
337
+ ::v-deep .a-table-row {
338
+ &:not(.selected) {
339
+ cursor: pointer;
340
+ }
341
+ &.selected {
342
+ pointer-events: none;
343
+ }
328
344
  }
329
345
  }
330
346
 
@@ -12,7 +12,7 @@
12
12
 
13
13
 
14
14
  <script>
15
- import { Component, Mixins, Watch } from 'vue-property-decorator'
15
+ import { Component, Mixins, Watch } from '@a-vue'
16
16
  import { Model } from '@afeefa/api-resources-client'
17
17
  import { ComponentWidthMixin } from './mixins/ComponentWidthMixin'
18
18
 
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  <script>
9
- import { Component, Vue } from 'vue-property-decorator'
9
+ import { Component, Vue } from '@a-vue'
10
10
 
11
11
  @Component({
12
12
  props: ['width', 'fixed']
@@ -6,7 +6,7 @@
6
6
 
7
7
 
8
8
  <script>
9
- import { Component, Vue } from 'vue-property-decorator'
9
+ import { Component, Vue } from '@a-vue'
10
10
 
11
11
  @Component({
12
12
  props: ['small']
@@ -9,7 +9,7 @@
9
9
 
10
10
 
11
11
  <script>
12
- import { Component, Vue } from 'vue-property-decorator'
12
+ import { Component, Vue } from '@a-vue'
13
13
 
14
14
  @Component({
15
15
  props: ['small', 'selected']
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
  <script>
13
- import { Component, Vue } from 'vue-property-decorator'
13
+ import { Component, Vue } from '@a-vue'
14
14
 
15
15
  @Component({
16
16
  props: ['validator']
@@ -15,7 +15,7 @@
15
15
 
16
16
 
17
17
  <script>
18
- import { Component, Watch, Mixins } from 'vue-property-decorator'
18
+ import { Component, Watch, Mixins } from '@a-vue'
19
19
  import { debounce } from '@a-vue/utils/debounce'
20
20
  import { ComponentWidthMixin } from './mixins/ComponentWidthMixin'
21
21
 
@@ -8,14 +8,14 @@
8
8
  <slot
9
9
  :changed="changed"
10
10
  :valid="valid"
11
+ :model="model"
11
12
  />
12
13
  </v-form>
13
14
  </template>
14
15
 
15
16
 
16
17
  <script>
17
- import { Component, Vue, Watch } from 'vue-property-decorator'
18
- import { apiResources } from '@afeefa/api-resources-client'
18
+ import { Component, Vue, Watch } from '@a-vue'
19
19
 
20
20
  @Component({
21
21
  props: ['model']
@@ -52,9 +52,5 @@ export default class EditForm extends Vue {
52
52
  changedChanged () {
53
53
  this.$emit('update:changed', this.changed)
54
54
  }
55
-
56
- get type () {
57
- return apiResources.getType(this.model.type)
58
- }
59
55
  }
60
56
  </script>
@@ -56,7 +56,7 @@
56
56
 
57
57
 
58
58
  <script>
59
- import { Component, Vue, Watch } from 'vue-property-decorator'
59
+ import { Component, Vue, Watch } from '@a-vue'
60
60
 
61
61
  @Component({
62
62
  props: ['model', 'title', 'show']