@steedos-widgets/amis-lib 1.3.22-beta.3 → 3.6.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +67 -26
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +67 -26
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +35 -28
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/util.d.ts +5 -0
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -38,11 +38,14 @@ var value=localStorage.getItem(key);return value?value:'grid';},setTabDisplayAs:
|
|
|
38
38
|
},getObjectListViewPath:function getObjectListViewPath(_ref3){var formFactor=_ref3.formFactor,appId=_ref3.appId,objectName=_ref3.objectName,listViewName=_ref3.listViewName;return"/app/".concat(appId,"/").concat(objectName,"/grid/").concat(listViewName);},getObjectDetailPath:function getObjectDetailPath(props){var formFactor=props.formFactor,appId=props.appId,objectName=props.objectName,recordId=props.recordId,listViewName=props.listViewName,_templateType=props._templateType;if(_templateType==='JavaScript'){return"/app/".concat(appId,"/").concat(objectName,"/view/").concat(recordId,"?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>");}return"/app/".concat(appId,"/").concat(objectName,"/view/").concat(recordId,"?side_object=${objectName}&side_listview_id=${listName}");},getObjectRelatedViewPath:function getObjectRelatedViewPath(_ref4){var formFactor=_ref4.formFactor,appId=_ref4.appId,masterObjectName=_ref4.masterObjectName,masterRecordId=_ref4.masterRecordId,objectName=_ref4.objectName,foreignKey=_ref4.foreignKey;return"/app/".concat(appId,"/").concat(masterObjectName,"/").concat(masterRecordId,"/").concat(objectName,"/grid?related_field_name=").concat(foreignKey);}};/*
|
|
39
39
|
* @Author: baozhoutao@steedos.com
|
|
40
40
|
* @Date: 2022-07-20 16:29:22
|
|
41
|
-
* @LastEditors:
|
|
42
|
-
* @LastEditTime: 2023-
|
|
41
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
42
|
+
* @LastEditTime: 2023-12-28 14:59:08
|
|
43
43
|
* @Description:
|
|
44
44
|
*/function getImageFieldUrl(url){if(window.Meteor&&window.Meteor.isCordova!=true){// '//'的位置
|
|
45
|
-
var doubleSlashIndex=url.indexOf('//');var urlIndex=url.indexOf('/',doubleSlashIndex+2);var rootUrl=url.substring(urlIndex);return rootUrl;}return url;}if(typeof window!='undefined'){window.getImageFieldUrl=getImageFieldUrl;}function getContrastColor(bgColor){var backgroundColor=bgColor.charAt(0)==='#'?bgColor.substring(1,7):bgColor;var r=parseInt(backgroundColor.substr(0,2),16);var g=parseInt(backgroundColor.substr(2,2),16);var b=parseInt(backgroundColor.substr(4,2),16);var brightness=(r*299+g*587+b*114)/1000;return brightness<128?"#ffffff":"#000000";}function getLookupListView(refObjectConfig){if(!refObjectConfig){return null;}var listNameAll="all";var listNameLookup="lookup";var listViewAll,listViewLookup;_.each(refObjectConfig.list_views,function(view,name){if(name===listNameAll){listViewAll=view;if(!listViewAll.name){listViewAll.name=name;}}else if(name===listNameLookup){listViewLookup=view;if(!listViewLookup.name){listViewLookup.name=name;}}});var listView=listViewLookup||listViewAll;return listView;}
|
|
45
|
+
var doubleSlashIndex=url.indexOf('//');var urlIndex=url.indexOf('/',doubleSlashIndex+2);var rootUrl=url.substring(urlIndex);return rootUrl;}return url;}if(typeof window!='undefined'){window.getImageFieldUrl=getImageFieldUrl;}function getContrastColor(bgColor){var backgroundColor=bgColor.charAt(0)==='#'?bgColor.substring(1,7):bgColor;var r=parseInt(backgroundColor.substr(0,2),16);var g=parseInt(backgroundColor.substr(2,2),16);var b=parseInt(backgroundColor.substr(4,2),16);var brightness=(r*299+g*587+b*114)/1000;return brightness<128?"#ffffff":"#000000";}function getLookupListView(refObjectConfig){if(!refObjectConfig){return null;}var listNameAll="all";var listNameLookup="lookup";var listViewAll,listViewLookup;_.each(refObjectConfig.list_views,function(view,name){if(name===listNameAll){listViewAll=view;if(!listViewAll.name){listViewAll.name=name;}}else if(name===listNameLookup){listViewLookup=view;if(!listViewLookup.name){listViewLookup.name=name;}}});var listView=listViewLookup||listViewAll;return listView;}/**
|
|
46
|
+
* 获取可比较的amis版本号
|
|
47
|
+
* @returns 只返回前两位版本,第三位忽略,比如3.6.3返回3.6
|
|
48
|
+
*/function getComparableAmisVersion(){var amis=window.amisRequire&&window.amisRequire('amis')||window.Amis;var amisVersion=amis&&amis.version;if(amisVersion){var comparableVersions=amisVersion.split(".");var comparableVersion=parseFloat(comparableVersions[0].toString()+"."+comparableVersions[1].toString());return comparableVersion;}}/*
|
|
46
49
|
* @Author: baozhoutao@steedos.com
|
|
47
50
|
* @Date: 2022-05-23 09:53:08
|
|
48
51
|
* @LastEditors: liaodaxue
|
|
@@ -88,7 +91,7 @@ TempDisplayField="";quickEditSchema.body[0].onEvent={};quickEditOnEvent=function
|
|
|
88
91
|
多选分两种情况。
|
|
89
92
|
第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;
|
|
90
93
|
第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值
|
|
91
|
-
*/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 { context } = api.body; \n var rootUrl = context.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":"service_listview_".concat(options.objectName),"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":"service_listview_".concat(options.objectName),"args":{"value":{"quickedit_record_permissions_loading":false}}},{"actionType":"setValue","componentId":"service_listview_".concat(options.objectName),"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 { context } = api.body; \n var rootUrl = context.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的单元格编辑
|
|
92
95
|
if(field.type=="lookup"&&!isAmisVersionforBatchEdit){quickEditSchema=false;}//TODO:附件多选时会覆盖老数据,暂时禁用
|
|
93
96
|
if(field.type=="file"&&field.multiple){quickEditSchema=false;}//TODO:location字段在列表中快速编辑后存在bug,保存时可能会丢失部分数据,暂时禁用
|
|
94
97
|
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效果
|
|
@@ -109,8 +112,7 @@ if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{ret
|
|
|
109
112
|
"size": "none",
|
|
110
113
|
"className": "flex items-center justify-between"//每行样式类
|
|
111
114
|
}
|
|
112
|
-
*/function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,field,quickEditSchema,className,columnItem,previewFileScript,map,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){
|
|
113
|
-
columns.push({name:'_display',type:'static',width:32,placeholder:"",id:"_display_${_index}",className:"hidden"});if(!options.enable_tree){columns.push({name:'_index',type:'text',width:32,placeholder:""});}}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=51;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",49);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-all ";}columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=26;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data._id;\n SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
115
|
+
*/function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,field,quickEditSchema,className,columnItem,previewFileScript,map,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){if(!options.enable_tree){columns.push({name:'_index',type:'text',width:32,placeholder:""});}}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=51;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",49);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-all ";}columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=26;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data._id;\n SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
114
116
|
"expression":"!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
115
117
|
},{"args":{},"actionType":"custom","script":previewFileScript,// "expression": "!!window?.nw?.require" //PC客户端预览附件
|
|
116
118
|
"expression":"!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
|
|
@@ -118,7 +120,7 @@ columns.push({name:'_display',type:'static',width:32,placeholder:"",id:"_display
|
|
|
118
120
|
width:getFieldWidth(field.width),type:type,tpl:tpl,toggled:field.toggled,className:className,inputClassName:"inline","static":true,options:field.type==='html'?{html:true}:null// toggled: true
|
|
119
121
|
},field.amis,{name:field.name});if(field.type==='color'){columnItem.type='color';columnItem.defaultColor=null;}}case 48:if(columnItem){if(quickEditSchema){columnItem.quickEdit=quickEditSchema;columnItem.quickEditEnabledOn="${is_system !== true}";}columnItem.id="".concat(options.objectName,"_").concat(field.name,"_${_index}");columns.push(columnItem);}case 49:_context56.next=6;break;case 51:_context56.next=56;break;case 53:_context56.prev=53;_context56.t1=_context56["catch"](4);_iterator6.e(_context56.t1);case 56:_context56.prev=56;_iterator6.f();return _context56.finish(56);case 59:// columns.push(getOperation(fields));
|
|
120
122
|
if(!options.isLookup&&!options.isInputTable&&!___namespace.some(columns,{name:options.labelFieldName})){// 没有名称字段时显示序号字段为链接,lookup弹出的picker不需要此功能
|
|
121
|
-
href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[
|
|
123
|
+
href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[0].type="tpl";columns[0].tpl="<a href=\"".concat(href,"\">${").concat(columns[0].name,"}</a>");}return _context56.abrupt("return",columns);case 61:case"end":return _context56.stop();}}},_callee56,null,[[4,53,56,59]]);}));return _getTableColumns.apply(this,arguments);}function getMobileLines(tpls){var lines=[];var maxLineCount=3;var lineChildren=[];var isNewLine=false;var isLeft=true;var lineChildrenClassName="";var lineClassName="flex items-center justify-between";tpls.forEach(function(item){if(isNewLine&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});lineChildren=[];}if(isLeft){// 左侧半行
|
|
122
124
|
lineChildrenClassName="steedos-listview-item-left truncate";if(item.field.is_wide){// 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
|
|
123
125
|
lineChildrenClassName="steedos-listview-item-wide";}if(lines.length===0){// 第一个字段加粗黑色显示
|
|
124
126
|
lineChildrenClassName+=" font-bold text-gray-800";}}else{// 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
|
|
@@ -191,7 +193,7 @@ var apiData={objectName:"${objectName}",$:formData,$self:"$$"};var saveDataTpl="
|
|
|
191
193
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
192
194
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
193
195
|
PERFORMANCE OF THIS SOFTWARE.
|
|
194
|
-
***************************************************************************** */function _getObjectCalendar(){_getObjectCalendar=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee66(objectSchema,calendarOptions,options){var permissions,titleFields,fields,sort,sortField,sortOrder,sortStr,initialView,api,onGetEventsScript,onSelectScript,onEventClickScript,recordId,recordPermissionsApi,recordSaveApi,businessHours,onEvent,config,hasReturn,fn,_hasReturn,_fn,amisSchema;return _regeneratorRuntime().wrap(function _callee66$(_context66){while(1){switch(_context66.prev=_context66.next){case 0:permissions=objectSchema.permissions;if(!options){options={};}calendarOptions=Object.assign({},DEFAULT_CALENDAR_OPTIONS,_$1.omitBy(calendarOptions,_$1.isNil));titleFields=calendarOptions.title||[calendarOptions.startDateExpr,calendarOptions.endDateExpr,calendarOptions.allDayExpr,calendarOptions.textExpr];fields=[];_$1.each(titleFields,function(n){if(objectSchema.fields[n]){fields.push(objectSchema.fields[n]);}});if(objectSchema.fields[calendarOptions.allDayExpr]){fields.push(objectSchema.fields[calendarOptions.allDayExpr]);}sort=options.sort;if(!sort){sortField=options.sortField;sortOrder=options.sortOrder;if(sortField){sortStr=sortField+' '+sortOrder||'asc';sort=sortStr;}}initialView=calendarOptions.currentView;if(!initialView){_context66.next=24;break;}_context66.t0=initialView;_context66.next=_context66.t0==="day"?14:_context66.t0==="week"?16:_context66.t0==="month"?18:_context66.t0==="agenda"?20:22;break;case 14:initialView="timeGridDay";return _context66.abrupt("break",22);case 16:initialView="timeGridWeek";return _context66.abrupt("break",22);case 18:initialView="dayGridMonth";return _context66.abrupt("break",22);case 20:initialView="listWeek";return _context66.abrupt("break",22);case 22:_context66.next=25;break;case 24:initialView="timeGridWeek";case 25:options.calendarOptions=calendarOptions;_context66.next=28;return getCalendarApi(objectSchema,fields,options);case 28:api=_context66.sent;onGetEventsScript="\n const api = ".concat(JSON.stringify(api),";\n event.data.calendarOptions = ").concat(JSON.stringify(calendarOptions),";\n doAction({\n \"actionType\": 'ajax',\n \"args\": {\n \"api\": api\n },\n });\n ");onSelectScript="\n const data = event.data;\n const doc = {};\n doc[\"".concat(calendarOptions.startDateExpr,"\"] = data.start;\n doc[\"").concat(calendarOptions.endDateExpr,"\"] = data.end;\n doc[\"").concat(calendarOptions.allDayExpr,"\"] = data.allDay;\n doc[\"").concat(calendarOptions.textExpr,"\"] = data.title;\n // ObjectForm\u4F1A\u8BA4\u4F5C\u7528\u57DF\u4E0B\u7684\u53D8\u91CF\u503C\n // TODO: \u5F85\u7EC4\u4EF6\u652F\u6301initValues\u5C5E\u6027\u540E\u5E94\u8BE5\u6539\u6389\uFF0C\u4E0D\u5E94\u8BE5\u901A\u8FC7data\u76F4\u63A5\u4F20\u503C\n // TODO: \u5168\u5929\u4E8B\u4EF6\u5C5E\u6027\u4F20\u5165doc\u4E86\u4F46\u662F\u6CA1\u6709\u751F\u6548\uFF0C\u9700\u8981\u624B\u52A8\u5728ObjectForm\u4E2D\u52FE\u9009\u5168\u5929\u4E8B\u4EF6\n const title = \"").concat(i18next__default["default"].t('frontend_form_new')," ").concat(objectSchema.label,"\";\n doAction(\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": title,\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"objectApiName\": \"${objectName}\",\n \"mode\": \"edit\",\n \"defaultData\": doc,\n //\u6539\u56DE\u4E3A\u901A\u7528\u7684\u63D0\u4EA4\u4E8B\u4EF6\n // \"onEvent\": {\n // \"submitSucc\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": \"event.data.view?.calendar.refetchEvents();\"\n // }\n // ]\n // }\n // }\n }\n ],\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"size\": \"lg\"\n }\n });\n ");onEventClickScript="\n const data = event.data;\n const eventData = data.event;\n const appId = data.appId;\n const objectName = data.objectName;\n const eventId = data.event && data.event.id;\n doAction({\n \"actionType\": \"link\",\n \"args\": {\n \"link\": \"/app/\" + appId + \"/\" + objectName + \"/view/\" + eventId\n }\n });\n // doAction({\n // \"actionType\": \"dialog\",\n // \"dialog\": {\n // \"type\": \"dialog\",\n // \"title\": \"\",\n // \"body\": [\n // {\n // \"type\": \"steedos-record-detail\",\n // \"objectApiName\": \"${objectName}\",\n // \"recordId\": data.event && data.event.id\n // }\n // ],\n // \"closeOnEsc\": false,\n // \"closeOnOutside\": false,\n // \"showCloseButton\": true,\n // \"size\": \"lg\",\n // \"actions\": []\n // }\n // });\n ";recordId="${event.id}";recordPermissionsApi=getCalendarRecordPermissionsApi(objectSchema,recordId);recordSaveApi=getCalendarRecordSaveApi(objectSchema,calendarOptions);businessHours={daysOfWeek:[1,2,3,4,5],startTime:'08:00',endTime:'18:00'};if(!_$1.isEmpty(calendarOptions.startDayHour)){businessHours.startTime="".concat(calendarOptions.startDayHour,":00");}if(!_$1.isEmpty(calendarOptions.endDayHour)){businessHours.endTime="".concat(calendarOptions.endDayHour,":00");}// api.trackExpression="\\\${additionalFilters}";
|
|
196
|
+
***************************************************************************** */function _getObjectCalendar(){_getObjectCalendar=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee66(objectSchema,calendarOptions,options){var permissions,titleFields,fields,sort,sortField,sortOrder,sortStr,initialView,api,onGetEventsScript,onSelectScript,onEventClickScript,recordId,recordPermissionsApi,recordSaveApi,businessHours,onEvent,config,hasReturn,fn,_hasReturn,_fn,amisSchema;return _regeneratorRuntime().wrap(function _callee66$(_context66){while(1){switch(_context66.prev=_context66.next){case 0:permissions=objectSchema.permissions;if(!options){options={};}calendarOptions=Object.assign({},DEFAULT_CALENDAR_OPTIONS,_$1.omitBy(calendarOptions,_$1.isNil));titleFields=calendarOptions.title||[calendarOptions.startDateExpr,calendarOptions.endDateExpr,calendarOptions.allDayExpr,calendarOptions.textExpr];fields=[];_$1.each(titleFields,function(n){if(objectSchema.fields[n]){fields.push(objectSchema.fields[n]);}});if(objectSchema.fields[calendarOptions.allDayExpr]){fields.push(objectSchema.fields[calendarOptions.allDayExpr]);}sort=options.sort;if(!sort){sortField=options.sortField;sortOrder=options.sortOrder;if(sortField){sortStr=sortField+' '+sortOrder||'asc';sort=sortStr;}}initialView=calendarOptions.currentView;if(!initialView){_context66.next=24;break;}_context66.t0=initialView;_context66.next=_context66.t0==="day"?14:_context66.t0==="week"?16:_context66.t0==="month"?18:_context66.t0==="agenda"?20:22;break;case 14:initialView="timeGridDay";return _context66.abrupt("break",22);case 16:initialView="timeGridWeek";return _context66.abrupt("break",22);case 18:initialView="dayGridMonth";return _context66.abrupt("break",22);case 20:initialView="listWeek";return _context66.abrupt("break",22);case 22:_context66.next=25;break;case 24:initialView="timeGridWeek";case 25:options.calendarOptions=calendarOptions;_context66.next=28;return getCalendarApi(objectSchema,fields,options);case 28:api=_context66.sent;onGetEventsScript="\n const api = ".concat(JSON.stringify(api),";\n event.data.calendarOptions = ").concat(JSON.stringify(calendarOptions),";\n doAction({\n \"actionType\": 'ajax',\n \"args\": {\n \"api\": api\n },\n });\n ");onSelectScript="\n const data = event.data;\n const doc = {};\n doc[\"".concat(calendarOptions.startDateExpr,"\"] = data.start;\n doc[\"").concat(calendarOptions.endDateExpr,"\"] = data.end;\n doc[\"").concat(calendarOptions.allDayExpr,"\"] = data.allDay;\n doc[\"").concat(calendarOptions.textExpr,"\"] = data.title;\n // ObjectForm\u4F1A\u8BA4\u4F5C\u7528\u57DF\u4E0B\u7684\u53D8\u91CF\u503C\n // TODO: \u5F85\u7EC4\u4EF6\u652F\u6301initValues\u5C5E\u6027\u540E\u5E94\u8BE5\u6539\u6389\uFF0C\u4E0D\u5E94\u8BE5\u901A\u8FC7data\u76F4\u63A5\u4F20\u503C\n // TODO: \u5168\u5929\u4E8B\u4EF6\u5C5E\u6027\u4F20\u5165doc\u4E86\u4F46\u662F\u6CA1\u6709\u751F\u6548\uFF0C\u9700\u8981\u624B\u52A8\u5728ObjectForm\u4E2D\u52FE\u9009\u5168\u5929\u4E8B\u4EF6\n const title = \"").concat(i18next__default["default"].t('frontend_form_new')," ").concat(objectSchema.label,"\";\n doAction(\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": title,\n data,\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"objectApiName\": \"${objectName}\",\n \"mode\": \"edit\",\n \"defaultData\": doc,\n //\u6539\u56DE\u4E3A\u901A\u7528\u7684\u63D0\u4EA4\u4E8B\u4EF6\n // \"onEvent\": {\n // \"submitSucc\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": \"event.data.view?.calendar.refetchEvents();\"\n // }\n // ]\n // }\n // }\n }\n ],\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"size\": \"lg\"\n }\n });\n ");onEventClickScript="\n const data = event.data;\n const eventData = data.event;\n const appId = data.appId;\n const objectName = data.objectName;\n const eventId = data.event && data.event.id;\n doAction({\n \"actionType\": \"link\",\n \"args\": {\n \"link\": \"/app/\" + appId + \"/\" + objectName + \"/view/\" + eventId\n }\n });\n // doAction({\n // \"actionType\": \"dialog\",\n // \"dialog\": {\n // \"type\": \"dialog\",\n // \"title\": \"\",\n // \"body\": [\n // {\n // \"type\": \"steedos-record-detail\",\n // \"objectApiName\": \"${objectName}\",\n // \"recordId\": data.event && data.event.id\n // }\n // ],\n // \"closeOnEsc\": false,\n // \"closeOnOutside\": false,\n // \"showCloseButton\": true,\n // \"size\": \"lg\",\n // \"actions\": []\n // }\n // });\n ";recordId="${event.id}";recordPermissionsApi=getCalendarRecordPermissionsApi(objectSchema,recordId);recordSaveApi=getCalendarRecordSaveApi(objectSchema,calendarOptions);businessHours={daysOfWeek:[1,2,3,4,5],startTime:'08:00',endTime:'18:00'};if(!_$1.isEmpty(calendarOptions.startDayHour)){businessHours.startTime="".concat(calendarOptions.startDayHour,":00");}if(!_$1.isEmpty(calendarOptions.endDayHour)){businessHours.endTime="".concat(calendarOptions.endDayHour,":00");}// api.trackExpression="\\\${additionalFilters}";
|
|
195
197
|
onEvent={"getEvents":{"weight":0,"actions":[{"componentId":"","args":{},"actionType":"custom","script":onGetEventsScript}// {
|
|
196
198
|
// "actionType": "ajax",
|
|
197
199
|
// "outputVar": "responseResult",
|
|
@@ -501,10 +503,11 @@ recordPermissions:objectSchema.permissions,uiSchema:objectSchema// loaded: false
|
|
|
501
503
|
});body=null;id="listview_".concat(objectSchema.name);if(!(options.formFactor==='SMALL'&&false)){_context81.next=42;break;}delete bodyProps.bulkActions;delete bodyProps.headerToolbar;delete bodyProps.footerToolbar;_context81.next=27;return getCardSchema(fields,Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:objectSchema.NAME_FIELD_KEY||'name'},options,{actions:false}));case 27:card=_context81.sent;_context81.t3=Object;_context81.t4={};_context81.t5=card;_context81.t6=id;_context81.t7=id;_context81.next=35;return getTableApi(objectSchema,fields,options);case 35:_context81.t8=_context81.sent;_context81.t9=options.tableHiddenOn;_context81.t10={type:'crud',primaryField:'_id',id:_context81.t6,name:_context81.t7,keepItemSelectionOnPageChange:false,api:_context81.t8,hiddenOn:_context81.t9};_context81.t11=bodyProps;body=_context81.t3.assign.call(_context81.t3,_context81.t4,_context81.t5,_context81.t10,_context81.t11);_context81.next=71;break;case 42:labelFieldName=objectSchema.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
502
504
|
if(objectSchema.name==='organizations'){labelFieldName='name';}tableOptions=Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:labelFieldName,permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,crudId:listSchema.id||id,enable_tree:objectSchema.enable_tree},options);tableOptions.amisData=createObject(options.amisData||{},{});_context81.next=48;return getTableSchema$1(fields,tableOptions);case 48:table=_context81.sent;// delete table.mode;
|
|
503
505
|
//image与avatar需要在提交修改时特别处理
|
|
504
|
-
imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21={"bg-white":"true","is-steedos-crud-data-empty":"${!items || COUNT(items) == 0}"};_context81.t22=crudClassName;_context81.t23={url:"${context.rootUrl}/graphql",method:"post",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:quickSaveApiRequestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n return payload;\n "};_context81.t24=options.rowClassNameExpr;_context81.t25={type:'crud',primaryField:'_id',affixHeader:false,id:_context81.t15,name:_context81.t16,keepItemSelectionOnPageChange:true,api:_context81.t17,hiddenOn:_context81.t18,autoFillHeight:_context81.t19,className:_context81.t20,bodyClassName:_context81.t21,crudClassName:_context81.t22,quickSaveApi:_context81.t23,rowClassNameExpr:_context81.t24};_context81.t26=bodyProps;body=_context81.t12.assign.call(_context81.t12,_context81.t13,_context81.t14,_context81.t25,_context81.t26);case 71:body=defaultsDeep({},listSchema,body);_context81.next=74;return getCrudSchemaWithDataFilter(body,{crudDataFilter:crudDataFilter,onCrudDataFilter:onCrudDataFilter,amisData:amisData,env:env});case 74:body=_context81.sent;crudModeClassName="";if(body.mode){crudModeClassName="steedos-crud-mode-".concat(body.mode);}if(
|
|
506
|
+
imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21={"bg-white":"true","is-steedos-crud-data-empty":"${!items || COUNT(items) == 0}"};_context81.t22=crudClassName;_context81.t23={url:"${context.rootUrl}/graphql",method:"post",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:quickSaveApiRequestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n return payload;\n "};_context81.t24=options.rowClassNameExpr;_context81.t25={type:'crud',primaryField:'_id',affixHeader:false,id:_context81.t15,name:_context81.t16,keepItemSelectionOnPageChange:true,api:_context81.t17,hiddenOn:_context81.t18,autoFillHeight:_context81.t19,className:_context81.t20,bodyClassName:_context81.t21,crudClassName:_context81.t22,quickSaveApi:_context81.t23,rowClassNameExpr:_context81.t24};_context81.t26=bodyProps;body=_context81.t12.assign.call(_context81.t12,_context81.t13,_context81.t14,_context81.t25,_context81.t26);case 71:body=defaultsDeep({},listSchema,body);_context81.next=74;return getCrudSchemaWithDataFilter(body,{crudDataFilter:crudDataFilter,onCrudDataFilter:onCrudDataFilter,amisData:amisData,env:env});case 74:body=_context81.sent;crudModeClassName="";if(body.mode){crudModeClassName="steedos-crud-mode-".concat(body.mode);}if(body.columns&&options.formFactor!='SMALL'){//将_display放入crud的columns的倒数第二列中(最后一列会影响固定列),可以通过setvalue修改行内数据域的_display,而不影响上层items的_display,用于批量编辑
|
|
507
|
+
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');
|
|
505
508
|
// TODO: data应该只留loaded,其他属性都改为从上层传递下来
|
|
506
509
|
return _context81.abrupt("return",{type:'service',className:crudModeClassName,//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
|
|
507
|
-
id:"service_".concat(id),name:"page",data:options.amisData,body:body});case
|
|
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){/**
|
|
508
511
|
* fieldsExtend: 重写字段定义
|
|
509
512
|
* fields: 包含的字段
|
|
510
513
|
* excludedFields: 排除的字段
|
|
@@ -632,24 +635,27 @@ data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n
|
|
|
632
635
|
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 引用的对象未定义
|
|
633
636
|
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 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":"if (payload.data.treeCache == true) {\n return payload;\n }\n const records = payload.data.options;\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 payload.data.treeCache = true;\n return payload;\n ","requestAdaptor":"\n ","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排序
|
|
634
637
|
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',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
635
|
-
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.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 Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\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(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 被标记为了 名称字段. 在此处特殊处理.
|
|
638
|
+
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.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 Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\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 被标记为了 名称字段. 在此处特殊处理.
|
|
636
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字段配置过滤条件就强制不显示新建按钮
|
|
637
640
|
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到最后
|
|
638
641
|
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,// 需要按视图取可搜索项
|
|
639
642
|
"isLookup":true});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
|
|
640
643
|
pickerSchema.headerToolbar=pickerSchema.headerToolbar&&pickerSchema.headerToolbar.filter(function(item){if(["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(item.id)>-1){return true;}else{return false;}});pickerSchema.footerToolbar=["pagination"];}data={type:getAmisStaticFieldType('picker',readonly),modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
641
644
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),modalMode:'dialog',//TODO 设置 dialog 或者 drawer,用来配置弹出方式
|
|
642
|
-
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context107.next=70;break;}_context107.next=69;return getLookupTpl(field,ctx);case 69:data.tpl=_context107.sent;case 70:return _context107.abrupt("return",data);case 71:case"end":return _context107.stop();}}},_callee107);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x179,_x180,_x181){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,sort,depend_on,sendOn,data,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee108$(_context108){while(1){switch(_context108.prev=_context108.next){case 0:_context108.next=2;return getReferenceTo(field);case 2:referenceTo=_context108.sent;isMobile=window.innerWidth<=768;valueFieldKey=referenceTo&&((_referenceTo$valueFie=referenceTo.valueField)===null||_referenceTo$valueFie===void 0?void 0:_referenceTo$valueFie.name)||'_id';// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
645
|
+
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context107.next=70;break;}_context107.next=69;return getLookupTpl(field,ctx);case 69:data.tpl=_context107.sent;case 70:return _context107.abrupt("return",data);case 71:case"end":return _context107.stop();}}},_callee107);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x179,_x180,_x181){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee108$(_context108){while(1){switch(_context108.prev=_context108.next){case 0:_context108.next=2;return getReferenceTo(field);case 2:referenceTo=_context108.sent;isMobile=window.innerWidth<=768;valueFieldKey=referenceTo&&((_referenceTo$valueFie=referenceTo.valueField)===null||_referenceTo$valueFie===void 0?void 0:_referenceTo$valueFie.name)||'_id';// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
643
646
|
if(!referenceTo){_context108.next=15;break;}_context108.next=8;return getFindQuery({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 8:defaultValueOptionsQueryData=_context108.sent;_context108.next=11;return getApi({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 11:apiInfo=_context108.sent;apiInfo.adaptor="\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n ";_context108.next=16;break;case 15:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 16:_context108.t0=referenceTo;if(!_context108.t0){_context108.next=21;break;}_context108.next=20;return getUISchema(referenceTo.objectName);case 20:_context108.t0=_context108.sent;case 21:refObjectConfig=_context108.t0;listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
644
|
-
if(apiInfo.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){apiInfo.url="".concat(apiInfo.url,"
|
|
647
|
+
if(apiInfo.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){apiInfo.url="".concat(apiInfo.url,"&").concat(depend_on.join('&'));apiInfo.sendOn="".concat(sendOn.join(' && '));}}apiInfo.data.$term="$term";// apiInfo.data.$value = `$${field.name}.${referenceTo ? referenceTo.valueField.name : '_id'}`;
|
|
645
648
|
apiInfo.data.$value=ctx.isRefToMutiple?"$".concat(field.name,".ids"):"$".concat(field.name);___namespace.each(field.depend_on,function(fName){apiInfo.data[fName]="$".concat(fName);});apiInfo.data['$']="$$";apiInfo.data['rfield']="${object_name}";// [["_id", "=", "$${field.name}._id"],"or",["name", "contains", "$term"]]
|
|
646
649
|
apiInfo.requestAdaptor="\n var filters = [];\n var top = 200;\n if(api.data.$term){\n filters = [[\"".concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.NAME_FIELD_KEY)||'name',"\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\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 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.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = \"").concat(sort,"\";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n const defaultValueOptionsQueryData = ").concat(JSON.stringify(defaultValueOptionsQueryData),";\n const defaultValueOptionsQuery = defaultValueOptionsQueryData?.query?.replace(/^{/,\"\").replace(/}$/,\"\");\n // \u5B57\u6BB5\u503C\u5355\u72EC\u8BF7\u6C42\uFF0C\u6CA1\u503C\u7684\u65F6\u5019\u5728\u8BF7\u6C42\u4E2D\u8FD4\u56DE\u7A7A\n optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, defaultValue]];\n if(filters.length > 0){\n optionsFilters = [filters, optionsFilters];\n }\n if(defaultValueOptionsQuery){\n api.data.query = \"{\"+api.data.query.replace(/^{/,\"\").replace(/}$/,\"\")+\",\"+defaultValueOptionsQuery+\"}\";\n } \n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n ");referenceTo?referenceTo.labelField.name:'';referenceTo?referenceTo.valueField.name:'';if(field.optionsFunction||field._optionsFunction){apiInfo.adaptor="\n var options = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$);\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}else if(field.options){apiInfo.adaptor="\n var options = ".concat(JSON.stringify(field.options),"\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}data={type:getAmisStaticFieldType('select',readonly),joinValues:false,extractValue:true,clearable:true,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
647
650
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),// labelField: labelField,
|
|
648
651
|
// valueField: valueField,
|
|
649
652
|
// source: apiInfo,
|
|
650
|
-
autoComplete:apiInfo,searchable:true}
|
|
653
|
+
autoComplete:apiInfo,searchable:true};amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6中不加source会造成子表组件中弹出行编辑窗口的lookup字段有时不请求接口(概率现象,同一个地方反复操作有时请求有时不请求)
|
|
654
|
+
// 但是同时配置autoComplete和source会多请求一次接口
|
|
655
|
+
// TODO:应该想办法把是否字段在子表组件内,即ctx.isInputTable,如果不在子表组件内不需要加source
|
|
656
|
+
data.source=apiInfo;}//删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题
|
|
651
657
|
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的判断。
|
|
652
|
-
if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context108.next=
|
|
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,_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)
|
|
653
659
|
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属性
|
|
654
660
|
enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;// 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式
|
|
655
661
|
if(!(enableEnhancedLookup==true)){_context110.next=28;break;}_context110.next=25;return lookupToAmisPicker(field,readonly,ctx);case 25:return _context110.abrupt("return",_context110.sent);case 28:if(!refObject.enable_tree){_context110.next=34;break;}_context110.next=31;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 31:return _context110.abrupt("return",_context110.sent);case 34:_context110.next=36;return lookupToAmisSelect(field,readonly,ctx);case 36:return _context110.abrupt("return",_context110.sent);case 37: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目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
@@ -683,7 +689,7 @@ return{"type":"input-rich-text","receiver":"${context.rootUrl}/s3/images","name"
|
|
|
683
689
|
// ]
|
|
684
690
|
// }
|
|
685
691
|
}};var QUICK_SEARCHABLE_FIELD_TYPES=["text","textarea","autonumber","url","email"];var OMIT_FIELDS=['created','created_by','modified','modified_by'];// const Lookup = require('./lookup');
|
|
686
|
-
function getBaseFields(readonly){var
|
|
692
|
+
function getBaseFields(readonly){var className='m-0';if(readonly){className="".concat(className);}return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:'text-left',className:className,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:'text-left',className:className,tpl:getModifiedInfoTpl()}];}function getAmisFieldType(sField){switch(sField.type){case'text':return'text';case'textarea':return'textarea';case'html':return'html';case'markdown':return'markdown';case'select':return'select';case'boolean':return'checkbox';case'date':return'date';case'datetime':return'datetime';case'number':return'number';case'currency':return'number';case'percent':return'number';case'password':return'password';case'lookup':// TODO 根据字段配置返回 select || picker
|
|
687
693
|
return'select';case'master_detail':// TODO 根据字段配置返回 select || picker
|
|
688
694
|
return'picker';case'autonumber':return'text';case'url':return'url';case'email':return'email';case'image':return'image';case'formula'://TODO
|
|
689
695
|
break;case'summary'://TODO
|
|
@@ -807,7 +813,7 @@ needConfirm:false,editable:!readonly,addable:!readonly,removable:!readonly,dragg
|
|
|
807
813
|
_iterator14=_createForOfIteratorHelper(field.subFields);_context114.prev=84;_iterator14.s();case 86:if((_step15=_iterator14.n()).done){_context114.next=95;break;}subField=_step15.value;subFieldName=subField.name.replace("".concat(field._prefix||'').concat(field.name,".$."),'').replace("".concat(field.name,"."),'');_context114.next=91;return convertSFieldToAmisField(Object.assign({},subField,{name:subFieldName,isTableField:true}),readonly,ctx);case 91:gridSub=_context114.sent;if(gridSub){delete gridSub.name;delete gridSub.label;gridItemSchema={name:subFieldName,label:subField.label,quickEdit:readonly?false:gridSub};if(["lookup","boolean","toggle"].indexOf(subField.type)>-1){gridItemSchema.type=gridSub.type;gridItemSchema.tpl=gridSub.tpl;}convertData.columns.push(Object.assign({},gridItemSchema,subField.amis,{name:subFieldName}));}case 93:_context114.next=86;break;case 95:_context114.next=100;break;case 97:_context114.prev=97;_context114.t1=_context114["catch"](84);_iterator14.e(_context114.t1);case 100:_context114.prev=100;_iterator14.f();return _context114.finish(100);case 103:return _context114.abrupt("break",142);case 104:if(field.subFields){convertData={type:'steedos-input-table',showIndex:true,editable:!readonly,addable:!readonly,removable:!readonly,draggable:!readonly,fields:[],amis:{columnsTogglable:false}};// console.log(`convertData ======>`, field, convertData)
|
|
808
814
|
_iterator15=_createForOfIteratorHelper(field.subFields);try{for(_iterator15.s();!(_step16=_iterator15.n()).done;){_subField=_step16.value;if(!_subField.name.endsWith(".$")){_subFieldName=_subField.name.replace("".concat(field._prefix||'').concat(field.name,".$."),'').replace("".concat(field.name,"."),'');// const gridSub = await convertSFieldToAmisField(Object.assign({}, subField, {name: subFieldName, isTableField: true}), readonly, ctx);
|
|
809
815
|
convertData.fields.push(Object.assign({},_subField,{name:_subFieldName}));}}}catch(err){_iterator15.e(err);}finally{_iterator15.f();}}return _context114.abrupt("break",142);case 106:if(!field.subFields){_context114.next=141;break;}convertData={type:'combo',items:[]};// console.log(`convertData ======>`, field, convertData)
|
|
810
|
-
_iterator16=_createForOfIteratorHelper(field.subFields);_context114.prev=109;_iterator16.s();case 111:if((_step17=_iterator16.n()).done){_context114.next=133;break;}_subField2=_step17.value;_subFieldName2=_subField2.name.replace("".concat(field.name,".$."),'').replace("".concat(field.name,"."),'');if(!(_subField2.type==='grid')){_context114.next=120;break;}_context114.next=117;return getGridFieldSubFields(_subField2,ctx.__formFields);case 117:_subField2=_context114.sent;_context114.next=127;break;case 120:if(!(_subField2.type==='table')){_context114.next=126;break;}_context114.next=123;return getTabledFieldSubFields(_subField2,ctx.__formFields);case 123:_subField2=_context114.sent;_context114.next=127;break;case 126:if(readonly){_subFieldName2="".concat(field.name,".").concat(_subFieldName2);}case 127:_context114.next=129;return convertSFieldToAmisField(Object.assign({},_subField2,{name:_subFieldName2}),readonly,ctx);case 129:_gridSub=_context114.sent;if(_gridSub){delete _gridSub.name;delete _gridSub.label;convertData.items.push(Object.assign({},_gridSub,{label:_subField2.label},_subField2.amis,{name:_subFieldName2}));}case 131:_context114.next=111;break;case 133:_context114.next=138;break;case 135:_context114.prev=135;_context114.t2=_context114["catch"](109);_iterator16.e(_context114.t2);case 138:_context114.prev=138;_iterator16.f();return _context114.finish(138);case 141:return _context114.abrupt("break",142);case 142:if(___namespace.isEmpty(convertData)){_context114.next=155;break;}if(field.is_wide||convertData.type==='group'){convertData.className='col-span-2 m-
|
|
816
|
+
_iterator16=_createForOfIteratorHelper(field.subFields);_context114.prev=109;_iterator16.s();case 111:if((_step17=_iterator16.n()).done){_context114.next=133;break;}_subField2=_step17.value;_subFieldName2=_subField2.name.replace("".concat(field.name,".$."),'').replace("".concat(field.name,"."),'');if(!(_subField2.type==='grid')){_context114.next=120;break;}_context114.next=117;return getGridFieldSubFields(_subField2,ctx.__formFields);case 117:_subField2=_context114.sent;_context114.next=127;break;case 120:if(!(_subField2.type==='table')){_context114.next=126;break;}_context114.next=123;return getTabledFieldSubFields(_subField2,ctx.__formFields);case 123:_subField2=_context114.sent;_context114.next=127;break;case 126:if(readonly){_subFieldName2="".concat(field.name,".").concat(_subFieldName2);}case 127:_context114.next=129;return convertSFieldToAmisField(Object.assign({},_subField2,{name:_subFieldName2}),readonly,ctx);case 129:_gridSub=_context114.sent;if(_gridSub){delete _gridSub.name;delete _gridSub.label;convertData.items.push(Object.assign({},_gridSub,{label:_subField2.label},_subField2.amis,{name:_subFieldName2}));}case 131:_context114.next=111;break;case 133:_context114.next=138;break;case 135:_context114.prev=135;_context114.t2=_context114["catch"](109);_iterator16.e(_context114.t2);case 138:_context114.prev=138;_iterator16.f();return _context114.finish(138);case 141:return _context114.abrupt("break",142);case 142:if(___namespace.isEmpty(convertData)){_context114.next=155;break;}if(field.is_wide||convertData.type==='group'){convertData.className='col-span-2 m-0';}else{convertData.className='m-0';}if(readonly){convertData.className="".concat(convertData.className," border-b");}if(readonly){convertData.quickEdit=false;}fieldTypeClassName=' steedos-'+convertData.type+(readonly?'-readonly':'-edit');if(convertData.className){convertData.className=convertData.className+fieldTypeClassName;}else{convertData.className=fieldTypeClassName;}if(field.visible_on&&!ctx.inFilterForm){// convertData.visibleOn = `\$${field.visible_on.substring(1, field.visible_on.length -1).replace(/formData./g, '')}`;
|
|
811
817
|
if(field.visible_on.startsWith("{{")){convertData.visibleOn="".concat(field.visible_on.substring(2,field.visible_on.length-2).replace(/formData./g,'data.'));}else{convertData.visibleOn="".concat(field.visible_on.replace(/formData./g,'data.'));}}if(___namespace.isString(baseData.required)){if(baseData.required.startsWith("{{")){baseData.requiredOn="".concat(baseData.required.substring(2,baseData.required.length-2).replace(/formData./g,'data.'));delete baseData.required;}}if(!(convertData.type==='group')){_context114.next=153;break;}convertData.body[0]=Object.assign({},baseData,convertData.body[0],{labelClassName:'text-left',clearValueOnHidden:true,fieldName:field.name});return _context114.abrupt("return",convertData);case 153:// if(ctx.mode === 'edit'){
|
|
812
818
|
convertDataResult=Object.assign({},baseData,convertData,{labelClassName:'text-left',clearValueOnHidden:true,fieldName:field.name},field.amis,{name:baseData.name});// console.log("convertDataResult:", convertDataResult);
|
|
813
819
|
return _context114.abrupt("return",convertDataResult);case 155:case"end":return _context114.stop();}}},_callee114,null,[[84,97,100,103],[109,135,138,141]]);}));return _convertSFieldToAmisField.apply(this,arguments);}function getFieldSearchable(_x201,_x202,_x203){return _getFieldSearchable.apply(this,arguments);}function _getFieldSearchable(){_getFieldSearchable=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee115(perField,permissionFields,ctx){var field,fieldNamePrefix,_field,amisField;return _regeneratorRuntime().wrap(function _callee115$(_context115){while(1){switch(_context115.prev=_context115.next){case 0:if(!ctx){ctx={};}field=perField;if(!(field.type==='grid')){_context115.next=8;break;}_context115.next=5;return getGridFieldSubFields(perField,permissionFields);case 5:field=_context115.sent;_context115.next=12;break;case 8:if(!(perField.type==='object')){_context115.next=12;break;}_context115.next=11;return getObjectFieldSubFields(perField,permissionFields);case 11:field=_context115.sent;case 12:fieldNamePrefix='__searchable__';if(!(field.name.indexOf(".")<0)){_context115.next=36;break;}_field=_$1.cloneDeep(field);if(_$1.includes(['textarea','html','code','autonumber'],field.type)){_field.type='text';}if(_$1.includes(['formula','summary'],field.type)){_field.type=field.data_type;_field.precision=field.precision;_field.scale=field.scale;}else if(field.type==="select"&&field.data_type&&field.data_type!="text"){_field.type=field.data_type;}if(_field.type==='number'||_field.type==='currency'){_field.type='input-array';_field.inline=true;_field.addable=false;_field.removable=false;_field.value=[null,null];_field.items={type:"input-number"};_field.is_wide=true;fieldNamePrefix="".concat(fieldNamePrefix,"between__");}if(_field.type==='date'){_field.type='input-date-range';_field.is_wide=true;fieldNamePrefix="".concat(fieldNamePrefix,"between__");}if(_field.type==='datetime'){// 特意改为日期范围而不是日期时间范围,因为搜索时一般精确到日期就足够了,需要精确到日期时间范围需要在字段上配置amis属性来实现
|
|
@@ -849,11 +855,11 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
|
|
|
849
855
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
850
856
|
* @Date: 2023-11-15 09:50:22
|
|
851
857
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
852
|
-
* @LastEditTime: 2023-12-
|
|
858
|
+
* @LastEditTime: 2023-12-28 15:54:36
|
|
853
859
|
*/ /**
|
|
854
860
|
* @param {*} props
|
|
855
861
|
* @param {*} mode edit/new/readonly
|
|
856
|
-
*/function _getFormBody(){_getFormBody=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee116(permissionFields,formFields,ctx){return _regeneratorRuntime().wrap(function _callee116$(_context116){while(1){switch(_context116.prev=_context116.next){case 0:_context116.next=2;return getSections(permissionFields,formFields,ctx);case 2:return _context116.abrupt("return",_context116.sent);case 3:case"end":return _context116.stop();}}},_callee116);}));return _getFormBody.apply(this,arguments);}function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";return(props.fields||[]).map(function(item){var formItem={"type":"steedos-field","name":item.name,"config":item};if(mode==="readonly"){formItem["static"]=true;}return formItem;})||[];}function getInputTableCell(field,showAsInlineEditMode){if(showAsInlineEditMode){return{label:field.label,name:field.name,quickEdit:{"type":"steedos-field","config":field,
|
|
862
|
+
*/function _getFormBody(){_getFormBody=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee116(permissionFields,formFields,ctx){return _regeneratorRuntime().wrap(function _callee116$(_context116){while(1){switch(_context116.prev=_context116.next){case 0:_context116.next=2;return getSections(permissionFields,formFields,ctx);case 2:return _context116.abrupt("return",_context116.sent);case 3:case"end":return _context116.stop();}}},_callee116);}));return _getFormBody.apply(this,arguments);}function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";return(props.fields||[]).map(function(item){var formItem={"type":"steedos-field","name":item.name,"config":item};if(mode==="readonly"){formItem["static"]=true;}return formItem;})||[];}function getInputTableCell(field,showAsInlineEditMode){if(showAsInlineEditMode){return{label:field.label,name:field.name,quickEdit:{"type":"steedos-field","config":Object.assign({},field,{label:false})}};}else{return{"type":"steedos-field","config":Object.assign({},field,{label:false}),"static":true,"readonly":true,label:field.label,name:field.name};}}function getComponentId(name,tag){var id="";switch(name){case"table_service":id="service_wrapper__".concat(tag);break;case"form_pagination":id="service_popup_pagination_wrapper__".concat(tag);break;case"form":id="form_popup__".concat(tag);break;case"dialog":id="dialog_popup__".concat(tag);break;default:id="".concat(name,"__").concat(tag);break;}return id;}/**
|
|
857
863
|
* @param {*} props
|
|
858
864
|
* @param {*} mode edit/new/readonly
|
|
859
865
|
*/function getInputTableColumns(_x215){return _getInputTableColumns.apply(this,arguments);}/**
|
|
@@ -875,7 +881,7 @@ showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);va
|
|
|
875
881
|
*/function getFormPaginationWrapper(props,form,mode){// console.log("==getFormPaginationWrapper===", props, mode);
|
|
876
882
|
var serviceId=getComponentId("form_pagination",props.id);var tableServiceId=getComponentId("table_service",props.id);var innerForm=Object.assign({},form,{"data":{// 这里加__super前缀是因为__parentForm变量(即主表单)中可能会正好有名为index的字段
|
|
877
883
|
// 比如“对象字段”对象options字段是一个子表字段,但是主表(即“对象字段”对象)中正好有一个名为index的字段
|
|
878
|
-
"&":"${__tableItems[__super.index]}"}});var formBody=[{"type":"wrapper","size":"none","className":"flex justify-end sticky top-0 right-0 left-0 z-20 bg-white -mt-2","body":[getFormPagination(props,mode)]},{"type":"service","body":[innerForm],"data":{"&":"${__parentForm}"}}];var onServiceInitedScript="\n // \u4EE5\u4E0B\u811A\u672C\u662F\u4E3A\u4E86\u89E3\u51B3\u6709\u65F6\u5F39\u51FA\u7F16\u8F91\u8868\u5355\u65F6\uFF0C\u8868\u5355\u4E2D\u7684\u503C\u6BD4\u6700\u540E\u4E00\u6B21\u7F16\u8F91\u4FDD\u5B58\u7684\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\u3002\n // \u6BD4\u5982\uFF1AinlineEditMode\u6A21\u5F0F\u65F6\uFF0C\u7528\u6237\u5728\u8868\u683C\u5355\u5143\u683C\u4E2D\u76F4\u63A5\u4FEE\u6539\u6570\u636E\uFF0C\u7136\u540E\u5F39\u51FA\u7684\u8868\u5355form\u4E2D\u5E76\u6CA1\u6709\u5305\u542B\u5355\u5143\u683C\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\n // \u53E6\u5916\u6709\u7684\u5730\u65B9\u5728\u975EinlineEditMode\u6A21\u5F0F\u65F6\u4E5F\u4F1A\u6709\u8FD9\u79CD\u5EF6\u8FDF\u4E00\u62CD\u95EE\u9898\uFF0C\u6BD4\u5982\u5BF9\u8C61\u5B57\u6BB5\u4E2D\u4E0B\u62C9\u6846\u7C7B\u578B\u5B57\u6BB5\u7684\u201D\u9009\u62E9\u9879\u201C\u5C5E\u6027\n // \u518D\u6BD4\u5982\u5DE5\u4F5C\u6D41\u89C4\u5219\u8BE6\u7EC6\u9875\u9762\u4FEE\u6539\u4E86\u5B50\u8868\u5B57\u6BB5\u201D\u65F6\u95F4\u89E6\u53D1\u5668\u201C\u503C\u540E\uFF0C\u5728\u53EA\u8BFB\u754C\u9762\u70B9\u51FB\u67E5\u770B\u6309\u94AE\u5F39\u51FA\u7684\u8868\u5355\u4E2D__tableItems\u503C\u662F\u4FEE\u6539\u524D\u7684\u503C\n // \u5904\u7406\u601D\u8DEF\u662F\u6BCF\u6B21\u5F39\u51FAform\u4E4B\u524D\u5148\u628A\u5176__tableItems\u540C\u6B65\u66F4\u65B0\u4E3A\u6700\u65B0\u503C\uFF0C\u8FD9\u6837\u5C31\u80FD\u5728\u5F39\u51FAform\u4E2D\u5305\u542B\u5355\u5143\u683C\u4E2D\u505A\u7684\u4FEE\u6539\n // \u6CE8\u610F\uFF1Aservice init\u4E8B\u4EF6\u53EA\u4F1A\u5728\u6BCF\u6B21\u5F39\u51FA\u7A97\u53E3\u65F6\u624D\u6267\u884C\uFF0C\u5728\u89E6\u53D1\u7FFB\u9875\u65F6\u5E76\u4E0D\u4F1A\u89E6\u53D1service init\u4E8B\u4EF6\n let scope = event.context.scoped;\n let __wrapperServiceId = \"".concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n
|
|
884
|
+
"&":"${__tableItems[__super.index]}"}});var formBody=[{"type":"wrapper","size":"none","className":"flex justify-end sticky top-0 right-0 left-0 z-20 bg-white -mt-2","body":[getFormPagination(props,mode)]},{"type":"service","body":[innerForm],"data":{"&":"${__parentForm}"}}];var onServiceInitedScript="\n // \u4EE5\u4E0B\u811A\u672C\u662F\u4E3A\u4E86\u89E3\u51B3\u6709\u65F6\u5F39\u51FA\u7F16\u8F91\u8868\u5355\u65F6\uFF0C\u8868\u5355\u4E2D\u7684\u503C\u6BD4\u6700\u540E\u4E00\u6B21\u7F16\u8F91\u4FDD\u5B58\u7684\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\u3002\n // \u6BD4\u5982\uFF1AinlineEditMode\u6A21\u5F0F\u65F6\uFF0C\u7528\u6237\u5728\u8868\u683C\u5355\u5143\u683C\u4E2D\u76F4\u63A5\u4FEE\u6539\u6570\u636E\uFF0C\u7136\u540E\u5F39\u51FA\u7684\u8868\u5355form\u4E2D\u5E76\u6CA1\u6709\u5305\u542B\u5355\u5143\u683C\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\n // \u53E6\u5916\u6709\u7684\u5730\u65B9\u5728\u975EinlineEditMode\u6A21\u5F0F\u65F6\u4E5F\u4F1A\u6709\u8FD9\u79CD\u5EF6\u8FDF\u4E00\u62CD\u95EE\u9898\uFF0C\u6BD4\u5982\u5BF9\u8C61\u5B57\u6BB5\u4E2D\u4E0B\u62C9\u6846\u7C7B\u578B\u5B57\u6BB5\u7684\u201D\u9009\u62E9\u9879\u201C\u5C5E\u6027\n // \u518D\u6BD4\u5982\u5DE5\u4F5C\u6D41\u89C4\u5219\u8BE6\u7EC6\u9875\u9762\u4FEE\u6539\u4E86\u5B50\u8868\u5B57\u6BB5\u201D\u65F6\u95F4\u89E6\u53D1\u5668\u201C\u503C\u540E\uFF0C\u5728\u53EA\u8BFB\u754C\u9762\u70B9\u51FB\u67E5\u770B\u6309\u94AE\u5F39\u51FA\u7684\u8868\u5355\u4E2D__tableItems\u503C\u662F\u4FEE\u6539\u524D\u7684\u503C\n // \u5904\u7406\u601D\u8DEF\u662F\u6BCF\u6B21\u5F39\u51FAform\u4E4B\u524D\u5148\u628A\u5176__tableItems\u540C\u6B65\u66F4\u65B0\u4E3A\u6700\u65B0\u503C\uFF0C\u8FD9\u6837\u5C31\u80FD\u5728\u5F39\u51FAform\u4E2D\u5305\u542B\u5355\u5143\u683C\u4E2D\u505A\u7684\u4FEE\u6539\n // \u6CE8\u610F\uFF1Aservice init\u4E8B\u4EF6\u53EA\u4F1A\u5728\u6BCF\u6B21\u5F39\u51FA\u7A97\u53E3\u65F6\u624D\u6267\u884C\uFF0C\u5728\u89E6\u53D1\u7FFB\u9875\u65F6\u5E76\u4E0D\u4F1A\u89E6\u53D1service init\u4E8B\u4EF6\n let scope = event.context.scoped;\n let __wrapperServiceId = \"".concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC\u5982\u679C\u4E0D.clone\u7684\u8BDD\uFF0C\u5728\u5F39\u51FA\u7A97\u53E3\u4E2D\u663E\u793A\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u6DFB\u52A0\u884C\u540E\u70B9\u7A97\u53E3\u7684\u53D6\u6D88\u6309\u94AE\u5173\u95ED\u7A97\u53E3\u540E\u65E0\u6CD5\u628A\u4E4B\u524D\u7684\u64CD\u4F5C\u8FD8\u539F\uFF0C\u5373\u628A\u4E4B\u524D\u6DFB\u52A0\u7684\u884C\u81EA\u52A8\u79FB\u9664\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"] || []);\n //\u4E0D\u53EF\u4EE5\u76F4\u63A5\u50CFevent.data.__tableItems = lastestFieldValue; \u8FD9\u6837\u6574\u4E2A\u8D4B\u503C\uFF0C\u5426\u5219\u4F5C\u7528\u57DF\u4F1A\u65AD\n let mode = \"").concat(mode,"\";\n if(mode === \"new\"){\n // \u70B9\u51FB\u5B50\u8868\u7EC4\u4EF6\u5E95\u90E8\u65B0\u589E\u6309\u94AE\u65F6\u65B0\u589E\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u81EA\u52A8\u7FFB\u9875\u5230\u65B0\u589E\u884C\n // \u6CE8\u610F\u70B9\u51FB\u5F39\u51FA\u7684\u5B50\u8868\u884C\u8BE6\u7EC6\u8868\u5355\u4E2D\u7684\u65B0\u589E\u6309\u94AE\u4E0D\u4F1A\u8FDB\u6B64service init\u4E8B\u4EF6\u51FD\u6570\u4E2D\n let newItem = {};\n event.data.__tableItems.push(newItem);\n lastestFieldValue.push(newItem);\n event.data.index = lastestFieldValue.length - 1;\n event.data.__page = lastestFieldValue.length;\n // \u8FD9\u91CC\u65B0\u589E\u7A7A\u767D\u884C\u65F6\u8981\u628A\u503C\u540C\u6B65\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\u4E2D\uFF0C\u5982\u679C\u4E0D\u540C\u6B65\u4FDD\u5B58\u7684\u8BDD\uFF0C\u7528\u6237\u70B9\u51FB\u5F39\u51FA\u8868\u5355\u53F3\u4E0A\u89D2\u7684\u5173\u95ED\u7A97\u53E3\u65F6\u4E0D\u4F1A\u81EA\u52A8\u5220\u9664\u8FD9\u91CC\u81EA\u52A8\u589E\u52A0\u7684\u7A7A\u767D\u884C\uFF0C\u540C\u6B65\u540E\u53EF\u4EE5\u8BA9\u7528\u6237\u624B\u52A8\u5220\u9664\u6B64\u884C\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n }\n event.data.__tableItems.forEach(function(n,i){\n event.data.__tableItems[i] = lastestFieldValue[i];\n });\n ");var schema={"type":"service","id":serviceId,"schemaApi":{// "url": "${context.rootUrl}/graphql?rebuildOn=${index}",
|
|
879
885
|
"url":"${context.rootUrl}/api/v1/spaces/none","trackExpression":"${index}","method":"get","adaptor":"\n const formBody = ".concat(JSON.stringify(formBody),";\n return {\n \"body\": formBody\n }\n "),"cache":600000},// "body": formBody,
|
|
880
886
|
"data":{"__page":"${index + 1}"// "__total": `\${${props.name}.length}`,
|
|
881
887
|
// "__total": "${__tableItems.length}",
|
|
@@ -950,7 +956,7 @@ onEditItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data
|
|
|
950
956
|
// }
|
|
951
957
|
// });
|
|
952
958
|
// }
|
|
953
|
-
schema=getFormPaginationWrapper(props,schema,mode);return _context118.abrupt("return",schema);case 11:case"end":return _context118.stop();}}},_callee118);}));return _getForm.apply(this,arguments);}function getButtonActions(_x217,_x218){return _getButtonActions.apply(this,arguments);}function _getButtonActions(){_getButtonActions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee119(props,mode){var actions,formId,dialogId,buttonNextId,formPaginationId,onSaveAndNewItemScript,onSaveAndCopyItemScript,dialogButtons,actionShowEditDialog,tableServiceId,onDeleteItemScript;return _regeneratorRuntime().wrap(function _callee119$(_context119){while(1){switch(_context119.prev=_context119.next){case 0:actions=[];formId=getComponentId("form",props.id);dialogId=getComponentId("dialog",props.id);buttonNextId=getComponentId("button_next",props.id);formPaginationId=getComponentId("form_pagination",props.id);if(!(mode=="new"||mode=="edit")){_context119.next=
|
|
959
|
+
schema=getFormPaginationWrapper(props,schema,mode);return _context118.abrupt("return",schema);case 11:case"end":return _context118.stop();}}},_callee118);}));return _getForm.apply(this,arguments);}function getButtonActions(_x217,_x218){return _getButtonActions.apply(this,arguments);}function _getButtonActions(){_getButtonActions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee119(props,mode){var actions,formId,dialogId,buttonNextId,formPaginationId,parentFormData,amisVersion,onSaveAndNewItemScript,onSaveAndCopyItemScript,dialogButtons,actionShowEditDialog,tableServiceId,onDeleteItemScript;return _regeneratorRuntime().wrap(function _callee119$(_context119){while(1){switch(_context119.prev=_context119.next){case 0:actions=[];formId=getComponentId("form",props.id);dialogId=getComponentId("dialog",props.id);buttonNextId=getComponentId("button_next",props.id);formPaginationId=getComponentId("form_pagination",props.id);parentFormData="${__super.__super.__super.__super || {}}";amisVersion=getComparableAmisVersion();if(amisVersion<3.6){parentFormData="${__super.__super || {}}";}if(!(mode=="new"||mode=="edit")){_context119.next=28;break;}// let actionShowNewDialog = {
|
|
954
960
|
// "actionType": "dialog",
|
|
955
961
|
// "dialog": {
|
|
956
962
|
// "type": "dialog",
|
|
@@ -981,39 +987,40 @@ schema=getFormPaginationWrapper(props,schema,mode);return _context118.abrupt("re
|
|
|
981
987
|
// }
|
|
982
988
|
// };
|
|
983
989
|
onSaveAndNewItemScript="\n let scope = event.context.scoped;\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u65B0\u5EFA\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n fieldValue.push({});\n doAction({\n \"componentId\": \"".concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");onSaveAndCopyItemScript="\n let scope = event.context.scoped;\n let __formId = \"".concat(formId,"\";\n // let newItem = JSON.parse(JSON.stringify(event.data));\n let newItem = scope.getComponentById(__formId).getValues();//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data\uFF0C\u56E0\u4E3A\u5176\u62FF\u5230\u7684\u662F\u5F39\u51FA\u8868\u5355\u65F6\u7684\u521D\u59CB\u503C\uFF0C\u4E0D\u662F\u7528\u6237\u5B9E\u65F6\u586B\u5199\u7684\u6570\u636E\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u590D\u5236\u5F53\u524D\u9875\u6570\u636E\u5230\u65B0\u5EFA\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n fieldValue.push(newItem);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");dialogButtons=[{"type":"button","label":"完成","actionType":"confirm","level":"primary"}];if(props.addable){// 有新增行权限时额外添加新增和复制按钮
|
|
984
|
-
dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndNewItemScript}]}}},{"type":"button","label":"复制","tooltip":"复制并新增一行,即保存当前行数据并复制当前行数据到新增行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndCopyItemScript}]}}},dialogButtons[0]];}_context119.t0=dialogId;_context119.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context119.next=
|
|
990
|
+
dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndNewItemScript}]}}},{"type":"button","label":"复制","tooltip":"复制并新增一行,即保存当前行数据并复制当前行数据到新增行","onEvent":{"click":{"actions":[{"actionType":"custom","script":onSaveAndCopyItemScript}]}}},dialogButtons[0]];}_context119.t0=dialogId;_context119.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context119.next=17;return getForm(props,mode,formId);case 17:_context119.t2=_context119.sent;_context119.t3=[_context119.t2];_context119.t4={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
|
|
985
991
|
// 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
|
|
986
992
|
// 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
|
|
987
993
|
// "&": "${record || {}}",
|
|
988
994
|
// 换成从__super来映射上级表单数据是因为对象列表视图界面中每行下拉菜单中的编辑按钮弹出的表单中的子表所在作用域中没有record变量
|
|
989
995
|
// 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名
|
|
990
996
|
// "__parentForm": "${__super.__super || {}}",
|
|
991
|
-
"__parentForm":mode=="new"?"$$":"${__super.__super || {}}",
|
|
997
|
+
// "__parentForm": mode == "new" ? "$$" : "${__super.__super || {}}",
|
|
998
|
+
"__parentForm":mode=="new"?"$$":parentFormData,"global":"${global}","uiSchema":"${uiSchema}","index":"${index}",// "__tableItems": `\${${props.name}}`
|
|
992
999
|
// 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
|
|
993
1000
|
// 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
|
|
994
1001
|
// "__tableItems": `\${${props.name}|json|toJson}`
|
|
995
1002
|
"__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t5=dialogButtons;_context119.t6={"confirm":{"actions":[{"actionType":"validate","componentId":formId},{"preventDefault":true,"expression":"${event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
996
1003
|
}]}};_context119.t7={"type":"dialog","id":_context119.t0,"title":_context119.t1,"body":_context119.t3,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"data":_context119.t4,"actions":_context119.t5,"onEvent":_context119.t6};actionShowEditDialog={"actionType":"dialog","dialog":_context119.t7};if(props.dialog){Object.assign(actionShowEditDialog.dialog,props.dialog);}if(mode=="new"){"\n let newItem = {};\n if(event.data[\"".concat(props.name,"\"]){\n // let fieldValue = event.data.__tableItems;\n // \u8FD9\u91CC\u4E0D\u7528__tableItems\u662F\u56E0\u4E3A\u65B0\u5EFA\u7684\u65F6\u5019\u6CA1\u6709\u7FFB\u9875\uFF0C\u91CC\u9762\u6CA1\u6709\u4E5F\u4E0D\u9700\u8981\u8D70__tableItems\u53D8\u91CF\n // let fieldValue = _.clone(event.data[\"").concat(props.name,"\"]);\n let fieldValue = event.data[\"").concat(props.name,"\"];\n fieldValue.push(newItem);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n event.data.index = fieldValue.length - 1;\n }\n else{\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u6267\u884Cevent.data[\"").concat(props.name,"\"]=[newItem]\uFF0C\u6570\u636E\u57DF\u4F1A\u65AD\u6389\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": [newItem]\n }\n });\n event.data.index = 1;\n }\n ");// 新增行时不需要在弹出编辑表单前先加一行,因为会在编辑表单所在service初始化时判断到是新增就自动增加一行,因为这里拿不到event.data.__tableItems,也无法变更其值
|
|
997
1004
|
// actions = [actionNewLine, actionShowEditDialog];
|
|
998
|
-
actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDialog];}_context119.next=
|
|
1005
|
+
actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDialog];}_context119.next=42;break;case 28:if(!(mode=="readonly")){_context119.next=41;break;}_context119.t8="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context119.next=32;return getForm(props,"readonly");case 32:_context119.t9=_context119.sent;_context119.t10=[_context119.t9];_context119.t11=[];_context119.t12={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
|
|
999
1006
|
// 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
|
|
1000
1007
|
// 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
|
|
1001
1008
|
// "&": "${record || {}}",
|
|
1002
1009
|
// 换成从__super来映射上级表单数据是因为对象列表视图界面中每行下拉菜单中的编辑按钮弹出的表单中的子表所在作用域中没有record变量
|
|
1003
1010
|
// 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名
|
|
1004
1011
|
// "__parentForm": "${__super.__super || {}}",
|
|
1005
|
-
"__parentForm":
|
|
1012
|
+
"__parentForm":parentFormData,"global":"${global}","uiSchema":"${uiSchema}","index":"${index}",// "__tableItems": `\${${props.name}}`
|
|
1006
1013
|
// 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
|
|
1007
1014
|
// 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
|
|
1008
1015
|
// "__tableItems": `\${${props.name}|json|toJson}`
|
|
1009
|
-
"__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t13={"type":"dialog","title":_context119.t8,"body":_context119.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context119.t11,"data":_context119.t12};_context119.t14={"actionType":"dialog","dialog":_context119.t13};actions=[_context119.t14];_context119.next=
|
|
1016
|
+
"__tableItems":"${(".concat(props.name," || [])|json|toJson}")};_context119.t13={"type":"dialog","title":_context119.t8,"body":_context119.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context119.t11,"data":_context119.t12};_context119.t14={"actionType":"dialog","dialog":_context119.t13};actions=[_context119.t14];_context119.next=42;break;case 41:if(mode=="delete"){tableServiceId=getComponentId("table_service",props.id);onDeleteItemScript="\n // let fieldValue = event.data[\"".concat(props.name,"\"];\n let scope = event.context.scoped;\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n // \u8FD9\u91CC_.clone\u662F\u56E0\u4E3A\u5B57\u6BB5\u8BBE\u8BA1\u5E03\u5C40\u8BBE\u7F6E\u5206\u7EC4\u8FD9\u79CD\u5F39\u51FA\u7A97\u53E3\u4E2D\u7684\u5B50\u8868\u7EC4\u4EF6\uFF0C\u76F4\u63A5\u5220\u9664\u540E\uFF0C\u70B9\u53D6\u6D88\u65E0\u6CD5\u8FD8\u539F\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"]);\n lastestFieldValue.splice(event.data.index, 1);\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n ");actions=[// {
|
|
1010
1017
|
// "actionType": "deleteItem",
|
|
1011
1018
|
// "args": {
|
|
1012
1019
|
// "index": "${index+','}" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行
|
|
1013
1020
|
// },
|
|
1014
1021
|
// "componentId": props.id
|
|
1015
1022
|
// },
|
|
1016
|
-
{"actionType":"custom","script":onDeleteItemScript}];}case
|
|
1023
|
+
{"actionType":"custom","script":onDeleteItemScript}];}case 42:return _context119.abrupt("return",actions);case 43:case"end":return _context119.stop();}}},_callee119);}));return _getButtonActions.apply(this,arguments);}function getButtonNew(_x219){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee120(props){return _regeneratorRuntime().wrap(function _callee120$(_context120){while(1){switch(_context120.prev=_context120.next){case 0:_context120.next=2;return getButtonActions(props,"new");case 2:_context120.t0=_context120.sent;_context120.t1={"actions":_context120.t0};_context120.t2={"click":_context120.t1};return _context120.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context120.t2,"level":"primary"});case 6:case"end":return _context120.stop();}}},_callee120);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x220,_x221){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee121(props,showAsInlineEditMode){return _regeneratorRuntime().wrap(function _callee121$(_context121){while(1){switch(_context121.prev=_context121.next){case 0:_context121.t0="fa fa-".concat(showAsInlineEditMode?"expand-alt":"pencil");_context121.next=3;return getButtonActions(props,"edit");case 3:_context121.t1=_context121.sent;_context121.t2={"actions":_context121.t1};_context121.t3={"click":_context121.t2};return _context121.abrupt("return",{"type":"button","label":"","icon":_context121.t0,"level":"link","onEvent":_context121.t3});case 7:case"end":return _context121.stop();}}},_callee121);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x222){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(props){return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:_context122.next=2;return getButtonActions(props,"readonly");case 2:_context122.t0=_context122.sent;_context122.t1={"actions":_context122.t0};_context122.t2={"click":_context122.t1};return _context122.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand-alt","level":"link","onEvent":_context122.t2});case 6:case"end":return _context122.stop();}}},_callee122);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(_x223){return _getButtonDelete.apply(this,arguments);}function _getButtonDelete(){_getButtonDelete=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee123(props){return _regeneratorRuntime().wrap(function _callee123$(_context123){while(1){switch(_context123.prev=_context123.next){case 0:_context123.next=2;return getButtonActions(props,"delete");case 2:_context123.t0=_context123.sent;_context123.t1={"actions":_context123.t0};_context123.t2={"click":_context123.t1};return _context123.abrupt("return",{"type":"button","label":"","icon":"fa fa-trash-alt","level":"link","onEvent":_context123.t2});case 6:case"end":return _context123.stop();}}},_callee123);}));return _getButtonDelete.apply(this,arguments);}var getAmisInputTableSchema=/*#__PURE__*/function(){var _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(props){var serviceId,buttonsForColumnOperations,inlineEditMode,showAsInlineEditMode,showEditButton,buttonEditSchema,buttonViewSchema,buttonDeleteSchema,inputTableSchema,amis,isAnyFieldHasDependOn,schemaBody,footerToolbar,buttonNewSchema,headerToolbar,schema;return _regeneratorRuntime().wrap(function _callee19$(_context19){while(1){switch(_context19.prev=_context19.next){case 0:if(!props.id){props.id="steedos_input_table_"+props.name+"_"+Math.random().toString(36).substr(2,9);}serviceId=getComponentId("table_service",props.id);buttonsForColumnOperations=[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;if(!props.editable){_context19.next=15;break;}showEditButton=true;if(showAsInlineEditMode){// 始终显示弹出子表表单按钮,如果需要判断只在有列被隐藏时才需要显示弹出表单按钮放开下面的if逻辑就好
|
|
1017
1024
|
showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要显示编辑按钮
|
|
1018
1025
|
// if (props.columns && props.columns.length > 0 && props.columns.length < props.fields.length) {
|
|
1019
1026
|
// showEditButton = true;
|
|
@@ -1022,7 +1029,7 @@ showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要
|
|
|
1022
1029
|
// showEditButton = false;
|
|
1023
1030
|
// }
|
|
1024
1031
|
}// 编辑时显示编辑按钮
|
|
1025
|
-
if(!showEditButton){_context19.next=13;break;}_context19.next=11;return getButtonEdit(props,showAsInlineEditMode);case 11:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 13:_context19.next=19;break;case 15:_context19.next=17;return getButtonView(props);case 17:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 19:if(!props.removable){_context19.next=24;break;}_context19.next=22;return getButtonDelete(props);case 22:buttonDeleteSchema=_context19.sent;buttonsForColumnOperations.push(buttonDeleteSchema);case 24:_context19.t0=props.label;_context19.t1=props.name;_context19.t2=props.draggable;_context19.t3=props.showIndex;_context19.t4=props.perPage;_context19.t5=props.id;_context19.next=32;return getInputTableColumns(props);case 32:_context19.t6=_context19.sent;_context19.t7=props.strictMode;_context19.t8=props.tableClassName;inputTableSchema={"type":"input-table","label":_context19.t0,"name":_context19.t1,"draggable":_context19.t2,"showIndex":_context19.t3,"perPage":_context19.t4,"id":_context19.t5,"columns":_context19.t6,"strictMode":_context19.t7,"showTableAddBtn":false,"showFooterAddBtn":false,"className":_context19.t8};if(buttonsForColumnOperations.length){inputTableSchema.columns.push({"name":"__op__","type":"operation","buttons":buttonsForColumnOperations,"width":buttonsForColumnOperations.length>1?"
|
|
1032
|
+
if(!showEditButton){_context19.next=13;break;}_context19.next=11;return getButtonEdit(props,showAsInlineEditMode);case 11:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 13:_context19.next=19;break;case 15:_context19.next=17;return getButtonView(props);case 17:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 19:if(!props.removable){_context19.next=24;break;}_context19.next=22;return getButtonDelete(props);case 22:buttonDeleteSchema=_context19.sent;buttonsForColumnOperations.push(buttonDeleteSchema);case 24:_context19.t0=props.label;_context19.t1=props.name;_context19.t2=props.draggable;_context19.t3=props.showIndex;_context19.t4=props.perPage;_context19.t5=props.id;_context19.next=32;return getInputTableColumns(props);case 32:_context19.t6=_context19.sent;_context19.t7=props.strictMode;_context19.t8=props.tableClassName;inputTableSchema={"type":"input-table","label":_context19.t0,"name":_context19.t1,"draggable":_context19.t2,"showIndex":_context19.t3,"perPage":_context19.t4,"id":_context19.t5,"columns":_context19.t6,"strictMode":_context19.t7,"showTableAddBtn":false,"showFooterAddBtn":false,"className":_context19.t8};if(buttonsForColumnOperations.length){inputTableSchema.columns.push({"name":"__op__","type":"operation","buttons":buttonsForColumnOperations,"width":buttonsForColumnOperations.length>1?"60px":"20px"});}if(showAsInlineEditMode){inputTableSchema.needConfirm=false;}amis=props["input-table"]||props.amis;//额外支持"input-table"代替amis属性,是因为在字段yml文件中用amis作为key不好理解
|
|
1026
1033
|
if(amis){// 支持配置amis属性重写或添加最终生成的input-table中任何属性。
|
|
1027
1034
|
delete amis.id;//如果steedos-input-table组件配置了amis.id属性,会造成新建编辑行功能不生效
|
|
1028
1035
|
Object.assign(inputTableSchema,amis);}isAnyFieldHasDependOn=(props.fields||[]).find(function(item){return item.depend_on;});if(isAnyFieldHasDependOn){// 有任意一个子字段有depend_on属性时,强制设置禁用静态模式
|