@steedos/service-plugin-amis 2.5.6-beta.1 → 2.5.6-beta.5
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,578 +1,37 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "page",
|
|
3
|
+
"title": "Welcome to Steedos",
|
|
3
4
|
"body": [
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
"url": "${context.rootUrl}/graphql",
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
"headers": {
|
|
18
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
"placeholder": "-",
|
|
22
|
-
"messages": {},
|
|
23
|
-
"body": [
|
|
24
|
-
{
|
|
25
|
-
"className": "steedos-amis-form",
|
|
26
|
-
"type": "form",
|
|
27
|
-
"mode": "normal",
|
|
28
|
-
"persistData": false,
|
|
29
|
-
"canAccessSuperData": false,
|
|
30
|
-
"promptPageLeave": true,
|
|
31
|
-
"name": "form_edit_${recordId}",
|
|
32
|
-
"title": "",
|
|
33
|
-
"api": {
|
|
34
|
-
"method": "post",
|
|
35
|
-
"url": "${context.rootUrl}/graphql",
|
|
36
|
-
"data": {
|
|
37
|
-
"$": "$$",
|
|
38
|
-
"recordId": "${recordId}",
|
|
39
|
-
"modalName": "${modalName}",
|
|
40
|
-
"objectName": "${objectName}"
|
|
41
|
-
},
|
|
42
|
-
"requestAdaptor": "\nconst formData = api.data.$;\nconst recordId = formData.recordId;\nfor (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n}\nconst objectName = api.data.objectName;\nconst fieldsName = Object.keys(formData);\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\ndelete formData._display;\ndelete formData.tabs_options;\ndelete formData.tab_groups_options;\ndelete formData.sldsIconsOptions;\ndelete formData.recordId;\n\n// 新加字段tab_items,值同步回传到老字段tabs中兼容老UI界面\nformData.tabs = [];\nif (formData.tab_items && formData.tab_items.length) { \n formData.tabs = formData.tab_items.map(function (item) { return item.tab_name; });\n}\n\n/*\ntab_items存储为:\ntab_items: {\n test1:{\n group:\"xxx\"\n },\n test3:{\n group:\"yyy\"\n }\n}\n而不是:\ntab_items: [\n {\n \"index\":1,\n \"group\":\"xxx\"\n },\n {\n \"index\":2,\n \"group\":\"yyy\"\n }\n]\n*/\nif (formData.tab_items) { \n formData.tab_items = _.keyBy(formData.tab_items, \"tab_name\")\n let tempIndex = 0;\n _.each(formData.tab_items, function (n, k) {\n tempIndex++;\n n.index = tempIndex;\n delete n.tab_name;\n });\n}\n\nlet query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\nif(recordId){\n query = `mutation{record: ${objectName}__update(id: \"${recordId}\", doc: {__saveData}){_id}}`;\n};\ndelete formData._id;\nlet __saveData = JSON.stringify(JSON.stringify(formData));\n\napi.data = {query: query.replace('{__saveData}', __saveData)};\nreturn api;\n",
|
|
43
|
-
"responseData": {
|
|
44
|
-
"recordId": "${record._id}"
|
|
45
|
-
},
|
|
46
|
-
"adaptor": "\nif (payload.errors) {\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n}\nreturn payload;",
|
|
47
|
-
"headers": {
|
|
48
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
49
|
-
}
|
|
50
|
-
},
|
|
51
|
-
"initApi": {
|
|
52
|
-
"method": "post",
|
|
53
|
-
"url": "${context.rootUrl}/graphql",
|
|
54
|
-
"sendOn": "!!this.recordId",
|
|
55
|
-
"adaptor": "var data = payload.data.data[0];\nif(data){\n //初始化接口返回的字段移除字段值为null的字段\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n};\nif (data.tab_items && !_.isArray(data.tab_items)) {\n // 数据库中存储的是对象格式而不是数组,转换为数组用于界面显示\n let arrTabItems = [];\n _.each(data.tab_items, function (n, k) {\n n.tab_name = k;\n delete n.index;\n arrTabItems.push(n);\n });\n data.tab_items = arrTabItems;\n}\npayload.data = data;\ndelete payload.extensions;\nreturn payload;\n ",
|
|
56
|
-
"data": {
|
|
57
|
-
"query": "{data:apps(filters:[\"_id\", \"=\", \"${recordId}\"]){_id,name,code,icon_slds,visible, showSidebar, enable_nav_schema, description,tabs,tab_items,tab_groups,objects,mobile_objects,is_creator,mobile,sort,url,is_use_ie,is_use_iframe,is_new_window,on_click,auth_name,secret,is_system,from_code_id,instance_state,created,created_by:created_by__expand{_id,name},modified,modified_by:modified_by__expand{_id,name},_display{visible,is_creator,mobile,is_use_ie,is_use_iframe,is_new_window,is_system,instance_state,created,modified}}}"
|
|
58
|
-
},
|
|
59
|
-
"headers": {
|
|
60
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"initFetch": true,
|
|
64
|
-
"body": [
|
|
65
|
-
{
|
|
66
|
-
"type": "tabs",
|
|
67
|
-
"id": "u:430a42f742ee",
|
|
68
|
-
"tabs": [
|
|
69
|
-
{
|
|
70
|
-
"title": "基本信息",
|
|
71
|
-
"body": [
|
|
72
|
-
{
|
|
73
|
-
"type": "wrapper",
|
|
74
|
-
"className": "form-content",
|
|
75
|
-
"body": [
|
|
76
|
-
{
|
|
77
|
-
"type": "input-text",
|
|
78
|
-
"id": "u:9677ac1cc3c5",
|
|
79
|
-
"name": "name",
|
|
80
|
-
"label": "名称",
|
|
81
|
-
"required": true,
|
|
82
|
-
"className": "m-0",
|
|
83
|
-
"labelClassName": "text-left",
|
|
84
|
-
"labelRemark": "",
|
|
85
|
-
"hidden": false
|
|
86
|
-
},
|
|
87
|
-
{
|
|
88
|
-
"name": "code",
|
|
89
|
-
"label": "API 名称",
|
|
90
|
-
"required": true,
|
|
91
|
-
"type": "input-text",
|
|
92
|
-
"className": "m-0",
|
|
93
|
-
"labelClassName": "text-left",
|
|
94
|
-
"id": "u:784ac1e92fbf"
|
|
95
|
-
},
|
|
96
|
-
{
|
|
97
|
-
"type": "service",
|
|
98
|
-
"body": [
|
|
99
|
-
{
|
|
100
|
-
"name": "icon_slds",
|
|
101
|
-
"label": "图标",
|
|
102
|
-
"type": "select",
|
|
103
|
-
"className": "m-0",
|
|
104
|
-
"labelClassName": "text-left",
|
|
105
|
-
"id": "u:d0724fe17aa7",
|
|
106
|
-
"required": true,
|
|
107
|
-
"joinValues": false,
|
|
108
|
-
"extractValue": true,
|
|
109
|
-
"labelField": "symbol",
|
|
110
|
-
"valueField": "symbol",
|
|
111
|
-
"multiple": false,
|
|
112
|
-
"searchable": true,
|
|
113
|
-
"source": "${sldsIconsOptions}",
|
|
114
|
-
"menuTpl": "<span class=\"flex items-center mt-0.5\">\n <span role=\"img\" aria-label=\"smile\" class=\"anticon anticon-smile\">\n <span class=\"slds-icon_container slds-icon-standard-${symbol|split:_|join:-}\">\n <svg class=\"slds-icon slds-icon_x-small\" aria-hidden=\"true\">\n <use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${symbol}\"></use>\n </svg>\n </span>\n </span>\n <span class=\"pl-1.5\">${symbol}</span>\n</span>"
|
|
115
|
-
}
|
|
116
|
-
],
|
|
117
|
-
"id": "u:420b0162ce2c",
|
|
118
|
-
"api": {
|
|
119
|
-
"method": "get",
|
|
120
|
-
"url": "${context.rootUrl}/ui.icons.json",
|
|
121
|
-
"requestAdaptor": "",
|
|
122
|
-
"adaptor": "if (payload && payload.length) {\n let data = {};\n let sldsStandardIcons = _.find(payload, { name: \"standard\" });\n sldsStandardIcons = sldsStandardIcons && sldsStandardIcons.icons;\n data.sldsIconsOptions = sldsStandardIcons;\n payload.data = data;\n}\nreturn payload;\n",
|
|
123
|
-
"headers": {
|
|
124
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
125
|
-
}
|
|
126
|
-
},
|
|
127
|
-
"messages": {}
|
|
128
|
-
},
|
|
129
|
-
{
|
|
130
|
-
"name": "sort",
|
|
131
|
-
"label": "排序",
|
|
132
|
-
"type": "input-number",
|
|
133
|
-
"className": "m-0",
|
|
134
|
-
"labelClassName": "text-left",
|
|
135
|
-
"id": "u:fc07a5376a46"
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"name": "is_creator",
|
|
139
|
-
"label": "在桌面中显示此应用",
|
|
140
|
-
"type": "checkbox",
|
|
141
|
-
"className": "m-0",
|
|
142
|
-
"labelClassName": "text-left",
|
|
143
|
-
"id": "u:8dc6d3e8521d",
|
|
144
|
-
"tpl": null
|
|
145
|
-
},
|
|
146
|
-
{
|
|
147
|
-
"name": "mobile",
|
|
148
|
-
"label": "在手机上显示此应用",
|
|
149
|
-
"type": "checkbox",
|
|
150
|
-
"className": "m-0",
|
|
151
|
-
"labelClassName": "text-left",
|
|
152
|
-
"id": "u:c9ffb7fd0610",
|
|
153
|
-
"tpl": null
|
|
154
|
-
},
|
|
155
|
-
{
|
|
156
|
-
"name": "visible",
|
|
157
|
-
"label": "启用",
|
|
158
|
-
"type": "checkbox",
|
|
159
|
-
"tpl": null,
|
|
160
|
-
"className": "m-0",
|
|
161
|
-
"labelClassName": "text-left",
|
|
162
|
-
"id": "u:07a8a4c5f875"
|
|
163
|
-
},
|
|
164
|
-
{
|
|
165
|
-
"name": "showSidebar",
|
|
166
|
-
"label": "菜单显示在左侧",
|
|
167
|
-
"type": "checkbox",
|
|
168
|
-
"tpl": null,
|
|
169
|
-
"className": "m-0",
|
|
170
|
-
"labelClassName": "text-left",
|
|
171
|
-
"id": "u:07a8a4c5f877"
|
|
172
|
-
},
|
|
173
|
-
{
|
|
174
|
-
"name": "description",
|
|
175
|
-
"label": "描述",
|
|
176
|
-
"type": "textarea",
|
|
177
|
-
"className": "col-span-2 m-0",
|
|
178
|
-
"labelClassName": "text-left",
|
|
179
|
-
"id": "u:40d99f2da55a",
|
|
180
|
-
"tpl": "<b><%=data.description%></b>"
|
|
181
|
-
}
|
|
182
|
-
],
|
|
183
|
-
"id": "u:0b870f195836",
|
|
184
|
-
"size": "none"
|
|
185
|
-
}
|
|
186
|
-
],
|
|
187
|
-
"id": "u:b5b8d4915890"
|
|
188
|
-
},
|
|
189
|
-
{
|
|
190
|
-
"title": "选项卡",
|
|
191
|
-
"body": [
|
|
192
|
-
{
|
|
193
|
-
"type": "wrapper",
|
|
194
|
-
"body": [
|
|
195
|
-
{
|
|
196
|
-
"name": "tab_items",
|
|
197
|
-
"required": true,
|
|
198
|
-
"type": "crud",
|
|
199
|
-
"strictMode": true,
|
|
200
|
-
"affixHeader": false,
|
|
201
|
-
"editable": true,
|
|
202
|
-
"addable": false,
|
|
203
|
-
"removable": true,
|
|
204
|
-
"draggable": false,
|
|
205
|
-
"columns": [
|
|
206
|
-
{
|
|
207
|
-
"name": "index",
|
|
208
|
-
"label": "序号",
|
|
209
|
-
"type": "static",
|
|
210
|
-
"value": "${index + 1}",
|
|
211
|
-
"className": "w-10",
|
|
212
|
-
"id": "u:c59784421c37"
|
|
213
|
-
},
|
|
214
|
-
{
|
|
215
|
-
"name": "tab_name_label",
|
|
216
|
-
"label": "选项卡",
|
|
217
|
-
"type": "tpl",
|
|
218
|
-
"id": "u:b95c69a1cd84",
|
|
219
|
-
"tpl": "${tabs_options|filter:value:equals:tab_name|pick:label}"
|
|
220
|
-
},
|
|
221
|
-
{
|
|
222
|
-
"name": "group",
|
|
223
|
-
"label": "分组",
|
|
224
|
-
"id": "u:e532b1949676",
|
|
225
|
-
"quickEdit": {
|
|
226
|
-
"type": "select",
|
|
227
|
-
"name": "group",
|
|
228
|
-
"className": "m-0",
|
|
229
|
-
"onEvent": {
|
|
230
|
-
"change": {
|
|
231
|
-
"actions": [
|
|
232
|
-
{
|
|
233
|
-
"actionType": "custom",
|
|
234
|
-
"script": "const tabGroupKey = \"group\";\nconst getTabsSortFun = function (groupNames) {\n return function (m, n) {\n var tempM = !!m[tabGroupKey] ? 1 : 0;\n var tempN = !!n[tabGroupKey] ? 1 : 0;\n if (!m[tabGroupKey] || !n[tabGroupKey]) {\n // 没有配置group属性的字段排在前面\n return tempM - tempN;\n }\n // 字段所属分组不在groupNames时排在前面,其他字段按其所属分组在groupNames中的排序先后顺序排序,所属分组相同的字段排在一起。\n return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]);\n };\n}\n\nconst clearTabs = function (input) {\n return {\n tab_items: []\n }\n}\n\n// 字段列表每一列数据变量时立即同步值到表单中\nconst quickEidtSaveForTab = function (input, prop_name) {\n const currentPropValue = input.value;\n const rowValue = input.__super;\n const formValue = input.__super.__super.__super;\n const tab_name = rowValue.tab_name;\n rowValue[prop_name] = currentPropValue;\n delete rowValue.index;\n let newTabs = formValue.tab_items.map(function (item) {\n if (item.tab_name == tab_name) {\n return Object.assign({}, item, rowValue);\n }\n else {\n return item;\n }\n });\n const tabGroups = input.__super.__super.tab_groups;\n const groupNames = _.compact(_.map(tabGroups, \"group_name\"));\n if (groupNames && groupNames.length) {\n // tabs重新按分组排序\n newTabs.sort(getTabsSortFun(groupNames));\n }\n return {\n tab_items: newTabs\n }\n}\n\nconst eventData = event.data;\ndoAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: clearTabs()\n }\n});\n\nconst newTabTtemsProp = quickEidtSaveForTab(eventData, \"group\");\n\nsetTimeout(function () { \n // 不加延时会显示异常\n doAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: newTabTtemsProp\n }\n });\n},300);"
|
|
235
|
-
}
|
|
236
|
-
]
|
|
237
|
-
}
|
|
238
|
-
},
|
|
239
|
-
"source": "${tab_groups|pick:group_name}",
|
|
240
|
-
"checkAll": false,
|
|
241
|
-
"selectFirst": false,
|
|
242
|
-
"searchable": true,
|
|
243
|
-
"clearable": true,
|
|
244
|
-
"id": "u:8b3d6979e884",
|
|
245
|
-
"multiple": false,
|
|
246
|
-
"mode": "popOver"
|
|
247
|
-
},
|
|
248
|
-
"placeholder": "-"
|
|
249
|
-
},
|
|
250
|
-
{
|
|
251
|
-
"name": "tab_name_desktop",
|
|
252
|
-
"label": "桌面",
|
|
253
|
-
"type": "tpl",
|
|
254
|
-
"id": "u:b95c69a1cd84",
|
|
255
|
-
"tpl": "${tabs_options|filter:value:equals:tab_name|first|pick:desktop|isTrue:'✔':'✘'}",
|
|
256
|
-
"placeholder": "-",
|
|
257
|
-
"remark": "显示在桌面菜单中"
|
|
258
|
-
},
|
|
259
|
-
{
|
|
260
|
-
"name": "tab_name_mobile",
|
|
261
|
-
"label": "手机",
|
|
262
|
-
"type": "tpl",
|
|
263
|
-
"id": "u:b95c69a1cd84",
|
|
264
|
-
"tpl": "${tabs_options|filter:value:equals:tab_name|first|pick:mobile|isTrue:'✔':'✘'}",
|
|
265
|
-
"placeholder": "-",
|
|
266
|
-
"remark": "显示在手机菜单中"
|
|
267
|
-
}
|
|
268
|
-
],
|
|
269
|
-
"className": "col-span-2 m-0",
|
|
270
|
-
"labelClassName": "text-left",
|
|
271
|
-
"source": "${tab_items}",
|
|
272
|
-
"footable": false,
|
|
273
|
-
"headerToolbar": [
|
|
274
|
-
{
|
|
275
|
-
"type": "button",
|
|
276
|
-
"label": "生成选项卡",
|
|
277
|
-
"id": "u:a35a2276145d",
|
|
278
|
-
"tpl": "内容",
|
|
279
|
-
"onEvent": {
|
|
280
|
-
"click": {
|
|
281
|
-
"actions": [
|
|
282
|
-
{
|
|
283
|
-
"actionType": "custom",
|
|
284
|
-
"script": "const appId = null;\nconst page = Steedos.Page.getPage('app', appId, null, null, \"generate_object_tabs\");\nif (page && page.schema) {\n const pageSchema = JSON.parse(page.schema);\n let formSchema = pageSchema.body[0];\n // 设置form的canAccessSuperData属性防止弹出窗口从父级取字段默认值\n formSchema.canAccessSuperData = false;\n // 设置form的wrapWithPanel属性隐藏其底部保存取消按钮\n formSchema.wrapWithPanel = false;\n formSchema.className = \"steedos-amis-form\";\n const title = \"选择需要生成选项卡的对象\";\n doAction({\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": title,\n \"body\": formSchema,\n \"size\": \"lg\"\n }\n });\n}"
|
|
285
|
-
}
|
|
286
|
-
],
|
|
287
|
-
"weight": 0
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
},
|
|
291
|
-
{
|
|
292
|
-
"type": "button",
|
|
293
|
-
"label": "设置选项卡",
|
|
294
|
-
"id": "u:853b890ab524",
|
|
295
|
-
"actionType": "dialog",
|
|
296
|
-
"dialog": {
|
|
297
|
-
"type": "dialog",
|
|
298
|
-
"title": "设置选项卡",
|
|
299
|
-
"body": [
|
|
300
|
-
{
|
|
301
|
-
"type": "transfer",
|
|
302
|
-
"name": "picked_tabs",
|
|
303
|
-
"value": "${tab_items|pick:tab_name}",
|
|
304
|
-
"sortable": true,
|
|
305
|
-
"source": "${tabs_options}",
|
|
306
|
-
"searchable": true,
|
|
307
|
-
"id": "u:f2d36873abd1"
|
|
308
|
-
}
|
|
309
|
-
],
|
|
310
|
-
"onEvent": {
|
|
311
|
-
"confirm": {
|
|
312
|
-
"actions": [
|
|
313
|
-
{
|
|
314
|
-
"actionType": "custom",
|
|
315
|
-
"script": "const tabGroupKey = \"group\";\nconst getTabsSortFun = function (groupNames) {\n return function (m, n) {\n var tempM = !!m[tabGroupKey] ? 1 : 0;\n var tempN = !!n[tabGroupKey] ? 1 : 0;\n if (!m[tabGroupKey] || !n[tabGroupKey]) {\n // 没有配置group属性的字段排在前面\n return tempM - tempN;\n }\n // 字段所属分组不在groupNames时排在前面,其他字段按其所属分组在groupNames中的排序先后顺序排序,所属分组相同的字段排在一起。\n return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]);\n };\n}\n\nconst clearTabs = function (input) { \n return {\n tab_items: []\n }\n}\n\nconst convertDataForTabs = function (input) { \n let pickedTabs = input.picked_tabs || [];\n const superTabs = _.keyBy(input.__super.tab_items, 'tab_name');\n if (typeof pickedTabs === \"string\") {\n pickedTabs = pickedTabs.split(\",\");\n }\n const tabOptions = _.keyBy(input.__super.__super.__super.__super.__super.tabs_options, \"value\");\n const convertedTabs = pickedTabs.map(function (tab_name) {\n const superTab = superTabs[tab_name];\n if (superTab) {\n return superTab;\n }\n else {\n const tabOption = tabOptions[tab_name];\n return {\n tab_name: tab_name,\n group: tabOption.group\n }\n }\n });\n const tabGroups = input.__super.__super.__super.__super.__super.tab_groups;\n const groupNames = _.compact(_.map(tabGroups, \"group_name\"));\n // tabs重新按分组排序\n if (groupNames && groupNames.length) { \n convertedTabs.sort(getTabsSortFun(groupNames));\n }\n return {\n tab_items: convertedTabs\n }\n}\n\nconst eventData = event.data;\ndoAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: clearTabs()\n }\n});\n\ndoAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: convertDataForTabs(eventData)\n }\n});\n\n"
|
|
316
|
-
}
|
|
317
|
-
]
|
|
318
|
-
}
|
|
319
|
-
},
|
|
320
|
-
"size": "lg",
|
|
321
|
-
"id": "u:9c93896a73cf",
|
|
322
|
-
"closeOnEsc": false,
|
|
323
|
-
"closeOnOutside": false,
|
|
324
|
-
"showCloseButton": true
|
|
325
|
-
}
|
|
326
|
-
},
|
|
327
|
-
{
|
|
328
|
-
"type": "button",
|
|
329
|
-
"id": "u:ec9931ea883c",
|
|
330
|
-
"label": "设置分组",
|
|
331
|
-
"actionType": "dialog",
|
|
332
|
-
"dialog": {
|
|
333
|
-
"title": "设置分组",
|
|
334
|
-
"body": [
|
|
335
|
-
{
|
|
336
|
-
"type": "input-table",
|
|
337
|
-
"name": "setting_groups",
|
|
338
|
-
"value": "${tab_groups}",
|
|
339
|
-
"addable": true,
|
|
340
|
-
"draggable": true,
|
|
341
|
-
"editable": true,
|
|
342
|
-
"needConfirm": false,
|
|
343
|
-
"columns": [
|
|
344
|
-
{
|
|
345
|
-
"name": "group_name",
|
|
346
|
-
"label": "名称",
|
|
347
|
-
"id": "u:383c7744b499"
|
|
348
|
-
},
|
|
349
|
-
{
|
|
350
|
-
"name": "default_open",
|
|
351
|
-
"label": "是否默认展开",
|
|
352
|
-
"id": "u:7a243c84ed66",
|
|
353
|
-
"type": "checkbox",
|
|
354
|
-
"value": true
|
|
355
|
-
}
|
|
356
|
-
],
|
|
357
|
-
"removable": true,
|
|
358
|
-
"id": "u:06bbf5c4dc98"
|
|
359
|
-
}
|
|
360
|
-
],
|
|
361
|
-
"onEvent": {
|
|
362
|
-
"confirm": {
|
|
363
|
-
"actions": [
|
|
364
|
-
{
|
|
365
|
-
"actionType": "custom",
|
|
366
|
-
"script": "const tabGroupKey = \"group\";\nconst getTabsSortFun = function (groupNames) {\n return function (m, n) {\n var tempM = !!m[tabGroupKey] ? 1 : 0;\n var tempN = !!n[tabGroupKey] ? 1 : 0;\n if (!m[tabGroupKey] || !n[tabGroupKey]) {\n // 没有配置group属性的字段排在前面\n return tempM - tempN;\n }\n // 字段所属分组不在groupNames时排在前面,其他字段按其所属分组在groupNames中的排序先后顺序排序,所属分组相同的字段排在一起。\n return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]);\n };\n}\n\nconst clearTabs = function (input) {\n return {\n tab_items: []\n }\n}\n\n// 把”设置分组“弹出窗口中设置的分组转为主表单groups字段值格式\n// 同时根据新的groups排序重新设置tabs属性的字段先后次序\n// 因为直接设置tabs值有bug,即新值老值会串,所以需要先执行上面的clearTabs清除原来的值\nconst convertDataForGroups = function(input) {\n const settingGroups = input.setting_groups || [];\n const convertedGroups = _.uniqBy(settingGroups.map(function (item) {\n return {\n group_name: item.group_name,\n default_open: item.default_open\n }\n }), \"group_name\");\n\n const groupNames = _.compact(_.map(convertedGroups, \"group_name\"));\n const tab_items = input.__super.__super.items;\n // tabs重新按分组排序\n tab_items.sort(getTabsSortFun(groupNames));\n return {\n tab_groups: convertedGroups,\n tab_items: tab_items\n }\n};\n\nconst eventData = event.data;\ndoAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: clearTabs()\n }\n});\n\ndoAction({\n actionType: 'setValue',\n componentId: \"apps-form\",\n args: {\n value: convertDataForGroups(eventData)\n }\n});\n\n"
|
|
367
|
-
}
|
|
368
|
-
]
|
|
369
|
-
}
|
|
370
|
-
},
|
|
371
|
-
"type": "dialog",
|
|
372
|
-
"size": "lg",
|
|
373
|
-
"id": "u:55db530e3f86",
|
|
374
|
-
"closeOnEsc": false,
|
|
375
|
-
"closeOnOutside": false,
|
|
376
|
-
"showCloseButton": true
|
|
377
|
-
}
|
|
378
|
-
}
|
|
379
|
-
],
|
|
380
|
-
"headerToolbarClassName": "px-1 py-3",
|
|
381
|
-
"id": "crud_tab_items",
|
|
382
|
-
"perPageAvailable": [
|
|
383
|
-
10
|
|
384
|
-
],
|
|
385
|
-
"messages": {},
|
|
386
|
-
"visible": "typeof this.visibleOn === \"string\" ? 2 : 1",
|
|
387
|
-
"visibleOn": " !!this.tabs_options"
|
|
388
|
-
}
|
|
389
|
-
],
|
|
390
|
-
"id": "u:d5b736e2a2f5",
|
|
391
|
-
"size": "none"
|
|
392
|
-
}
|
|
393
|
-
],
|
|
394
|
-
"id": "u:989a6aa9b805"
|
|
395
|
-
},
|
|
396
|
-
{
|
|
397
|
-
"title": "外接应用",
|
|
398
|
-
"body": [
|
|
399
|
-
{
|
|
400
|
-
"type": "wrapper",
|
|
401
|
-
"className": "form-content",
|
|
402
|
-
"body": [
|
|
403
|
-
{
|
|
404
|
-
"name": "url",
|
|
405
|
-
"label": "外部链接",
|
|
406
|
-
"type": "input-text",
|
|
407
|
-
"className": "m-0",
|
|
408
|
-
"labelClassName": "text-left",
|
|
409
|
-
"id": "u:d7116a113670"
|
|
410
|
-
},
|
|
411
|
-
{
|
|
412
|
-
"name": "is_use_ie",
|
|
413
|
-
"label": "使用IE打开(需使用Steedos桌面客户端)",
|
|
414
|
-
"type": "checkbox",
|
|
415
|
-
"tpl": null,
|
|
416
|
-
"className": "m-0",
|
|
417
|
-
"labelClassName": "text-left",
|
|
418
|
-
"id": "u:44fa8ee006c1"
|
|
419
|
-
},
|
|
420
|
-
{
|
|
421
|
-
"name": "is_new_window",
|
|
422
|
-
"label": "在新窗口打开",
|
|
423
|
-
"type": "checkbox",
|
|
424
|
-
"tpl": null,
|
|
425
|
-
"className": "m-0",
|
|
426
|
-
"labelClassName": "text-left",
|
|
427
|
-
"id": "u:150163f04699"
|
|
428
|
-
},
|
|
429
|
-
{
|
|
430
|
-
"name": "on_click",
|
|
431
|
-
"label": "链接脚本",
|
|
432
|
-
"type": "textarea",
|
|
433
|
-
"tpl": "<b><%=data.on_click%></b>",
|
|
434
|
-
"className": "col-span-2 m-0",
|
|
435
|
-
"labelClassName": "text-left",
|
|
436
|
-
"id": "u:0fe6df9cc818"
|
|
437
|
-
},
|
|
438
|
-
{
|
|
439
|
-
"name": "auth_name",
|
|
440
|
-
"label": "验证域名",
|
|
441
|
-
"type": "input-text",
|
|
442
|
-
"className": "m-0",
|
|
443
|
-
"labelClassName": "text-left",
|
|
444
|
-
"id": "u:b084c94a8219"
|
|
445
|
-
},
|
|
446
|
-
{
|
|
447
|
-
"name": "secret",
|
|
448
|
-
"label": "API 密钥",
|
|
449
|
-
"type": "input-text",
|
|
450
|
-
"className": "m-0",
|
|
451
|
-
"labelClassName": "text-left",
|
|
452
|
-
"id": "u:8a56de0be5bb"
|
|
453
|
-
}
|
|
454
|
-
],
|
|
455
|
-
"size": "none",
|
|
456
|
-
"id": "u:09713a014209"
|
|
457
|
-
}
|
|
458
|
-
],
|
|
459
|
-
"id": "u:17ecc1ec4435"
|
|
460
|
-
},
|
|
461
|
-
{
|
|
462
|
-
"title": "其他",
|
|
463
|
-
"body": [
|
|
464
|
-
{
|
|
465
|
-
"type": "wrapper",
|
|
466
|
-
"className": "form-content",
|
|
467
|
-
"body": [
|
|
468
|
-
{
|
|
469
|
-
"name": "objects",
|
|
470
|
-
"label": "桌面主菜单(已作废)",
|
|
471
|
-
"type": "select",
|
|
472
|
-
"className": "m-0",
|
|
473
|
-
"labelClassName": "text-left",
|
|
474
|
-
"id": "u:4e5047e44905",
|
|
475
|
-
"joinValues": false,
|
|
476
|
-
"extractValue": true,
|
|
477
|
-
"labelField": "label",
|
|
478
|
-
"valueField": "value",
|
|
479
|
-
"multiple": true,
|
|
480
|
-
"checkAll": false,
|
|
481
|
-
"searchable": true,
|
|
482
|
-
"source": {
|
|
483
|
-
"method": "get",
|
|
484
|
-
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
485
|
-
"headers": {
|
|
486
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
487
|
-
}
|
|
488
|
-
}
|
|
489
|
-
},
|
|
490
|
-
{
|
|
491
|
-
"name": "mobile_objects",
|
|
492
|
-
"label": "手机主菜单(已作废)",
|
|
493
|
-
"type": "select",
|
|
494
|
-
"className": "m-0",
|
|
495
|
-
"labelClassName": "text-left",
|
|
496
|
-
"id": "u:cfaeb2f857a8",
|
|
497
|
-
"joinValues": false,
|
|
498
|
-
"extractValue": true,
|
|
499
|
-
"labelField": "label",
|
|
500
|
-
"valueField": "value",
|
|
501
|
-
"multiple": true,
|
|
502
|
-
"checkAll": false,
|
|
503
|
-
"searchable": true,
|
|
504
|
-
"source": {
|
|
505
|
-
"method": "get",
|
|
506
|
-
"url": "${context.rootUrl}/service/api/amis-metadata-objects/objects/options",
|
|
507
|
-
"messages": {},
|
|
508
|
-
"headers": {
|
|
509
|
-
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
510
|
-
}
|
|
511
|
-
}
|
|
512
|
-
},
|
|
513
|
-
{
|
|
514
|
-
"name": "enable_nav_schema",
|
|
515
|
-
"label": "启用自定义导航",
|
|
516
|
-
"type": "checkbox",
|
|
517
|
-
"tpl": null,
|
|
518
|
-
"className": "m-0",
|
|
519
|
-
"labelClassName": "text-left",
|
|
520
|
-
"id": "u:07a8a4c5f89"
|
|
521
|
-
}
|
|
522
|
-
],
|
|
523
|
-
"size": "none"
|
|
524
|
-
}
|
|
525
|
-
]
|
|
526
|
-
}
|
|
527
|
-
],
|
|
528
|
-
"tabsMode": "line",
|
|
529
|
-
"className": "",
|
|
530
|
-
"contentClassName": ""
|
|
531
|
-
}
|
|
532
|
-
],
|
|
533
|
-
"panelClassName": "m-0 -mt-3",
|
|
534
|
-
"actions": false,
|
|
535
|
-
"actionsClassName": "p-sm b-t b-light text-center",
|
|
536
|
-
"affixFooter": false,
|
|
537
|
-
"debug": false,
|
|
538
|
-
"onEvent": {
|
|
539
|
-
"inited": {
|
|
540
|
-
"actions": [
|
|
541
|
-
{
|
|
542
|
-
"actionType": "custom",
|
|
543
|
-
"script": "const data = context.props.data;\nif (!data._id) { \n return;\n}\nif (data.tab_items) {\n return;\n}\n\nconst tabOptions = data.tabs_options || [];\nconst tabItems = [];\n// 把应用中原来tabs属性值添加到新的tab_items属性的默认值中\nif (data.tabs && data.tabs.length) {\n data.tabs.forEach(function (item) {\n tabItems.push({ tab_name: item });\n });\n}\nconst pushObjectsToTabItems = function (objects) {\n objects.forEach(function (item) {\n // 已经有绑定到指定对象的选项卡就不添加\n let existObjectItem = !!tabItems.find(function (tabItem) {\n return !!tabOptions.find(function (option) {\n return tabItem.tab_name === tabItem.value && option.object === item;\n });\n });\n if (existObjectItem) {\n return;\n }\n // 找到指向指定对象的选项卡\n let tempOption = tabOptions.find(function (option) {\n return option.type === \"object\" && option.object === item;\n });\n if (!tempOption) {\n return;\n }\n // 选项卡名称如果重复了就不添加\n let existTabItem = !!tabItems.find(function (tabItem) {\n return tabItem.tab_name === tempOption.value;\n });\n if (existTabItem) {\n return;\n }\n if (tempOption) {\n tabItems.push({ tab_name: tempOption.value });\n }\n });\n}\n// 把应用中原来objects属性值添加到新的tab_items属性的默认值中\nif (data.objects && data.objects.length) {\n pushObjectsToTabItems(data.objects);\n}\n// 把应用中原来mobile_objects属性值添加到新的tab_items属性的默认值中\nif (data.mobile_objects && data.mobile_objects.length) {\n pushObjectsToTabItems(data.mobile_objects);\n}\n\ndoAction({\n actionType: 'setValue',\n args: {\n \"value\": { tab_items: tabItems }\n }\n});"
|
|
544
|
-
}
|
|
545
|
-
]
|
|
546
|
-
},
|
|
547
|
-
"submitSucc": {
|
|
548
|
-
"weight": 0,
|
|
549
|
-
"actions": [
|
|
550
|
-
{
|
|
551
|
-
"actionType": "broadcast",
|
|
552
|
-
"args": {
|
|
553
|
-
"eventName": "@data.changed.apps"
|
|
554
|
-
},
|
|
555
|
-
"data": {
|
|
556
|
-
"objectName": "apps"
|
|
557
|
-
}
|
|
558
|
-
}
|
|
559
|
-
]
|
|
560
|
-
}
|
|
561
|
-
},
|
|
562
|
-
"id": "apps-form"
|
|
563
|
-
}
|
|
564
|
-
]
|
|
5
|
+
{
|
|
6
|
+
"type": "steedos-object-form",
|
|
7
|
+
"label": "对象表单",
|
|
8
|
+
"objectApiName": "apps",
|
|
9
|
+
"recordId": "${recordId}",
|
|
10
|
+
"className": "sm:border sm:shadow sm:rounded sm:border-gray-300 bg-white p-4",
|
|
11
|
+
"mode": "edit",
|
|
12
|
+
"fieldsExtend": "{\n \"tab_items\": {\n \"amis\": {\n \"name\": \"tab_items\",\n \"type\": \"crud\",\n \"source\": \"\\${tab_items}\",\n \"strictMode\": true,\n \"affixHeader\": false,\n \"editable\": true,\n \"addable\": false,\n \"removable\": true,\n \"draggable\": false,\n \"headerToolbarClassName\": \"px-1 pb-3\",\n \"columns\": [\n {\n \"name\": \"index\",\n \"label\": \"序号\",\n \"type\": \"tpl\",\n \"tpl\": \"\\${index+1}\",\n \"className\":\"w-10\",\n \"id\": \"u:c59784421c37\"\n },\n {\n \"name\": \"tab_name_label\",\n \"label\": \"选项卡\",\n \"type\": \"tpl\",\n \"id\": \"u:b95c69a1cd84\",\n \"tpl\": \"\\${tab_name_filter}\"\n },\n {\n \"name\": \"group\",\n \"label\": \"分组\",\n \"id\": \"u:e532b1949676\",\n \"quickEdit\": {\n \"type\": \"select\",\n \"name\": \"group\",\n \"className\": \"m-0\",\n \"onEvent\": {\n \"change\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const tabGroupKey = \\\"group\\\";const getTabsSortFun = function (groupNames) { return function (m, n) { var tempM = !!m[tabGroupKey] ? 1 : 0; var tempN = !!n[tabGroupKey] ? 1 : 0; if (!m[tabGroupKey] || !n[tabGroupKey]) { return tempM - tempN; } return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]); };};const quickEidtSaveForTab = function (input, prop_name) { const currentPropValue = input.value; const rowValue = input.__super; const formValue = input.__super.__super.__super; const tab_name = rowValue.tab_name; rowValue[prop_name] = currentPropValue; delete rowValue.index; let newTabs = formValue.tab_items.map(function (item) { if (item.tab_name == tab_name) { return Object.assign({}, item, rowValue); } else { return item; } }); const tabGroups = input.__super.__super.tab_groups; const groupNames = _.compact(_.map(tabGroups, \\\"group_name\\\")); if (groupNames && groupNames.length) { newTabs.sort(getTabsSortFun(groupNames)); } return { tab_items: newTabs }};const eventData = event.data;const newTabTtemsProp = quickEidtSaveForTab(eventData, \\\"group\\\");setTimeout(function () { doAction({ actionType: 'setValue', componentId: \\\"object_form\\\", args: { value: newTabTtemsProp } });},300);\"\n }\n ]\n }\n },\n \"source\": \"\\${tab_groups|pick:group_name}\",\n \"checkAll\": false,\n \"selectFirst\": false,\n \"searchable\": true,\n \"clearable\": true,\n \"id\": \"u:8b3d6979e884\",\n \"multiple\": false,\n \"mode\": \"popOver\"\n },\n \"placeholder\": \"-\"\n }\n ],\n \"headerToolbar\": [\n {\n \"type\": \"service\",\n \"id\": \"service-test\",\n \"body\": [\n {\n \"type\": \"button\",\n \"id\": \"u:a35a2276145d\",\n \"label\": \"生成选项卡\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"script\": \"const appId = null; const page = Steedos.Page.getPage('app', appId, null, null, 'generate_object_tabs'); if (page && page.schema) { const pageSchema = JSON.parse(page.schema); let formSchema = pageSchema.body[0]; formSchema.canAccessSuperData = false; formSchema.wrapWithPanel = false; formSchema.className = 'steedos-amis-form'; const title = '选择需要生成选项卡的对象'; doAction({ 'actionType': 'dialog', 'dialog': { 'type': 'dialog', 'title': title, 'body': formSchema, 'size': 'lg' } }); }\",\n \"actionType\": \"custom\"\n }\n ],\n \"weight\": 0\n }\n },\n \"tpl\": \"内容\"\n },\n {\n \"type\": \"button\",\n \"label\": \"设置选项卡\",\n \"id\": \"u:853b890ab524\",\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"设置选项卡\",\n \"body\": [\n {\n \"type\": \"transfer\",\n \"name\": \"picked_tabs\",\n \"value\": \"\\${tab_items|pick:tab_name}\",\n \"sortable\": true,\n \"source\": \"\\${tabs_options}\",\n \"searchable\": true,\n \"id\": \"u:f2d36873abd1\"\n }\n ],\n \"onEvent\": {\n \"confirm\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const tabGroupKey = 'group';const getTabsSortFun = function (groupNames) { return function (m, n) { var tempM = !!m[tabGroupKey] ? 1 : 0; var tempN = !!n[tabGroupKey] ? 1 : 0; if (!m[tabGroupKey] || !n[tabGroupKey]) { return tempM - tempN; } return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]); };};const clearTabs = function (input) { return { tab_items: [] }};const convertDataForTabs = function (input) { let pickedTabs = input.picked_tabs || []; const superTabs = _.keyBy(input.__super.__super.tab_items, 'tab_name'); if (typeof pickedTabs === 'string') { pickedTabs = pickedTabs.split(','); } const tabOptions = _.keyBy(input.__super.tabs_options, 'value'); const convertedTabs = pickedTabs.map(function (tab_name) { const superTab = superTabs[tab_name]; if (superTab) { return superTab; } else { const tabOption = tabOptions[tab_name]; return { tab_name: tab_name, tab_name_filter: tabOption.label, group: tabOption.group } } }); const tabGroups = input.__super.__super.tab_groups; const groupNames = _.compact(_.map(tabGroups, 'group_name')); if (groupNames && groupNames.length) { convertedTabs.sort(getTabsSortFun(groupNames)); } return { tab_items: convertedTabs }};const eventData = event.data;doAction({ actionType: 'setValue', componentId: 'object_form', args: { value: convertDataForTabs(eventData) }});doAction({ actionType: 'setValue', componentId: 'service-test', args: { value: convertDataForTabs(eventData) }});\"\n }\n ]\n }\n },\n \"size\": \"lg\",\n \"id\": \"u:9c93896a73cf\",\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"dataMapSwitch\": false\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"设置分组\",\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"title\": \"设置分组\",\n \"body\": [\n {\n \"type\": \"input-table\",\n \"name\": \"setting_groups\",\n \"value\": \"\\${tab_groups}\",\n \"addable\": true,\n \"draggable\": true,\n \"editable\": true,\n \"needConfirm\": false,\n \"columns\": [\n {\n \"name\": \"group_name\",\n \"label\": \"名称\",\n \"id\": \"u:383c7744b499\"\n },\n {\n \"name\": \"default_open\",\n \"label\": \"是否默认展开\",\n \"id\": \"u:7a243c84ed66\",\n \"type\": \"checkbox\",\n \"value\": true\n }\n ],\n \"removable\": true,\n \"id\": \"setting_groups\"\n }\n ],\n \"onEvent\": {\n \"confirm\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const tabGroupKey = 'group';const getTabsSortFun = function (groupNames) { return function (m, n) { var tempM = !!m[tabGroupKey] ? 1 : 0; var tempN = !!n[tabGroupKey] ? 1 : 0; if (!m[tabGroupKey] || !n[tabGroupKey]) { return tempM - tempN; } return groupNames.indexOf(m[tabGroupKey]) - groupNames.indexOf(n[tabGroupKey]); };};const clearTabs = function (input) { return { tab_items: [] }};const convertDataForGroups = function(input) { const settingGroups = input.setting_groups || []; const convertedGroups = _.uniqBy(settingGroups.map(function (item) { return { group_name: item.group_name, default_open: item.default_open } }), 'group_name'); const groupNames = _.compact(_.map(convertedGroups, 'group_name')); const tab_items = input.tab_items; tab_items?.sort(getTabsSortFun(groupNames)); return { tab_groups: convertedGroups, tab_items: tab_items }};const eventData = event.data;doAction({ actionType: 'setValue', componentId: 'object_form', args: { value: convertDataForGroups(eventData) }});\"\n }\n ]\n }\n },\n \"type\": \"dialog\",\n \"size\": \"lg\",\n \"id\": \"setting_groups\",\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"dataMapSwitch\": false\n },\n \"id\": \"u:111b043b193c\"\n }\n ],\n \"messages\": \"\",\n \"api\": {\n \"method\": \"post\",\n \"url\": \"\\${context.rootUrl}/graphql\",\n \"adaptor\": \"console.log('bb==>', payload); let data = payload.data; data.tabs_options = []; if (data.options && data.options.length) { data.tabs_options = data.options.map(function (option) { option.label = option.label + '(' + option.value + ')'; return option; }); } if (!api.body.recordId) { const defaultValues = { is_creator: true, mobile: true, visible: true, sort: 9100 } ;data = Object.assign({}, data, defaultValues); } delete data.options ;payload.data = data; return payload; \",\n \"data\": {\n \"query\": \"{options:tabs{_id label:label value:name,type,object,desktop,mobile}}\",\n \"recordId\": \"\\${recordId}\"\n },\n \"headers\": {\n \"Authorization\": \"Bearer \\${context.tenantId},\\${context.authToken}\"\n }\n }\n }\n ]\n }\n }\n}",
|
|
13
|
+
"enableTabs": true,
|
|
14
|
+
"debug": false,
|
|
15
|
+
"form": {
|
|
16
|
+
"id":"object_form"
|
|
565
17
|
}
|
|
18
|
+
}
|
|
566
19
|
],
|
|
567
20
|
"regions": [
|
|
568
|
-
|
|
21
|
+
"body"
|
|
569
22
|
],
|
|
570
23
|
"data": {
|
|
571
|
-
|
|
24
|
+
"objectName": "apps",
|
|
25
|
+
"initialValues": {
|
|
26
|
+
},
|
|
27
|
+
"appId": "builder",
|
|
28
|
+
"title": "",
|
|
29
|
+
"context": {
|
|
30
|
+
"rootUrl": "http://127.0.0.1:5800",
|
|
31
|
+
"tenantId": "649bd0e96d6ec67c19dca38f",
|
|
32
|
+
"userId": "30e565d1-f2d3-4bb7-8895-8a16ab436c1a",
|
|
33
|
+
"authToken": "b65ec19a85dcf7899b663b85f65c606c05e2ab73d86482c299904d9ebdc81211c0cd407df26ac43fbfea20"
|
|
34
|
+
}
|
|
572
35
|
},
|
|
573
|
-
"id": "u:
|
|
574
|
-
|
|
575
|
-
"name": "page_edit_${recordId}",
|
|
576
|
-
"initApi": null,
|
|
577
|
-
"initFetch": null
|
|
578
|
-
}
|
|
36
|
+
"id": "u:de840f3523f2"
|
|
37
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@steedos/service-plugin-amis",
|
|
3
|
-
"version": "2.5.6-beta.
|
|
3
|
+
"version": "2.5.6-beta.5",
|
|
4
4
|
"main": "package.service.js",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "yarn build:tailwind-base && yarn build:tailwind",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"publishConfig": {
|
|
14
14
|
"access": "public"
|
|
15
15
|
},
|
|
16
|
-
"gitHead": "
|
|
16
|
+
"gitHead": "afcfb049f7ea22fbd2518e27795729c07bd76301",
|
|
17
17
|
"devDependencies": {
|
|
18
18
|
"tailwindcss": "3.2.4"
|
|
19
19
|
}
|
|
@@ -96,14 +96,6 @@
|
|
|
96
96
|
margin-right: -2.75rem
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
.mt-0\.5 {
|
|
100
|
-
margin-top: 0.125rem
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.mt-0 {
|
|
104
|
-
margin-top: 0px
|
|
105
|
-
}
|
|
106
|
-
|
|
107
99
|
.-mt-3 {
|
|
108
100
|
margin-top: -0.75rem
|
|
109
101
|
}
|
|
@@ -327,12 +319,8 @@
|
|
|
327
319
|
padding-bottom: 0.25rem
|
|
328
320
|
}
|
|
329
321
|
|
|
330
|
-
.
|
|
331
|
-
padding-
|
|
332
|
-
}
|
|
333
|
-
|
|
334
|
-
.pl-1 {
|
|
335
|
-
padding-left: 0.25rem
|
|
322
|
+
.pb-3 {
|
|
323
|
+
padding-bottom: 0.75rem
|
|
336
324
|
}
|
|
337
325
|
|
|
338
326
|
.text-left {
|
|
@@ -430,10 +418,6 @@
|
|
|
430
418
|
border-color: rgb(209 213 219 / var(--tw-border-opacity))
|
|
431
419
|
}
|
|
432
420
|
|
|
433
|
-
.sm\:p-3 {
|
|
434
|
-
padding: 0.75rem
|
|
435
|
-
}
|
|
436
|
-
|
|
437
421
|
.sm\:px-3 {
|
|
438
422
|
padding-left: 0.75rem;
|
|
439
423
|
padding-right: 0.75rem
|