@idooel/components 0.0.2-beta.3 → 0.0.2-beta.31

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 (113) hide show
  1. package/README.md +98 -98
  2. package/dist/@idooel/components.esm.js +3599 -1574
  3. package/dist/@idooel/components.umd.js +3653 -1629
  4. package/jsconfig.json +7 -7
  5. package/package.json +64 -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 +222 -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 +131 -131
  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 -230
  31. package/packages/composite-components/modal-img-crop/index.js +4 -4
  32. package/packages/composite-components/modal-img-crop/src/index.vue +298 -298
  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 +239 -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 -171
  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 +393 -319
  48. package/packages/icon/index.js +4 -4
  49. package/packages/icon/src/index.vue +31 -31
  50. package/packages/index.js +159 -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/meta/provider.js +4 -0
  58. package/packages/modal/index.js +4 -4
  59. package/packages/modal/src/index.vue +184 -184
  60. package/packages/models/form-group-model/index.js +4 -4
  61. package/packages/models/form-group-model/src/index.vue +271 -273
  62. package/packages/models/form-model/index.js +4 -4
  63. package/packages/models/form-model/src/index.vue +236 -232
  64. package/packages/models/step-model/index.js +4 -4
  65. package/packages/models/step-model/src/index.vue +224 -224
  66. package/packages/models/tree-table-model/README.md +0 -0
  67. package/packages/models/tree-table-model/index.js +4 -4
  68. package/packages/models/tree-table-model/src/index.vue +963 -689
  69. package/packages/pagination/index.js +5 -0
  70. package/packages/pagination/src/index.vue +372 -0
  71. package/packages/radio/index.js +4 -4
  72. package/packages/radio/src/index.vue +56 -56
  73. package/packages/select/index.js +4 -4
  74. package/packages/select/src/index.vue +113 -105
  75. package/packages/select-entity/index.js +4 -4
  76. package/packages/select-entity/src/index.vue +119 -119
  77. package/packages/table/index.js +4 -4
  78. package/packages/table/src/action.vue +176 -172
  79. package/packages/table/src/index.vue +605 -319
  80. package/packages/tabs/index.js +4 -4
  81. package/packages/tabs/src/index.vue +55 -55
  82. package/packages/text/index.js +4 -4
  83. package/packages/text/src/index.vue +47 -47
  84. package/packages/text-editor/index.js +4 -4
  85. package/packages/text-editor/src/index.vue +72 -72
  86. package/packages/textarea/index.js +4 -4
  87. package/packages/textarea/src/index.vue +57 -57
  88. package/packages/theme/form.scss +21 -21
  89. package/packages/theme/index.scss +43 -43
  90. package/packages/theme/overrid.scss +7 -7
  91. package/packages/theme/styleClass.scss +2 -2
  92. package/packages/theme/variables.scss +55 -55
  93. package/packages/timeline/index.js +4 -4
  94. package/packages/timeline/src/index.vue +257 -257
  95. package/packages/tpl/index.js +4 -4
  96. package/packages/tpl/src/index.vue +55 -55
  97. package/packages/tree/index.js +4 -4
  98. package/packages/tree/src/TreeNode.vue +29 -29
  99. package/packages/tree/src/index.vue +101 -101
  100. package/packages/tree-select/index.js +4 -4
  101. package/packages/tree-select/src/index.vue +142 -142
  102. package/packages/upload/index.js +4 -4
  103. package/packages/upload/src/index.vue +998 -494
  104. package/packages/utils/README.md +172 -0
  105. package/packages/utils/index.js +66 -62
  106. package/packages/utils/runtime-context/dataPoolAPI.js +501 -0
  107. package/packages/utils/runtime-context/globalDataPool.js +279 -0
  108. package/packages/utils/runtime-context/index.js +76 -0
  109. package/packages/utils/runtime-context/modelSchema.js +174 -0
  110. package/scripts/rollup.config.js +42 -42
  111. package/scripts/rollup.esm.config.js +11 -11
  112. package/scripts/rollup.umd.config.js +17 -14
  113. package/vitest.config.js +17 -0
@@ -1,106 +1,114 @@
1
- <template>
2
- <a-select :disabled="disabled" :mode="getMode" :value="value" style="width: 100%" @change="onChange">
3
- <a-select-option v-for="item in innerDataSource" :key="item.value" :value="item.value">
4
- {{ item.label }}
5
- </a-select-option>
6
- </a-select>
7
- </template>
8
-
9
- <script>
10
- import { net, type } from '@idooel/shared'
11
- export default {
12
- name: 'ele-select',
13
- props: {
14
- init: {
15
- type: Boolean,
16
- default: false
17
- },
18
- disabled: {
19
- type: Boolean,
20
- default: false
21
- },
22
- value: {
23
- type: [String, Array, Number]
24
- },
25
- defaultValue: {
26
- type: [String, Array, Number]
27
- },
28
- dataSource: {
29
- type: Array,
30
- default: () => []
31
- },
32
- url: {
33
- type: String,
34
- default: 'api-basic/workbench/dicttype/enum/selectList'
35
- },
36
- code: {
37
- type: String,
38
- },
39
- params: {
40
- type: Object,
41
- default: () => ({})
42
- },
43
- mode: {
44
- type: String
45
- },
46
- multiple: {
47
- type: Boolean,
48
- default: false
49
- }
50
- },
51
- data () {
52
- return {
53
- innerDataSource: []
54
- }
55
- },
56
- computed: {
57
- isInitRequest () {
58
- if (this.init) {
59
- return true
60
- }
61
- if (this.code || !type.isEmpty(this.params)) {
62
- return true
63
- }
64
- return false
65
- },
66
- getMode () {
67
- if (this.multiple) {
68
- return 'multiple'
69
- }
70
- return this.mode
71
- }
72
- },
73
- watch: {
74
- dataSource: {
75
- handler (dataSource) {
76
- this.innerDataSource = dataSource
77
- },
78
- immediate: true
79
- }
80
- },
81
- created () {
82
- this.isInitRequest && this.fetchDataSourceByUrl()
83
- },
84
- methods: {
85
- fetchDataSourceByUrl () {
86
- net.get(this.url, { code: this.code, ...this.params }).then(resp => {
87
- const { data } = resp
88
- this.innerDataSource = data.map(item => {
89
- return {
90
- label: item.name,
91
- value: item.code
92
- }
93
- })
94
- })
95
- },
96
- onChange (value) {
97
- this.$emit('change', value)
98
- this.$emit('input', value)
99
- }
100
- }
101
- }
102
- </script>
103
-
104
- <style lang="scss" scoped>
105
-
1
+ <template>
2
+ <a-select :disabled="disabled" :mode="getMode" :value="value" style="width: 100%" @change="onChange">
3
+ <template v-for="item in innerDataSource">
4
+ <a-select-option v-if="item._show" :key="item.value" :value="item.value">
5
+ {{ item.label }}
6
+ </a-select-option>
7
+ <a-select-option v-if="isUndefined(item._show)" :key="item.value" :value="item.value">
8
+ {{ item.label }}
9
+ </a-select-option>
10
+ </template>
11
+ </a-select>
12
+ </template>
13
+
14
+ <script>
15
+ import { net, type } from '@idooel/shared'
16
+ export default {
17
+ name: 'ele-select',
18
+ props: {
19
+ init: {
20
+ type: Boolean,
21
+ default: false
22
+ },
23
+ disabled: {
24
+ type: Boolean,
25
+ default: false
26
+ },
27
+ value: {
28
+ type: [String, Array, Number]
29
+ },
30
+ defaultValue: {
31
+ type: [String, Array, Number]
32
+ },
33
+ dataSource: {
34
+ type: Array,
35
+ default: () => []
36
+ },
37
+ url: {
38
+ type: String,
39
+ default: 'api-basic/workbench/dicttype/enum/selectList'
40
+ },
41
+ code: {
42
+ type: String,
43
+ },
44
+ params: {
45
+ type: Object,
46
+ default: () => ({})
47
+ },
48
+ mode: {
49
+ type: String
50
+ },
51
+ multiple: {
52
+ type: Boolean,
53
+ default: false
54
+ }
55
+ },
56
+ data () {
57
+ return {
58
+ innerDataSource: []
59
+ }
60
+ },
61
+ computed: {
62
+ isInitRequest () {
63
+ if (this.init) {
64
+ return true
65
+ }
66
+ if (this.code || !type.isEmpty(this.params)) {
67
+ return true
68
+ }
69
+ return false
70
+ },
71
+ getMode () {
72
+ if (this.multiple) {
73
+ return 'multiple'
74
+ }
75
+ return this.mode
76
+ }
77
+ },
78
+ watch: {
79
+ dataSource: {
80
+ handler (dataSource) {
81
+ this.innerDataSource = dataSource
82
+ },
83
+ immediate: true
84
+ }
85
+ },
86
+ created () {
87
+ this.isInitRequest && this.fetchDataSourceByUrl()
88
+ },
89
+ methods: {
90
+ isUndefined (arg) {
91
+ return type.isUndefined(arg)
92
+ },
93
+ fetchDataSourceByUrl () {
94
+ net.get(this.url, { code: this.code, ...this.params }).then(resp => {
95
+ const { data } = resp
96
+ this.innerDataSource = data.map(item => {
97
+ return {
98
+ label: item.name,
99
+ value: item.code
100
+ }
101
+ })
102
+ })
103
+ },
104
+ onChange (value) {
105
+ this.$emit('change', value)
106
+ this.$emit('input', value)
107
+ }
108
+ }
109
+ }
110
+ </script>
111
+
112
+ <style lang="scss" scoped>
113
+
106
114
  </style>
@@ -1,5 +1,5 @@
1
- import EleSelectEntity from './src/index.vue'
2
-
3
- EleSelectEntity.install = Vue => Vue.component(EleSelectEntity.name, EleSelectEntity)
4
-
1
+ import EleSelectEntity from './src/index.vue'
2
+
3
+ EleSelectEntity.install = Vue => Vue.component(EleSelectEntity.name, EleSelectEntity)
4
+
5
5
  export default EleSelectEntity
@@ -1,120 +1,120 @@
1
- <template>
2
- <div class="g-select-entity__wrapper" :class="disabled ? 'g-select-entity__disabled' : ''">
3
- <span class="select-entity__input">
4
- <a-tag
5
- v-for="(item, inx) in getValueList"
6
- :key="item.value"
7
- :closable="!disabled && !getIsMaxCount"
8
- @close="onClose(...arguments, inx, item)"
9
- >
10
- {{ item.label }}
11
- </a-tag>
12
- <a-tag v-if="getIsMaxCount">......</a-tag>
13
- </span>
14
- <span class="select-entity__addon" @click="onChange">{{ addonAfter }}</span>
15
- <slot></slot>
16
- </div>
17
- </template>
18
-
19
- <script>
20
- import { type } from '@idooel/shared'
21
- export default {
22
- name: 'ele-select-entity',
23
- props: {
24
- value: {
25
- type: [Array, Object]
26
- },
27
- multiple: {
28
- type: Boolean,
29
- default: true
30
- },
31
- maxCount: {
32
- type: Number,
33
- default: 7
34
- },
35
- disabled: {
36
- type: Boolean,
37
- default: false
38
- },
39
- addonAfter: {
40
- type: String,
41
- default: '选择'
42
- }
43
- },
44
- computed: {
45
- getValueList () {
46
- if (this.value) {
47
- if (this.multiple) {
48
- return this.getIsMaxCount ? this.value.slice(0, this.maxCount) : this.value
49
- }
50
- return type.isArray(this.value) ? this.value : [this.value]
51
- }
52
- return []
53
- },
54
- getIsMaxCount () {
55
- if (this.value && this.multiple) {
56
- return this.value.length >= this.maxCount
57
- }
58
- return false
59
- }
60
- },
61
- methods: {
62
- onChange () {
63
- if (this.disabled) return
64
- this.$emit('change', this.value)
65
- this.$emit('evoke')
66
- },
67
- onClose (e, inx, props) {
68
- e = window.event || e
69
- e.preventDefault()
70
- if (!this.multiple) {
71
- this.$emit('close', props)
72
- this.$emit('change', null)
73
- return
74
- }
75
- this.value.splice(inx, 1)
76
- this.$emit('close', props)
77
- this.$emit('change', this.value)
78
- }
79
- }
80
- }
81
- </script>
82
-
83
- <style lang="scss" scoped>
84
- .g-select-entity__wrapper {
85
- font-size: 14px;
86
- line-height: 30px;
87
- position: relative;
88
- width: 100%;
89
- display: flex;
90
- color: var(--idoole-black-07);
91
- border-radius: 4px;
92
- border: 1px solid var(--idooel-form-title-border-color);
93
- &:hover {
94
- border-color: var(--idooel-primary-color);
95
- }
96
- .select-entity__input {
97
- padding: 0 11px;
98
- background-color: #fff;
99
- border-radius: 4px;
100
- flex-grow: 1;
101
- min-height: 30px;
102
- text-align: left;
103
- }
104
- .select-entity__addon {
105
- padding: 0 11px;
106
- color: var(--idoole-black-07);
107
- background-color: var(--idoole-black-02);
108
- border-left: 1px solid var(--idooel-form-title-border-color);
109
- cursor: pointer;
110
- min-height: 30px;
111
- white-space: nowrap;
112
- }
113
- }
114
- .has-error .g-select-entity__wrapper {
115
- border-color: var(--idooel-form-border-err-color);
116
- }
117
- .g-select-entity__disabled .select-entity__input {
118
- background-color: var(--idoole-black-02);
119
- }
1
+ <template>
2
+ <div class="g-select-entity__wrapper" :class="disabled ? 'g-select-entity__disabled' : ''">
3
+ <span class="select-entity__input">
4
+ <a-tag
5
+ v-for="(item, inx) in getValueList"
6
+ :key="item.value"
7
+ :closable="!disabled && !getIsMaxCount"
8
+ @close="onClose(...arguments, inx, item)"
9
+ >
10
+ {{ item.label }}
11
+ </a-tag>
12
+ <a-tag v-if="getIsMaxCount">......</a-tag>
13
+ </span>
14
+ <span class="select-entity__addon" @click="onChange">{{ addonAfter }}</span>
15
+ <slot></slot>
16
+ </div>
17
+ </template>
18
+
19
+ <script>
20
+ import { type } from '@idooel/shared'
21
+ export default {
22
+ name: 'ele-select-entity',
23
+ props: {
24
+ value: {
25
+ type: [Array, Object]
26
+ },
27
+ multiple: {
28
+ type: Boolean,
29
+ default: true
30
+ },
31
+ maxCount: {
32
+ type: Number,
33
+ default: 7
34
+ },
35
+ disabled: {
36
+ type: Boolean,
37
+ default: false
38
+ },
39
+ addonAfter: {
40
+ type: String,
41
+ default: '选择'
42
+ }
43
+ },
44
+ computed: {
45
+ getValueList () {
46
+ if (this.value) {
47
+ if (this.multiple) {
48
+ return this.getIsMaxCount ? this.value.slice(0, this.maxCount) : this.value
49
+ }
50
+ return type.isArray(this.value) ? this.value : [this.value]
51
+ }
52
+ return []
53
+ },
54
+ getIsMaxCount () {
55
+ if (this.value && this.multiple) {
56
+ return this.value.length >= this.maxCount
57
+ }
58
+ return false
59
+ }
60
+ },
61
+ methods: {
62
+ onChange () {
63
+ if (this.disabled) return
64
+ this.$emit('change', this.value)
65
+ this.$emit('evoke')
66
+ },
67
+ onClose (e, inx, props) {
68
+ e = window.event || e
69
+ e.preventDefault()
70
+ if (!this.multiple) {
71
+ this.$emit('close', props)
72
+ this.$emit('change', null)
73
+ return
74
+ }
75
+ this.value.splice(inx, 1)
76
+ this.$emit('close', props)
77
+ this.$emit('change', this.value)
78
+ }
79
+ }
80
+ }
81
+ </script>
82
+
83
+ <style lang="scss" scoped>
84
+ .g-select-entity__wrapper {
85
+ font-size: 14px;
86
+ line-height: 30px;
87
+ position: relative;
88
+ width: 100%;
89
+ display: flex;
90
+ color: var(--idoole-black-07);
91
+ border-radius: 4px;
92
+ border: 1px solid var(--idooel-form-title-border-color);
93
+ &:hover {
94
+ border-color: var(--idooel-primary-color);
95
+ }
96
+ .select-entity__input {
97
+ padding: 0 11px;
98
+ background-color: #fff;
99
+ border-radius: 4px;
100
+ flex-grow: 1;
101
+ min-height: 30px;
102
+ text-align: left;
103
+ }
104
+ .select-entity__addon {
105
+ padding: 0 11px;
106
+ color: var(--idoole-black-07);
107
+ background-color: var(--idoole-black-02);
108
+ border-left: 1px solid var(--idooel-form-title-border-color);
109
+ cursor: pointer;
110
+ min-height: 30px;
111
+ white-space: nowrap;
112
+ }
113
+ }
114
+ .has-error .g-select-entity__wrapper {
115
+ border-color: var(--idooel-form-border-err-color);
116
+ }
117
+ .g-select-entity__disabled .select-entity__input {
118
+ background-color: var(--idoole-black-02);
119
+ }
120
120
  </style>
@@ -1,5 +1,5 @@
1
- import EleTable from './src/index.vue'
2
-
3
- EleTable.install = Vue => Vue.component(EleTable.name, EleTable)
4
-
1
+ import EleTable from './src/index.vue'
2
+
3
+ EleTable.install = Vue => Vue.component(EleTable.name, EleTable)
4
+
5
5
  export default EleTable