@steedos/service-plugin-amis 2.2.4 → 2.2.7

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.
@@ -1,3 +1,16 @@
1
+ window['React'] = require('react');
2
+ window['ReactDOM'] = require('react-dom');
3
+ window['lodash'] = require('lodash');
4
+
5
+ Builder.registerImportMap({
6
+ "lodash": '/requirejs/lodash',
7
+ "react": '/requirejs/react',
8
+ "react-dom": '/requirejs/react-dom',
9
+ "@steedos-builder/sdk": '/requirejs/builder-sdk',
10
+ "@steedos-builder/react": '/requirejs/builder-react',
11
+ })
12
+ Builder.require(['lodash',"react", "react-dom"])
13
+
1
14
  ; (function () {
2
15
  try {
3
16
  let amisStyle = document.createElement("link");
@@ -34,14 +47,35 @@
34
47
  }()
35
48
  );
36
49
  };
50
+
51
+ window['requirejs'].config(
52
+ {
53
+ waitSeconds: 60,
54
+ baseUrl: Meteor.absoluteUrl('/requirejs'),
55
+ paths: {
56
+ 'vs': 'https://unpkg.com/monaco-editor/min/vs',
57
+ }
58
+ }
59
+ );
60
+
61
+ React.Builder = Builder;
37
62
 
38
- Builder.register('PageRender', {
63
+
64
+ Builder.registerComponent(Amis, {
39
65
  name: 'Amis',
40
- component: Amis,
41
66
  inputs: [
42
67
  { name: 'schema', type: 'object' },
43
68
  { name: 'data', type: 'object' },
44
69
  ]
45
- })
70
+ });
71
+
72
+ const defaultAssetsUrls = [
73
+ 'https://unpkg.com/@steedos-ui/builder-widgets/dist/assets.js'
74
+ ]
75
+
76
+ defaultAssetsUrls.forEach( (url, index) => {
77
+ Builder.registerRemoteAssets(url)
78
+ });
79
+
46
80
  });
47
81
  })();
@@ -0,0 +1,34 @@
1
+ /*
2
+ * @Author: steedos
3
+ * @Date: 2022-03-24 14:39:44
4
+ * @Description: 基于steedos builder 实现 Amis组件的动态注册
5
+ */
6
+
7
+ window.SAmisReners = [];
8
+
9
+ window.addEventListener('message', function (event) {
10
+ const { data } = event;
11
+ if (data.type === 'builder.register') {
12
+ if (data.data?.type === 'meta-components' && data.data?.info?.componentName && data.data?.info?.amis?.render) {
13
+ console.log(`data.data.info ===> `, data.data.info);
14
+ const Component = Builder.components.find(item => item.name === data.data.info?.componentName);
15
+ if (Component && !SAmisReners.includes(data.data.info.amis?.render.type)){
16
+ try {
17
+ SAmisReners.push(data.data.info.amis?.render.type);
18
+ let amisLib = amisRequire('amis');
19
+ amisLib.Renderer(
20
+ {
21
+ type: data.data.info.amis?.render.type,
22
+ weight: data.data.info.amis?.render.weight
23
+ }
24
+ )(Component.class);
25
+ } catch(e){console.log(e)}
26
+ }
27
+ }else if(data.data?.type === 'metas' ){
28
+ console.log('metas========>', data.data)
29
+ }else if(data.data?.type === 'assets' ){
30
+ console.log('assets========>', data.data)
31
+ }
32
+
33
+ }
34
+ });
@@ -19,9 +19,9 @@ module.exports = {
19
19
  actions: {
20
20
  getDefaultSchema: {
21
21
  async handler(ctx) {
22
- // const userSession = ctx.meta.user;
23
- // const { type, app, objectApiName, recordId, formFactor } = ctx.params;
24
- return this.getDefaultSchema();
22
+ const userSession = ctx.meta.user;
23
+ const { type, app, objectApiName, recordId, formFactor } = ctx.params;
24
+ return this.getDefaultSchema(type, app, objectApiName, recordId, formFactor, userSession );
25
25
  }
26
26
  }
27
27
  },
@@ -38,9 +38,37 @@ module.exports = {
38
38
  */
39
39
  methods: {
40
40
  getDefaultSchema: {
41
- handler() {
42
-
43
-
41
+ handler(type, app, objectApiName, recordId, formFactor, userSession) {
42
+ // if(type === 'list'){
43
+ // return {
44
+ // type: 'page',
45
+ // body: [{"type":"tpl","tpl":"${rootUrl}","inline":false,"id":"u:6ed8d90b5f25","style":{}}]
46
+ // }
47
+ // }
48
+ // if(type === 'form'){
49
+ // return {
50
+ // "title": "系统提示",
51
+ // "body": [
52
+ // {
53
+ // "type": "tpl",
54
+ // "tpl": "对你点击了",
55
+ // "inline": false
56
+ // },
57
+ // {
58
+ // "type": "tpl",
59
+ // "tpl": "${objectApiName}\n${objectName}",
60
+ // "inline": false,
61
+ // "id": "u:4253372a0780",
62
+ // "closeOnEsc": false,
63
+ // "closeOnOutside": false,
64
+ // "showCloseButton": true,
65
+ // "style": {
66
+ // }
67
+ // }
68
+ // ],
69
+ // "type": "dialog"
70
+ // }
71
+ // }
44
72
  }
45
73
  }
46
74
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@steedos/service-plugin-amis",
3
- "version": "2.2.4",
3
+ "version": "2.2.7",
4
4
  "main": "package.service.js",
5
5
  "scripts": {},
6
6
  "license": "MIT",
@@ -8,5 +8,5 @@
8
8
  "publishConfig": {
9
9
  "access": "public"
10
10
  },
11
- "gitHead": "a0c0e8d900f7f4fd2045d976b36c9bef465a6ce3"
11
+ "gitHead": "72067dc4759d5062f1e0c6b78e807802b53d3b08"
12
12
  }