@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,146 +1,140 @@
1
- <template>
2
- <ele-modal :value="innerValue" :buttonGroupMeta="buttonGroupMeta" @cancel="onCancel" @handleClose="handleClose" title="导入">
3
- <div class="ele-modal-import__upload" v-if="isFileEmpty">
4
- <div class="import-download__link" @click="handleClickDownloadTpl">点击此链接下载导入模板</div>
5
- <ele-upload v-model="file" @on-success="uploadFileSuccess"></ele-upload>
6
- </div>
7
- <div v-else class="ele-modal-import__hint">
8
- <div class="import-hint__content">
9
- <div class="import-hint__left">
10
- <ele-icon></ele-icon>
11
- </div>
12
- <div class="import-hint__right">
13
- <div class="hint-right__title" @click="handleClickJump">文件上传成功,任务处理中..... 请点击此按钮跳转到“批处理管理”菜单查看任务进度</div>
14
- <div class="hint-right__sub-title">批处理任务的准备工作会在后台运行</div>
15
- </div>
16
- </div>
17
- <div class="import-footer__hint--text">
18
- 您可以请点击上方按钮查看任务进度或关闭弹框
19
- </div>
20
- </div>
21
- </ele-modal>
22
- </template>
23
-
24
- <script>
25
- import EleUpload from '../../../upload/src/index.vue'
26
- import ELeIcon from '../../../icon/src/index.vue'
27
- import { type } from '@idooel/shared'
28
- export default {
29
- name: 'ele-modal-import',
30
- components: {
31
- EleUpload,
32
- ELeIcon
33
- },
34
- model: {
35
- prop: 'value',
36
- event: 'change'
37
- },
38
- props: {
39
- value: {
40
- type: Boolean,
41
- default: false
42
- }
43
- },
44
- data() {
45
- return {
46
- innerValue: false,
47
- file: [],
48
- buttonGroupMeta: {
49
- elements: [
50
- {
51
- label: '关闭',
52
- key: 'close',
53
- type: 'default',
54
- eventName: 'handleClose'
55
- }
56
- ]
57
- }
58
- }
59
- },
60
- computed: {
61
- isFileEmpty () {
62
- return type.isEmpty(this.file)
63
- }
64
- },
65
- watch: {
66
- value: {
67
- handler (value) {
68
- this.innerValue = value
69
- },
70
- immediate: true
71
- }
72
- },
73
- methods: {
74
- emitEvent (props = {}) {
75
- this.$emit('on-actions', { ...props })
76
- },
77
- onCancel () {
78
- this.innerValue = false
79
- this.$emit('change', false)
80
- },
81
- handleClickJump () {
82
- this.emitEvent({ action: 'jump' })
83
- },
84
- uploadFileSuccess (props) {
85
- this.emitEvent({ action: 'uploaded', file: props })
86
- },
87
- handleClickDownloadTpl () {
88
- this.emitEvent({ action: 'download' })
89
- },
90
- cleanFile () {
91
- this.file = []
92
- },
93
- handleClose () {
94
- this.cleanFile()
95
- this.innerValue = false
96
- this.$emit('change', false)
97
- }
98
- }
99
- }
100
- </script>
101
- <style lang="scss">
102
- @import '../../../theme/index.scss';
103
- </style>
104
- <style lang="scss" scoped>
105
- .import-download__link {
106
- color: var(--idooel-link-06);
107
- font-size: 14px;
108
- cursor: pointer;
109
- line-height: 22px;
110
- }
111
- .ele-modal-import__hint {
112
- .import-hint__content {
113
- padding: 16px;
114
- border-radius: 2px;
115
- height: 82px;
116
- border: 1px dashed var(--idooel-link-06);
117
- background: var(--idoole-black-02);
118
- display: flex;
119
- flex-direction: row;
120
- align-items: center;
121
- .import-hint__left {
122
- .anticon-upload {
123
- font-size: 48px;
124
- color: var(--idooel-link-06);
125
- }
126
- }
127
- .import-hint__right {
128
- margin-left: 16px;
129
- .hint-right__title {
130
- font-size: 16px;
131
- color: var(--idooel-link-06);
132
- cursor: pointer;
133
- }
134
- .hint-right__sub-title {
135
- font-size: 14px;
136
- color: var(--idooel-link-03);
137
- }
138
- }
139
- }
140
- .import-footer__hint--text {
141
- font-size: 14px;
142
- color: var(--idooel-link-06);
143
- line-height: 22px;
144
- }
145
- }
1
+ <template>
2
+ <ele-modal :value="innerValue" :buttonGroupMeta="buttonGroupMeta" @cancel="onCancel" @handleClose="handleClose" title="导入">
3
+ <div class="ele-modal-import__upload" v-if="isFileEmpty">
4
+ <div class="import-download__link" @click="handleClickDownloadTpl">点击此链接下载导入模板</div>
5
+ <ele-upload v-model="file" @on-success="uploadFileSuccess"></ele-upload>
6
+ </div>
7
+ <div v-else class="ele-modal-import__hint">
8
+ <div class="import-hint__content">
9
+ <div class="import-hint__left">
10
+ <ele-icon></ele-icon>
11
+ </div>
12
+ <div class="import-hint__right">
13
+ <div class="hint-right__title" @click="handleClickJump">文件上传成功,任务处理中..... 请点击此按钮跳转到“批处理管理”菜单查看任务进度</div>
14
+ <div class="hint-right__sub-title">批处理任务的准备工作会在后台运行</div>
15
+ </div>
16
+ </div>
17
+ <div class="import-footer__hint--text">
18
+ 您可以请点击上方按钮查看任务进度或关闭弹框
19
+ </div>
20
+ </div>
21
+ </ele-modal>
22
+ </template>
23
+
24
+ <script>
25
+ import { type } from '@idooel/shared'
26
+ export default {
27
+ name: 'ele-modal-import',
28
+ model: {
29
+ prop: 'value',
30
+ event: 'change'
31
+ },
32
+ props: {
33
+ value: {
34
+ type: Boolean,
35
+ default: false
36
+ }
37
+ },
38
+ data() {
39
+ return {
40
+ innerValue: false,
41
+ file: [],
42
+ buttonGroupMeta: {
43
+ elements: [
44
+ {
45
+ label: '关闭',
46
+ key: 'close',
47
+ type: 'default',
48
+ eventName: 'handleClose'
49
+ }
50
+ ]
51
+ }
52
+ }
53
+ },
54
+ computed: {
55
+ isFileEmpty () {
56
+ return type.isEmpty(this.file)
57
+ }
58
+ },
59
+ watch: {
60
+ value: {
61
+ handler (value) {
62
+ this.innerValue = value
63
+ },
64
+ immediate: true
65
+ }
66
+ },
67
+ methods: {
68
+ emitEvent (props = {}) {
69
+ this.$emit('on-actions', { ...props })
70
+ },
71
+ onCancel () {
72
+ this.innerValue = false
73
+ this.$emit('change', false)
74
+ },
75
+ handleClickJump () {
76
+ this.emitEvent({ action: 'jump' })
77
+ },
78
+ uploadFileSuccess (props) {
79
+ this.emitEvent({ action: 'uploaded', file: props })
80
+ },
81
+ handleClickDownloadTpl () {
82
+ this.emitEvent({ action: 'download' })
83
+ },
84
+ cleanFile () {
85
+ this.file = []
86
+ },
87
+ handleClose () {
88
+ this.cleanFile()
89
+ this.innerValue = false
90
+ this.$emit('change', false)
91
+ }
92
+ }
93
+ }
94
+ </script>
95
+ <style lang="scss">
96
+ @import '../../../theme/index';
97
+ </style>
98
+ <style lang="scss" scoped>
99
+ .import-download__link {
100
+ color: var(--idooel-link-06);
101
+ font-size: 14px;
102
+ cursor: pointer;
103
+ line-height: 22px;
104
+ }
105
+ .ele-modal-import__hint {
106
+ .import-hint__content {
107
+ padding: 16px;
108
+ border-radius: 2px;
109
+ height: 82px;
110
+ border: 1px dashed var(--idooel-link-06);
111
+ background: var(--idoole-black-02);
112
+ display: flex;
113
+ flex-direction: row;
114
+ align-items: center;
115
+ .import-hint__left {
116
+ .anticon-upload {
117
+ font-size: 48px;
118
+ color: var(--idooel-link-06);
119
+ }
120
+ }
121
+ .import-hint__right {
122
+ margin-left: 16px;
123
+ .hint-right__title {
124
+ font-size: 16px;
125
+ color: var(--idooel-link-06);
126
+ cursor: pointer;
127
+ }
128
+ .hint-right__sub-title {
129
+ font-size: 14px;
130
+ color: var(--idooel-link-03);
131
+ }
132
+ }
133
+ }
134
+ .import-footer__hint--text {
135
+ font-size: 14px;
136
+ color: var(--idooel-link-06);
137
+ line-height: 22px;
138
+ }
139
+ }
146
140
  </style>
@@ -1,5 +1,5 @@
1
- import EleModalTimeline from './src/index.vue'
2
-
3
- EleModalTimeline.install = Vue => Vue.component(EleModalTimeline.name, EleModalTimeline)
4
-
1
+ import EleModalTimeline from './src/index.vue'
2
+
3
+ EleModalTimeline.install = Vue => Vue.component(EleModalTimeline.name, EleModalTimeline)
4
+
5
5
  export default EleModalTimeline
@@ -1,77 +1,78 @@
1
- <template>
2
- <ele-modal v-on="$listeners" :value="value" :title="title" :buttonGroupMeta="buttonGroupMeta">
3
- <slot name="alert"></slot>
4
- <ele-timeline v-bind="meta"></ele-timeline>
5
- <template v-if="showTextSlot" #footer-text>
6
- <ele-text v-bind="textAttrs"></ele-text>
7
- </template>
8
- </ele-modal>
9
- </template>
10
-
11
- <script>
12
- import { CONTEXT } from '../../../utils'
13
- import { type } from '@idooel/shared'
14
- export default {
15
- name: 'ele-modal-timeline',
16
- model: {
17
- prop: 'value',
18
- event: 'change'
19
- },
20
- props: {
21
- value: {
22
- type: Boolean,
23
- default: false
24
- },
25
- title: {
26
- type: String
27
- },
28
- meta: {
29
- type: Object,
30
- default: () => ({})
31
- },
32
- buttonGroupMeta: {
33
- type: Object,
34
- default: () => {
35
- return {
36
- elements: [
37
- {
38
- label: '关闭',
39
- key: 'cancel',
40
- type: 'default',
41
- eventName: 'cancel'
42
- }
43
- ]
44
- }
45
- }
46
- },
47
- contextProp: {
48
- type: Object,
49
- default: () => ({})
50
- }
51
- },
52
- provide() {
53
- return {
54
- [CONTEXT]: () => {
55
- return {
56
- _route: this.$route.query,
57
- _routeMeta: this.$route.meta,
58
- ...this.contextProp
59
- }
60
- }
61
- }
62
- },
63
- computed: {
64
- showTextSlot () {
65
- return !type.isEmpty(this.textAttrs)
66
- },
67
- textAttrs() {
68
- const { text = {} } = this.buttonGroupMeta
69
- return text
70
- }
71
- }
72
- }
73
- </script>
74
-
75
- <style lang="scss" scoped>
76
-
1
+ <template>
2
+ <ele-modal v-on="$listeners" :value="value" :title="title" :buttonGroupMeta="buttonGroupMeta">
3
+ <slot name="alert"></slot>
4
+ <ele-timeline v-bind="meta"></ele-timeline>
5
+ <template v-if="showTextSlot" #footer-text>
6
+ <ele-text v-bind="textAttrs"></ele-text>
7
+ </template>
8
+ </ele-modal>
9
+ </template>
10
+
11
+ <script>
12
+ // import { CONTEXT } from '@/utils'
13
+ import { CONTEXT } from '../../../utils'
14
+ import { type } from '@idooel/shared'
15
+ export default {
16
+ name: 'ele-modal-timeline',
17
+ model: {
18
+ prop: 'value',
19
+ event: 'change'
20
+ },
21
+ props: {
22
+ value: {
23
+ type: Boolean,
24
+ default: false
25
+ },
26
+ title: {
27
+ type: String
28
+ },
29
+ meta: {
30
+ type: Object,
31
+ default: () => ({})
32
+ },
33
+ buttonGroupMeta: {
34
+ type: Object,
35
+ default: () => {
36
+ return {
37
+ elements: [
38
+ {
39
+ label: '关闭',
40
+ key: 'cancel',
41
+ type: 'default',
42
+ eventName: 'cancel'
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ },
48
+ contextProp: {
49
+ type: Object,
50
+ default: () => ({})
51
+ }
52
+ },
53
+ provide() {
54
+ return {
55
+ [CONTEXT]: () => {
56
+ return {
57
+ _route: this.$route.query,
58
+ _routeMeta: this.$route.meta,
59
+ ...this.contextProp
60
+ }
61
+ }
62
+ }
63
+ },
64
+ computed: {
65
+ showTextSlot () {
66
+ return !type.isEmpty(this.textAttrs)
67
+ },
68
+ textAttrs() {
69
+ const { text = {} } = this.buttonGroupMeta
70
+ return text
71
+ }
72
+ }
73
+ }
74
+ </script>
75
+
76
+ <style lang="scss" scoped>
77
+
77
78
  </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,55 +1,55 @@
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
- export default {
20
- name: 'ele-button',
21
- props: {
22
- record: {
23
- type: Object
24
- },
25
- eventName: {
26
- type: String
27
- },
28
- mode: {
29
- type: String
30
- },
31
- dataSource: {
32
- type: Array,
33
- default: () => []
34
- },
35
- type: {
36
- type: String,
37
- default: 'default'
38
- },
39
- icon: {
40
- type: String
41
- }
42
- },
43
- methods: {
44
- handleMenuClick (props) {
45
- const { key } = props
46
- const currentClickTarget = this.dataSource.find(item => item.value === key)
47
- const { eventName } = currentClickTarget
48
- eventName && this.$emit(eventName, { ...currentClickTarget })
49
- },
50
- handleClick () {
51
- this.$emit(this.eventName || 'click', { ...this.record })
52
- }
53
- }
54
- }
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
+ export default {
20
+ name: 'ele-button',
21
+ props: {
22
+ record: {
23
+ type: Object
24
+ },
25
+ eventName: {
26
+ type: String
27
+ },
28
+ mode: {
29
+ type: String
30
+ },
31
+ dataSource: {
32
+ type: Array,
33
+ default: () => []
34
+ },
35
+ type: {
36
+ type: String,
37
+ default: 'default'
38
+ },
39
+ icon: {
40
+ type: String
41
+ }
42
+ },
43
+ methods: {
44
+ handleMenuClick (props) {
45
+ const { key } = props
46
+ const currentClickTarget = this.dataSource.find(item => item.value === key)
47
+ const { eventName } = currentClickTarget
48
+ eventName && this.$emit(eventName, { ...currentClickTarget })
49
+ },
50
+ handleClick () {
51
+ this.$emit(this.eventName || 'click', { ...this.record })
52
+ }
53
+ }
54
+ }
55
55
  </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