resolver-egretimp-plus 0.0.9 → 0.0.10

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 (65) hide show
  1. package/dist/h5/index.js +1 -0
  2. package/dist/web/index.js +2 -0
  3. package/index-H5.js +2 -0
  4. package/index-web.js +2 -0
  5. package/index.js +0 -2
  6. package/package.json +3 -3
  7. package/scripts/webpack.config.js +6 -2
  8. package/src/components/patchComponents-web.js +46 -0
  9. package/src/index.jsx +6 -0
  10. package/src/renderer.jsx +2 -1
  11. package/src/resolver-H5.vue +13 -0
  12. package/src/resolver-web.vue +13 -0
  13. package/src/utils/render.jsx +5 -5
  14. package/dist/index.js +0 -2
  15. /package/dist/{index.js.LICENSE.txt → web/index.js.LICENSE.txt} +0 -0
  16. /package/src/components/{packages → packages-H5}/CmiButton.vue +0 -0
  17. /package/src/components/{packages → packages-H5}/CmiCalendar.vue +0 -0
  18. /package/src/components/{packages → packages-H5}/CmiCell.vue +0 -0
  19. /package/src/components/{packages → packages-H5}/CmiCheckbox.vue +0 -0
  20. /package/src/components/{packages → packages-H5}/CmiDatetimePicker.vue +0 -0
  21. /package/src/components/{packages → packages-H5}/CmiDropdownMenu.vue +0 -0
  22. /package/src/components/{packages → packages-H5}/CmiInput.vue +0 -0
  23. /package/src/components/{packages → packages-H5}/CmiLink.vue +0 -0
  24. /package/src/components/{packages → packages-H5}/CmiPicker.vue +0 -0
  25. /package/src/components/{packages → packages-H5}/CmiRadio.vue +0 -0
  26. /package/src/components/{packages → packages-H5}/CmiSearch.vue +0 -0
  27. /package/src/components/{packages → packages-H5}/CmiSelect.vue +0 -0
  28. /package/src/components/{packages → packages-H5}/CustomComponentCardH5.vue +0 -0
  29. /package/src/components/{packages → packages-H5}/CustomComponentColH5.vue +0 -0
  30. /package/src/components/{packages → packages-H5}/CustomComponentCollapseH5.vue +0 -0
  31. /package/src/components/{packages → packages-H5}/CustomComponentFormLayoutH5.vue +0 -0
  32. /package/src/components/{packages → packages-H5}/CustomComponentTabPaneH5.vue +0 -0
  33. /package/src/components/{packages → packages-H5}/CustomComponentTableH5.vue +0 -0
  34. /package/src/components/{packages → packages-H5}/CustomComponentTabsH5.vue +0 -0
  35. /package/src/components/{packages → packages-web}/CustomComponentCard.vue +0 -0
  36. /package/src/components/{packages → packages-web}/CustomComponentCol.vue +0 -0
  37. /package/src/components/{packages → packages-web}/CustomComponentCollapse.vue +0 -0
  38. /package/src/components/{packages → packages-web}/CustomComponentCycle.vue +0 -0
  39. /package/src/components/{packages → packages-web}/CustomComponentCycleTabPane.vue +0 -0
  40. /package/src/components/{packages → packages-web}/CustomComponentDialog.vue +0 -0
  41. /package/src/components/{packages → packages-web}/CustomComponentEditor.vue +0 -0
  42. /package/src/components/{packages → packages-web}/CustomComponentFormLayout.vue +0 -0
  43. /package/src/components/{packages → packages-web}/CustomComponentGrid.vue +0 -0
  44. /package/src/components/{packages → packages-web}/CustomComponentGridCol.vue +0 -0
  45. /package/src/components/{packages → packages-web}/CustomComponentInputDialog.vue +0 -0
  46. /package/src/components/{packages → packages-web}/CustomComponentPlain.vue +0 -0
  47. /package/src/components/{packages → packages-web}/CustomComponentRow.vue +0 -0
  48. /package/src/components/{packages → packages-web}/CustomComponentSelectEmployees.vue +0 -0
  49. /package/src/components/{packages → packages-web}/CustomComponentSendMail.vue +0 -0
  50. /package/src/components/{packages → packages-web}/CustomComponentSteps.vue +0 -0
  51. /package/src/components/{packages → packages-web}/CustomComponentTabPane.vue +0 -0
  52. /package/src/components/{packages → packages-web}/CustomComponentTable.jsx +0 -0
  53. /package/src/components/{packages → packages-web}/CustomComponentTabs.vue +0 -0
  54. /package/src/components/{packages → packages-web}/CustomComponentTree.vue +0 -0
  55. /package/src/components/{packages → packages-web}/ElButton.vue +0 -0
  56. /package/src/components/{packages → packages-web}/ElCheckbox.vue +0 -0
  57. /package/src/components/{packages → packages-web}/ElDatePicker.vue +0 -0
  58. /package/src/components/{packages → packages-web}/ElInput.vue +0 -0
  59. /package/src/components/{packages → packages-web}/ElInputNumber.vue +0 -0
  60. /package/src/components/{packages → packages-web}/ElPagination.vue +0 -0
  61. /package/src/components/{packages → packages-web}/ElRadio.vue +0 -0
  62. /package/src/components/{packages → packages-web}/ElSelect.vue +0 -0
  63. /package/src/components/{packages → packages-web}/ElText.vue +0 -0
  64. /package/src/components/{packages → packages-web}/ElTimePicker.vue +0 -0
  65. /package/src/components/{patchComponents.js → patchComponents-H5.js} +0 -0
package/index-H5.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './index.js'
2
+ export { default as default} from './src/resolver-H5.vue'
package/index-web.js ADDED
@@ -0,0 +1,2 @@
1
+ export * from './index.js'
2
+ export { default as default} from './src/resolver-web.vue'
package/index.js CHANGED
@@ -1,5 +1,3 @@
1
- export { default as default} from './src/index.jsx'
2
-
3
1
  export { default as Renderer} from './src/renderer.jsx'
4
2
  import { commonPropsType } from './src/utils/index.js'
5
3
 
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "resolver-egretimp-plus",
3
- "version": "0.0.9",
3
+ "version": "0.0.10",
4
4
  "description": "交付体验渲染",
5
- "main": "./dist/index.js",
6
- "module": "./dist/index.js",
5
+ "main": "./dist/web/index.js",
6
+ "module": "./dist/web/index.js",
7
7
  "exports": {
8
8
  ".": "./dist/index.js",
9
9
  "./dist/*": "./dist/*"
@@ -3,14 +3,18 @@ const { VueLoaderPlugin, default: loader } = require('vue-loader')
3
3
 
4
4
  module.exports = {
5
5
  mode: 'production',
6
- entry: path.resolve(__dirname, '../index.js'),
6
+ entry: {
7
+ web: path.resolve(__dirname, '../index-web.js'),
8
+ h5: path.resolve(__dirname, '../index-h5.js'),
9
+ },
7
10
  output: {
11
+ clean: true,
8
12
  library: {
9
13
  // name: 'resolver',
10
14
  type: 'module'
11
15
  },
12
16
  path: path.resolve(__dirname, '../dist'),
13
- filename: 'index.js'
17
+ filename: '[name]/index.js'
14
18
  },
15
19
  module: {
16
20
  rules: [
@@ -0,0 +1,46 @@
1
+ let composeKeys = null
2
+ let composeComponents = null
3
+
4
+ export default function () {
5
+ if (!composeComponents || !composeKeys) {
6
+ let modulesFiles = {}
7
+ let modulesFilesKeys = []
8
+ let resolveModule = null
9
+ try {
10
+ if (require) {
11
+ modulesFiles = require.context('./packages-web', false, /\.(vue|jsx|js)$/)
12
+ modulesFilesKeys = modulesFiles.keys() || []
13
+ resolveModule = (modulePath) => {
14
+ return modulesFiles(modulePath)
15
+ }
16
+ }
17
+ } catch (error) {
18
+ modulesFiles = import.meta.glob('./packages-web/*.{vue,jsx,js}')
19
+ modulesFilesKeys = Object.keys(modulesFiles)
20
+ resolveModule = (modulePath) => {
21
+ return modulesFiles[modulePath]
22
+ }
23
+ }
24
+
25
+ const keys = modulesFilesKeys.map(modulePath => modulePath.replace(/(.*\/)*([^.]+).*/ig,"$2"))
26
+ const components = modulesFilesKeys.reduce((retObj, modulePath) => {
27
+ const moduleName = modulePath.replace(/(.*\/)*([^.]+).*/ig,"$2")
28
+ const value = resolveModule(modulePath)
29
+ retObj[moduleName] = value.default || value
30
+ return retObj
31
+ }, {})
32
+
33
+ composeKeys = [
34
+ // ...dynamicKeys,
35
+ ...keys
36
+ ]
37
+ composeComponents = {
38
+ // ...dynamicComponents,
39
+ ...components
40
+ }
41
+ }
42
+ return {
43
+ composeKeys,
44
+ composeComponents
45
+ }
46
+ }
package/src/index.jsx CHANGED
@@ -68,6 +68,10 @@ export default {
68
68
  isH5: {
69
69
  type: Boolean,
70
70
  default: false
71
+ },
72
+ getNativeComps: {
73
+ type: Function,
74
+ default: () => ({composeComponents: {}})
71
75
  }
72
76
  },
73
77
  setup(props, { emit, attrs, expose }) {
@@ -90,6 +94,8 @@ export default {
90
94
  watch(toRef(props, 'config'), () => {
91
95
  initPageConfig(props.config, props.lang, props.polyfillConfigs, instance, props.isH5)
92
96
  })
97
+
98
+ provide('_getNativeComps', props.getNativeComps)
93
99
  provide('pageConfig', pageConfigRef)
94
100
  const dynamicMapComp = reactive({})
95
101
  provide('_axiosInstance', axiosInstance)
package/src/renderer.jsx CHANGED
@@ -40,6 +40,7 @@ export default {
40
40
  emit('update:modelValue', val)
41
41
  }
42
42
  })
43
+ const getNativeComps = inject('_getNativeComps')
43
44
  const _isH5 = inject('_isH5')
44
45
  const injectMode = inject('injectMode', '')
45
46
  const mode = props.mode || injectMode
@@ -55,7 +56,7 @@ export default {
55
56
  return null
56
57
  }
57
58
  const disabled = calcDisable(config, mode)
58
- const component = getComponentForConfig(config, disabled, _isH5?.value)
59
+ const component = getComponentForConfig({config, disabled, getNativeComps, isH5: _isH5?.value})
59
60
  if (component) {
60
61
  const layoutPolyfill = generateLayoutPolyfill(config, disabled, _isH5?.value) // // 生成布局框(col)的辅助函数
61
62
  return layoutPolyfill(
@@ -0,0 +1,13 @@
1
+ <script setup>
2
+ import getNativeComps from './components/patchComponents-H5.js'
3
+ import { useAttrs } from 'vue';
4
+ import Resolver from './index.jsx'
5
+
6
+ defineOptions({
7
+ inheritAttrs: false
8
+ })
9
+ const attrs = useAttrs()
10
+ </script>
11
+ <template>
12
+ <Resolver v-bind="attrs" :getNativeComps="getNativeComps"></Resolver>
13
+ </template>
@@ -0,0 +1,13 @@
1
+ <script setup>
2
+ import getNativeComps from './components/patchComponents-web'
3
+ import { useAttrs } from 'vue';
4
+ import Resolver from './index.jsx'
5
+
6
+ defineOptions({
7
+ inheritAttrs: false
8
+ })
9
+ const attrs = useAttrs()
10
+ </script>
11
+ <template>
12
+ <Resolver v-bind="attrs" :getNativeComps="getNativeComps"></Resolver>
13
+ </template>
@@ -1,9 +1,9 @@
1
1
  import { getCodeMapRules } from '../rules/rulesDriver.js'
2
2
  import { resolveAssetComponents, findComponent, compareComponet, normalPixel, isPlainObject, hasOwn, isFnStr, normalCapitalizeComponent, capitalize, camelize, formatDate} from './common.js'
3
3
  import { resolveComponent, inject } from 'vue'
4
- import getNativeComps from '../components/patchComponents'
5
- import CustomComponentColH5 from '../components/packages/CustomComponentColH5.vue'
6
- import { commonPropsType,
4
+ import CustomComponentColH5 from '../components/packages-H5/CustomComponentColH5.vue'
5
+ import {
6
+ commonPropsType,
7
7
  FORM_META_TYPE,
8
8
  NOT_NEED_FORM_ITEM_META_TYPE,
9
9
  SPECIAL_SET_FULL_WIDTH_ITEM_META_TYPE,
@@ -23,7 +23,7 @@ import { commonPropsType,
23
23
  } from './const.js'
24
24
  import { preserveCheck } from './preserveFunc.js'
25
25
  import { isArray, isFunction, isString } from './is.js'
26
- import CustomComponentPlain from '../components/packages/CustomComponentPlain.vue'
26
+ import CustomComponentPlain from '../components/packages-web/CustomComponentPlain.vue'
27
27
  import QuestionFilled from '../components/icons/question-filled.vue'
28
28
 
29
29
  // 解析配置中的defStyle属性
@@ -239,7 +239,7 @@ export function isPlainColumn(config, disabled) {
239
239
  return false
240
240
  }
241
241
 
242
- export function getComponentForConfig(config, disabled) {
242
+ export function getComponentForConfig({config, disabled, getNativeComps}) {
243
243
  // 表格中中的列,是否需要转换为普通形式
244
244
  if (isPlainColumn(config, disabled)) {
245
245
  return CustomComponentPlain