@idooel/components 0.0.2-beta.10 → 0.0.2-beta.12

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 (105) hide show
  1. package/README.md +98 -98
  2. package/dist/@idooel/components.esm.js +324 -172
  3. package/dist/@idooel/components.umd.js +327 -176
  4. package/jsconfig.json +7 -7
  5. package/package.json +61 -58
  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 +139 -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 +237 -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 +319 -319
  48. package/packages/icon/index.js +4 -4
  49. package/packages/icon/src/index.vue +31 -31
  50. package/packages/index.js +153 -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/modal/index.js +4 -4
  58. package/packages/modal/src/index.vue +184 -184
  59. package/packages/models/form-group-model/index.js +4 -4
  60. package/packages/models/form-group-model/src/index.vue +273 -273
  61. package/packages/models/form-model/index.js +4 -4
  62. package/packages/models/form-model/src/index.vue +236 -236
  63. package/packages/models/step-model/index.js +4 -4
  64. package/packages/models/step-model/src/index.vue +224 -224
  65. package/packages/models/tree-table-model/index.js +4 -4
  66. package/packages/models/tree-table-model/src/index.vue +764 -689
  67. package/packages/radio/index.js +4 -4
  68. package/packages/radio/src/index.vue +56 -56
  69. package/packages/select/index.js +4 -4
  70. package/packages/select/src/index.vue +105 -105
  71. package/packages/select-entity/index.js +4 -4
  72. package/packages/select-entity/src/index.vue +119 -119
  73. package/packages/table/index.js +4 -4
  74. package/packages/table/src/action.vue +172 -172
  75. package/packages/table/src/index.vue +319 -319
  76. package/packages/tabs/index.js +4 -4
  77. package/packages/tabs/src/index.vue +55 -55
  78. package/packages/text/index.js +4 -4
  79. package/packages/text/src/index.vue +47 -47
  80. package/packages/text-editor/index.js +4 -4
  81. package/packages/text-editor/src/index.vue +72 -72
  82. package/packages/textarea/index.js +4 -4
  83. package/packages/textarea/src/index.vue +57 -57
  84. package/packages/theme/form.scss +21 -21
  85. package/packages/theme/index.scss +43 -43
  86. package/packages/theme/overrid.scss +7 -7
  87. package/packages/theme/styleClass.scss +2 -2
  88. package/packages/theme/variables.scss +55 -55
  89. package/packages/timeline/index.js +4 -4
  90. package/packages/timeline/src/index.vue +257 -257
  91. package/packages/tpl/index.js +4 -4
  92. package/packages/tpl/src/index.vue +55 -55
  93. package/packages/tree/index.js +4 -4
  94. package/packages/tree/src/TreeNode.vue +29 -29
  95. package/packages/tree/src/index.vue +101 -101
  96. package/packages/tree-select/index.js +4 -4
  97. package/packages/tree-select/src/index.vue +142 -142
  98. package/packages/upload/index.js +4 -4
  99. package/packages/upload/src/index.vue +996 -996
  100. package/packages/utils/dataPool.js +22 -0
  101. package/packages/utils/index.js +62 -62
  102. package/packages/utils/treeTableDataPoolManager.js +85 -0
  103. package/scripts/rollup.config.js +42 -42
  104. package/scripts/rollup.esm.config.js +11 -11
  105. package/scripts/rollup.umd.config.js +17 -16
@@ -0,0 +1,22 @@
1
+ import { createDataPool } from '@idooel/runtime-context'
2
+
3
+ // 创建全局数据池实例
4
+ const globalDataPool = createDataPool()
5
+
6
+ // 导出全局数据池实例和一些便捷方法
7
+ export default globalDataPool
8
+
9
+ export const useGlobalDataPool = () => globalDataPool
10
+
11
+ // 一些常用的数据操作方法
12
+ export const setData = (ns, key, value) => {
13
+ globalDataPool.set(ns, key, value)
14
+ }
15
+
16
+ export const getData = (ns, key, fallback) => {
17
+ return globalDataPool.get(ns, key, fallback)
18
+ }
19
+
20
+ export const subscribe = (filter, listener) => {
21
+ return globalDataPool.subscribe(filter, listener)
22
+ }
@@ -1,63 +1,63 @@
1
- import { parse } from '@idooel/expression'
2
-
3
- export const NAMESPACE = '__idooel__ele__'
4
- export const CONTEXT = '__idooel__ele__context__'
5
- export const EXPOSED = 'exposed'
6
-
7
- export const AREA_NAMES = {
8
- BUTTON_GROUP: 'BUTTON_GROUP'
9
- }
10
-
11
- export const BUILT_IN_EVENT_NAMES = {
12
- SUBMIT: 'submit',
13
- CANCEL: 'cancel',
14
- INCREASE: 'increase',
15
- DELETE: 'delete',
16
- NEXT: 'next',
17
- PREVIOUS: 'previous',
18
- // create, edit, view are reserved for table cru in the current version
19
- CREATE: 'create',
20
- EDIT: 'edit',
21
- VIEW: 'view'
22
- }
23
- export const BUILT_IN_METHODS_NAMES = {
24
- CLOSE_MODAL: 'closeModal',
25
- SUBMIT_FORM: 'submitForm',
26
- //TODO: not use
27
- REFRESH_TABLE: 'refreshTable',
28
- CLEAN_EFFECT: 'cleanEffect'
29
- }
30
-
31
- export const BUILT_IN_TRIGGER = {
32
- // default it's not a trigger
33
- TEXT: 'text',
34
- //状态机触发器
35
- FSM: 'fsm',
36
- ELE_MODAL_FORM: 'ele-modal-form',
37
- ELE_MODAL_TABLE: 'ele-modal-table'
38
- }
39
- export const PAGE_STATUS = {
40
- CREATE: 'create',
41
- //TODO implement edit and view
42
- EDIT: 'edit',
43
- VIEW: 'view'
44
- }
45
- export const RESERVE_EVENT_NAMES = {
46
- //global event
47
- INIT: 'init',
48
- WATCH: 'watch',
49
- //form event
50
- WATCH_FORM_STATUS: 'watch-form-status',
51
- INIT_FORM: 'init-form',
52
- //table event
53
- SEARCH: 'search',
54
- TREE_CHANGE: 'tree-change'
55
- }
56
-
57
- export const parseFieldMap = (fieldMap = {}, dataSource = {}) => {
58
- let ret = {}
59
- Object.keys(fieldMap).forEach((key) => {
60
- ret[fieldMap[key]] = parse(key, dataSource)
61
- })
62
- return ret
1
+ import { parse } from '@idooel/expression'
2
+
3
+ export const NAMESPACE = '__idooel__ele__'
4
+ export const CONTEXT = '__idooel__ele__context__'
5
+ export const EXPOSED = 'exposed'
6
+
7
+ export const AREA_NAMES = {
8
+ BUTTON_GROUP: 'BUTTON_GROUP'
9
+ }
10
+
11
+ export const BUILT_IN_EVENT_NAMES = {
12
+ SUBMIT: 'submit',
13
+ CANCEL: 'cancel',
14
+ INCREASE: 'increase',
15
+ DELETE: 'delete',
16
+ NEXT: 'next',
17
+ PREVIOUS: 'previous',
18
+ // create, edit, view are reserved for table cru in the current version
19
+ CREATE: 'create',
20
+ EDIT: 'edit',
21
+ VIEW: 'view'
22
+ }
23
+ export const BUILT_IN_METHODS_NAMES = {
24
+ CLOSE_MODAL: 'closeModal',
25
+ SUBMIT_FORM: 'submitForm',
26
+ //TODO: not use
27
+ REFRESH_TABLE: 'refreshTable',
28
+ CLEAN_EFFECT: 'cleanEffect'
29
+ }
30
+
31
+ export const BUILT_IN_TRIGGER = {
32
+ // default it's not a trigger
33
+ TEXT: 'text',
34
+ //状态机触发器
35
+ FSM: 'fsm',
36
+ ELE_MODAL_FORM: 'ele-modal-form',
37
+ ELE_MODAL_TABLE: 'ele-modal-table'
38
+ }
39
+ export const PAGE_STATUS = {
40
+ CREATE: 'create',
41
+ //TODO implement edit and view
42
+ EDIT: 'edit',
43
+ VIEW: 'view'
44
+ }
45
+ export const RESERVE_EVENT_NAMES = {
46
+ //global event
47
+ INIT: 'init',
48
+ WATCH: 'watch',
49
+ //form event
50
+ WATCH_FORM_STATUS: 'watch-form-status',
51
+ INIT_FORM: 'init-form',
52
+ //table event
53
+ SEARCH: 'search',
54
+ TREE_CHANGE: 'tree-change'
55
+ }
56
+
57
+ export const parseFieldMap = (fieldMap = {}, dataSource = {}) => {
58
+ let ret = {}
59
+ Object.keys(fieldMap).forEach((key) => {
60
+ ret[fieldMap[key]] = parse(key, dataSource)
61
+ })
62
+ return ret
63
63
  }
@@ -0,0 +1,85 @@
1
+ import { useGlobalDataPool } from './dataPool'
2
+
3
+ /**
4
+ * Tree Table Model 数据池管理器
5
+ * 封装所有数据池操作,提供统一的接口
6
+ */
7
+ export class TreeTableDataPoolManager {
8
+ constructor(instanceId) {
9
+ this.instanceId = instanceId
10
+ this.dataPool = useGlobalDataPool()
11
+ this.unsubscribe = null
12
+ this.sharedUnsubscribe = null
13
+ }
14
+
15
+ /**
16
+ * 设置当前行数据
17
+ */
18
+ setCurrentRowData(data) {
19
+ this.dataPool.set(this.instanceId, 'currentRowData', data)
20
+ }
21
+
22
+ /**
23
+ * 获取当前行数据
24
+ */
25
+ getCurrentRowData() {
26
+ return this.dataPool.get(this.instanceId, 'currentRowData', {})
27
+ }
28
+
29
+ /**
30
+ * 设置共享数据(给 modal table 使用)
31
+ */
32
+ setSharedData(data) {
33
+ if (data && Object.keys(data).length > 0) {
34
+ this.dataPool.set('sharedTreeTableData', 'parentCurrentRowData', data)
35
+ }
36
+ }
37
+
38
+ /**
39
+ * 获取共享数据(从父组件获取)
40
+ */
41
+ getSharedData() {
42
+ return this.dataPool.get('sharedTreeTableData', 'parentCurrentRowData')
43
+ }
44
+
45
+ /**
46
+ * 订阅当前行数据变化
47
+ */
48
+ subscribe(callback) {
49
+ this.unsubscribe = this.dataPool.subscribe(
50
+ { ns: this.instanceId, key: 'currentRowData' },
51
+ callback
52
+ )
53
+ }
54
+
55
+ /**
56
+ * 订阅共享数据变化
57
+ */
58
+ subscribeShared(callback) {
59
+ this.sharedUnsubscribe = this.dataPool.subscribe(
60
+ { ns: 'sharedTreeTableData', key: 'parentCurrentRowData' },
61
+ callback
62
+ )
63
+ }
64
+
65
+ /**
66
+ * 清理订阅
67
+ */
68
+ cleanup() {
69
+ if (this.unsubscribe) {
70
+ this.unsubscribe()
71
+ this.unsubscribe = null
72
+ }
73
+ if (this.sharedUnsubscribe) {
74
+ this.sharedUnsubscribe()
75
+ this.sharedUnsubscribe = null
76
+ }
77
+ }
78
+
79
+ /**
80
+ * 获取数据池实例(用于暴露给外部)
81
+ */
82
+ getDataPool() {
83
+ return this.dataPool
84
+ }
85
+ }
@@ -1,43 +1,43 @@
1
-
2
- import { nodeResolve } from '@rollup/plugin-node-resolve'
3
- import { terser } from 'rollup-plugin-terser'
4
- import strip from '@rollup/plugin-strip'
5
- import vue from 'rollup-plugin-vue'
6
- import postcss from 'rollup-plugin-postcss'
7
- import postcssImport from 'postcss-import'
8
- import { babel } from '@rollup/plugin-babel'
9
- import alias from '@rollup/plugin-alias'
10
- import { resolve } from 'path'
11
-
12
- //TODO: bundle all packages in future
13
-
14
- /** @type { import('rollup').RollupOptions } */
15
- export default {
16
- input: 'packages/index.js',
17
- external: ['vue', '@idooel/shared', '@idooel/expression', 'vue-upload-component', 'moment'],
18
- plugins: [
19
- nodeResolve(),
20
- vue({
21
- css: true,
22
- compileTemplate: true
23
- }),
24
- alias({
25
- entries: [
26
- { find: '@/utils', replacement: resolve(__dirname, '../packages/utils') }
27
- ]
28
- }),
29
- babel({
30
- babelHelpers: 'bundled',
31
- presets: ['@vue/babel-preset-jsx'],
32
- extensions: ['.js', '.jsx', '.es', '.es6', '.mjs', '.vue'],
33
- filter: id=>{
34
- return /(\.js|\.jsx|\.es6|\.es|\.mjs)$/.test(id) && !/node_modules/.test(id)
35
- }
36
- }),
37
- postcss({
38
- extensions: ['.css', '.scss'],
39
- extract: true,
40
- plugins: [postcssImport()]
41
- })
42
- ]
1
+
2
+ import { nodeResolve } from '@rollup/plugin-node-resolve'
3
+ import { terser } from 'rollup-plugin-terser'
4
+ import strip from '@rollup/plugin-strip'
5
+ import vue from 'rollup-plugin-vue'
6
+ import postcss from 'rollup-plugin-postcss'
7
+ import postcssImport from 'postcss-import'
8
+ import { babel } from '@rollup/plugin-babel'
9
+ import alias from '@rollup/plugin-alias'
10
+ import { resolve } from 'path'
11
+
12
+ //TODO: bundle all packages in future
13
+
14
+ /** @type { import('rollup').RollupOptions } */
15
+ export default {
16
+ input: 'packages/index.js',
17
+ external: ['vue', '@idooel/runtime-context', '@idooel/shared', '@idooel/expression', 'vue-upload-component', 'moment'],
18
+ plugins: [
19
+ nodeResolve(),
20
+ vue({
21
+ css: true,
22
+ compileTemplate: true
23
+ }),
24
+ alias({
25
+ entries: [
26
+ { find: '@/utils', replacement: resolve(__dirname, '../packages/utils') }
27
+ ]
28
+ }),
29
+ babel({
30
+ babelHelpers: 'bundled',
31
+ presets: ['@vue/babel-preset-jsx'],
32
+ extensions: ['.js', '.jsx', '.es', '.es6', '.mjs', '.vue'],
33
+ filter: id=>{
34
+ return /(\.js|\.jsx|\.es6|\.es|\.mjs)$/.test(id) && !/node_modules/.test(id)
35
+ }
36
+ }),
37
+ postcss({
38
+ extensions: ['.css', '.scss'],
39
+ extract: true,
40
+ plugins: [postcssImport()]
41
+ })
42
+ ]
43
43
  }
@@ -1,12 +1,12 @@
1
- import baseConfig from './rollup.config.js'
2
- import { module } from '../package.json'
3
-
4
- /** @type { import('rollup').RollupOptions } */
5
- export default {
6
- ...baseConfig,
7
- output: {
8
- name: '__ele__esm__components__',
9
- file: module,
10
- format: 'es'
11
- }
1
+ import baseConfig from './rollup.config.js'
2
+ import { module } from '../package.json'
3
+
4
+ /** @type { import('rollup').RollupOptions } */
5
+ export default {
6
+ ...baseConfig,
7
+ output: {
8
+ name: '__ele__esm__components__',
9
+ file: module,
10
+ format: 'es'
11
+ }
12
12
  }
@@ -1,17 +1,18 @@
1
- import baseConfig from './rollup.config.js'
2
- import { main } from '../package.json'
3
- /** @type { import('rollup').RollupOptions } */
4
- export default {
5
- ...baseConfig,
6
- output: {
7
- name: '__ele__umd__components__',
8
- file: main,
9
- format: 'umd',
10
- globals: {
11
- vue: 'Vue',
12
- '@idooel/shared': '@idooel/shared',
13
- '@idooel/expression': '@idooel/expression'
14
- },
15
- exports: 'named'
16
- }
1
+ import baseConfig from './rollup.config.js'
2
+ import { main } from '../package.json'
3
+ /** @type { import('rollup').RollupOptions } */
4
+ export default {
5
+ ...baseConfig,
6
+ output: {
7
+ name: '__ele__umd__components__',
8
+ file: main,
9
+ format: 'umd',
10
+ globals: {
11
+ vue: 'Vue',
12
+ '@idooel/runtime-context': '@idooel/runtime-context',
13
+ '@idooel/shared': '@idooel/shared',
14
+ '@idooel/expression': '@idooel/expression'
15
+ },
16
+ exports: 'named'
17
+ }
17
18
  }