@steedos-widgets/amis-lib 3.6.0-beta.6 → 3.6.0-beta.9

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/index.umd.js CHANGED
@@ -87,11 +87,12 @@ receiver:{method:"post",dataType:"form-data",url:"${context.rootUrl}/s3/".concat
87
87
  isAmisVersionforBatchEdit=false;if(window.amisRequire&&window.amisRequire('amis')){isAmisVersionforBatchEdit=window.amisRequire('amis').version[0]>=3&&window.amisRequire('amis').version[2]>=2;}else if(window.Amis){isAmisVersionforBatchEdit=window.Amis.version[0]>=3&&window.Amis.version[2]>=2;}quickEditId=options.objectName+"_"+field.name+"_quickEdit";//定义快速编辑的表单id,用于setvalue传值
88
88
  quickEditSchema={body:[],id:quickEditId};//select,avatar,image,file等组件无法行记录字段赋值,暂不支持批量编辑;
89
89
  if(field.type!='avatar'&&field.type!='image'&&field.type!='file'&&isAmisVersionforBatchEdit){submitEvent={submit:{actions:[{actionType:"custom",script:"\n let items = _.cloneDeep(event.data.items);\n let selectedItems = _.cloneDeep(event.data.selectedItems);\n if(event.data.isBatchEdit){\n selectedItems.forEach(function(selectedItem){\n selectedItem._display.".concat(field.name," = event.data._display.").concat(field.name,";\n doAction({actionType: 'setValue', \"args\": {\"value\": selectedItem._display},componentId: \"_display_\" + selectedItem._index});\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data.").concat(field.name,"},componentId: \"").concat(options.objectName+"_"+field.name+"_","\" + selectedItem._index});\n })\n }else{\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data._display},componentId: \"_display_\" + event.data._index});\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data.").concat(field.name,"},componentId: \"").concat(options.objectName+"_"+field.name+"_","\" + event.data._index});\n }\n ")},{"actionType":"closeDialog"}]}};quickEditSchema.onEvent=submitEvent;}if(!field.disabled){_context55.next=9;break;}quickEditSchema=false;_context55.next=63;break;case 9:_context55.next=11;return convertSFieldToAmisField(field,false,___namespace.omit(options,'buttons'));case 11:fieldSchema=_context55.sent;if(!fieldSchema){_context55.next=58;break;}quickEditSchema.body.push(fieldSchema);//以下字段使用_display的数据,因此在触发change等事件时对数据_display进行修改,以实现保存前的回显
90
- TempDisplayField="";quickEditSchema.body[0].onEvent={};quickEditOnEvent=function quickEditOnEvent(displayField){var EventType={"actions":[{"actionType":"custom","script":"\n\n var _display = _.cloneDeep(event.data._display);\n ".concat(displayField,"\n doAction({actionType: 'setValue', \"args\": {\"value\": {_display}},componentId: \"").concat(quickEditId,"\"});\n ")}]};return EventType;};_context55.t0=field.type;_context55.next=_context55.t0==="lookup"?20:_context55.t0==="master_detail"?20:_context55.t0==="select"?25:_context55.t0==="percent"?28:_context55.t0==="time"?31:_context55.t0==="date"?34:_context55.t0==="datetime"?37:_context55.t0==="boolean"?40:_context55.t0==="number"?43:_context55.t0==="currency"?43:_context55.t0==="file"?46:_context55.t0==="avatar"?51:_context55.t0==="image"?51:53;break;case 20:labelField=quickEditSchema.body[0].labelField||"label";valueField=quickEditSchema.body[0].valueField||"value";if(field.multiple){/*
90
+ TempDisplayField="";quickEditSchema.body[0].onEvent={};quickEditOnEvent=function quickEditOnEvent(displayField){var EventType={"actions":[{"actionType":"custom","script":"\n var _display = _.cloneDeep(event.data._display);\n ".concat(displayField,"\n doAction({actionType: 'setValue', \"args\": {\"value\": {_display}},componentId: \"").concat(quickEditId,"\"});\n ")}]};return EventType;};_context55.t0=field.type;_context55.next=_context55.t0==="lookup"?20:_context55.t0==="master_detail"?20:_context55.t0==="select"?25:_context55.t0==="percent"?28:_context55.t0==="time"?31:_context55.t0==="date"?34:_context55.t0==="datetime"?37:_context55.t0==="boolean"?40:_context55.t0==="number"?43:_context55.t0==="currency"?43:_context55.t0==="file"?46:_context55.t0==="avatar"?51:_context55.t0==="image"?51:53;break;case 20:labelField=quickEditSchema.body[0].labelField||"label";valueField=quickEditSchema.body[0].valueField||"value";if(field.multiple){/*
91
91
  多选分两种情况。
92
92
  第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
93
93
  第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
94
- */TempDisplayField="\n const preData = _.cloneDeep(event.data.__super.".concat(field.name,");\n if(preData && event.data.").concat(field.name,".length < preData.length){\n let deletedIndex;\n preData.forEach(function(item,index){\n if(_.indexOf(event.data.").concat(field.name,", item) == -1) _display[\"").concat(field.name,"\"].splice(index, 1);\n })\n }else{\n _display[\"").concat(field.name,"\"] = [];\n event.data.value.forEach(function(val,index){\n const item = _.find(event.data.selectedItems, { ").concat(valueField,": val });\n _display[\"").concat(field.name,"\"].push(\n {\n \"label\": item.").concat(labelField,",\n \"value\": item[event.data.uiSchema.idFieldName],\n \"objectName\": \"").concat(field.reference_to,"\"\n }\n )\n })\n }\n \n ");}else{TempDisplayField="\n if(event.data.value){\n _display[\"".concat(field.name,"\"] = {\n \"label\": event.data.selectedItems.").concat(labelField,",\n \"value\": event.data.selectedItems[event.data.uiSchema.idFieldName],\n \"objectName\": \"").concat(field.reference_to,"\"\n }\n }else{\n _display[\"").concat(field.name,"\"] = {}\n }\n ");}quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 25:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.selectedItems.label;\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 28:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value.toFixed(").concat(field.scale,") + '%';\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 31:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).utc().format('HH:mm');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 34:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).utc().format('YYYY-MM-DD');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 37:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).format('YYYY-MM-DD HH:mm');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 40:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value?\"\u221A\":\"\";\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 43:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value && event.data.value.toFixed(").concat(field.scale,");\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 46:removeDisplayField="";if(field.multiple){TempDisplayField="\n _display[\"".concat(field.name,"\"].push({\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n });\n ");removeDisplayField="\n _.remove(_display[\"".concat(field.name,"\"], function(file){return file.url == event.data.item.url});\n ");}else{TempDisplayField=" \n _display[\"".concat(field.name,"\"] = {\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n };\n ");removeDisplayField="\n if(_display[\"".concat(field.name,"\"].url == event.data.item.url){\n _display[\"").concat(field.name,"\"] = {};\n }\n ");}quickEditSchema.body[0].onEvent["success"]=quickEditOnEvent(TempDisplayField);quickEditSchema.body[0].onEvent["remove"]=quickEditOnEvent(removeDisplayField);return _context55.abrupt("break",53);case 51:quickEditSchema.body[0].receiver.adaptor="\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + \"/api/files/".concat(field.type,"s/\";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//\u4E3A\u4E86\u5B9E\u73B0\u56FE\u7247crud\u7684\u56DE\u663E\uFF0C\u9700\u8981\u5C06value\u4ECEid\u6539\u4E3Aurl\uFF0C\u5F53\u4FDD\u5B58\u6570\u636E\u6570\u636E\u65F6\uFF0C\u518D\u5728\u53D1\u9001\u9002\u914D\u5668\u5185\u91CD\u65B0\u5C06id\u63D0\u53D6\u51FA\u6765\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ");return _context55.abrupt("break",53);case 53:quickEditSchema.body[0].visibleOn="${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}";quickEditSchema.body.push({"type":"service","body":[{"type":"tpl","tpl":i18next__default["default"].t('frontend_records_no_allowedit'),"visibleOn":"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"},{"type":"spinner","showOn":"${quickedit_record_permissions_loading}"}],"onEvent":{"init":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":true}}},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/service/api/@\${objectName}/recordPermissions/${_id}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"cache":30000,"messages":{"failed":"失败了呢。。"}}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":false}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions":"${event.data}"}}}]}}});if(field.type!='avatar'&&field.type!='image'&&field.type!='file'&&isAmisVersionforBatchEdit){quickEditSchema.body.push({"name":"isBatchEdit","type":"checkbox","option":[{"type":"tpl","tpl":"更新${COUNT(selectedItems)}个选定记录"},{"type":"spinner","showOn":"${batchPermissionLoading}","size":"sm","className":"mr-4"}],"visibleOn":"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}","disabledOn":"${batchPermissionLoading}","onEvent":{"change":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":true}},"expression":"${event.data.value}"},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/graphql","method":"post","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"query":"{rows:${objectName}(filters:[\"_id\",\"in\",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}"},"adaptor":"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},"expression":"${event.data.value}"},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":false}},"expression":"${event.data.value}"},{"actionType":"dialog","dialog":{"title":"记录权限","showCloseButton":false,"body":[{"type":"tpl","tpl":"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],"onEvent":{"confirm":{"actions":[{"actionType":"custom","script":"\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById(\"".concat(options.crudId,"\");\n const selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n })\n ")},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":true}}}]},"cancel":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":false}}}]}}},"expression":"${COUNT(event.data.noPermission)>0}"}]}}});}_context55.next=59;break;case 58:quickEditSchema=false;case 59://amis3.2以下禁用lookup的单元格编辑
94
+ */TempDisplayField="\n const preData = _.cloneDeep(event.data.__super.".concat(field.name,");\n if(preData && event.data.").concat(field.name,".length < preData.length){\n let deletedIndex;\n preData.forEach(function(item,index){\n if(_.indexOf(event.data.").concat(field.name,", item) == -1) _display[\"").concat(field.name,"\"].splice(index, 1);\n })\n }else{\n _display[\"").concat(field.name,"\"] = [];\n event.data.value.forEach(function(val,index){\n const item = _.find(event.data.selectedItems, { ").concat(valueField,": val });\n _display[\"").concat(field.name,"\"].push(\n {\n \"label\": item.").concat(labelField,",\n \"value\": item[event.data.uiSchema.idFieldName],\n \"objectName\": \"").concat(field.reference_to,"\"\n }\n )\n })\n }\n \n ");}else{TempDisplayField="\n if(event.data.value){\n _display[\"".concat(field.name,"\"] = {\n \"label\": event.data.selectedItems.").concat(labelField,",\n \"value\": event.data.selectedItems[event.data.uiSchema.idFieldName],\n \"objectName\": \"").concat(field.reference_to,"\"\n }\n }else{\n _display[\"").concat(field.name,"\"] = {}\n }\n ");}quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 25:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.selectedItems.label;\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 28:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value.toFixed(").concat(field.scale,") + '%';\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 31:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).utc().format('HH:mm');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 34:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).utc().format('YYYY-MM-DD');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 37:TempDisplayField="\n _display[\"".concat(field.name,"\"] = moment(event.data.value).format('YYYY-MM-DD HH:mm');\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 40:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value?\"\u221A\":\"\";\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 43:TempDisplayField="\n _display[\"".concat(field.name,"\"] = event.data.value && event.data.value.toFixed(").concat(field.scale,");\n ");quickEditSchema.body[0].onEvent["change"]=quickEditOnEvent(TempDisplayField);return _context55.abrupt("break",53);case 46:removeDisplayField="";if(field.multiple){TempDisplayField="\n _display[\"".concat(field.name,"\"].push({\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n });\n ");removeDisplayField="\n _.remove(_display[\"".concat(field.name,"\"], function(file){return file.url == event.data.item.url});\n ");}else{TempDisplayField=" \n _display[\"".concat(field.name,"\"] = {\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n };\n ");removeDisplayField="\n if(_display[\"".concat(field.name,"\"].url == event.data.item.url){\n _display[\"").concat(field.name,"\"] = {};\n }\n ");}quickEditSchema.body[0].onEvent["success"]=quickEditOnEvent(TempDisplayField);quickEditSchema.body[0].onEvent["remove"]=quickEditOnEvent(removeDisplayField);return _context55.abrupt("break",53);case 51:quickEditSchema.body[0].receiver.adaptor="\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + \"/api/files/".concat(field.type,"s/\";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//\u4E3A\u4E86\u5B9E\u73B0\u56FE\u7247crud\u7684\u56DE\u663E\uFF0C\u9700\u8981\u5C06value\u4ECEid\u6539\u4E3Aurl\uFF0C\u5F53\u4FDD\u5B58\u6570\u636E\u6570\u636E\u65F6\uFF0C\u518D\u5728\u53D1\u9001\u9002\u914D\u5668\u5185\u91CD\u65B0\u5C06id\u63D0\u53D6\u51FA\u6765\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ");return _context55.abrupt("break",53);case 53:quickEditSchema.body[0].visibleOn="${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}";quickEditSchema.body.push({"type":"service","body":[{"type":"tpl","tpl":i18next__default["default"].t('frontend_records_no_allowedit'),"visibleOn":"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}"},{"type":"spinner","showOn":"${quickedit_record_permissions_loading}"}],"onEvent":{"init":{"actions":[//amis3.6无法从数据域中直接拿到正确的selectitems,需要通过crud组件的getSelected()函数获取
95
+ {"actionType":"custom","script":"\n crudScoped = event.context.scoped.getComponentById('".concat(options.crudId,"');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n \"componentId\": \"").concat(quickEditId,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n selectedItems\n }\n }\n });\n ")},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":true}}},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/service/api/@\${objectName}/recordPermissions/${_id}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"cache":30000,"messages":{"failed":"失败了呢。。"}}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":false}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions":"${event.data}"}}}]}}});if(field.type!='avatar'&&field.type!='image'&&field.type!='file'&&isAmisVersionforBatchEdit){quickEditSchema.body.push({"name":"isBatchEdit","type":"checkbox","option":[{"type":"tpl","tpl":"更新${COUNT(selectedItems)}个选定记录"},{"type":"spinner","showOn":"${batchPermissionLoading}","size":"sm","className":"mr-4"}],"visibleOn":"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}","disabledOn":"${batchPermissionLoading}","onEvent":{"change":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":true}},"expression":"${event.data.value}"},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/graphql","method":"post","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"query":"{rows:${objectName}(filters:[\"_id\",\"in\",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}"},"adaptor":"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},"expression":"${event.data.value}"},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":false}},"expression":"${event.data.value}"},{"actionType":"dialog","dialog":{"title":"记录权限","showCloseButton":false,"body":[{"type":"tpl","tpl":"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],"onEvent":{"confirm":{"actions":[{"actionType":"custom","script":"\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById(\"".concat(options.crudId,"\");\n const selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n })\n ")},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":true}}}]},"cancel":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":false}}}]}}},"expression":"${COUNT(event.data.noPermission)>0}"}]}}});}_context55.next=59;break;case 58:quickEditSchema=false;case 59://amis3.2以下禁用lookup的单元格编辑
95
96
  if(field.type=="lookup"&&!isAmisVersionforBatchEdit){quickEditSchema=false;}//TODO:附件多选时会覆盖老数据,暂时禁用
96
97
  if(field.type=="file"&&field.multiple){quickEditSchema=false;}//TODO:location字段在列表中快速编辑后存在bug,保存时可能会丢失部分数据,暂时禁用
97
98
  if(field.type=="location"){quickEditSchema=false;}if(field.type=="color"){quickEditSchema={type:"input-color"};}case 63:return _context55.abrupt("return",quickEditSchema);case 64:case"end":return _context55.stop();}}},_callee55);}));return _getQuickEditSchema.apply(this,arguments);}function getFieldWidth(width){var defaultWidth="unset";//用于使table内的td标签下生成div,实现将快速编辑按钮固定在右侧的效果,并不是为了unset效果
@@ -148,13 +149,13 @@ toolbar:[]};hideToolbarOperation=options.formFactor==='SMALL'||["split"].indexOf
148
149
  * @param {*} fields
149
150
  * @param {*} options = {filter: listview 过滤条件, ...}
150
151
  * @returns
151
- */function _getTableSchema$(){_getTableSchema$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(fields,options){var _options2,isLookup,hiddenColumnOperation,defaults,listSchema,columns,useMobileColumns,card,toolbarOperation;return _regeneratorRuntime().wrap(function _callee60$(_context60){while(1){switch(_context60.prev=_context60.next){case 0:if(!options){options={};}_options2=options,isLookup=_options2.isLookup,hiddenColumnOperation=_options2.hiddenColumnOperation;defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};columns=[];useMobileColumns=options.formFactor==='SMALL'||["split"].indexOf(options.displayAs)>-1;if(isLookup){// 在lookup手机端列表模式调式好之前不使用getMobileTableColumns
152
+ */function _getTableSchema$(){_getTableSchema$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(fields,options){var _options2,isLookup,hiddenColumnOperation,defaults,listSchema,columns,useMobileColumns,card,toolbarOperation,treeConfig;return _regeneratorRuntime().wrap(function _callee60$(_context60){while(1){switch(_context60.prev=_context60.next){case 0:if(!options){options={};}_options2=options,isLookup=_options2.isLookup,hiddenColumnOperation=_options2.hiddenColumnOperation;defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};columns=[];useMobileColumns=options.formFactor==='SMALL'||["split"].indexOf(options.displayAs)>-1;if(isLookup){// 在lookup手机端列表模式调式好之前不使用getMobileTableColumns
152
153
  useMobileColumns=false;}if(listSchema.mode&&listSchema.mode!=="table"){// 如果指定的mode,则不走我们内置的手机端列表效果,使用steedos组件内部开发的默认card/list效果,或者由用户自己实现card/list模式的crud列表
153
154
  useMobileColumns=false;}if(!useMobileColumns){_context60.next=14;break;}_context60.next=11;return getMobileTableColumns(fields,options);case 11:columns=_context60.sent;_context60.next=29;break;case 14:_context60.next=16;return getTableColumns(fields,options);case 16:columns=_context60.sent;if(!(listSchema.mode==="cards")){_context60.next=24;break;}card=listSchema.card;if(card){_context60.next=23;break;}_context60.next=22;return getDefaultCrudCard(columns,options);case 22:card=_context60.sent;case 23:return _context60.abrupt("return",{mode:"cards",perPageAvailable:[5,10,20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,defaultParams:getDefaultParams$1(options),card:card,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
154
- columnsTogglable:false});case 24:if(!(!isLookup&&!hiddenColumnOperation)){_context60.next=29;break;}_context60.next=27;return getTableOperation(options);case 27:toolbarOperation=_context60.sent;columns.push(toolbarOperation);case 29:return _context60.abrupt("return",{mode:"table",perPageAvailable:[5,10,20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,defaultParams:getDefaultParams$1(options),columns:columns,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
155
- columnsTogglable:false});case 30:case"end":return _context60.stop();}}},_callee60);}));return _getTableSchema$.apply(this,arguments);}function getTableApi(_x28,_x29,_x30){return _getTableApi.apply(this,arguments);}function _getTableApi(){_getTableApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(mainObject,fields,options){var searchableFields,filter,filtersFunction,sort,top,_options$setDataToCom,setDataToComponentId,baseFilters,fileFields,fileFieldsKeys,lookupFields,valueField,api;return _regeneratorRuntime().wrap(function _callee61$(_context61){while(1){switch(_context61.prev=_context61.next){case 0:searchableFields=[];filter=options.filter,filtersFunction=options.filtersFunction,sort=options.sort,top=options.top,_options$setDataToCom=options.setDataToComponentId,setDataToComponentId=_options$setDataToCom===void 0?'':_options$setDataToCom;if(___namespace.isArray(filter)){filter=___namespace.map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}baseFilters=null;if(filter){baseFilters=filter;}___namespace.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fileFields={};fileFieldsKeys=[];// 含有optionsFunction属性, 无reference_to属性的lookup字段
155
+ columnsTogglable:false});case 24:if(!(!isLookup&&!hiddenColumnOperation)){_context60.next=29;break;}_context60.next=27;return getTableOperation(options);case 27:toolbarOperation=_context60.sent;columns.push(toolbarOperation);case 29:treeConfig={};if(options.enable_tree){treeConfig.expandConfig={expand:'first'};}return _context60.abrupt("return",_objectSpread({mode:"table",perPageAvailable:[5,10,20,50,100,500],name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 border-solid border-b",className:"",draggable:false,defaultParams:getDefaultParams$1(options),columns:columns,syncLocation:false,keepItemSelectionOnPageChange:true,checkOnItemClick:isLookup?true:false,labelTpl:"${".concat(options.labelFieldName,"}"),autoFillHeight:false,// 自动高度效果不理想,先关闭
156
+ columnsTogglable:false},treeConfig));case 32:case"end":return _context60.stop();}}},_callee60);}));return _getTableSchema$.apply(this,arguments);}function getTableApi(_x28,_x29,_x30){return _getTableApi.apply(this,arguments);}function _getTableApi(){_getTableApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee61(mainObject,fields,options){var searchableFields,filter,filtersFunction,sort,top,_options$setDataToCom,setDataToComponentId,baseFilters,fileFields,fileFieldsKeys,lookupFields,valueField,api;return _regeneratorRuntime().wrap(function _callee61$(_context61){while(1){switch(_context61.prev=_context61.next){case 0:searchableFields=[];filter=options.filter,filtersFunction=options.filtersFunction,sort=options.sort,top=options.top,_options$setDataToCom=options.setDataToComponentId,setDataToComponentId=_options$setDataToCom===void 0?'':_options$setDataToCom;if(___namespace.isArray(filter)){filter=___namespace.map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}baseFilters=null;if(filter){baseFilters=filter;}___namespace.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fileFields={};fileFieldsKeys=[];// 含有optionsFunction属性, 无reference_to属性的lookup字段
156
157
  lookupFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar','file'],item.type)){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}if(___namespace.includes(['lookup'],item.type)&&!item.reference_to){lookupFields[item.name]=item;}});valueField=mainObject.key_field||'_id';_context61.next=14;return getApi$1(mainObject,null,fields,{count:options.queryCount,alias:'rows',limit:top,queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:api=_context61.sent;api.url+="&objectName=${objectName}";//设计器上对象表格组件需要切换对象重新请求列表数据
157
- if(options.isRelated){api.url+="&recordId=${_master.recordId}";}api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = []\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\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 sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = self._master.recordId;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n return api;\n ");api.adaptor="\n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ".concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n item[key] = value\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(!isTreeOptionsComputed){\n // \u5982\u679Capi\u63A5\u53E3\u8BBE\u7F6E\u5728\u7F13\u5B58\uFF0C\u7F13\u5B58\u671F\u95F4\u5E76\u4E0D\u4F1A\u91CD\u65B0\u8BF7\u6C42\u63A5\u53E3\uFF0Cpayload.data.rows\u662F\u4E0A\u6B21\u8BA1\u7B97\u540E\u7684\u7ED3\u679C\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n try{\n setTimeout(() => {\n let expandBtn = $('.steedos-object-listview-content .antd-Table-content .antd-Table-table thead .antd-Table-expandBtn');\n if(expandBtn && expandBtn.length > 0 && !expandBtn.hasClass(\"is-active\")){\n expandBtn[0].click();\n }\n }, 600);\n }\n catch(ex){\n console.error(\"tree\u6570\u636E\u683C\u5F0F\u5C55\u5F00\u5F02\u5E38\uFF1A\", ex);\n }\n }\n\n\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = SteedosUI.getRef(api.body.$self.$scopeId);\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n };\n ").concat(options.adaptor||'',"\n return payload;\n ");return _context61.abrupt("return",api);case 29:case"end":return _context61.stop();}}},_callee61);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x31,_x32,_x33,_x34){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee62$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:_context62.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context62.sent;return _context62.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
158
+ if(options.isRelated){api.url+="&recordId=${_master.recordId}";}api.cache=3000;api.data.$term="$term";api.data.term="$term";api.data.$self="$$";api.data.self="$$";api.data.filter="$filter";api.data.loaded="${loaded}";api.data.listViewId="${listViewId}";api.data.listName="${listName}";api.requestAdaptor="\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n // \u8FD9\u91CC\u76F4\u63A5\u5408\u5E76\u5230api.data.$self\uFF0C\u800C\u4E0D\u662F\u540E\u9762\u5B9A\u4E49\u7684selfData\u53D8\u91CF\uFF0C\u662F\u56E0\u4E3A\u53EF\u4EE5\u7701\u53BB\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\n // \u5982\u679C\u6709\u95EE\u9898\u53EF\u4EE5\u6539\u4E3A\u5408\u5E76\u5230selfData\u53D8\u91CF\u4E2D\uFF0C\u4F46\u662F\u8981\u5728\u63A5\u6536\u9002\u914D\u5668\u4E2D\u5199\u4E0A\u4E00\u6837\u7684\u5408\u5E76\u903B\u8F91\uFF0C\u5426\u5219\u91CC\u9762\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E0D\u4F1A\u5B58\u5165\u672C\u5730\u5B58\u50A8\u4E2D\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData \u4E2D\u7684\u6570\u636E\u7531 CRUD \u63A7\u5236. selfData\u4E2D,\u53EA\u80FD\u83B7\u53D6\u5230 CRUD \u7ED9\u5B9A\u7684data. \u65E0\u6CD5\u4ECE\u6570\u636E\u94FE\u4E2D\u83B7\u53D6\u6570\u636E.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // \u4FDD\u7559\u4E00\u4EFD\u521D\u59CBdata\uFF0C\u4EE5\u4F9B\u81EA\u5B9A\u4E49\u53D1\u9001\u9002\u914D\u5668\u4E2D\u83B7\u53D6\u539F\u59CB\u6570\u636E\u3002\n const data = _.cloneDeep(api.data);\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"".concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // \u79FB\u52A8\u7AEF\u6682\u65F6\u53BB\u9664\u52A0\u8F7D\u66F4\u591A\uFF0C\u653E\u5F00\u7FFB\u9875\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n ").concat(baseFilters?"var systemFilters = ".concat(JSON.stringify(baseFilters),";"):'var systemFilters = [];',"\n var _ids = []\n const filtersFunction = ").concat(filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\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 sort = orderBy ? sort : \"").concat(sort||'',"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"\u641C\u7D22\u6B64\u5217\u8868\"\u641C\u7D22\u6846\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = self._master.recordId;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ").concat(options.requestAdaptor||'',";\n\n //\u5199\u5165\u672C\u6B21\u5B58\u50A8filters\u3001sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ").concat(JSON.stringify(___namespace.map(fields,'name')),"\n }));\n return api;\n ");api.adaptor="\n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ".concat(mainObject.enable_tree,";\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ").concat(JSON.stringify(fileFields),";\n let lookupFields = ").concat(JSON.stringify(lookupFields),";\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n item[key] = value\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // \u6784\u5EFA\u5F53\u524D\u8282\u70B9\u7684 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // \u8D4B\u503C\u7ED9\u8282\u70B9\n node._index = currentIndex;\n \n // \u5982\u679C\u6709\u5B50\u8282\u70B9\uFF0C\u9012\u5F52\u8C03\u7528\u51FD\u6570\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(!isTreeOptionsComputed){\n // \u5982\u679Capi\u63A5\u53E3\u8BBE\u7F6E\u5728\u7F13\u5B58\uFF0C\u7F13\u5B58\u671F\u95F4\u5E76\u4E0D\u4F1A\u91CD\u65B0\u8BF7\u6C42\u63A5\u53E3\uFF0Cpayload.data.rows\u662F\u4E0A\u6B21\u8BA1\u7B97\u540E\u7684\u7ED3\u679C\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n }\n\n\n try{\n // TODO: \u4E0D\u5E94\u8BE5\u76F4\u63A5\u5728\u8FD9\u91CC\u53D6localStorage\uFF0C\u5E94\u8BE5\u4ECE\u5916\u9762\u4F20\u5165\n const listName = api.body.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps\u89C4\u8303\u6765\u81EAcrud\u8BF7\u6C42api\u4E2Dapi.data.$self\u53C2\u6570\u503C\u7684\u3002\n * \u6BD4\u5982\uFF1A{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:\u9876\u90E8\u653E\u5927\u955C\u641C\u7D22\u6761\u4EF6\n * filter:\u53F3\u4FA7\u8FC7\u6EE4\u5668\n * perPage:\u6BCF\u9875\u6761\u6570\n * page:\u5F53\u524D\u9875\u7801\n * orderBy:\u6392\u5E8F\u5B57\u6BB5\n * orderDir:\u6392\u5E8F\u65B9\u5411\n */\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // \u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\uFF0C\u6BD4\u5982\u5237\u65B0\u6D4F\u89C8\u5668\u65F6\u56E0\u4E3Aapi.data.pageNo\u6709\u9ED8\u8BA4\u503C1\n // \u6240\u4EE5\u4F1A\u628AlocalSearchableFilter\u4E2D\u5DF2\u7ECF\u5B58\u8FC7\u7684\u9875\u7801\u8986\u76D6\n // \u5982\u679C\u662F\u7B2C\u4E00\u6B21\u52A0\u8F7D\u7EC4\u4EF6\u59CB\u7EC8\u8BA9\u7FFB\u9875\u9875\u7801\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u503C\n let formFactor = \"").concat(options.formFactor,"\";\n // \u79FB\u52A8\u7AEF\u4E0D\u8BC6\u522B\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u7FFB\u9875\u9875\u7801\uFF0C\u5426\u5219\u70B9\u51FB\u52A0\u8F7D\u66F4\u591A\u6309\u94AE\u540E\u65E0\u6CD5\u5237\u65B0\u56DE\u7B2C\u4E00\u9875\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // \u8FD4\u56DE\u9875\u7801\u5230UI\u754C\u9762\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"\u672C\u5730\u5B58\u50A8\u4E2Dcrud\u53C2\u6570\u89E3\u6790\u5F02\u5E38\uFF1A\", ex);\n }\n // \u6807\u8BB0\u52A0\u8F7D\u8FC7\uFF0C\u540E\u7EED\u4F18\u5148\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u52A0\u8F7D\u76F8\u5173\u53C2\u6570\n payload.data.loaded= true;\n\n const setDataToComponentId = \"").concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent\u7684\u6539\u52A8\u662F\u4E3A\u9002\u5E943.2getComponentById\u7684\u89C4\u5219\u6539\u52A8\uFF0C\u4E0D\u5F71\u54CD2.9\n var scope = SteedosUI.getRef(api.body.$self.$scopeId);\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n };\n ").concat(options.adaptor||'',"\n return payload;\n ");return _context61.abrupt("return",api);case 29:case"end":return _context61.stop();}}},_callee61);}));return _getTableApi.apply(this,arguments);}function getApi$1(_x31,_x32,_x33,_x34){return _getApi$.apply(this,arguments);}function _getApi$(){_getApi$=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee62(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee62$(_context62){while(1){switch(_context62.prev=_context62.next){case 0:_context62.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context62.sent;return _context62.abrupt("return",{method:"post",url:getApi$2(),// + "&recordId=${recordId}"
158
159
  data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context62.stop();}}},_callee62);}));return _getApi$.apply(this,arguments);}function getRecordPermissionsApi(object,recordId,options){var data=getRecordPermissionsQuery(object,recordId,options);return{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var API_CACHE=100;function getReadonlyFormAdaptor(object,fields,options){var scriptStr='';var selectFields=___namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type=='select'&&field.options||(field.type=='lookup'||field.type=='master_detail')&&!field.reference_to);});var gridAndObjectFieldsName=___namespace.map(___namespace.filter(fields,function(field){return field.name.indexOf('.')<0&&(field.type==='object'||field.type==='grid');}),'name');___namespace.each(selectFields,function(field){if(!___namespace.includes(OMIT_FIELDS,field.name)){field.name;if(field.options){var _options=JSON.stringify({options:field.options});scriptStr=scriptStr+"var ".concat(field.name,"Options= (").concat(_options,").options;");}else if(field.optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field.optionsFunction.toString(),")(api.data);");}else if(field._optionsFunction){scriptStr=scriptStr+"var ".concat(field.name,"Options = eval(").concat(field._optionsFunction,")(api.data);");}if(field.multiple){scriptStr=scriptStr+"data.".concat(field.name,"__label = _.map(_.filter(").concat(field.name,"Options, function(option){return _.includes(data.").concat(field.name,", option.value)}), 'label');");}else{scriptStr=scriptStr+"var ".concat(field.name,"Selected = _.find(").concat(field.name,"Options, function(option){return data.").concat(field.name," == option.value});");scriptStr=scriptStr+"data.".concat(field.name,"__label = ").concat(field.name,"Selected ? ").concat(field.name,"Selected.label:null;");}}});// const refFields = _.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to});
159
160
  // _.each(refFields, function(field){
160
161
  // if(!_.includes(OMIT_FIELDS, field.name)){
@@ -316,7 +317,7 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
316
317
  * 列表视图顶部第一行amisSchema
317
318
  * @param {*} objectSchema 对象UISchema
318
319
  * @returns amisSchema
319
- */function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73(objectSchema,ctx){var btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee73$(_context73){while(1){switch(_context73.prev=_context73.next){case 0:if(!ctx){ctx={};}btnSearchId="btn_filter_form_search_"+new Date().getTime();_context73.next=4;return getObjectFieldsFilterFormSchema(ctx);case 4:filterFormSchema=_context73.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n // console.log(\"===onSearchScript=form==\");\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 500);\n }\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\u3002\n let filterFormValues = event.data;\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ";onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100);\n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: false });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ";onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 100)\n // ===END===\n ";return _context73.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
320
+ */function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73(objectSchema,ctx){var btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee73$(_context73){while(1){switch(_context73.prev=_context73.next){case 0:if(!ctx){ctx={};}btnSearchId="btn_filter_form_search_"+new Date().getTime();_context73.next=4;return getObjectFieldsFilterFormSchema(ctx);case 4:filterFormSchema=_context73.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n // console.log(\"===onSearchScript=form==\");\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\u3002\n let filterFormValues = event.data;\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ");onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.").concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n \n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: false });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ";onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n // ===END===\n ");return _context73.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
320
321
  // "filterFormSearchableFields": ["name"],//默认可搜索项
321
322
  // "filterFormValues": {"__searchable__name": "xxx"},//搜索项表单值
322
323
  // "listViewId": "${listViewId}"
@@ -399,7 +400,8 @@ secordLineSchema={"type":"grid","columns":[{"body":[{"type":"tpl","tpl":"${$coun
399
400
  * @returns amisSchema
400
401
  */function _getObjectRecordDetailHeader(){_getObjectRecordDetailHeader=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee76(objectSchema,recordId,options){var _ref55,_ref55$showRecordTitl,showRecordTitle,name,label,icon,NAME_FIELD_KEY,amisButtonsSchema,reg,standardIcon,gridBody,body;return _regeneratorRuntime().wrap(function _callee76$(_context76){while(1){switch(_context76.prev=_context76.next){case 0:_ref55=options||{},_ref55$showRecordTitl=_ref55.showRecordTitle,showRecordTitle=_ref55$showRecordTitl===void 0?true:_ref55$showRecordTitl;// console.log('getObjectRecordDetailHeader==>', objectSchema, recordId)
401
402
  name=objectSchema.name,label=objectSchema.label,icon=objectSchema.icon,NAME_FIELD_KEY=objectSchema.NAME_FIELD_KEY;amisButtonsSchema=getObjectDetailButtonsSchemas(objectSchema,recordId,options);// console.log(`getObjectRecordDetailHeader==>`, amisButtonsSchema)
402
- reg=new RegExp('_','g');standardIcon=icon&&icon.replace(reg,'-');gridBody=[];if(showRecordTitle){gridBody.push({"body":[{"type":"grid","columns":[{"body":[{"type":"service","onEvent":{"@history_paths.changed":{"actions":[{"actionType":"reload"}]}},"body":[{"type":"button","visibleOn":"${window:innerWidth > 768 && (window:historyPaths.length > 1 || window:historyPaths[0].params.record_id) && display !== 'split'}","className":"flex mr-4","onEvent":{"click":{"actions":[{"actionType":"custom","script":"window.goBack()"}]}},"body":[{"type":"steedos-icon","category":"utility","name":"back","colorVariant":"default","className":"slds-button_icon slds-global-header__icon w-4"}]}]},{"type":"tpl","className":"block",// "tpl": `<img class='slds-icon slds-icon_container slds-icon-standard-${standardIcon}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${icon}.svg'>`
403
+ reg=new RegExp('_','g');standardIcon=icon&&icon.replace(reg,'-');gridBody=[];if(showRecordTitle){gridBody.push({"body":[{"type":"grid","columns":[{"body":[{"type":"service","onEvent":{"@history_paths.changed":{"actions":[{"actionType":"reload",// amis 3.6需要传入data来触发下面的window:historyPaths重新计算,此问题随机偶发,加上data后正常
404
+ "data":{}}]}},"body":[{"type":"button","visibleOn":"${window:innerWidth > 768 && (window:historyPaths.length > 1 || window:historyPaths[0].params.record_id) && display !== 'split'}","className":"flex mr-4","onEvent":{"click":{"actions":[{"actionType":"custom","script":"window.goBack()"}]}},"body":[{"type":"steedos-icon","category":"utility","name":"back","colorVariant":"default","className":"slds-button_icon slds-global-header__icon w-4"}]}]},{"type":"tpl","className":"block",// "tpl": `<img class='slds-icon slds-icon_container slds-icon-standard-${standardIcon}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${icon}.svg'>`
403
405
  "tpl":"<svg class=\"slds-icon slds-icon_container slds-icon-standard-".concat(standardIcon," slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#").concat(icon,"\"></use></svg>")}],"md":"auto","className":"","columnClassName":"flex justify-center items-center"},{"body":[{"type":"tpl","tpl":"".concat(label),"inline":false,"wrapperComponent":"","className":"leading-4 text-md"},{"type":"tpl","tpl":"${name}",// "tpl": "${(record && uiSchema && record[uiSchema.NAME_FIELD_KEY]) || name}",
404
406
  "inline":false,"wrapperComponent":"","className":"record-detail-header-name leading-5 text-xl font-bold"}],"columnClassName":"p-l-xs"}],"className":"flex justify-between"}],"columnClassName":"flex-initial","md":"auto"});}gridBody.push({"body":{"type":"flex","items":amisButtonsSchema},"md":"auto"// "hiddenOn": "${recordLoaded != true}"
405
407
  });body=[{"type":"wrapper","className":"p-0","body":[{"type":"grid","columns":gridBody,"className":"flex justify-between flex-nowrap"}],"hiddenOn":"${recordLoaded != true}"}];if(showRecordTitle){body.push({"type":"wrapper","className":"p-0","body":[{"type":"grid","columns":[gridBody[0]],"className":"flex justify-between"}],"hiddenOn":"${recordLoaded == true}"});}return _context76.abrupt("return",{type:'service',id:"page_readonly_".concat(name,"_header"),name:"page",data:{objectName:name,_id:recordId,recordPermissions:objectSchema.permissions,uiSchema:objectSchema,record:"${record}"},body:body,className:''});case 11:case"end":return _context76.stop();}}},_callee76);}));return _getObjectRecordDetailHeader.apply(this,arguments);}function getObjectRecordDetailRelatedListHeader(_x94,_x95,_x96){return _getObjectRecordDetailRelatedListHeader.apply(this,arguments);}/**
@@ -418,7 +420,7 @@ reg=new RegExp('_','g');standardIcon=icon&&icon.replace(reg,'-');gridBody=[];if(
418
420
  // "tooltip": i18next.t('frontend_button_listview_control_tooltip'),
419
421
  "btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded border-gray-300 text-gray-500","align":"right","visibleOn":"${!isLookup}","buttons":[{"label":i18next__default["default"].t('frontend_button_listview_control_label'),"children":[getNewListviewButtonSchema(),getCopyListviewButtonSchema(),getRenameListviewButtonSchema(),getSetListviewShareButtonSchema(),getSetListviewFiltersButtonSchema(),getSetListviewColumnsButtonSchema(),getSetListviewSortButtonSchema(),getDeleteListviewButtonSchema()]}]};};var getDisplayAsButton=function getDisplayAsButton(objectName,showDisplayAs){var displayAs=amisLib.Router.getTabDisplayAs(objectName);var buttons=[{"type":"button","label":i18next__default["default"].t('frontend_display_type_is_table'),"onClick":"const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');","rightIcon":displayAs!='split'?"fa fa-check":null,"rightIconClassName":"m-l-sm"},{"type":"button","label":i18next__default["default"].t('frontend_display_type_is_split'),"onClick":"const key = 'tab_"+objectName+"_display';localStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);","rightIcon":displayAs==='split'?"fa fa-check":null,"rightIconClassName":"m-l-sm"}];displayAs==='split'?i18next__default["default"].t('frontend_display_type_is_split'):i18next__default["default"].t('frontend_display_type_is_table');return{"type":"dropdown-button","icon":"fa fa-table-columns",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
420
422
  // "tooltip": `${i18next.t('frontend_display_as')} ${displayAsLabel}`,
421
- "btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded border-gray-300 text-gray-500","align":"right","visibleOn":"${window:innerWidth > 768 && !!!isLookup}","buttons":[{"label":i18next__default["default"].t('frontend_display_as'),"children":buttons}]};};var onFieldsFilterToggleScript="\nconst scope = event.context.scoped;\nconst filterForm = scope.getComponents().find(function(n){\n return n.props.type === \"form\";\n});\nconst filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n});\nlet toShowFieldsFilter = !!!filterService.props.data.showFieldsFilter;\nfilterService.setData({showFieldsFilter: toShowFieldsFilter});\nlet resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 1000);\n}\nresizeWindow();\n// \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\nlet crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\ncrudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});\n// if(filterService.props.data.showFieldsFilter){\n// if(isMobile){\n// // \u624B\u673A\u4E0A\u53EA\u80FD\u901A\u8FC7\u53D6\u6D88\u6309\u94AE\u6765\u5173\u95ED\u641C\u7D22\u680F\n// return;\n// }\n// let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"button\", { \n// direction: \"down\", \n// name: \"btn_filter_form_cancel\" \n// });\n// buttonCancel.props.dispatchEvent('click', {}).then(function(){\n// resizeWindow();\n// });\n// }\n// else{\n// if(isMobile){\n// // \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\n// let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n// crudService && crudService.setData({showFieldsFilter: true});\n// }\n// }\n";// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
423
+ "btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded border-gray-300 text-gray-500","align":"right","visibleOn":"${window:innerWidth > 768 && !!!isLookup}","buttons":[{"label":i18next__default["default"].t('frontend_display_as'),"children":buttons}]};};var onFieldsFilterToggleScript="\nconst scope = event.context.scoped;\nconst filterForm = scope.getComponents().find(function(n){\n return n.props.type === \"form\";\n});\nconst filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n});\nlet toShowFieldsFilter = !!!filterService.props.data.showFieldsFilter;\nfilterService.setData({showFieldsFilter: toShowFieldsFilter});\n//\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\ndoAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.\" + event.data.objectName\n },\n \"data\": {\n \"timeOut\": 1000\n }\n});\n// \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\nlet crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\ncrudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});\n// if(filterService.props.data.showFieldsFilter){\n// if(isMobile){\n// // \u624B\u673A\u4E0A\u53EA\u80FD\u901A\u8FC7\u53D6\u6D88\u6309\u94AE\u6765\u5173\u95ED\u641C\u7D22\u680F\n// return;\n// }\n// let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"button\", { \n// direction: \"down\", \n// name: \"btn_filter_form_cancel\" \n// });\n// buttonCancel.props.dispatchEvent('click', {}).then(function(){\n// resizeWindow();\n// });\n// }\n// else{\n// if(isMobile){\n// // \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\n// let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n// crudService && crudService.setData({showFieldsFilter: true});\n// }\n// }\n";// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
422
424
  function getObjectHeaderQuickSearchBox(mainObject,fields,formFactor){var _ref11=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},_ref11$isLookup=_ref11.isLookup,isLookup=_ref11$isLookup===void 0?false:_ref11$isLookup,_ref11$keywordsSearch=_ref11.keywordsSearchBoxName,keywordsSearchBoxName=_ref11$keywordsSearch===void 0?"__keywords":_ref11$keywordsSearch;var searchableFieldsLabel=[];_.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFieldsLabel.push(field.label);}});var listViewPropsStoreKey=location.pathname+"/crud";var localListViewProps=sessionStorage.getItem(listViewPropsStoreKey);var crudKeywords="";if(localListViewProps&&!isLookup){localListViewProps=JSON.parse(localListViewProps);crudKeywords=localListViewProps&&localListViewProps.__keywords||"";}var onChangeScript="\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n let __changedSearchBoxValues = {};\n __changedSearchBoxValues[\"".concat(keywordsSearchBoxName,"\"] = event.data[\"").concat(keywordsSearchBoxName,"\"];\n // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n if(crud){\n let crudData = crud.getData();\n crudData.__changedSearchBoxValues = __changedSearchBoxValues;\n crud.setData(crudData);\n }\n ");// onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
423
425
  // 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
424
426
  // 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
@@ -470,7 +472,7 @@ if(formFactor==='SMALL'){// return [
470
472
  // "load-more",
471
473
  // ]
472
474
  if(options.displayAs==='split'){return["switch-per-page",{"type":"pagination","maxButtons":5,"showPageInput":false}];}else{return[// "statistics",
473
- {"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n let resizeWindow = function(){\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n setTimeout(()=>{\n window.dispatchEvent(new Event(\"resize\"))\n }, 1000);\n }\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ";onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n ";return _context79.abrupt("return",{"title":"","submitText":"","className":"","debug":false,"mode":"normal","wrapWithPanel":false,"body":[fieldsFilterBarSchema],"onEvent":{"submitSucc":{"actions":[{"actionType":"custom","script":onSubmitSuccScript}]},"change":{"actions":[{"actionType":"custom","script":onChangeScript}]}}});case 6:case"end":return _context79.stop();}}},_callee79);}));return _getObjectFilter.apply(this,arguments);}function getBulkActions(objectSchema){return[{"type":"button","level":"danger","label":"批量删除","actionType":"ajax","confirmText":i18next__default["default"].t('frontend_delete_many_confirm_text'),"className":"hidden","id":"batchDelete","api":getBatchDelete(objectSchema.name)}// {
475
+ {"type":"pagination","maxButtons":5,"showPageInput":true,"layout":"total,pager,go"}];}}else{if(options&&options.isRelated){return["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];}else{var no_pagination=mainObject.paging&&mainObject.paging.enabled===false;var is_lookup=options.isLookup;var commonConfig=["statistics",{"type":"pagination","maxButtons":10,"showPageInput":false}];if(no_pagination&&is_lookup){return commonConfig;}else{return["switch-per-page"].concat(commonConfig);}}}}function getObjectFilter(_x100,_x101,_x102){return _getObjectFilter.apply(this,arguments);}function _getObjectFilter(){_getObjectFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee79(objectSchema,fields,options){var fieldsFilterBarSchema,onSubmitSuccScript,onChangeScript;return _regeneratorRuntime().wrap(function _callee79$(_context79){while(1){switch(_context79.prev=_context79.next){case 0:_context79.next=2;return getObjectListHeaderFieldsFilterBar(objectSchema,null,options);case 2:fieldsFilterBarSchema=_context79.sent;onSubmitSuccScript="\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // \u5217\u8868\u641C\u7D22\u680F\u5B57\u6BB5\u503C\u53D8\u66F4\u540E\u7ACB\u523B\u89E6\u53D1\u63D0\u4EA4\u8868\u5355\u6267\u884Ccrud\u641C\u7D22\uFF0C\u6240\u4EE5\u8FD9\u91CC\u9700\u8981\u989D\u5916\u91CD\u7B97crud\u9AD8\u5EA6\u53CA\u7B5B\u9009\u6309\u94AE\u7EA2\u8272\u661F\u53F7\u56FE\u6807\u663E\u793A\u9690\u85CF\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 1000\n }\n });\n resizeWindow();\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData()\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n crudService && crudService.setData({isFieldsFilterEmpty});\n ");onChangeScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // \u4F7F\u7528event.data\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEfilterFormService\u4E2D\u53D6\u3002\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n ";return _context79.abrupt("return",{"title":"","submitText":"","className":"","debug":false,"mode":"normal","wrapWithPanel":false,"body":[fieldsFilterBarSchema],"onEvent":{"submitSucc":{"actions":[{"actionType":"custom","script":onSubmitSuccScript}]},"change":{"actions":[{"actionType":"custom","script":onChangeScript}]}}});case 6:case"end":return _context79.stop();}}},_callee79);}));return _getObjectFilter.apply(this,arguments);}function getBulkActions(objectSchema){return[{"type":"button","level":"danger","label":"批量删除","actionType":"ajax","confirmText":i18next__default["default"].t('frontend_delete_many_confirm_text'),"className":"hidden","id":"batchDelete","api":getBatchDelete(objectSchema.name)}// {
474
476
  // "label": "批量修改",
475
477
  // "actionType": "dialog",
476
478
  // "dialog": {
@@ -507,7 +509,8 @@ imageNames=___default["default"].compact(___default["default"].map(___default["d
507
509
  body.columns.splice(body.columns.length-1,0,{name:'_display',type:'static',width:32,placeholder:"",id:"_display_${_index}",className:"hidden"});}if(defaults){headerSchema=defaults.headerSchema;footerSchema=defaults.footerSchema;if(headerSchema||footerSchema){wrappedBody=[body];if(headerSchema){if(___default["default"].isArray(headerSchema)){wrappedBody=___default["default"].union(headerSchema,wrappedBody);}else{wrappedBody.unshift(headerSchema);}}if(footerSchema){if(___default["default"].isArray(footerSchema)){wrappedBody=___default["default"].union(wrappedBody,footerSchema);}else{wrappedBody.push(footerSchema);}}body=wrappedBody;}}// console.timeEnd('getObjectCRUD');
508
510
  // TODO: data应该只留loaded,其他属性都改为从上层传递下来
509
511
  return _context81.abrupt("return",{type:'service',className:crudModeClassName,//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
510
- id:"service_".concat(id),name:"page",data:options.amisData,body:body});case 80:case"end":return _context81.stop();}}},_callee81);}));return _getObjectCRUD.apply(this,arguments);}var getGlobalData=function getGlobalData(mode){var user=getSteedosAuth();return{mode:mode,user:user,spaceId:user.spaceId,userId:user.userId};};var getFormFields$1=function getFormFields$1(objectSchema,formProps){/**
512
+ id:"service_".concat(id),name:"page",data:options.amisData,body:body,//监听广播事件,重算crud高度
513
+ onEvent:_defineProperty({},"@height.changed.".concat(objectSchema.name),{"actions":[{"actionType":"custom","script":"\n var crudScoped = event.context.scoped.getComponentById('".concat(body.id,"');\n var timeOut = event.data.timeOut || 500;\n setTimeout(()=>{\n crudScoped && crudScoped.control.updateAutoFillHeight();\n }, timeOut);\n ")}]})});case 80:case"end":return _context81.stop();}}},_callee81);}));return _getObjectCRUD.apply(this,arguments);}var getGlobalData=function getGlobalData(mode){var user=getSteedosAuth();return{mode:mode,user:user,spaceId:user.spaceId,userId:user.userId};};var getFormFields$1=function getFormFields$1(objectSchema,formProps){/**
511
514
  * fieldsExtend: 重写字段定义
512
515
  * fields: 包含的字段
513
516
  * excludedFields: 排除的字段
@@ -635,8 +638,8 @@ data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n
635
638
  Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context106.abrupt("return",amisSchema);case 31:case"end":return _context106.stop();}}},_callee106);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
636
639
  if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x175){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n // console.log(\"===getLookupSapceUserTreeSchema===\", JSON.stringify(payload));\n const records = payload.data.options;\n let isTreeOptionsComputed = false;\n if(records.length === 1 && records[0].children){\n isTreeOptionsComputed = true;\n }\n if(isTreeOptionsComputed){\n return payload;\n }\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.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x176,_x177,_x178){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,headerToolbarItems,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee107$(_context107){while(1){switch(_context107.prev=_context107.next){case 0:_context107.next=2;return getReferenceTo(field);case 2:referenceTo=_context107.sent;if(referenceTo){_context107.next=5;break;}return _context107.abrupt("return");case 5:_context107.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context107.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
637
640
  fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context107.next=25;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 25:source=_context107.sent;if(source.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){source.url="".concat(source.url,"?").concat(depend_on.join('&'));source.sendOn="".concat(sendOn.join(' && '));}}source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
638
- keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\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 sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\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 fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\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 ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\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 const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n try{\n setTimeout(() => {\n $('.amis-dialog-widget.antd-Modal .antd-Table-content .antd-Table-table thead .antd-Table-expandBtn')[0]?.click();\n }, 600);\n }\n catch(ex){\n console.error(\"tree\u6570\u636E\u683C\u5F0F\u5C55\u5F00\u5F02\u5E38\uFF1A\", ex);\n }\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
639
- if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context107.next=40;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true},ctx));case 40:pickerSchema=_context107.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
641
+ keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\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 sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\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 fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\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 ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\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 const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
642
+ if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context107.next=40;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 40:pickerSchema=_context107.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
640
643
  isHasFilters=field.filters||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context107.next=54;break;}_context107.next=51;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 51:new_button=_context107.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
641
644
  pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 54:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context107.next=59;break;}_context107.next=58;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 58:pickerSchema.filter=_context107.sent;case 59:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
642
645
  "isLookup":true,"__lookupField":{"name":field.name,"reference_to":refObjectConfig.name,"reference_to_field":field.reference_to_field}});if(!pickerSchema.onEvent){pickerSchema.onEvent={};}pickerSchema.onEvent["@data.changed.".concat(refObjectConfig.name)]={"actions":[{"actionType":"reload"},{"actionType":"custom","script":"\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ".concat(JSON.stringify(field),";\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: \u8FDE\u7EED\u65B0\u5EFA\u591A\u4E2A\u8BB0\u5F55\u65F6\uFF0C\u56E0\u4E3A\u83B7\u53D6\u7684\u4E3B\u8BB0\u5F55\u4E0D\u662F\u5B9E\u65F6\u7684\uFF0C\u6240\u4EE5\u53EA\u4F1A\u52FE\u9009\u6700\u540E\u4E00\u4E2A\u65B0\u5EFA\u7684\u8BB0\u5F55\u3002\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ").concat(JSON.stringify(ctx),";\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n ")}]};if(field.pickerSchema){pickerSchema=Object.assign({},pickerSchema,field.pickerSchema);}if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"&&isMobile){//手机端选人控件只保留部分toolbar
@@ -655,13 +658,14 @@ autoComplete:apiInfo,searchable:true};amisVersion=getComparableAmisVersion();if(
655
658
  // TODO:应该想办法把是否字段在子表组件内,即ctx.isInputTable,如果不在子表组件内不需要加source
656
659
  data.source=apiInfo;}//删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题
657
660
  select_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-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>";menuTpl="${icon ? `"+select_menuTpl+"` : label}";// TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。
658
- if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context108.next=46;break;}_context108.next=45;return getLookupTpl(field,ctx);case 45:data.tpl=_context108.sent;case 46:return _context108.abrupt("return",data);case 47:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x182,_x183,_x184,_x185){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context109.sent;return _context109.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context109.stop();}}},_callee109);}));return _getApi.apply(this,arguments);}function lookupToAmis(_x186,_x187,_x188){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,_referenceTo$labelFie,_referenceTo$valueFie2;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
661
+ if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context108.next=46;break;}_context108.next=45;return getLookupTpl(field,ctx);case 45:data.tpl=_context108.sent;case 46:return _context108.abrupt("return",data);case 47:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x182,_x183,_x184,_x185){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context109.sent;return _context109.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context109.stop();}}},_callee109);}));return _getApi.apply(this,arguments);}function lookupToAmis(_x186,_x187,_x188){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,amisSchema,_referenceTo$labelFie,_referenceTo$valueFie2,refLookupPage;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
659
662
  if(!readonly){_context110.next=3;break;}return _context110.abrupt("return",{type:getAmisStaticFieldType('picker',readonly),tpl:getRelatedFieldTpl(field,ctx)});case 3:if(!(field.reference_to&&!___namespace.isString(field.reference_to)&&!readonly)){_context110.next=5;break;}return _context110.abrupt("return",{type:'steedos-field-lookup',field:field,readonly:readonly,ctx:ctx});case 5:_context110.next=7;return getReferenceTo(field);case 7:referenceTo=_context110.sent;if(referenceTo){_context110.next=12;break;}_context110.next=11;return lookupToAmisSelect(field,readonly,ctx);case 11:return _context110.abrupt("return",_context110.sent);case 12:if(!(referenceTo.objectName==="space_users"&&field.reference_to_field==="user")){_context110.next=18;break;}ctx=Object.assign({},ctx,{onlyDisplayLookLabel:true});if(!ctx.idsDependOn){_context110.next=18;break;}_context110.next=17;return lookupToAmisIdsPicker(field,readonly,ctx);case 17:return _context110.abrupt("return",_context110.sent);case 18:_context110.next=20;return getUISchema(referenceTo.objectName);case 20:refObject=_context110.sent;// 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
660
663
  enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了
661
664
  // amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题
662
665
  // 这里强制禁用多选下拉树,统一改为弹出树,如果以后需要下拉树功能,可以把下拉树组件改为一次性加载所有树节点数据模式来跳过这个问题
663
- if(!enableEnhancedLookup&&refObject.enable_tree&&field.multiple){enableEnhancedLookup=true;}}// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
664
- if(!(enableEnhancedLookup==true)){_context110.next=30;break;}_context110.next=27;return lookupToAmisPicker(field,readonly,ctx);case 27:return _context110.abrupt("return",_context110.sent);case 30:if(!refObject.enable_tree){_context110.next=36;break;}_context110.next=33;return lookupToAmisTreeSelect(field,readonly,Object.assign({},ctx,{labelField:((_referenceTo$labelFie=referenceTo.labelField)===null||_referenceTo$labelFie===void 0?void 0:_referenceTo$labelFie.name)||'name',valueField:((_referenceTo$valueFie2=referenceTo.valueField)===null||_referenceTo$valueFie2===void 0?void 0:_referenceTo$valueFie2.name)||'_id',objectName:referenceTo.objectName}));case 33:return _context110.abrupt("return",_context110.sent);case 36:_context110.next=38;return lookupToAmisSelect(field,readonly,ctx);case 38:return _context110.abrupt("return",_context110.sent);case 39:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmis.apply(this,arguments);}function lookupToAmisSelectUser(_x189,_x190,_x191){return _lookupToAmisSelectUser.apply(this,arguments);}function _lookupToAmisSelectUser(){_lookupToAmisSelectUser=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:return _context111.abrupt("return",getSelectUserSchema(field,readonly,ctx));case 1:case"end":return _context111.stop();}}},_callee111);}));return _lookupToAmisSelectUser.apply(this,arguments);}function lookupToAmisIdsPicker(_x192,_x193,_x194){return _lookupToAmisIdsPicker.apply(this,arguments);}function _lookupToAmisIdsPicker(){_lookupToAmisIdsPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:return _context112.abrupt("return",getIdsPickerSchema(field,readonly,ctx));case 1:case"end":return _context112.stop();}}},_callee112);}));return _lookupToAmisIdsPicker.apply(this,arguments);}function getIdsPickerSchema(_x195,_x196,_x197){return _getIdsPickerSchema.apply(this,arguments);}function _getIdsPickerSchema(){_getIdsPickerSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var _fields2;var referenceTo,refObjectConfig,_ctx,idsDependOn,fields,tableFields,source,listView,sort,top,pickerSchema,data;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:if(!ctx){ctx={};}_context113.next=3;return getReferenceTo(field);case 3:referenceTo=_context113.sent;if(referenceTo){_context113.next=6;break;}return _context113.abrupt("return");case 6:_context113.next=8;return getUISchema(referenceTo.objectName);case 8:refObjectConfig=_context113.sent;_ctx=ctx,idsDependOn=_ctx.idsDependOn;fields=(_fields2={},_defineProperty(_fields2,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields2,referenceTo.valueField.name,referenceTo.valueField),_fields2);tableFields=[referenceTo.labelField];_context113.next=14;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:source=_context113.sent;source.data.$term="$term";source.data.$self="$$";if(idsDependOn&&source.url&&!ctx.inFilterForm){source.sendOn="${".concat(idsDependOn," && ").concat(idsDependOn,".length}");source.url="".concat(source.url,"&depend_on_").concat(idsDependOn,"=${").concat(idsDependOn,"|join}");}listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\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 sort = orderBy ? sort : \"".concat(sort,"\";\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"").concat(idsDependOn,"\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"").concat(referenceTo.valueField.name,"\", \"=\", ids]);\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 ");top=1000;pickerSchema=null;if(!(ctx.formFactor==='SMALL')){_context113.next=30;break;}_context113.next=27;return getListSchema$1(tableFields,_objectSpread(_objectSpread({top:top},ctx),{},{actions:false}));case 27:pickerSchema=_context113.sent;_context113.next=34;break;case 30:_context113.next=32;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 32:pickerSchema=_context113.sent;pickerSchema.affixHeader=false;case 34:data={type:getAmisStaticFieldType('picker',readonly),labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,modalMode:'dialog',source:source,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
666
+ if(!enableEnhancedLookup&&refObject.enable_tree&&field.multiple){enableEnhancedLookup=true;}}if(!(enableEnhancedLookup==true)){_context110.next=30;break;}_context110.next=27;return lookupToAmisPicker(field,readonly,ctx);case 27:amisSchema=_context110.sent;_context110.next=39;break;case 30:if(!refObject.enable_tree){_context110.next=36;break;}_context110.next=33;return lookupToAmisTreeSelect(field,readonly,Object.assign({},ctx,{labelField:((_referenceTo$labelFie=referenceTo.labelField)===null||_referenceTo$labelFie===void 0?void 0:_referenceTo$labelFie.name)||'name',valueField:((_referenceTo$valueFie2=referenceTo.valueField)===null||_referenceTo$valueFie2===void 0?void 0:_referenceTo$valueFie2.name)||'_id',objectName:referenceTo.objectName}));case 33:amisSchema=_context110.sent;_context110.next=39;break;case 36:_context110.next=38;return lookupToAmisSelect(field,readonly,ctx);case 38:amisSchema=_context110.sent;case 39:refLookupPage=refObject.pages&&refObject.pages.lookup;if(refLookupPage){if(typeof refLookupPage=='string'){refLookupPage=JSON.parse(refLookupPage);}// Object.assign(amisSchema, refLookupPage);
667
+ // amisSchema = _.defaultsDeep({}, refLookupPage, amisSchema);
668
+ }return _context110.abrupt("return",amisSchema);case 42:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmis.apply(this,arguments);}function lookupToAmisSelectUser(_x189,_x190,_x191){return _lookupToAmisSelectUser.apply(this,arguments);}function _lookupToAmisSelectUser(){_lookupToAmisSelectUser=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:return _context111.abrupt("return",getSelectUserSchema(field,readonly,ctx));case 1:case"end":return _context111.stop();}}},_callee111);}));return _lookupToAmisSelectUser.apply(this,arguments);}function lookupToAmisIdsPicker(_x192,_x193,_x194){return _lookupToAmisIdsPicker.apply(this,arguments);}function _lookupToAmisIdsPicker(){_lookupToAmisIdsPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,readonly,ctx){return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:return _context112.abrupt("return",getIdsPickerSchema(field,readonly,ctx));case 1:case"end":return _context112.stop();}}},_callee112);}));return _lookupToAmisIdsPicker.apply(this,arguments);}function getIdsPickerSchema(_x195,_x196,_x197){return _getIdsPickerSchema.apply(this,arguments);}function _getIdsPickerSchema(){_getIdsPickerSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var _fields2;var referenceTo,refObjectConfig,_ctx,idsDependOn,fields,tableFields,source,listView,sort,top,pickerSchema,data;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:if(!ctx){ctx={};}_context113.next=3;return getReferenceTo(field);case 3:referenceTo=_context113.sent;if(referenceTo){_context113.next=6;break;}return _context113.abrupt("return");case 6:_context113.next=8;return getUISchema(referenceTo.objectName);case 8:refObjectConfig=_context113.sent;_ctx=ctx,idsDependOn=_ctx.idsDependOn;fields=(_fields2={},_defineProperty(_fields2,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields2,referenceTo.valueField.name,referenceTo.valueField),_fields2);tableFields=[referenceTo.labelField];_context113.next=14;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:source=_context113.sent;source.data.$term="$term";source.data.$self="$$";if(idsDependOn&&source.url&&!ctx.inFilterForm){source.sendOn="${".concat(idsDependOn," && ").concat(idsDependOn,".length}");source.url="".concat(source.url,"&depend_on_").concat(idsDependOn,"=${").concat(idsDependOn,"|join}");}listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\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 sort = orderBy ? sort : \"".concat(sort,"\";\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"").concat(idsDependOn,"\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"").concat(referenceTo.valueField.name,"\", \"=\", ids]);\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 ");top=1000;pickerSchema=null;if(!(ctx.formFactor==='SMALL')){_context113.next=30;break;}_context113.next=27;return getListSchema$1(tableFields,_objectSpread(_objectSpread({top:top},ctx),{},{actions:false}));case 27:pickerSchema=_context113.sent;_context113.next=34;break;case 30:_context113.next=32;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 32:pickerSchema=_context113.sent;pickerSchema.affixHeader=false;case 34:data={type:getAmisStaticFieldType('picker',readonly),labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,modalMode:'dialog',source:source,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
665
669
  disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(ctx.value){data.value=ctx.value;}if(ctx.selectFirst!=undefined){data.selectFirst=ctx.selectFirst;}if(!readonly){_context113.next=42;break;}_context113.next=41;return getLookupTpl(field,ctx);case 41:data.tpl=_context113.sent;case 42:return _context113.abrupt("return",data);case 43:case"end":return _context113.stop();}}},_callee113);}));return _getIdsPickerSchema.apply(this,arguments);}if(typeof window!='undefined'){window.getReferenceTo=getReferenceTo;window.getReferenceToSync=getReferenceToSync;}/*
666
670
  * @Author: baozhoutao@steedos.com
667
671
  * @Date: 2023-01-13 17:27:54