@idooel/components 0.0.1-beta.39 → 0.0.1-beta.40

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