@idooel/components 0.0.1-beta.21 → 0.0.1-beta.22

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 (74) hide show
  1. package/dist/@idooel/components.esm.js +954 -584
  2. package/dist/@idooel/components.umd.js +964 -592
  3. package/package.json +49 -46
  4. package/packages/alert/index.js +4 -4
  5. package/packages/alert/src/index.vue +45 -45
  6. package/packages/batch-export/index.js +4 -4
  7. package/packages/batch-export/src/index.vue +108 -106
  8. package/packages/button/index.js +4 -4
  9. package/packages/button/src/index.vue +54 -54
  10. package/packages/checkbox/index.js +4 -4
  11. package/packages/checkbox/src/index.vue +43 -43
  12. package/packages/composite-components/attachment/src/index.vue +14 -14
  13. package/packages/composite-components/button-group/index.js +4 -4
  14. package/packages/composite-components/button-group/src/index.vue +53 -45
  15. package/packages/composite-components/modal-import/index.js +4 -4
  16. package/packages/composite-components/modal-import/src/index.vue +27 -27
  17. package/packages/composite-components/search-area/index.js +4 -4
  18. package/packages/composite-components/search-area/src/index.vue +225 -225
  19. package/packages/composite-components/search-area/src/label.vue +35 -35
  20. package/packages/date/index.js +4 -4
  21. package/packages/date/src/index.vue +39 -39
  22. package/packages/date-range/index.js +4 -4
  23. package/packages/date-range/src/index.vue +47 -47
  24. package/packages/form/index.js +4 -4
  25. package/packages/form/src/index.vue +212 -212
  26. package/packages/form-group-model/index.js +4 -4
  27. package/packages/form-group-model/src/index.vue +273 -273
  28. package/packages/form-model/index.js +4 -4
  29. package/packages/form-model/src/index.vue +165 -165
  30. package/packages/icon/index.js +4 -4
  31. package/packages/icon/src/index.vue +31 -31
  32. package/packages/img-crop/index.js +5 -0
  33. package/packages/img-crop/src/index.vue +181 -0
  34. package/packages/index.js +89 -84
  35. package/packages/input/index.js +4 -4
  36. package/packages/input/src/index.vue +35 -35
  37. package/packages/input-number/index.js +4 -4
  38. package/packages/input-number/src/index.vue +23 -23
  39. package/packages/modal/index.js +4 -4
  40. package/packages/modal/src/index.vue +146 -141
  41. package/packages/radio/index.js +4 -4
  42. package/packages/radio/src/index.vue +51 -51
  43. package/packages/select/index.js +4 -4
  44. package/packages/select/src/index.vue +92 -92
  45. package/packages/select-entity/index.js +4 -4
  46. package/packages/select-entity/src/index.vue +113 -113
  47. package/packages/step-model/index.js +4 -4
  48. package/packages/step-model/src/index.vue +196 -173
  49. package/packages/table/index.js +4 -4
  50. package/packages/table/src/action.vue +131 -131
  51. package/packages/table/src/index.vue +157 -157
  52. package/packages/tabs/index.js +4 -4
  53. package/packages/tabs/src/index.vue +55 -54
  54. package/packages/text-editor/index.js +5 -0
  55. package/packages/text-editor/src/index.vue +73 -0
  56. package/packages/textarea/index.js +4 -4
  57. package/packages/textarea/src/index.vue +57 -57
  58. package/packages/theme/form.scss +21 -21
  59. package/packages/theme/index.scss +31 -27
  60. package/packages/theme/styleClass.scss +3 -0
  61. package/packages/theme/variables.scss +55 -55
  62. package/packages/tpl/index.js +4 -4
  63. package/packages/tpl/src/index.vue +55 -55
  64. package/packages/tree/index.js +4 -4
  65. package/packages/tree/src/TreeNode.vue +29 -29
  66. package/packages/tree/src/index.vue +101 -101
  67. package/packages/tree-table-model/index.js +4 -4
  68. package/packages/tree-table-model/src/index.vue +314 -314
  69. package/packages/upload/index.js +4 -4
  70. package/packages/upload/src/index.vue +348 -348
  71. package/packages/utils/index.js +23 -23
  72. package/scripts/rollup.config.js +35 -35
  73. package/scripts/rollup.esm.config.js +11 -11
  74. package/scripts/rollup.umd.config.js +14 -14
package/packages/index.js CHANGED
@@ -1,85 +1,90 @@
1
- import EleButton from './button/index.js'
2
- import EleDate from './date/index.js'
3
- import EleInput from './input/index.js'
4
- import EleSelect from './select/index.js'
5
- import EleTable from './table/index.js'
6
- import EleTree from './tree/index.js'
7
- import EleTpl from './tpl/index.js'
8
- import EleForm from './form/index.js'
9
- import EleAlert from './alert/index.js'
10
- import EleUpload from './upload/index.js'
11
- import EleSelectEntity from './select-entity/index.js'
12
- import EleIcon from './icon/index.js'
13
- import EleInputNumber from './input-number/index.js'
14
- import EleModal from './modal/index.js'
15
- import EleCheckbox from './checkbox/index.js'
16
- import EleRadio from './radio/index.js'
17
- import EleBatchExport from './batch-export/index.js'
18
- import EleDateRange from './date-range/index.js'
19
-
20
- import EleButtonGroup from './composite-components/button-group/index.js'
21
- import EleSearchArea from './composite-components/search-area/index.js'
22
- import EleModalImport from './composite-components/modal-import/index.js'
23
-
24
- import EleTreeTableModel from './tree-table-model/index.js'
25
- import EleFormPageModel from './form-model/index.js'
26
- import EleFormGroupModel from './form-group-model/index.js'
27
- import EleStepModel from './step-model/index.js'
28
- import EleTabs from './tabs/index.js'
29
-
30
- const compositeComponents = [
31
- EleButtonGroup,
32
- EleSearchArea,
33
- EleModalImport
34
- ]
35
-
36
- export const models = [
37
- EleTreeTableModel,
38
- EleFormPageModel,
39
- EleFormGroupModel,
40
- EleStepModel
41
- ]
42
-
43
- const components = [
44
- EleButton,
45
- EleDate,
46
- EleInput,
47
- EleSelect,
48
- EleTable,
49
- EleTree,
50
- EleTpl,
51
- EleForm,
52
- EleAlert,
53
- EleUpload,
54
- EleSelectEntity,
55
- EleIcon,
56
- EleInputNumber,
57
- EleModal,
58
- EleCheckbox,
59
- EleRadio,
60
- EleBatchExport,
61
- EleDateRange,
62
- ...compositeComponents,
63
- ...models,
64
- EleTabs
65
- ]
66
-
67
- const install = (Vue) => {
68
- if (install.installed) return
69
- install.installed = true
70
- components.forEach(component => {
71
- Vue.component(component.name, component)
72
- })
73
- }
74
- export default install
75
- export {
76
- EleButton,
77
- EleDate,
78
- EleInput,
79
- EleSelect,
80
- EleTable,
81
- EleTree,
82
- EleTpl,
83
- EleModal,
84
- EleTabs
1
+ import EleButton from './button/index.js'
2
+ import EleDate from './date/index.js'
3
+ import EleInput from './input/index.js'
4
+ import EleSelect from './select/index.js'
5
+ import EleTable from './table/index.js'
6
+ import EleTree from './tree/index.js'
7
+ import EleTpl from './tpl/index.js'
8
+ import EleForm from './form/index.js'
9
+ import EleAlert from './alert/index.js'
10
+ import EleUpload from './upload/index.js'
11
+ import EleSelectEntity from './select-entity/index.js'
12
+ import EleIcon from './icon/index.js'
13
+ import EleInputNumber from './input-number/index.js'
14
+ import EleModal from './modal/index.js'
15
+ import EleCheckbox from './checkbox/index.js'
16
+ import EleRadio from './radio/index.js'
17
+ import EleBatchExport from './batch-export/index.js'
18
+ import EleDateRange from './date-range/index.js'
19
+
20
+ import EleButtonGroup from './composite-components/button-group/index.js'
21
+ import EleSearchArea from './composite-components/search-area/index.js'
22
+ import EleModalImport from './composite-components/modal-import/index.js'
23
+
24
+ import EleTreeTableModel from './tree-table-model/index.js'
25
+ import EleFormPageModel from './form-model/index.js'
26
+ import EleFormGroupModel from './form-group-model/index.js'
27
+ import EleStepModel from './step-model/index.js'
28
+ import EleTabs from './tabs/index.js'
29
+ import EleImgCrop from './img-crop/index.js'
30
+ import EleTextEditor from './text-editor/index.js'
31
+ const compositeComponents = [
32
+ EleButtonGroup,
33
+ EleSearchArea,
34
+ EleModalImport
35
+ ]
36
+
37
+ export const models = [
38
+ EleTreeTableModel,
39
+ EleFormPageModel,
40
+ EleFormGroupModel,
41
+ EleStepModel
42
+ ]
43
+
44
+ const components = [
45
+ EleButton,
46
+ EleDate,
47
+ EleInput,
48
+ EleSelect,
49
+ EleTable,
50
+ EleTree,
51
+ EleTpl,
52
+ EleForm,
53
+ EleAlert,
54
+ EleUpload,
55
+ EleSelectEntity,
56
+ EleIcon,
57
+ EleInputNumber,
58
+ EleModal,
59
+ EleCheckbox,
60
+ EleRadio,
61
+ EleBatchExport,
62
+ EleDateRange,
63
+ ...compositeComponents,
64
+ ...models,
65
+ EleTabs,
66
+ EleImgCrop,
67
+ EleTextEditor
68
+ ]
69
+
70
+ const install = (Vue) => {
71
+ if (install.installed) return
72
+ install.installed = true
73
+ components.forEach(component => {
74
+ Vue.component(component.name, component)
75
+ })
76
+ }
77
+ export default install
78
+ export {
79
+ EleButton,
80
+ EleDate,
81
+ EleInput,
82
+ EleSelect,
83
+ EleTable,
84
+ EleTree,
85
+ EleTpl,
86
+ EleModal,
87
+ EleTabs,
88
+ EleImgCrop,
89
+ EleTextEditor
85
90
  }
@@ -1,5 +1,5 @@
1
- import EleInput from './src/index.vue'
2
-
3
- EleInput.install = Vue => Vue.component(EleInput.name, EleInput)
4
-
1
+ import EleInput from './src/index.vue'
2
+
3
+ EleInput.install = Vue => Vue.component(EleInput.name, EleInput)
4
+
5
5
  export default EleInput
@@ -1,36 +1,36 @@
1
- <template>
2
- <a-input :value="value" :disabled="disabled" :max-length="maxLength" @change="onChange"></a-input>
3
- </template>
4
-
5
- <script>
6
- export default {
7
- name: 'ele-input',
8
- model: {
9
- prop: 'value',
10
- event: 'change'
11
- },
12
- props: {
13
- disabled: {
14
- type: Boolean,
15
- default: false
16
- },
17
- maxLength: {
18
- type: Number,
19
- default: 125
20
- },
21
- value: {
22
- type: String
23
- }
24
- },
25
- methods: {
26
- onChange (e) {
27
- this.$emit('change', e.target.value)
28
- this.$emit('input', e.target.value)
29
- }
30
- }
31
- }
32
- </script>
33
-
34
- <style scoped>
35
-
1
+ <template>
2
+ <a-input :value="value" :disabled="disabled" :max-length="maxLength" @change="onChange"></a-input>
3
+ </template>
4
+
5
+ <script>
6
+ export default {
7
+ name: 'ele-input',
8
+ model: {
9
+ prop: 'value',
10
+ event: 'change'
11
+ },
12
+ props: {
13
+ disabled: {
14
+ type: Boolean,
15
+ default: false
16
+ },
17
+ maxLength: {
18
+ type: Number,
19
+ default: 125
20
+ },
21
+ value: {
22
+ type: String
23
+ }
24
+ },
25
+ methods: {
26
+ onChange (e) {
27
+ this.$emit('change', e.target.value)
28
+ this.$emit('input', e.target.value)
29
+ }
30
+ }
31
+ }
32
+ </script>
33
+
34
+ <style scoped>
35
+
36
36
  </style>
@@ -1,5 +1,5 @@
1
- import EleInputNumber from './src/index.vue'
2
-
3
- EleInputNumber.install = Vue => Vue.component(EleInputNumber.name, EleInputNumber)
4
-
1
+ import EleInputNumber from './src/index.vue'
2
+
3
+ EleInputNumber.install = Vue => Vue.component(EleInputNumber.name, EleInputNumber)
4
+
5
5
  export default EleInputNumber
@@ -1,24 +1,24 @@
1
- <template>
2
- <div>
3
- <a-input-number v-bind="$attrs" :value="value" :precision="precision" @change="onChange" style="width: 100%;"></a-input-number>
4
- </div>
5
- </template>
6
-
7
- <script>
8
- export default {
9
- name: 'ele-input-number',
10
- props: {
11
- precision: {
12
- type: Number
13
- },
14
- value: {
15
- type: [Number, String]
16
- }
17
- },
18
- methods: {
19
- onChange (value) {
20
- this.$emit('change', value)
21
- }
22
- }
23
- }
1
+ <template>
2
+ <div>
3
+ <a-input-number v-bind="$attrs" :value="value" :precision="precision" @change="onChange" style="width: 100%;"></a-input-number>
4
+ </div>
5
+ </template>
6
+
7
+ <script>
8
+ export default {
9
+ name: 'ele-input-number',
10
+ props: {
11
+ precision: {
12
+ type: Number
13
+ },
14
+ value: {
15
+ type: [Number, String]
16
+ }
17
+ },
18
+ methods: {
19
+ onChange (value) {
20
+ this.$emit('change', value)
21
+ }
22
+ }
23
+ }
24
24
  </script>
@@ -1,5 +1,5 @@
1
- import EleModal from './src/index.vue'
2
-
3
- EleModal.install = Vue => Vue.component(EleModal.name, EleModal)
4
-
1
+ import EleModal from './src/index.vue'
2
+
3
+ EleModal.install = Vue => Vue.component(EleModal.name, EleModal)
4
+
5
5
  export default EleModal
@@ -1,142 +1,147 @@
1
- <template>
2
- <a-modal
3
- :title="title"
4
- :cancelText="cancelText"
5
- :okText="okText"
6
- :closable="closable"
7
- v-model:visible="showModal"
8
- :width="width"
9
- :keyboard="false"
10
- :maskClosable="maskClosable"
11
- :dialogStyle="{ top: `${upDownDistance[size]}px` }"
12
- :bodyStyle="{ maxHeight: maxheight, overflowY: 'auto' }"
13
- :footer="showFooter ? undefined : null"
14
- @cancel="handleCancel"
15
- @ok="handleOk"
16
- >
17
- <slot></slot>
18
- <template slot="footer">
19
- <div class="ele-modal__footer">
20
- <ele-button
21
- v-for="btn in buttonGroupMeta.elements"
22
- :type="btn.type"
23
- v-on="$listeners"
24
- :event-name="btn.eventName"
25
- :key="btn.key">
26
- {{ btn.label }}
27
- </ele-button>
28
- </div>
29
- </template>
30
- </a-modal>
31
- </template>
32
- <script>
33
- export default {
34
- name: 'ele-modal',
35
- props: {
36
- value: {
37
- type: Boolean,
38
- default: false
39
- },
40
- title: {
41
- type: String,
42
- default: '标题'
43
- },
44
- cancelText: {
45
- type: String,
46
- default: '关闭'
47
- },
48
- okText: {
49
- type: String,
50
- default: '确定'
51
- },
52
- size: {
53
- type: String,
54
- default: 'middle'
55
- },
56
- map: {
57
- type: Object,
58
- default () {
59
- return {}
60
- }
61
- },
62
- closable: {
63
- type: Boolean,
64
- default: true
65
- },
66
- maskClosable: {
67
- type: Boolean,
68
- default: false
69
- },
70
- showFooter: {
71
- type: Boolean,
72
- default: true
73
- },
74
- footer: {
75
- type: Function,
76
- default: null
77
- },
78
- onlyClose: {
79
- type: Boolean,
80
- default: false
81
- },
82
- buttonGroupMeta: {
83
- type: Object,
84
- default: () => ({})
85
- }
86
- },
87
- watch: {
88
- value (newVal) {
89
- this.$nextTick(() => {
90
- this.showModal = newVal
91
- })
92
- }
93
- },
94
- computed: {
95
- width () {
96
- return this.map[this.size]
97
- },
98
- maxheight () {
99
- return `calc(100vh - ${this.upDownDistance[this.size] * 2 + (this.title ? 55 : 0) + (this.showFooter ? 53 : 0) }px`
100
- }
101
- },
102
- data () {
103
- return {
104
- showModal: false
105
- }
106
- },
107
- created () {
108
- let defaultMap = {
109
- small: 480,
110
- middle: 768,
111
- big: 1200
112
- }
113
- this.upDownDistance = {
114
- small: 80,
115
- middle: 80,
116
- big: 40
117
- }
118
- this.map = Object.assign(this.map, defaultMap)
119
- },
120
- methods: {
121
- openModal () {
122
- this.showModal = true
123
- this.removeHidden()
124
- },
125
- handleCancel () {
126
- this.showModal = false
127
- this.removeHidden()
128
- console.log('on-cancel')
129
- this.$emit('cancel')
130
- this.$emit('input', this.showModal)
131
- },
132
- handleOk () {
133
- console.log('on-ok')
134
- this.$emit('ok')
135
- },
136
- removeHidden () {
137
- let ishidden = document.body.style.overflow === 'hidden'
138
- ishidden && (document.body.style.overflow = 'initial')
139
- }
140
- }
141
- }
1
+ <template>
2
+ <a-modal
3
+ :title="title"
4
+ :cancelText="cancelText"
5
+ :okText="okText"
6
+ :closable="closable"
7
+ v-model:visible="showModal"
8
+ :width="width"
9
+ :keyboard="false"
10
+ :maskClosable="maskClosable"
11
+ :dialogStyle="{ top: `${upDownDistance[size]}px` }"
12
+ :bodyStyle="{ maxHeight: maxheight, overflowY: 'auto' }"
13
+ :footer="showFooter ? undefined : null"
14
+ @cancel="handleCancel"
15
+ @ok="handleOk"
16
+ >
17
+ <slot></slot>
18
+ <template slot="footer" v-if="!showDefaultFooter">
19
+ <div class="ele-modal__footer">
20
+ <ele-button
21
+ v-for="btn in buttonGroupMeta.elements"
22
+ :type="btn.type"
23
+ v-on="$listeners"
24
+ :event-name="btn.eventName"
25
+ :key="btn.key">
26
+ {{ btn.label }}
27
+ </ele-button>
28
+ </div>
29
+ </template>
30
+ </a-modal>
31
+ </template>
32
+ <script>
33
+ export default {
34
+ name: 'ele-modal',
35
+ props: {
36
+ value: {
37
+ type: Boolean,
38
+ default: false
39
+ },
40
+ title: {
41
+ type: String,
42
+ default: '标题'
43
+ },
44
+ cancelText: {
45
+ type: String,
46
+ default: '关闭'
47
+ },
48
+ okText: {
49
+ type: String,
50
+ default: '确定'
51
+ },
52
+ size: {
53
+ type: String,
54
+ default: 'middle'
55
+ },
56
+ map: {
57
+ type: Object,
58
+ default () {
59
+ return {}
60
+ }
61
+ },
62
+ closable: {
63
+ type: Boolean,
64
+ default: true
65
+ },
66
+ maskClosable: {
67
+ type: Boolean,
68
+ default: false
69
+ },
70
+ showFooter: {
71
+ type: Boolean,
72
+ default: true
73
+ },
74
+ footer: {
75
+ type: Function,
76
+ default: null
77
+ },
78
+ onlyClose: {
79
+ type: Boolean,
80
+ default: false
81
+ },
82
+ buttonGroupMeta: {
83
+ type: Object,
84
+ default: () => ({})
85
+ },
86
+ // 是否展示组件默认底部按钮
87
+ showDefaultFooter: {
88
+ type: Boolean,
89
+ default: false
90
+ }
91
+ },
92
+ watch: {
93
+ value (newVal) {
94
+ this.$nextTick(() => {
95
+ this.showModal = newVal
96
+ })
97
+ }
98
+ },
99
+ computed: {
100
+ width () {
101
+ return this.map[this.size]
102
+ },
103
+ maxheight () {
104
+ return `calc(100vh - ${this.upDownDistance[this.size] * 2 + (this.title ? 55 : 0) + (this.showFooter ? 53 : 0) }px`
105
+ }
106
+ },
107
+ data () {
108
+ return {
109
+ showModal: false
110
+ }
111
+ },
112
+ created () {
113
+ let defaultMap = {
114
+ small: 480,
115
+ middle: 768,
116
+ big: 1200
117
+ }
118
+ this.upDownDistance = {
119
+ small: 80,
120
+ middle: 80,
121
+ big: 40
122
+ }
123
+ this.map = Object.assign(this.map, defaultMap)
124
+ },
125
+ methods: {
126
+ openModal () {
127
+ this.showModal = true
128
+ this.removeHidden()
129
+ },
130
+ handleCancel () {
131
+ this.showModal = false
132
+ this.removeHidden()
133
+ console.log('on-cancel')
134
+ this.$emit('cancel')
135
+ this.$emit('input', this.showModal)
136
+ },
137
+ handleOk () {
138
+ console.log('on-ok')
139
+ this.$emit('ok')
140
+ },
141
+ removeHidden () {
142
+ let ishidden = document.body.style.overflow === 'hidden'
143
+ ishidden && (document.body.style.overflow = 'initial')
144
+ }
145
+ }
146
+ }
142
147
  </script>
@@ -1,5 +1,5 @@
1
- import EleRadio from './src/index.vue'
2
-
3
- EleRadio.install = Vue => Vue.component(EleRadio.name, EleRadio)
4
-
1
+ import EleRadio from './src/index.vue'
2
+
3
+ EleRadio.install = Vue => Vue.component(EleRadio.name, EleRadio)
4
+
5
5
  export default EleRadio