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

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 +3622 -1592
  3. package/dist/@idooel/components.umd.js +3676 -1647
  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 +964 -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,117 +1,117 @@
1
- <template>
2
- <div class="g-form__tabs">
3
- <div :class="['g-form__wrapper', disabled && 'disabled']">
4
- <div :class="['g-form__item', !disabled && (innerActiveKey == props.key) && 'actived']" @click="handleTabClick(props)" v-for="props in dataSource" :key="props.key">
5
- <div>{{ props.title }}</div>
6
- <div v-if="isSuffix" class="suffix">
7
- <template v-if="props.loading">
8
- <ele-loading style="margin-left:4px;" :loading="props.loading"></ele-loading>
9
- </template>
10
- <div v-else>({{ props.suffix }}人)</div>
11
- </div>
12
- </div>
13
- </div>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- export default {
19
- name: 'ele-tabs-sub-center',
20
- props: {
21
- activeKey: {
22
- type: [String, Number]
23
- },
24
- isSuffix: {
25
- type: Boolean,
26
- default: false
27
- },
28
- disabled: {
29
- type: Boolean,
30
- default: false
31
- },
32
- dataSource: {
33
- type: Array
34
- }
35
- },
36
- data () {
37
- return {
38
- innerActiveKey: 1
39
- }
40
- },
41
- watch: {
42
- activeKey: {
43
- handler (key) {
44
- this.innerActiveKey = key
45
- },
46
- immediate: true
47
- }
48
- },
49
- methods: {
50
- setLoadingByKey (key, status = true) {
51
- const target = this.dataSource.find(item => item.key == key)
52
- this.$set(target, 'loading', status)
53
- },
54
- setTitleByKey (key, title) {
55
- const target = this.dataSource.find(item => item.key == key)
56
- this.$set(target, 'title', title)
57
- },
58
- setSuffixByKey (key, suffix) {
59
- const target = this.dataSource.find(item => item.key == key)
60
- this.$set(target, 'suffix', suffix)
61
- },
62
- handleTabClick (props) {
63
- if (this.disabled) return
64
- const { key } = props
65
- this.innerActiveKey = key
66
- this.$emit('on-click', props)
67
- }
68
- }
69
- }
70
- </script>
71
-
72
- <style lang="scss" scoped>
73
- .g-form__tabs {
74
- width: 100%;
75
- background: #fff;
76
- display: flex;
77
- flex-direction: row;
78
- height: 32px;
79
- .g-form__wrapper {
80
- display: flex;
81
- flex-direction: row;
82
- &.disabled {
83
- .g-form__item {
84
- cursor: not-allowed;
85
- border-color: rgba(0, 0, 0, 0.16);
86
- background: rgba(0, 0, 0, 0.04);
87
- color: rgba(0, 0, 0, 0.24);
88
- }
89
- }
90
- .g-form__item {
91
- padding: 0px 16px;
92
- cursor: pointer;
93
- font-size: 14px;
94
- display: flex;
95
- flex-direction: row;
96
- align-items: center;
97
- border: 1px solid rgba(0, 0, 0, 0.16);
98
- color: rgba(0, 0, 0, 0.64);
99
- border-right: unset;
100
- & .suffix {
101
- display: flex;
102
- }
103
- &:last-child {
104
- border-right: 1px solid rgba(0, 0, 0, 0.16);
105
- }
106
- &.actived {
107
- border-color:#409eff;
108
- color: #409eff;
109
- font-size: 14px;
110
- &+.g-form__item {
111
- border-left: 1px solid #409eff;
112
- }
113
- }
114
- }
115
- }
116
- }
1
+ <template>
2
+ <div class="g-form__tabs">
3
+ <div :class="['g-form__wrapper', disabled && 'disabled']">
4
+ <div :class="['g-form__item', !disabled && (innerActiveKey == props.key) && 'actived']" @click="handleTabClick(props)" v-for="props in dataSource" :key="props.key">
5
+ <div>{{ props.title }}</div>
6
+ <div v-if="isSuffix" class="suffix">
7
+ <template v-if="props.loading">
8
+ <ele-loading style="margin-left:4px;" :loading="props.loading"></ele-loading>
9
+ </template>
10
+ <div v-else>({{ props.suffix }}人)</div>
11
+ </div>
12
+ </div>
13
+ </div>
14
+ </div>
15
+ </template>
16
+
17
+ <script>
18
+ export default {
19
+ name: 'ele-tabs-sub-center',
20
+ props: {
21
+ activeKey: {
22
+ type: [String, Number]
23
+ },
24
+ isSuffix: {
25
+ type: Boolean,
26
+ default: false
27
+ },
28
+ disabled: {
29
+ type: Boolean,
30
+ default: false
31
+ },
32
+ dataSource: {
33
+ type: Array
34
+ }
35
+ },
36
+ data () {
37
+ return {
38
+ innerActiveKey: 1
39
+ }
40
+ },
41
+ watch: {
42
+ activeKey: {
43
+ handler (key) {
44
+ this.innerActiveKey = key
45
+ },
46
+ immediate: true
47
+ }
48
+ },
49
+ methods: {
50
+ setLoadingByKey (key, status = true) {
51
+ const target = this.dataSource.find(item => item.key == key)
52
+ this.$set(target, 'loading', status)
53
+ },
54
+ setTitleByKey (key, title) {
55
+ const target = this.dataSource.find(item => item.key == key)
56
+ this.$set(target, 'title', title)
57
+ },
58
+ setSuffixByKey (key, suffix) {
59
+ const target = this.dataSource.find(item => item.key == key)
60
+ this.$set(target, 'suffix', suffix)
61
+ },
62
+ handleTabClick (props) {
63
+ if (this.disabled) return
64
+ const { key } = props
65
+ this.innerActiveKey = key
66
+ this.$emit('on-click', props)
67
+ }
68
+ }
69
+ }
70
+ </script>
71
+
72
+ <style lang="scss" scoped>
73
+ .g-form__tabs {
74
+ width: 100%;
75
+ background: #fff;
76
+ display: flex;
77
+ flex-direction: row;
78
+ height: 32px;
79
+ .g-form__wrapper {
80
+ display: flex;
81
+ flex-direction: row;
82
+ &.disabled {
83
+ .g-form__item {
84
+ cursor: not-allowed;
85
+ border-color: rgba(0, 0, 0, 0.16);
86
+ background: rgba(0, 0, 0, 0.04);
87
+ color: rgba(0, 0, 0, 0.24);
88
+ }
89
+ }
90
+ .g-form__item {
91
+ padding: 0px 16px;
92
+ cursor: pointer;
93
+ font-size: 14px;
94
+ display: flex;
95
+ flex-direction: row;
96
+ align-items: center;
97
+ border: 1px solid rgba(0, 0, 0, 0.16);
98
+ color: rgba(0, 0, 0, 0.64);
99
+ border-right: unset;
100
+ & .suffix {
101
+ display: flex;
102
+ }
103
+ &:last-child {
104
+ border-right: 1px solid rgba(0, 0, 0, 0.16);
105
+ }
106
+ &.actived {
107
+ border-color:#409eff;
108
+ color: #409eff;
109
+ font-size: 14px;
110
+ &+.g-form__item {
111
+ border-left: 1px solid #409eff;
112
+ }
113
+ }
114
+ }
115
+ }
116
+ }
117
117
  </style>
@@ -1,5 +1,5 @@
1
- import EleButton from './src/index.vue'
2
-
3
- EleButton.install = Vue => Vue.component(EleButton.name, EleButton)
4
-
1
+ import EleButton from './src/index.vue'
2
+
3
+ EleButton.install = Vue => Vue.component(EleButton.name, EleButton)
4
+
5
5
  export default EleButton
@@ -1,66 +1,66 @@
1
- <template>
2
- <a-dropdown v-if="mode == 'dropdown'">
3
- <a-menu slot="overlay" @click="handleMenuClick">
4
- <a-menu-item :key="opt.value" v-for="opt in dataSource">
5
- {{ opt.label }}
6
- </a-menu-item>
7
- </a-menu>
8
- <a-button :type="type">
9
- <slot></slot>
10
- <a-icon :type="icon" />
11
- </a-button>
12
- </a-dropdown>
13
- <a-button :type="type" :icon="icon" @click="handleClick" v-else>
14
- <slot></slot>
15
- </a-button>
16
- </template>
17
-
18
- <script>
19
- import { CONTEXT } from '../../utils'
20
- export default {
21
- name: 'ele-button',
22
- props: {
23
- record: {
24
- type: Object
25
- },
26
- eventName: {
27
- type: String
28
- },
29
- mode: {
30
- type: String
31
- },
32
- dataSource: {
33
- type: Array,
34
- default: () => []
35
- },
36
- type: {
37
- type: String,
38
- default: 'default'
39
- },
40
- icon: {
41
- type: String
42
- }
43
- },
44
- inject: {
45
- [CONTEXT]: {
46
- default: () => (() => ({}))
47
- }
48
- },
49
- computed: {
50
- callContext () {
51
- return this[CONTEXT].call(this)
52
- }
53
- },
54
- methods: {
55
- handleMenuClick (props) {
56
- const { key } = props
57
- const currentClickTarget = this.dataSource.find(item => item.value === key)
58
- const { eventName } = currentClickTarget
59
- eventName && this.$emit(eventName, { ...currentClickTarget })
60
- },
61
- handleClick () {
62
- this.$emit(this.eventName || 'click', { ...this.record, ...this.callContext })
63
- }
64
- }
65
- }
1
+ <template>
2
+ <a-dropdown v-if="mode == 'dropdown'">
3
+ <a-menu slot="overlay" @click="handleMenuClick">
4
+ <a-menu-item :key="opt.value" v-for="opt in dataSource">
5
+ {{ opt.label }}
6
+ </a-menu-item>
7
+ </a-menu>
8
+ <a-button :type="type">
9
+ <slot></slot>
10
+ <a-icon :type="icon" />
11
+ </a-button>
12
+ </a-dropdown>
13
+ <a-button :type="type" :icon="icon" @click="handleClick" v-else>
14
+ <slot></slot>
15
+ </a-button>
16
+ </template>
17
+
18
+ <script>
19
+ import { CONTEXT } from '../../utils'
20
+ export default {
21
+ name: 'ele-button',
22
+ props: {
23
+ record: {
24
+ type: Object
25
+ },
26
+ eventName: {
27
+ type: String
28
+ },
29
+ mode: {
30
+ type: String
31
+ },
32
+ dataSource: {
33
+ type: Array,
34
+ default: () => []
35
+ },
36
+ type: {
37
+ type: String,
38
+ default: 'default'
39
+ },
40
+ icon: {
41
+ type: String
42
+ }
43
+ },
44
+ inject: {
45
+ [CONTEXT]: {
46
+ default: () => (() => ({}))
47
+ }
48
+ },
49
+ computed: {
50
+ callContext () {
51
+ return this[CONTEXT].call(this)
52
+ }
53
+ },
54
+ methods: {
55
+ handleMenuClick (props) {
56
+ const { key } = props
57
+ const currentClickTarget = this.dataSource.find(item => item.value === key)
58
+ const { eventName } = currentClickTarget
59
+ eventName && this.$emit(eventName, { ...currentClickTarget })
60
+ },
61
+ handleClick () {
62
+ this.$emit(this.eventName || 'click', { ...this.record, ...this.callContext })
63
+ }
64
+ }
65
+ }
66
66
  </script>
@@ -1,5 +1,5 @@
1
- import EleCheckbox from './src/index.vue'
2
-
3
- EleCheckbox.install = Vue => Vue.component(EleCheckbox.name, EleCheckbox)
4
-
1
+ import EleCheckbox from './src/index.vue'
2
+
3
+ EleCheckbox.install = Vue => Vue.component(EleCheckbox.name, EleCheckbox)
4
+
5
5
  export default EleCheckbox
@@ -1,53 +1,53 @@
1
- <template>
2
- <a-checkbox-group
3
- :value="value"
4
- :options="dataSource"
5
- :disabled="disabled"
6
- @change="onChange">
7
- </a-checkbox-group>
8
- </template>
9
-
10
- <script>
11
- export default {
12
- name: 'ele-checkbox',
13
- model: {
14
- prop: 'value',
15
- event: 'change'
16
- },
17
- props: {
18
- value: {
19
- type: Array
20
- },
21
- dataSource: {
22
- type: Array,
23
- default: () => []
24
- },
25
- disabled: {
26
- type: Boolean,
27
- default: false
28
- }
29
- },
30
- methods: {
31
- onChange (value) {
32
- this.$emit('change', value)
33
- this.$emit('input', value)
34
- }
35
- }
36
- }
37
- </script>
38
- <style lang="scss" scoped>
39
- .ant-checkbox-group {
40
- text-align: left;
41
- line-height: 32px;
42
- }
43
- .has-error {
44
- .ant-checkbox-group {
45
- ::v-deep .ant-checkbox-wrapper {
46
- color: var(--idooel-form-border-err-color);
47
- }
48
- ::v-deep .ant-checkbox-inner {
49
- border-color: var(--idooel-form-border-err-color);
50
- }
51
- }
52
- }
1
+ <template>
2
+ <a-checkbox-group
3
+ :value="value"
4
+ :options="dataSource"
5
+ :disabled="disabled"
6
+ @change="onChange">
7
+ </a-checkbox-group>
8
+ </template>
9
+
10
+ <script>
11
+ export default {
12
+ name: 'ele-checkbox',
13
+ model: {
14
+ prop: 'value',
15
+ event: 'change'
16
+ },
17
+ props: {
18
+ value: {
19
+ type: Array
20
+ },
21
+ dataSource: {
22
+ type: Array,
23
+ default: () => []
24
+ },
25
+ disabled: {
26
+ type: Boolean,
27
+ default: false
28
+ }
29
+ },
30
+ methods: {
31
+ onChange (value) {
32
+ this.$emit('change', value)
33
+ this.$emit('input', value)
34
+ }
35
+ }
36
+ }
37
+ </script>
38
+ <style lang="scss" scoped>
39
+ .ant-checkbox-group {
40
+ text-align: left;
41
+ line-height: 32px;
42
+ }
43
+ .has-error {
44
+ .ant-checkbox-group {
45
+ ::v-deep .ant-checkbox-wrapper {
46
+ color: var(--idooel-form-border-err-color);
47
+ }
48
+ ::v-deep .ant-checkbox-inner {
49
+ border-color: var(--idooel-form-border-err-color);
50
+ }
51
+ }
52
+ }
53
53
  </style>
@@ -1,5 +1,5 @@
1
- import EleButtonGroup from './src/index.vue'
2
-
3
- EleButtonGroup.install = Vue => Vue.component(EleButtonGroup.name, EleButtonGroup)
4
-
1
+ import EleButtonGroup from './src/index.vue'
2
+
3
+ EleButtonGroup.install = Vue => Vue.component(EleButtonGroup.name, EleButtonGroup)
4
+
5
5
  export default EleButtonGroup