@steedos-widgets/amis-object 1.3.4-beta.11 → 1.3.4-beta.13
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.
- package/dist/amis-object.cjs.css +0 -3
- package/dist/amis-object.cjs.js +61 -33
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.css +0 -3
- package/dist/amis-object.esm.js +61 -33
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.css +0 -3
- package/dist/amis-object.umd.js +22 -19
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +21 -21
- package/dist/meta.js +2 -1
- package/package.json +3 -3
package/dist/amis-object.cjs.css
CHANGED
|
@@ -1599,9 +1599,6 @@ body.steedos {
|
|
|
1599
1599
|
.antd-Select-popover .antd-Select-menu .antd-Select-option .antd-Checkbox--checkbox {
|
|
1600
1600
|
white-space: nowrap;
|
|
1601
1601
|
}
|
|
1602
|
-
.antd-Select-popover .antd-Select-menu .antd-Select-option .antd-Checkbox--checkbox > span {
|
|
1603
|
-
vertical-align: text-top;
|
|
1604
|
-
}
|
|
1605
1602
|
}
|
|
1606
1603
|
.steedos-object-form .steedos-input-rich-text-readonly .antd-RichTextControl {
|
|
1607
1604
|
border: 0;
|
package/dist/amis-object.cjs.js
CHANGED
|
@@ -3612,8 +3612,8 @@ function getLookupListView(refObjectConfig) {
|
|
|
3612
3612
|
/*
|
|
3613
3613
|
* @Author: baozhoutao@steedos.com
|
|
3614
3614
|
* @Date: 2022-05-23 09:53:08
|
|
3615
|
-
* @LastEditors:
|
|
3616
|
-
* @LastEditTime: 2023-
|
|
3615
|
+
* @LastEditors: liaodaxue
|
|
3616
|
+
* @LastEditTime: 2023-10-11 17:32:17
|
|
3617
3617
|
* @Description:
|
|
3618
3618
|
*/
|
|
3619
3619
|
|
|
@@ -3674,7 +3674,7 @@ function getSelectMap(selectOptions){
|
|
|
3674
3674
|
if(optionColor){
|
|
3675
3675
|
const background = optionColor.charAt(0) === '#' ? optionColor : '#'+optionColor;
|
|
3676
3676
|
const color = getContrastColor(background);
|
|
3677
|
-
const optionColorStyle = 'background:'+background+';color:'+color;
|
|
3677
|
+
const optionColorStyle = 'background:'+background+';color:'+color+';line-height:1.5rem';
|
|
3678
3678
|
map[optionValue] = `<span class="rounded-xl px-2 py-1" style='${optionColorStyle}'>${option.label}</span>`;
|
|
3679
3679
|
}else {
|
|
3680
3680
|
map[optionValue] = option.label;
|
|
@@ -4131,17 +4131,17 @@ async function getFindQuery(object, recordId, fields, options){
|
|
|
4131
4131
|
}
|
|
4132
4132
|
|
|
4133
4133
|
const countQuery = options.count === false ? "" : `,count:${object.name}__count(filters:{__filters})`;
|
|
4134
|
-
const moreQuerie = options.moreQueries?.length ? ("," + options.moreQueries.map(function(item){
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
}).join(",")) : "";
|
|
4134
|
+
// const moreQuerie = options.moreQueries?.length ? ("," + options.moreQueries.map(function(item){
|
|
4135
|
+
// // 把最外层的{}去除
|
|
4136
|
+
// return item.replace(/^{/,"").replace(/}$/,"");
|
|
4137
|
+
// }).join(",")) : "";
|
|
4138
4138
|
|
|
4139
4139
|
return {
|
|
4140
4140
|
orderBy: "${orderBy}",
|
|
4141
4141
|
orderDir: "${orderDir}",
|
|
4142
4142
|
pageNo: "${page}",
|
|
4143
4143
|
pageSize: "${perPage}",
|
|
4144
|
-
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(fields, options.expand)}${treeFields}${cfsFields}}${countQuery}
|
|
4144
|
+
query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(fields, options.expand)}${treeFields}${cfsFields}}${countQuery}}`
|
|
4145
4145
|
}
|
|
4146
4146
|
}
|
|
4147
4147
|
|
|
@@ -9354,10 +9354,10 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
9354
9354
|
// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
9355
9355
|
|
|
9356
9356
|
let apiInfo;
|
|
9357
|
-
|
|
9357
|
+
let defaultValueOptionsQueryData;
|
|
9358
9358
|
if(referenceTo){
|
|
9359
9359
|
// 字段值单独走一个请求合并到source的同一个GraphQL接口中
|
|
9360
|
-
|
|
9360
|
+
defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, [
|
|
9361
9361
|
Object.assign({}, referenceTo.labelField, {alias: 'label'}),
|
|
9362
9362
|
Object.assign({}, referenceTo.valueField, {alias: 'value'})
|
|
9363
9363
|
], {
|
|
@@ -9370,7 +9370,7 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
9370
9370
|
}, null, [
|
|
9371
9371
|
Object.assign({}, referenceTo.labelField, {alias: 'label'}),
|
|
9372
9372
|
Object.assign({}, referenceTo.valueField, {alias: 'value'})
|
|
9373
|
-
], {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"
|
|
9373
|
+
], {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: "{__sort}"`});
|
|
9374
9374
|
|
|
9375
9375
|
apiInfo.adaptor = `
|
|
9376
9376
|
const data = payload.data;
|
|
@@ -9464,13 +9464,16 @@ async function lookupToAmisSelect(field, readonly, ctx){
|
|
|
9464
9464
|
var optionsFiltersOp = "${field.multiple ? "in" : "="}";
|
|
9465
9465
|
var optionsFilters = [["${valueFieldKey}", optionsFiltersOp, []]];
|
|
9466
9466
|
if (defaultValue && !api.data.$term) {
|
|
9467
|
+
const defaultValueOptionsQueryData = ${JSON.stringify(defaultValueOptionsQueryData)};
|
|
9468
|
+
const defaultValueOptionsQuery = defaultValueOptionsQueryData.query.replace(/^{/,"").replace(/}$/,"");
|
|
9467
9469
|
// 字段值单独请求,没值的时候在请求中返回空
|
|
9468
9470
|
optionsFilters = [["${valueFieldKey}", optionsFiltersOp, defaultValue]];
|
|
9469
9471
|
if(filters.length > 0){
|
|
9470
9472
|
optionsFilters = [filters, optionsFilters];
|
|
9471
9473
|
}
|
|
9474
|
+
api.data.query = "{"+api.data.query.replace(/^{/,"").replace(/}$/,"")+","+defaultValueOptionsQuery+"}";
|
|
9475
|
+
api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters))
|
|
9472
9476
|
}
|
|
9473
|
-
api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));
|
|
9474
9477
|
return api;
|
|
9475
9478
|
`;
|
|
9476
9479
|
referenceTo ? referenceTo.labelField.name : '';
|
|
@@ -12025,18 +12028,30 @@ function getReadonlyFormAdaptor(object, fields, options){
|
|
|
12025
12028
|
payload.status = 2;
|
|
12026
12029
|
payload.msg = payload.errors[0].message;
|
|
12027
12030
|
}
|
|
12031
|
+
${options && options.initApiAdaptor || ''}
|
|
12028
12032
|
return payload;
|
|
12029
12033
|
`
|
|
12030
12034
|
}
|
|
12031
12035
|
|
|
12032
12036
|
async function getReadonlyFormInitApi(object, recordId, fields, options){
|
|
12037
|
+
let findOneOptions;
|
|
12038
|
+
if (!recordId && options && options.isEditor) {
|
|
12039
|
+
// 设计器中只读表单返回第一条记录
|
|
12040
|
+
findOneOptions = {
|
|
12041
|
+
filters: [],
|
|
12042
|
+
queryOptions: "top: 1"
|
|
12043
|
+
};
|
|
12044
|
+
}
|
|
12033
12045
|
return {
|
|
12034
12046
|
method: "post",
|
|
12035
12047
|
url: getApi$2() + '&objectName=${objectName}' + "&recordId=${recordId}",
|
|
12036
12048
|
cache: API_CACHE,
|
|
12037
|
-
|
|
12049
|
+
requestAdaptor: `
|
|
12050
|
+
${options && options.initApiRequestAdaptor || ''}
|
|
12051
|
+
return api;
|
|
12052
|
+
`,
|
|
12038
12053
|
adaptor: getReadonlyFormAdaptor(object, fields, options),
|
|
12039
|
-
data: await getFindOneQuery$1(object, recordId, fields,
|
|
12054
|
+
data: await getFindOneQuery$1(object, recordId, fields, findOneOptions),
|
|
12040
12055
|
headers: {
|
|
12041
12056
|
Authorization: "Bearer ${context.tenantId},${context.authToken}"
|
|
12042
12057
|
}
|
|
@@ -13011,7 +13026,7 @@ function deleteVariable(data, key) {
|
|
|
13011
13026
|
* @Author: baozhoutao@steedos.com
|
|
13012
13027
|
* @Date: 2022-05-26 16:02:08
|
|
13013
13028
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
13014
|
-
* @LastEditTime: 2023-
|
|
13029
|
+
* @LastEditTime: 2023-10-12 18:25:05
|
|
13015
13030
|
* @Description:
|
|
13016
13031
|
*/
|
|
13017
13032
|
|
|
@@ -13031,8 +13046,9 @@ const getFieldSchemaArray = (formFields, ctx) => {
|
|
|
13031
13046
|
}
|
|
13032
13047
|
|
|
13033
13048
|
let forceHidden = false;
|
|
13034
|
-
if(!recordId && field.readonly){
|
|
13049
|
+
if(!recordId && field.readonly && !ctx.isEditor){
|
|
13035
13050
|
// 新建记录时,只读字段先隐藏,后续支持显示后,即任务:https://github.com/steedos/steedos-platform/issues/3164 完成后再放开
|
|
13051
|
+
// 表单只读时所有字段都是readonly,设计器中如果forceHidden会造成整个表单在只读的时候显示为空白了,所以要排除掉
|
|
13036
13052
|
forceHidden = true;
|
|
13037
13053
|
}
|
|
13038
13054
|
|
|
@@ -13596,7 +13612,7 @@ async function getObjectForm(objectSchema, ctx){
|
|
|
13596
13612
|
}
|
|
13597
13613
|
|
|
13598
13614
|
async function getObjectDetail(objectSchema, recordId, ctx){
|
|
13599
|
-
const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign
|
|
13615
|
+
const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : "normal", labelAlign } = ctx;
|
|
13600
13616
|
const fields = _$1__default["default"].values(objectSchema.fields);
|
|
13601
13617
|
const formFields = getFormFields(objectSchema, ctx);
|
|
13602
13618
|
const serviceId = `service_detail_page`;
|
|
@@ -13605,7 +13621,7 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
13605
13621
|
name: `page_readonly_${recordId}`,
|
|
13606
13622
|
id: serviceId,
|
|
13607
13623
|
data: {global: getGlobalData('read'), context: {rootUrl: getRootUrl(), tenantId: getTenantId(), authToken: getAuthToken()}},
|
|
13608
|
-
api: await getReadonlyFormInitApi(objectSchema, recordId, fields,
|
|
13624
|
+
api: await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx),
|
|
13609
13625
|
body: [
|
|
13610
13626
|
{
|
|
13611
13627
|
"type": "wrapper", //form 的 hiddenOn 会导致 form onEvent 异常, 使用wrapper包裹一次form,并在wrapper上控制显隐
|
|
@@ -13624,7 +13640,11 @@ async function getObjectDetail(objectSchema, recordId, ctx){
|
|
|
13624
13640
|
"formData": "$$"
|
|
13625
13641
|
},
|
|
13626
13642
|
wrapWithPanel: false,
|
|
13627
|
-
body: await getFormBody(
|
|
13643
|
+
body: await getFormBody(
|
|
13644
|
+
_$1.map(fields, (field) => { field.readonly = true; return field; }),
|
|
13645
|
+
_$1.map(formFields, (field) => { field.readonly = true; return field; }),
|
|
13646
|
+
Object.assign({}, ctx, { showSystemFields: true, fieldGroups: objectSchema.field_groups })
|
|
13647
|
+
),
|
|
13628
13648
|
className: 'steedos-amis-form bg-white',
|
|
13629
13649
|
actions: [], // 不显示表单默认的提交按钮
|
|
13630
13650
|
onEvent: {
|
|
@@ -17109,10 +17129,18 @@ const getOpinionFieldStepsName = (field, top_keywords) => {
|
|
|
17109
17129
|
* @Author: baozhoutao@steedos.com
|
|
17110
17130
|
* @Date: 2022-09-09 17:47:37
|
|
17111
17131
|
* @LastEditors: baozhoutao@steedos.com
|
|
17112
|
-
* @LastEditTime: 2023-
|
|
17132
|
+
* @LastEditTime: 2023-10-10 13:57:02
|
|
17113
17133
|
* @Description:
|
|
17114
17134
|
*/
|
|
17115
17135
|
|
|
17136
|
+
const getMoment = ()=>{
|
|
17137
|
+
if(window.amisRequire){
|
|
17138
|
+
return window.amisRequire("moment");
|
|
17139
|
+
}else if(window.moment){
|
|
17140
|
+
return window.moment;
|
|
17141
|
+
}
|
|
17142
|
+
};
|
|
17143
|
+
|
|
17116
17144
|
const getTrace = ({ instance, traceId }) => {
|
|
17117
17145
|
return _$1.find(instance.traces, (trace) => {
|
|
17118
17146
|
return trace._id === traceId;
|
|
@@ -17332,6 +17360,8 @@ const getInstanceInfo = async ({ instanceId, box }) => {
|
|
|
17332
17360
|
method: "get",
|
|
17333
17361
|
});
|
|
17334
17362
|
|
|
17363
|
+
const moment = getMoment();
|
|
17364
|
+
|
|
17335
17365
|
return {
|
|
17336
17366
|
box: box,
|
|
17337
17367
|
_id: instanceId,
|
|
@@ -17342,7 +17372,7 @@ const getInstanceInfo = async ({ instanceId, box }) => {
|
|
|
17342
17372
|
applicant_name: instance.applicant_name,
|
|
17343
17373
|
submitter: instance.submitter,
|
|
17344
17374
|
submit_date: instance.submit_date
|
|
17345
|
-
?
|
|
17375
|
+
? (moment && moment(instance.submit_date).format("YYYY-MM-DD"))
|
|
17346
17376
|
: "",
|
|
17347
17377
|
state: instance.state,
|
|
17348
17378
|
approveValues: values,
|
|
@@ -17382,8 +17412,7 @@ const getInstanceInfo = async ({ instanceId, box }) => {
|
|
|
17382
17412
|
finishDate = approve.is_read ? "已读" : "未处理";
|
|
17383
17413
|
judge = null;
|
|
17384
17414
|
} else {
|
|
17385
|
-
finishDate =
|
|
17386
|
-
amisRequire("moment")(finishDate).format("YYYY-MM-DD HH:mm");
|
|
17415
|
+
finishDate = moment && moment(finishDate).format("YYYY-MM-DD HH:mm");
|
|
17387
17416
|
}
|
|
17388
17417
|
|
|
17389
17418
|
switch (judge) {
|
|
@@ -17992,16 +18021,15 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
17992
18021
|
uiSchema = schema.uiSchema;
|
|
17993
18022
|
return [3 /*break*/, 4];
|
|
17994
18023
|
case 2:
|
|
17995
|
-
|
|
17996
|
-
|
|
17997
|
-
// 设计器中只读表单返回第一条记录
|
|
17998
|
-
options.formInitProps = {
|
|
17999
|
-
filters: [],
|
|
18000
|
-
queryOptions: "top: 1",
|
|
18001
|
-
isEditor: true
|
|
18002
|
-
};
|
|
18024
|
+
if (props.$$editor) {
|
|
18025
|
+
options.isEditor = true;
|
|
18003
18026
|
}
|
|
18004
|
-
return [4 /*yield*/, getViewSchema(objectApiName, recordId, options
|
|
18027
|
+
return [4 /*yield*/, getViewSchema(objectApiName, recordId, Object.assign({}, options, {
|
|
18028
|
+
initApiRequestAdaptor: initApiRequestAdaptor,
|
|
18029
|
+
initApiAdaptor: initApiAdaptor,
|
|
18030
|
+
enableTabs: enableTabs,
|
|
18031
|
+
tabsMode: tabsMode
|
|
18032
|
+
}))];
|
|
18005
18033
|
case 3:
|
|
18006
18034
|
schema = _e.sent();
|
|
18007
18035
|
amisSchema = schema.amisSchema;
|
|
@@ -18942,7 +18970,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
|
|
|
18942
18970
|
schemaApi: {
|
|
18943
18971
|
"method": "get",
|
|
18944
18972
|
"url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
|
|
18945
|
-
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n return groupLength + tab.index;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav\n },\n \"id\": \"appMenuService\",\n \"body\":{\n \"type\": \"nav\",\n className: \"").concat(className, " text-black\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
|
|
18973
|
+
"adaptor": "\n try {\n // console.log('payload====>', payload)\n if(payload.nav_schema){\n payload.data = payload.nav_schema;\n return payload\n }\n\n const data = { nav: [] };\n const stacked = ".concat(stacked, ";\n const showIcon = ").concat(showIcon, ";\n const selectedId = '").concat(selectedId, "';\n const tab_groups = payload.tab_groups;\n const locationPathname = window.location.pathname;\n var customTabId = \"\";\n var objectTabId = \"").concat(data.tabId, "\";\n if(stacked){\n _.each(_.groupBy(payload.children, 'group'), (tabs, groupName) => {\n if (groupName === 'undefined' || groupName === '') {\n _.each(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n })\n })\n } else {\n var tabGroup = _.find(tab_groups, {\"group_name\": groupName});\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": tabGroup && tabGroup.default_open != false,\n \"isGroup\": true,\n \"children\": _.sortBy(_.map(tabs, (tab) => {\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n return {\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n }\n }),(tab) => {return tab.index})\n }) \n }\n });\n \n }else{\n _.each(payload.children, (tab)=>{\n if(locationPathname == tab.path){\n customTabId = tab.id;\n }else if(locationPathname.startsWith(tab.path + \"/\")){\n objectTabId = tab.id;\n }\n data.nav.push({\n \"label\": showIcon ? {\n type: 'tpl',\n tpl: `<span class='fill-slate-500 word-break leading-6 block -ml-px no-underline group flex items-center text-[15px] rounded-md'><svg class=\"mr-1 flex-shrink-0 h-6 w-6\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${tab.icon || 'account'}\"></use></svg>${tab.name}</span>`\n } : tab.name,\n \"to\": tab.path,\n \"target\":tab.target,\n \"id\": tab.id,\n \"activeOn\": \"\\\\${tabId == '\"+ tab.id +\"'}\",\n \"index\": tab.index\n // active: selectedId === tab.id,\n });\n })\n }\n //\u4EE5\u4E0B\u4E3Anav\u7B2C\u4E00\u5C42\u6392\u5E8F\uFF0C\u5305\u62EC\u5206\u7EC4\u4E0E\u9009\u9879\u5361\n // let groupLength = ((payload.tab_groups && payload.tab_groups.length) || 0) + 1000;\n data.nav = _.sortBy(data.nav, function(tab){\n if(tab.isGroup){\n return _.findIndex(payload.tab_groups, function(group){\n return group.group_name === tab.label;\n });\n }else{\n // \u6CA1\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u6309index\u6392\u5217\u5728\u6709\u5206\u7EC4\u7684\u9009\u9879\u5361\u524D\u65B9\n return (tab.index || 0) - 1000;\n }\n })\n payload.data = {\n \"type\":\"service\",\n \"data\":{\n \"tabId\": customTabId || objectTabId,\n \"items\": data.nav\n },\n \"id\": \"appMenuService\",\n \"body\":{\n \"type\": \"nav\",\n className: \"").concat(className, " text-black\",\n \"stacked\": ").concat(stacked, ",\n \"overflow\": ").concat(JSON.stringify(overflow), ",\n \"indentSize\": ").concat(indentSize, ",\n \"source\": \"${items}\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.item.id}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.item.id}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n },\n \"@tabId.changed\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": \"appMenuService\",\n \"args\": {\n \"value\": {\n \"tabId\": \"${event.data.tabId}\",\n \"items\": data.nav\n }\n },\n \"expression\":\"${event.data.tabId}\"\n },\n {\n \"actionType\": \"custom\",\n \"script\" : \"window.postMessage(Object.assign({type: 'nav.click', data: event.data.item}), '*');\"\n }\n ]\n }\n }\n }\n };\n } catch (error) {\n console.log(`error`, error)\n }\n // console.log('payload===2==>', payload)\n return payload;\n "),
|
|
18946
18974
|
"headers": {
|
|
18947
18975
|
"Authorization": "Bearer ${context.tenantId},${context.authToken}"
|
|
18948
18976
|
}
|