@idooel/components 0.0.1-beta.99 → 0.0.2

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 (105) hide show
  1. package/README.md +98 -98
  2. package/dist/@idooel/components.esm.js +256 -159
  3. package/dist/@idooel/components.umd.js +256 -159
  4. package/jsconfig.json +7 -7
  5. package/package.json +50 -50
  6. package/packages/alert/index.js +4 -4
  7. package/packages/alert/src/index.vue +45 -45
  8. package/packages/batch-export/index.js +4 -4
  9. package/packages/batch-export/src/index.vue +104 -104
  10. package/packages/business-components/modal-fsm/index.js +4 -4
  11. package/packages/business-components/modal-fsm/src/index.vue +163 -163
  12. package/packages/business-components/modal-import/index.js +4 -4
  13. package/packages/business-components/modal-import/src/index.vue +139 -139
  14. package/packages/business-components/modal-timeline/index.js +4 -4
  15. package/packages/business-components/modal-timeline/src/index.vue +77 -77
  16. package/packages/business-components/tabs-sub-center/index.js +4 -4
  17. package/packages/business-components/tabs-sub-center/src/index.vue +116 -116
  18. package/packages/button/index.js +4 -4
  19. package/packages/button/src/index.vue +65 -65
  20. package/packages/checkbox/index.js +4 -4
  21. package/packages/checkbox/src/index.vue +52 -52
  22. package/packages/composite-components/button-group/index.js +4 -4
  23. package/packages/composite-components/button-group/src/index.vue +151 -151
  24. package/packages/composite-components/form-attachment/src/index.vue +14 -14
  25. package/packages/composite-components/form-img-crop/index.js +4 -4
  26. package/packages/composite-components/form-img-crop/src/index.vue +120 -111
  27. package/packages/composite-components/modal-confirm/index.js +4 -4
  28. package/packages/composite-components/modal-confirm/src/index.vue +103 -103
  29. package/packages/composite-components/modal-form/index.js +4 -4
  30. package/packages/composite-components/modal-form/src/index.vue +230 -223
  31. package/packages/composite-components/modal-img-crop/index.js +4 -4
  32. package/packages/composite-components/modal-img-crop/src/index.vue +298 -289
  33. package/packages/composite-components/modal-table/index.js +4 -4
  34. package/packages/composite-components/modal-table/src/index.vue +155 -155
  35. package/packages/composite-components/modal-tree/index.js +4 -4
  36. package/packages/composite-components/modal-tree/src/index.vue +75 -75
  37. package/packages/composite-components/search-area/index.js +4 -4
  38. package/packages/composite-components/search-area/src/index.vue +237 -237
  39. package/packages/composite-components/search-area/src/label.vue +35 -35
  40. package/packages/composite-components/select-entity-modal-table/index.js +4 -4
  41. package/packages/composite-components/select-entity-modal-table/src/index.vue +171 -168
  42. package/packages/date/index.js +4 -4
  43. package/packages/date/src/index.vue +112 -112
  44. package/packages/date-range/index.js +4 -4
  45. package/packages/date-range/src/index.vue +47 -47
  46. package/packages/form/index.js +4 -4
  47. package/packages/form/src/index.vue +318 -302
  48. package/packages/icon/index.js +4 -4
  49. package/packages/icon/src/index.vue +31 -31
  50. package/packages/index.js +153 -153
  51. package/packages/input/index.js +4 -4
  52. package/packages/input/src/index.vue +35 -35
  53. package/packages/input-number/index.js +4 -4
  54. package/packages/input-number/src/index.vue +23 -23
  55. package/packages/loading/index.js +4 -4
  56. package/packages/loading/src/index.vue +36 -36
  57. package/packages/modal/index.js +4 -4
  58. package/packages/modal/src/index.vue +184 -184
  59. package/packages/models/form-group-model/index.js +4 -4
  60. package/packages/models/form-group-model/src/index.vue +273 -273
  61. package/packages/models/form-model/index.js +4 -4
  62. package/packages/models/form-model/src/index.vue +232 -221
  63. package/packages/models/step-model/index.js +4 -4
  64. package/packages/models/step-model/src/index.vue +224 -224
  65. package/packages/models/tree-table-model/index.js +4 -4
  66. package/packages/models/tree-table-model/src/index.vue +689 -681
  67. package/packages/radio/index.js +4 -4
  68. package/packages/radio/src/index.vue +56 -56
  69. package/packages/select/index.js +4 -4
  70. package/packages/select/src/index.vue +105 -105
  71. package/packages/select-entity/index.js +4 -4
  72. package/packages/select-entity/src/index.vue +119 -119
  73. package/packages/table/index.js +4 -4
  74. package/packages/table/src/action.vue +172 -172
  75. package/packages/table/src/index.vue +289 -335
  76. package/packages/tabs/index.js +4 -4
  77. package/packages/tabs/src/index.vue +55 -55
  78. package/packages/text/index.js +4 -4
  79. package/packages/text/src/index.vue +47 -47
  80. package/packages/text-editor/index.js +4 -4
  81. package/packages/text-editor/src/index.vue +72 -72
  82. package/packages/textarea/index.js +4 -4
  83. package/packages/textarea/src/index.vue +57 -57
  84. package/packages/theme/form.scss +21 -21
  85. package/packages/theme/index.scss +42 -42
  86. package/packages/theme/overrid.scss +7 -7
  87. package/packages/theme/styleClass.scss +2 -2
  88. package/packages/theme/variables.scss +55 -55
  89. package/packages/timeline/index.js +4 -4
  90. package/packages/timeline/src/index.vue +257 -257
  91. package/packages/tpl/index.js +4 -4
  92. package/packages/tpl/src/index.vue +55 -55
  93. package/packages/tree/index.js +4 -4
  94. package/packages/tree/src/TreeNode.vue +29 -29
  95. package/packages/tree/src/index.vue +101 -101
  96. package/packages/tree-select/index.js +4 -4
  97. package/packages/tree-select/src/index.vue +142 -142
  98. package/packages/upload/index.js +4 -4
  99. package/packages/upload/src/index.vue +444 -444
  100. package/packages/utils/index.js +62 -62
  101. package/scripts/rollup.config.js +42 -42
  102. package/scripts/rollup.esm.config.js +11 -11
  103. package/scripts/rollup.umd.config.js +14 -14
  104. package/dist/@idooel/components.esm.js.map +0 -1
  105. package/dist/@idooel/components.umd.js.map +0 -1
@@ -1,224 +1,231 @@
1
- <template>
2
- <ele-modal
3
- :title="modalTitle"
4
- :value="innerValue"
5
- :size="modalSize"
6
- v-on="assignAttrForEvents"
7
- :button-group-meta="buildButtonGroupMeta">
8
- <ele-form :ref="formRef" :elements="elements"></ele-form>
9
- </ele-modal>
10
- </template>
11
-
12
- <script>
13
- import { v4 as uuidv4 } from 'uuid'
14
- import { net, type } from '@idooel/shared'
15
- import { parse } from '@idooel/expression'
16
- import { BUILT_IN_EVENT_NAMES, BUILT_IN_METHODS_NAMES, parseFieldMap, RESERVE_EVENT_NAMES, PAGE_STATUS, CONTEXT } from '../../../utils'
17
- export default {
18
- name: 'ele-modal-form',
19
- model: {
20
- prop: 'value',
21
- event: 'change'
22
- },
23
- props: {
24
- title: {
25
- type: String,
26
- default: 'ModalForm'
27
- },
28
- size: {
29
- type: String
30
- },
31
- value: {
32
- type: Boolean,
33
- default: false
34
- },
35
- meta: {
36
- type: Object
37
- }
38
- },
39
- data() {
40
- return {
41
- innerValue: false
42
- }
43
- },
44
- inject: {
45
- context: {
46
- default: () => ({})
47
- },
48
- [CONTEXT]: {
49
- default: () => (() => {})
50
- }
51
- },
52
- computed: {
53
- currentExposed () {
54
- return {
55
- formModel: this.formModels(),
56
- validateFields: this.validateFields,
57
- setFieldsValue: this.setFieldsValue,
58
- submitForm: this.submitRequestTrigger
59
- }
60
- },
61
- globalDisabled () {
62
- return this.executeExpression(this.disabled)
63
- },
64
- assignAttrForEvents () {
65
- const events = this.footerMetaElements.reduce((ret, ele) => {
66
- ret[ele.eventName] = (e) => {
67
- const { exposed = {} } = e
68
- Object.assign(exposed, { ...this.currentExposed })
69
- this.$emit(ele.eventName || 'click', { ...e, formModel: this.formModels() })
70
- }
71
- return ret
72
- }, {})
73
- return {
74
- ...events,
75
- [BUILT_IN_EVENT_NAMES.SUBMIT]: this[BUILT_IN_EVENT_NAMES.SUBMIT],
76
- [BUILT_IN_EVENT_NAMES.CANCEL]: this[BUILT_IN_EVENT_NAMES.CANCEL]
77
- }
78
- },
79
- expressionData () {
80
- return {
81
- _route: this.$route.query,
82
- _routeMeta: this.$route.meta
83
- }
84
- },
85
- formRef () {
86
- return uuidv4()
87
- },
88
- buttonGroupMeta () {
89
- const { footerMeta = {} } = this.meta
90
- return footerMeta
91
- },
92
- footerMetaElements () {
93
- const { elements = [] } = this.buttonGroupMeta
94
- if (type.isFunction(elements)) {
95
- return elements.call(this)
96
- }
97
- return elements
98
- },
99
- buildButtonGroupMeta () {
100
- return { ...this.buttonGroupMeta, elements: this.footerMetaElements }
101
- },
102
- formMeta () {
103
- const { formMeta = {} } = this.meta
104
- return formMeta
105
- },
106
- preRequest () {
107
- const { preRequest } = this.formMeta
108
- return preRequest
109
- },
110
- infoRequest () {
111
- const { infoRequest } = this.formMeta
112
- return infoRequest
113
- },
114
- submitRequest () {
115
- const { submitRequest } = this.formMeta
116
- return submitRequest
117
- },
118
- elements () {
119
- const { elements = [] } = this.formMeta
120
- return elements
121
- },
122
- modalSize () {
123
- const { size } = this.meta
124
- return size ? size : this.size
125
- },
126
- modalTitle () {
127
- const { title } = this.meta
128
- return title ? title : this.title
129
- },
130
- exposedMethods () {
131
- return {
132
- [BUILT_IN_METHODS_NAMES.CLOSE_MODAL]: this[BUILT_IN_METHODS_NAMES.CLOSE_MODAL]
133
- }
134
- },
135
- contextData () {
136
- return this[CONTEXT].call(this)
137
- }
138
- },
139
- watch: {
140
- value: {
141
- async handler (value) {
142
- this.innerValue = value
143
- if (value) {
144
- await this.preRequestTrigger()
145
- await this.infoRequestTrigger()
146
- }
147
- },
148
- immediate: true
149
- }
150
- },
151
- methods: {
152
- [BUILT_IN_METHODS_NAMES.CLOSE_MODAL] () {
153
- this.innerValue = false
154
- this.$emit('change', this.innerValue)
155
- },
156
- formModels () {
157
- return this.$refs[this.formRef] ? this.$refs[this.formRef].getFieldsValue() : {}
158
- },
159
- execFieldMap (fieldMap = {}, dataSource = {}) {
160
- const contxtData = this[CONTEXT].call(this)
161
- const { exposed = {} } = contxtData
162
- const ret = parseFieldMap(fieldMap, { _route: this.$route.query, ...exposed, ...dataSource})
163
- return ret
164
- },
165
- executeExpression (expression, dataSource = {}) {
166
- if (type.isBool(expression)) return expression
167
- if (type.isEmpty(expression)) return false
168
- return parse(expression, { ...this.expressionData, ...this.formModels(), ...dataSource })
169
- },
170
- async submitRequestTrigger (props = {}) {
171
- const { exposed = {} } = this.contextData
172
- const { requestTableData } = exposed
173
- const { url, requestType, headers = {}, params = {}, fieldMap = {} } = this.submitRequest
174
- if (!url) return
175
- const ret = await net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap, { ...this.formModels() }), ...this.formModels() }, { headers }).then(resp => {
176
- this.$emit(BUILT_IN_EVENT_NAMES.SUBMIT, { ...props, formModel: { ...this.formModels(), ...resp.data || {} } })
177
- requestTableData && requestTableData()
178
- this.innerValue = false
179
- this.$emit('change', this.innerValue)
180
- return resp.data
181
- })
182
- return ret
183
- },
184
- async infoRequestTrigger () {
185
- if (PAGE_STATUS.CREATE == this.routeMetaMode) return
186
- const { url, requestType, params = {}, fieldMap = {}, headers = {} } = this.infoRequest
187
- if (!url) return
188
- net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers }).then(resp => {
189
- const { data = {} } = resp
190
- this.setFieldsValue(data)
191
- this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })
192
- })
193
- },
194
- async preRequestTrigger () {
195
- const { url, requestType = 'GET', params = {}, fieldMap = {}, headers = {} } = this.preRequest
196
- if (!url) return
197
- const { data } = await net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers })
198
- this.setFieldsValue(data)
199
- this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })
200
- },
201
- setFieldsValue (props) {
202
- this.$refs[this.formRef].setFieldsValue(props)
203
- },
204
- validateFields () {
205
- return this.$refs[this.formRef].validateFields()
206
- },
207
- [BUILT_IN_EVENT_NAMES.SUBMIT] (props = {}) {
208
- if (this.globalDisabled) return
209
- const status = this.$refs[this.formRef].validateFields()
210
- if (status) {
211
- //TODO fieldMap
212
- return this.submitRequestTrigger(props)
213
- } else {
214
- return false
215
- }
216
- },
217
- [BUILT_IN_EVENT_NAMES.CANCEL] (props = {}) {
218
- this.innerValue = false
219
- this.$emit('change', this.innerValue)
220
- this.$emit(BUILT_IN_EVENT_NAMES.CANCEL, { ...props })
221
- }
222
- }
223
- }
1
+ <template>
2
+ <ele-modal
3
+ :title="modalTitle"
4
+ :value="innerValue"
5
+ :size="modalSize"
6
+ v-on="assignAttrForEvents"
7
+ :button-group-meta="buildButtonGroupMeta">
8
+ <ele-form :ref="formRef" :elements="elements" @x:mounted="formMounted"></ele-form>
9
+ </ele-modal>
10
+ </template>
11
+
12
+ <script>
13
+ import { v4 as uuidv4 } from 'uuid'
14
+ import { net, type } from '@idooel/shared'
15
+ import { parse } from '@idooel/expression'
16
+ import { BUILT_IN_EVENT_NAMES, BUILT_IN_METHODS_NAMES, parseFieldMap, RESERVE_EVENT_NAMES, PAGE_STATUS, CONTEXT } from '../../../utils'
17
+ export default {
18
+ name: 'ele-modal-form',
19
+ model: {
20
+ prop: 'value',
21
+ event: 'change'
22
+ },
23
+ props: {
24
+ title: {
25
+ type: String,
26
+ default: 'ModalForm'
27
+ },
28
+ size: {
29
+ type: String
30
+ },
31
+ value: {
32
+ type: Boolean,
33
+ default: false
34
+ },
35
+ meta: {
36
+ type: Object
37
+ }
38
+ },
39
+ data() {
40
+ return {
41
+ innerValue: false,
42
+ formModel: {}
43
+ }
44
+ },
45
+ inject: {
46
+ context: {
47
+ default: () => ({})
48
+ },
49
+ [CONTEXT]: {
50
+ default: () => (() => {})
51
+ }
52
+ },
53
+ computed: {
54
+ currentExposed () {
55
+ return {
56
+ formModel: this.formModels(),
57
+ validateFields: this.validateFields,
58
+ setFieldsValue: this.setFieldsValue,
59
+ submitForm: this.submitRequestTrigger
60
+ }
61
+ },
62
+ globalDisabled () {
63
+ return this.executeExpression(this.disabled)
64
+ },
65
+ assignAttrForEvents () {
66
+ const events = this.footerMetaElements.reduce((ret, ele) => {
67
+ ret[ele.eventName] = (e) => {
68
+ const { exposed = {} } = e
69
+ Object.assign(exposed, { ...this.currentExposed })
70
+ this.$emit(ele.eventName || 'click', { ...e, formModel: this.formModels() })
71
+ }
72
+ return ret
73
+ }, {})
74
+ return {
75
+ ...events,
76
+ [BUILT_IN_EVENT_NAMES.SUBMIT]: this[BUILT_IN_EVENT_NAMES.SUBMIT],
77
+ [BUILT_IN_EVENT_NAMES.CANCEL]: this[BUILT_IN_EVENT_NAMES.CANCEL]
78
+ }
79
+ },
80
+ expressionData () {
81
+ return {
82
+ _route: this.$route.query,
83
+ _routeMeta: this.$route.meta
84
+ }
85
+ },
86
+ formRef () {
87
+ return uuidv4()
88
+ },
89
+ buttonGroupMeta () {
90
+ const { footerMeta = {} } = this.meta
91
+ return footerMeta
92
+ },
93
+ footerMetaElements () {
94
+ const { elements = [] } = this.buttonGroupMeta
95
+ if (type.isFunction(elements)) {
96
+ return elements.call(this)
97
+ }
98
+ return elements
99
+ },
100
+ buildButtonGroupMeta () {
101
+ return { ...this.buttonGroupMeta, elements: this.footerMetaElements }
102
+ },
103
+ formMeta () {
104
+ const { formMeta = {} } = this.meta
105
+ return formMeta
106
+ },
107
+ preRequest () {
108
+ const { preRequest } = this.formMeta
109
+ return preRequest
110
+ },
111
+ infoRequest () {
112
+ const { infoRequest } = this.formMeta
113
+ return infoRequest
114
+ },
115
+ submitRequest () {
116
+ const { submitRequest } = this.formMeta
117
+ return submitRequest
118
+ },
119
+ elements () {
120
+ const { elements = [] } = this.formMeta
121
+ return elements
122
+ },
123
+ modalSize () {
124
+ const { size } = this.meta
125
+ return size ? size : this.size
126
+ },
127
+ modalTitle () {
128
+ const { title } = this.meta
129
+ return title ? title : this.title
130
+ },
131
+ exposedMethods () {
132
+ return {
133
+ [BUILT_IN_METHODS_NAMES.CLOSE_MODAL]: this[BUILT_IN_METHODS_NAMES.CLOSE_MODAL]
134
+ }
135
+ },
136
+ contextData () {
137
+ return this[CONTEXT].call(this)
138
+ }
139
+ },
140
+ watch: {
141
+ value: {
142
+ async handler (value) {
143
+ this.innerValue = value
144
+ },
145
+ immediate: true
146
+ }
147
+ },
148
+ methods: {
149
+ async formMounted (ref) {
150
+ const { setFormModel } = ref
151
+ await this.preRequestTrigger({ setFormModel })
152
+ await this.infoRequestTrigger({ setFormModel })
153
+ },
154
+ [BUILT_IN_METHODS_NAMES.CLOSE_MODAL] () {
155
+ this.innerValue = false
156
+ this.$emit('change', this.innerValue)
157
+ },
158
+ formModels () {
159
+ return this.$refs[this.formRef] ? this.$refs[this.formRef].getFieldsValue() : {}
160
+ },
161
+ execFieldMap (fieldMap = {}, dataSource = {}) {
162
+ const contxtData = this[CONTEXT].call(this)
163
+ const { exposed = {} } = contxtData
164
+ const ret = parseFieldMap(fieldMap, { _route: this.$route.query, exposed: exposed, ...exposed, ...dataSource})
165
+ return ret
166
+ },
167
+ executeExpression (expression, dataSource = {}) {
168
+ if (type.isBool(expression)) return expression
169
+ if (type.isEmpty(expression)) return false
170
+ return parse(expression, { ...this.expressionData, ...this.formModels(), ...dataSource })
171
+ },
172
+ async submitRequestTrigger (props = {}) {
173
+ const { exposed = {} } = this.contextData
174
+ const { requestTableData } = exposed
175
+ const { url, requestType, headers = {}, params = {}, fieldMap = {} } = this.submitRequest
176
+ if (!url) return
177
+ const ret = await net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap, { ...this.formModels() }), ...this.formModels() }, { headers }).then(resp => {
178
+ this.$emit(BUILT_IN_EVENT_NAMES.SUBMIT, { ...props, formModel: { ...this.formModels(), ...resp.data || {} } })
179
+ requestTableData && requestTableData()
180
+ this.innerValue = false
181
+ this.$emit('change', this.innerValue)
182
+ return resp.data
183
+ })
184
+ return ret
185
+ },
186
+ async infoRequestTrigger ({ setFormModel }) {
187
+ if (PAGE_STATUS.CREATE == this.routeMetaMode) return
188
+ if (!this.infoRequest) return
189
+ const { url, requestType, params = {}, fieldMap = {}, headers = {} } = this.infoRequest
190
+ if (!url) return
191
+ net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers }).then(resp => {
192
+ const { data = {} } = resp
193
+ this.setFieldsValue(data)
194
+ setFormModel(data)
195
+ this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })
196
+ })
197
+ },
198
+ async preRequestTrigger ({ setFormModel }) {
199
+ const { url, requestType = 'GET', params = {}, fieldMap = {}, headers = {} } = this.preRequest
200
+ if (!url) return
201
+ const { data } = await net[requestType.toLowerCase()](url, { ...params, ...this.execFieldMap(fieldMap) }, { ...headers })
202
+ this.setFieldsValue(data)
203
+ setFormModel(data)
204
+ this.$emit(RESERVE_EVENT_NAMES.INIT_FORM, { ...data })
205
+ },
206
+ setFieldsValue (props) {
207
+ this.$nextTick(() => {
208
+ this.$refs[this.formRef].setFieldsValue(props)
209
+ })
210
+ },
211
+ validateFields () {
212
+ return this.$refs[this.formRef].validateFields()
213
+ },
214
+ [BUILT_IN_EVENT_NAMES.SUBMIT] (props = {}) {
215
+ if (this.globalDisabled) return
216
+ const status = this.$refs[this.formRef].validateFields()
217
+ if (status) {
218
+ //TODO fieldMap
219
+ return this.submitRequestTrigger(props)
220
+ } else {
221
+ return false
222
+ }
223
+ },
224
+ [BUILT_IN_EVENT_NAMES.CANCEL] (props = {}) {
225
+ this.innerValue = false
226
+ this.$emit('change', this.innerValue)
227
+ this.$emit(BUILT_IN_EVENT_NAMES.CANCEL, { ...props })
228
+ }
229
+ }
230
+ }
224
231
  </script>
@@ -1,5 +1,5 @@
1
- import EleImgCrop from './src/index.vue'
2
-
3
- EleImgCrop.install = Vue => Vue.component(EleImgCrop.name, EleImgCrop)
4
-
1
+ import EleImgCrop from './src/index.vue'
2
+
3
+ EleImgCrop.install = Vue => Vue.component(EleImgCrop.name, EleImgCrop)
4
+
5
5
  export default EleImgCrop