@steedos-widgets/amis-object 1.3.0-beta.2 → 1.3.0-beta.4

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.
@@ -1187,11 +1187,21 @@ fieldset.antd-Collapse > legend{
1187
1187
  .steedos-select-user .antd-Table .antd-SearchBox {
1188
1188
  margin-top: 0;
1189
1189
  }
1190
- @media (max-width: 576px) {
1190
+ @media (max-width: 768px) {
1191
1191
  .antd-Crud-toolbar {
1192
1192
  flex-basis: 0;
1193
1193
  flex-grow: 1;
1194
1194
  }
1195
+ .steedos-object-table .antd-Table-footToolbar {
1196
+ border-top: 1px solid #e5e7eb;
1197
+ }
1198
+ .steedos-object-table .antd-Table-footToolbar .antd-Crud-toolbar-item {
1199
+ justify-content: center;
1200
+ width: 100%;
1201
+ }
1202
+ .steedos-object-table .antd-Table-footToolbar .antd-Crud-toolbar-item .antd-Pagination-inputGroup-left {
1203
+ display: none;
1204
+ }
1195
1205
  }
1196
1206
  .steedos-object-table .two-lines-truncate {
1197
1207
  white-space: pre-wrap;
@@ -1568,10 +1578,22 @@ fieldset.antd-Collapse > legend{
1568
1578
  }
1569
1579
  @media (max-width: 767px) {
1570
1580
  .steedos-object-table .antd-Table-content {
1571
- max-height: calc(100vh - 195px);
1581
+ max-height: calc(100vh - 207px);
1572
1582
  }
1573
1583
  .steedos-object-listview .antd-Table-content {
1574
- max-height: calc(100vh - 295px);
1584
+ max-height: calc(100vh - 305px);
1585
+ }
1586
+ body.zoom-large .steedos-object-table .antd-Table-content {
1587
+ max-height: calc(100vh - 336px);
1588
+ }
1589
+ body.zoom-large .steedos-object-listview .antd-Table-content {
1590
+ max-height: calc(100vh - 432px);
1591
+ }
1592
+ body.zoom-extra-large .steedos-object-table .antd-Table-content {
1593
+ max-height: calc(100vh - 526px);
1594
+ }
1595
+ body.zoom-extra-large .steedos-object-listview .antd-Table-content {
1596
+ max-height: calc(100vh - 622px);
1575
1597
  }
1576
1598
  .steedos-global-footer-root .antd-Nav-Menu-horizontal:after {
1577
1599
  /*手机端底部导航左右间隔不平衡*/
@@ -3956,7 +3956,7 @@ function getScriptForRemoveUrlPrefixForImgFields(fields){
3956
3956
  if(imgFields[item].multiple){
3957
3957
  if(imgFieldValue instanceof Array){
3958
3958
  formData[item] = imgFieldValue.map((value)=>{
3959
- let itemValue = value?.split('/');
3959
+ let itemValue = value && value.split('/');
3960
3960
  return itemValue[itemValue.length - 1];
3961
3961
  });
3962
3962
  }
@@ -5427,7 +5427,7 @@ const getSchema$2 = (uiSchema) => {
5427
5427
  "Bearer ${context.tenantId},${context.authToken}",
5428
5428
  },
5429
5429
  requestAdaptor:
5430
- "\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",
5430
+ "\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",
5431
5431
  adaptor:
5432
5432
  "\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ",
5433
5433
  },
@@ -6809,7 +6809,7 @@ async function getObjectFieldsFilterBarSchema(objectSchema, ctx) {
6809
6809
  const selfData = api.body.$self;
6810
6810
  const uiSchema = selfData.uiSchema;
6811
6811
  const fields = uiSchema.fields;
6812
- const options = (payload.data?.options || []).filter(function(item){
6812
+ const options = ((payload.data && payload.data.options) || []).filter(function(item){
6813
6813
  let field = fields[item.value];
6814
6814
  // TODO: 暂时禁用location类型字段的列表搜索
6815
6815
  return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'
@@ -8088,10 +8088,10 @@ function apiRequestAdaptor$1(){
8088
8088
  const recordId_tmp = api.body.recordId;
8089
8089
 
8090
8090
  if (typeof formData_tmp.columns == 'string') {
8091
- formData_tmp.columns = formData_tmp.columns?.split(',');
8091
+ formData_tmp.columns = formData_tmp.columns && formData_tmp.columns.split(',');
8092
8092
  }
8093
8093
  if (typeof formData_tmp.mobile_columns == 'string') {
8094
- formData_tmp.mobile_columns = formData_tmp.mobile_columns?.split(',');
8094
+ formData_tmp.mobile_columns = formData_tmp.mobile_columns && formData_tmp.mobile_columns.split(',');
8095
8095
  }
8096
8096
 
8097
8097
  // 数据格式转换
@@ -8224,7 +8224,7 @@ function apiRequestAdaptor(){
8224
8224
  const recordId = api.body.recordId;
8225
8225
  //数据格式转换
8226
8226
  if (typeof formData.sort == 'string') {
8227
- formData.sort = formData.sort?.split(',');
8227
+ formData.sort = formData.sort && formData.sort.split(',');
8228
8228
  }
8229
8229
  formData.sort = lodash.map(formData.sort, (item) => {
8230
8230
  const arr = item.split(':');
@@ -8414,7 +8414,7 @@ crudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});
8414
8414
 
8415
8415
  function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords" } = {}){
8416
8416
  const searchableFieldsLabel = [];
8417
- _.each(fields, function (field) {
8417
+ _.each(mainObject.fields, function (field) {
8418
8418
  if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
8419
8419
  searchableFieldsLabel.push(field.label);
8420
8420
  }
@@ -8606,8 +8606,14 @@ function getObjectHeaderToolbar(mainObject, fields, formFactor, {
8606
8606
 
8607
8607
  function getObjectFooterToolbar(mainObject, formFactor, options) {
8608
8608
  if (formFactor === 'SMALL') {
8609
+ // return [
8610
+ // "load-more",
8611
+ // ]
8609
8612
  return [
8610
- "load-more",
8613
+ {
8614
+ "type": "pagination",
8615
+ "maxButtons": 5
8616
+ }
8611
8617
  ]
8612
8618
  }
8613
8619
  else {
@@ -9006,13 +9012,16 @@ async function lookupToAmisPicker(field, readonly, ctx){
9006
9012
  })){
9007
9013
  i++;
9008
9014
  tableFields.push(field);
9009
- if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
9010
- searchableFields.push(field.name);
9011
- }
9012
9015
  }
9013
9016
  }
9014
9017
  });
9015
9018
 
9019
+ ___default__namespace.each(refObjectConfig.fields, function (field) {
9020
+ if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){
9021
+ searchableFields.push(field.name);
9022
+ }
9023
+ });
9024
+
9016
9025
  const fields = {
9017
9026
  [referenceTo.labelField.name]: referenceTo.labelField,
9018
9027
  [referenceTo.valueField.name]: referenceTo.valueField
@@ -9064,7 +9073,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
9064
9073
  if(api.data.$term){
9065
9074
  filters = [["name", "contains", "'+ api.data.$term +'"]];
9066
9075
  }else if(selfData.op === 'loadOptions' && selfData.value){
9067
- if(selfData.value?.indexOf(',') > 0){
9076
+ if(selfData.value && selfData.value.indexOf(',') > 0){
9068
9077
  fieldValue = selfData.value.split(',');
9069
9078
  filters = [["${referenceTo.valueField.name}", "=", fieldValue]];
9070
9079
  }else{
@@ -9259,7 +9268,7 @@ async function lookupToAmisPicker(field, readonly, ctx){
9259
9268
  {
9260
9269
  "actionType": "custom",
9261
9270
  "script": `
9262
- const masterRecord = event.data._master?.record;
9271
+ const masterRecord = event.data._master && event.data._master.record;
9263
9272
  const fieldConfig = ${JSON.stringify(field)};
9264
9273
  let reference_to = fieldConfig.reference_to;
9265
9274
  let saveValue;
@@ -9642,7 +9651,7 @@ async function getIdsPickerSchema(field, readonly, ctx){
9642
9651
  var pageNo = api.data.pageNo || 1;
9643
9652
  var skip = (pageNo - 1) * pageSize;
9644
9653
  if(selfData.op === 'loadOptions' && selfData.value){
9645
- if(selfData.value?.indexOf(',') > 0){
9654
+ if(selfData.value && selfData.value.indexOf(',') > 0){
9646
9655
  filters = [["${referenceTo.valueField.name}", "=", selfData.value.split(',')]];
9647
9656
  }else{
9648
9657
  filters = [["${referenceTo.valueField.name}", "=", selfData.value]];
@@ -10881,7 +10890,7 @@ async function getQuickEditSchema(field, options){
10881
10890
  case "number":
10882
10891
  case "currency":
10883
10892
  TempDisplayField = `
10884
- _display["${field.name}"] = event.data.value?.toFixed(${field.scale});
10893
+ _display["${field.name}"] = event.data.value && event.data.value.toFixed(${field.scale});
10885
10894
  `;
10886
10895
  quickEditSchema.body[0].onEvent["change"] = quickEditOnEvent(TempDisplayField);
10887
10896
 
@@ -11069,13 +11078,15 @@ async function getTableColumns$1(fields, options){
11069
11078
  }
11070
11079
  },
11071
11080
  "actionType": "download",
11072
- "expression": "!!!window?.nw?.require"//浏览器上直接下载
11081
+ // "expression": "!!!window?.nw?.require"//浏览器上直接下载
11082
+ "expression": "!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
11073
11083
  },
11074
11084
  {
11075
11085
  "args": {},
11076
11086
  "actionType": "custom",
11077
11087
  "script": previewFileScript,
11078
- "expression": "!!window?.nw?.require" //PC客户端预览附件
11088
+ // "expression": "!!window?.nw?.require" //PC客户端预览附件
11089
+ "expression": "!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
11079
11090
  }
11080
11091
  ]
11081
11092
  }
@@ -11217,7 +11228,7 @@ function getMobileLines(tpls){
11217
11228
  lineChildrenClassName = "steedos-listview-item-left two-lines-truncate";
11218
11229
  if(item.field.is_wide){
11219
11230
  // 左侧全行样式可以单独写
11220
- lineChildrenClassName = "steedos-listview-item-wide truncate";
11231
+ lineChildrenClassName = "steedos-listview-item-wide two-lines-truncate";
11221
11232
  }
11222
11233
  if(lines.length === 0){
11223
11234
  // 第一个字段加粗黑色显示
@@ -11530,7 +11541,7 @@ async function getTableApi(mainObject, fields, options){
11530
11541
  baseFilters = filter;
11531
11542
  }
11532
11543
 
11533
- ___default__namespace.each(fields, function (field) {
11544
+ ___default__namespace.each(mainObject.fields, function (field) {
11534
11545
  if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {
11535
11546
  searchableFields.push(field.name);
11536
11547
  }
@@ -11591,8 +11602,9 @@ async function getTableApi(mainObject, fields, options){
11591
11602
  // 所以会把localSearchableFilter中已经存过的页码覆盖
11592
11603
  // 如果是第一次加载组件始终让翻页页码从本地存储中取值
11593
11604
  let formFactor = "${options.formFactor}";
11594
- // 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
11595
- api.data.pageNo = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
11605
+ // api.data.pageNo = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
11606
+ // 移动端暂时去除加载更多,放开翻页
11607
+ api.data.pageNo = localListViewProps.page || 1;
11596
11608
  }
11597
11609
  }
11598
11610
  }
@@ -11792,7 +11804,8 @@ async function getTableApi(mainObject, fields, options){
11792
11804
  // 如果是第一次加载组件始终让翻页页码从本地存储中取值
11793
11805
  let formFactor = "${options.formFactor}";
11794
11806
  // 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页
11795
- selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
11807
+ // selfData.page = formFactor === "SMALL" ? 1 : (localListViewProps.page || 1);
11808
+ selfData.page = localListViewProps.page || 1;
11796
11809
  }
11797
11810
  }
11798
11811
  delete selfData.context;
@@ -11810,7 +11823,13 @@ async function getTableApi(mainObject, fields, options){
11810
11823
  const setDataToComponentId = "${setDataToComponentId}";
11811
11824
  if(setDataToComponentId){
11812
11825
  //https://github.com/baidu/amis/pull/6807 .parent的改动是为适应3.2getComponentById的规则改动,不影响2.9
11813
- SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
11826
+ var scope = SteedosUI.getRef(api.body.$self.$scopeId);
11827
+ var scopeParent = scope && scope.parent;
11828
+ var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);
11829
+ if(setDataToComponent){
11830
+ setDataToComponent.setData({$count: payload.data.count});
11831
+ }
11832
+ // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
11814
11833
  };
11815
11834
  ${options.adaptor || ''}
11816
11835
  return payload;
@@ -12096,7 +12115,7 @@ async function getEditFormInitApi(object, recordId, fields, options){
12096
12115
  var uiSchema = api.body.uiSchema;
12097
12116
  var defaultData = api.body.defaultData;
12098
12117
  var defaultValues = {};
12099
- _.each(uiSchema?.fields, function(field){
12118
+ _.each(uiSchema && uiSchema.fields, function(field){
12100
12119
  var value = SteedosUI.getFieldDefaultValue(field, api.body.global);
12101
12120
  if(value){
12102
12121
  defaultValues[field.name] = value;
@@ -12315,7 +12334,12 @@ async function getCalendarApi(mainObject, fields, options) {
12315
12334
  window.postMessage(Object.assign({type: "listview.loaded"}), "*");
12316
12335
  const setDataToComponentId = "${setDataToComponentId}";
12317
12336
  if(setDataToComponentId){
12318
- SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
12337
+ var scope = SteedosUI.getRef(api.body.$self.scopeId);
12338
+ var setDataToComponent = scope && scope.getComponentById(setDataToComponentId);
12339
+ if(setDataToComponent){
12340
+ setDataToComponent.setData({$count: payload.data.count});
12341
+ }
12342
+ // SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
12319
12343
  }
12320
12344
  const rows = payload.data.rows || [];
12321
12345
  const selfData = api.data.$self;
@@ -15423,7 +15447,7 @@ const getNextStepUsersInput = async (instance) => {
15423
15447
  id: "u:ffff15b76c89",
15424
15448
  className: "b-a b-1x p-xs m-b-none m-l-none m-r-none m-t-sm",
15425
15449
  subFormMode: "",
15426
- hiddenOn: "!!!this.new_next_step || this.new_next_step?.step_type === 'end'"
15450
+ hiddenOn: "!!!this.new_next_step || (this.new_next_step && this.new_next_step.step_type === 'end')"
15427
15451
  };
15428
15452
  };
15429
15453
 
@@ -16343,7 +16367,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
16343
16367
  map[item.value] = item.label;
16344
16368
  });
16345
16369
  tpl.type = 'static';
16346
- tpl.tpl = `<% var options = ${JSON.stringify(map)}; return options?.[data.${field.code}] || ''%>`;
16370
+ tpl.tpl = `<% var options = ${JSON.stringify(map)}; return (options && options[data.${field.code}]) || ''%>`;
16347
16371
  }else if(field.type === 'odata'){
16348
16372
  tpl.type = 'static';
16349
16373
  tpl.tpl = `<div>\${${field.code}['@label']}</div>`;
@@ -16373,7 +16397,7 @@ const getFieldReadonlyTpl = async (field, label)=>{
16373
16397
  if(field.is_multiselect){
16374
16398
  tpl.tpl = `\${_.map(${field.code}, 'name')}`;
16375
16399
  }else {
16376
- tpl.tpl = `\${${field.code}?.name}`;
16400
+ tpl.tpl = `\${${field.code} && ${field.code}.name}`;
16377
16401
  }
16378
16402
  }else if(field.type === 'group'){
16379
16403
  tpl.type = 'static';
@@ -18724,7 +18748,7 @@ var AmisAppMenu = function (props) { return __awaiter(void 0, void 0, void 0, fu
18724
18748
  schemaApi: {
18725
18749
  "method": "get",
18726
18750
  "url": "${context.rootUrl}/service/api/apps/".concat(appId, "/menus"),
18727
- "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 = \"\";\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 // active: selectedId === tab.id,\n })\n })\n } else {\n data.nav.push({\n \"label\": groupName,\n \"unfolded\": _.find(tab_groups, {\"group_name\": groupName})?.default_open != false,\n \"children\": _.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 // active: selectedId === tab.id,\n }\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 // active: selectedId === tab.id,\n });\n })\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 "),
18751
+ "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 = \"\";\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 // 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 \"children\": _.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 // active: selectedId === tab.id,\n }\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 // active: selectedId === tab.id,\n });\n })\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 "),
18728
18752
  "headers": {
18729
18753
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
18730
18754
  }
@@ -19634,7 +19658,7 @@ var getSelectFlowSchema = function (id, props) {
19634
19658
  method: "post",
19635
19659
  url: "${context.rootUrl}/graphql?keywords=${keywords}",
19636
19660
  requestAdaptor: "\n const keywords = api.body.keywords || '';\n const appId = '".concat(data.app_id || "", "';\n api.data = {\n query: `\n {\n options: flows__getList(action: \"").concat(action, "\", keywords: \"${keywords}\", appId: \"${appId}\", distributeInstanceId: \"").concat(distributeInstanceId, "\", distributeStepId: \"").concat(distributeStepId, "\"){\n value:_id\n label:name\n children: flows{\n value: _id,\n label: name\n }\n }\n }\n `\n }\n "),
19637
- adaptor: "\n payload.data.options?.forEach(function(item,index) {\n if(item.value != 'startFlows' && (!item.children || item.children.length == 0)){\n payload.data.options.splice(index,1)\n }\n })\n return payload;\n ",
19661
+ adaptor: "\n var options = payload.data.options;\n if(options){\n options.forEach(function(item,index) {\n if(item.value != 'startFlows' && (!item.children || item.children.length == 0)){\n payload.data.options.splice(index,1)\n }\n })\n }\n return payload;\n ",
19638
19662
  "headers": {
19639
19663
  "Authorization": "Bearer ${context.tenantId},${context.authToken}"
19640
19664
  }