@steedos-widgets/amis-lib 3.6.2-beta.11 → 3.6.2-beta.12
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 +70 -48
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +70 -48
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +22 -19
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/input_table.d.ts +19 -12
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -34,7 +34,7 @@ return Object.assign({},_$1.cloneDeep(STEEDOS_AUTH)||{},getBuilderContext()||{})
|
|
|
34
34
|
* @LastEditTime: 2023-06-20 13:50:15
|
|
35
35
|
* @Description:
|
|
36
36
|
*/var Router={getTabDisplayAs:function getTabDisplayAs(tab_id){var uiSchema=getUISchemaSync$1(tab_id,false);var urlSearch=new URLSearchParams(document.location.search);if(urlSearch.has('display')){return urlSearch.get('display');}var key="tab_".concat(tab_id,"_display");// const key = `page_display`;
|
|
37
|
-
var value=sessionStorage.getItem(key);var defaultDisplay="grid";if(uiSchema.enable_split){defaultDisplay="split";}return value?value:defaultDisplay;},setTabDisplayAs:function setTabDisplayAs(tab_id,displayAs){var key="tab_".concat(tab_id,"_display");sessionStorage.setItem(key,displayAs);},getAppPath:function getAppPath(_ref2){var formFactor=_ref2.formFactor,appId=_ref2.appId;return"/app/".concat(appId);},getPagePath:function getPagePath(){//TODO
|
|
37
|
+
var value=sessionStorage.getItem(key);var defaultDisplay="grid";if(uiSchema.enable_split){defaultDisplay="split";}if(window.innerWidth<=768){return"grid";}return value?value:defaultDisplay;},setTabDisplayAs:function setTabDisplayAs(tab_id,displayAs){var key="tab_".concat(tab_id,"_display");sessionStorage.setItem(key,displayAs);},getAppPath:function getAppPath(_ref2){var formFactor=_ref2.formFactor,appId=_ref2.appId;return"/app/".concat(appId);},getPagePath:function getPagePath(){//TODO
|
|
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
|
|
@@ -95,8 +95,7 @@ TempDisplayField="";quickEditSchema.body[0].onEvent={};quickEditOnEvent=function
|
|
|
95
95
|
{"actionType":"custom","script":"\n crudScoped = event.context.scoped.getComponentById('".concat(options.crudId,"');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n \"componentId\": \"").concat(quickEditId,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n selectedItems\n }\n }\n });\n ")},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":true}}},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/service/api/@\${objectName}/recordPermissions/${_id}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"cache":30000,"messages":{"failed":"失败了呢。。"}}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions_loading":false}}},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"quickedit_record_permissions":"${event.data}"}}}]}}});if(field.type!='avatar'&&field.type!='image'&&field.type!='file'&&isAmisVersionforBatchEdit){quickEditSchema.body.push({"name":"isBatchEdit","type":"checkbox","option":[{"type":"tpl","tpl":"更新${COUNT(selectedItems)}个选定记录"},{"type":"spinner","showOn":"${batchPermissionLoading}","size":"sm","className":"mr-4"}],"visibleOn":"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}","disabledOn":"${batchPermissionLoading}","onEvent":{"change":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":true}},"expression":"${event.data.value}"},{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/graphql","method":"post","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"query":"{rows:${objectName}(filters:[\"_id\",\"in\",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}"},"adaptor":"\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n "}},"expression":"${event.data.value}"},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"batchPermissionLoading":false}},"expression":"${event.data.value}"},{"actionType":"dialog","dialog":{"title":"记录权限","showCloseButton":false,"body":[{"type":"tpl","tpl":"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?"}],"onEvent":{"confirm":{"actions":[{"actionType":"custom","script":"\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById(\"".concat(options.crudId,"\");\n const selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n })\n ")},{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":true}}}]},"cancel":{"actions":[{"actionType":"setValue","componentId":quickEditId,"args":{"value":{"isBatchEdit":false}}}]}}},"expression":"${COUNT(event.data.noPermission)>0}"}]}}});}_context55.next=59;break;case 58:quickEditSchema=false;case 59://amis3.2以下禁用lookup的单元格编辑
|
|
96
96
|
if(field.type=="lookup"&&!isAmisVersionforBatchEdit){quickEditSchema=false;}//TODO:附件多选时会覆盖老数据,暂时禁用
|
|
97
97
|
if(field.type=="file"&&field.multiple){quickEditSchema=false;}//TODO:location字段在列表中快速编辑后存在bug,保存时可能会丢失部分数据,暂时禁用
|
|
98
|
-
if(field.type=="location"){quickEditSchema=false;}if(field.type=="color"){quickEditSchema={type:"input-color"};}case 63:return _context55.abrupt("return",quickEditSchema);case 64:case"end":return _context55.stop();}}},_callee55);}));return _getQuickEditSchema.apply(this,arguments);}function getFieldWidth(width){var defaultWidth=
|
|
99
|
-
if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{return Number(width)||defaultWidth;}}else if(typeof width=='number'){return width;}else{return defaultWidth;}}function getTableColumns(_x19,_x20){return _getTableColumns.apply(this,arguments);}/**
|
|
98
|
+
if(field.type=="location"){quickEditSchema=false;}if(field.type=="color"){quickEditSchema={type:"input-color"};}case 63:return _context55.abrupt("return",quickEditSchema);case 64:case"end":return _context55.stop();}}},_callee55);}));return _getQuickEditSchema.apply(this,arguments);}function getFieldWidth(width){var defaultWidth=null;if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{return Number(width)||defaultWidth;}}else if(typeof width=='number'){return width;}else{return defaultWidth;}}function getTableColumns(_x19,_x20){return _getTableColumns.apply(this,arguments);}/**
|
|
100
99
|
* 生成移动端列表每行显示的amis行
|
|
101
100
|
* @param {*} tpls 要显示的每个字段的tpl
|
|
102
101
|
* @returns {
|
|
@@ -113,7 +112,7 @@ if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{ret
|
|
|
113
112
|
"size": "none",
|
|
114
113
|
"className": "flex items-center justify-between"//每行样式类
|
|
115
114
|
}
|
|
116
|
-
*/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,_field$amis,_field$amis2,_field$amis3,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(
|
|
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,_field$amis,_field$amis2,_field$amis3,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(/Safari/.test(navigator.userAgent)){className+=" whitespace-nowrap ";}else{if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-words ";}}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"//浏览器上直接下载
|
|
117
116
|
"expression":"!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
118
117
|
},{"args":{},"actionType":"custom","script":previewFileScript,// "expression": "!!window?.nw?.require" //PC客户端预览附件
|
|
119
118
|
"expression":"!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
|
|
@@ -666,7 +665,7 @@ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context10
|
|
|
666
665
|
filters=field.filters;if(typeof filters==="string"){filters=new Function("return ".concat(filters));filters=filters();}if(typeof filters==="function"){filters=filters(field);}data.query=data.query.replace(/,count\:.+/,"}");// 字段要根据请求参数动态生成,写死为__fields后续在发送适配器中替换
|
|
667
666
|
data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refObjectName,"\";\n fields = \"_id,value:").concat(ctx.valueField,",label:").concat(ctx.labelField,",children\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");adaptor="\n if (api.query.dep) {\n // \u5C55\u5F00\u7EC4\u7EC7\u65F6\u624D\u9700\u8981\u6839\u636Echildren\u503C\u8BBE\u7F6Edefer\u5C5E\u6027\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ";return _context107.abrupt("return",{"method":"post","url":getApi$2()+"&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 12:case"end":return _context107.stop();}}},_callee107);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x175,_x176,_x177){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee108$(_context108){while(1){switch(_context108.prev=_context108.next){case 0:if(field){_context108.next=2;break;}return _context108.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context108.next=10;break;}_context108.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context108.sent;_context108.next=30;break;case 10:_context108.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context108.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context108.t0=Object;_context108.t1=amisSchema;_context108.t2=field.multiple;_context108.t3=field.searchable;_context108.next=20;return getSource(field,ctx);case 20:_context108.t4=_context108.sent;_context108.next=23;return getDeferApi(field,ctx);case 23:_context108.t5=_context108.sent;_context108.t6={"multiple":_context108.t2,"searchable":_context108.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context108.t4,"deferApi":_context108.t5};_context108.t0.assign.call(_context108.t0,_context108.t1,_context108.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
668
667
|
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context108.abrupt("return",amisSchema);case 31:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
|
|
669
|
-
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(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n
|
|
668
|
+
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(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // \u8003\u8651api\u914D\u7F6E\u4E86cache\u7F13\u5B58\u7684\u8BDD\uFF0C\u4E0D\u4F1A\u8BF7\u6C42\u63A5\u53E3\u4F46\u662F\u4F1A\u91CD\u65B0\u8FDB\u8FD9\u4E2A\u63A5\u6536\u9002\u914D\u5668\u811A\u672C\u4E14payload.data.options\u8FD4\u56DE\u7684\u4F1A\u662F\u4E0A\u4E00\u6B21\u8BA1\u7B97\u7ED3\u679C\uFF0C\u8FD9\u91CC\u76F4\u63A5\u8FD4\u56DE\u8BA1\u7B97\u8FC7\u7684children\n return currentRecord.children;\n }\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(item, records, item.children)\n }else{\n 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(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x179,_x180,_x181){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(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 _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getReferenceTo(field);case 2:referenceTo=_context109.sent;if(referenceTo){_context109.next=5;break;}return _context109.abrupt("return");case 5:_context109.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context109.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排序
|
|
670
669
|
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);}_context109.next=25;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 25:source=_context109.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',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
671
670
|
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\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 }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
672
671
|
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=40;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 40:pickerSchema=_context109.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字段配置过滤条件就强制不显示新建按钮
|
|
@@ -848,7 +847,7 @@ needConfirm:false,editable:!readonly,addable:!readonly,removable:!readonly,dragg
|
|
|
848
847
|
_iterator15=_createForOfIteratorHelper(field.subFields);_context116.prev=84;_iterator15.s();case 86:if((_step16=_iterator15.n()).done){_context116.next=95;break;}subField=_step16.value;subFieldName=subField.name.replace("".concat(field._prefix||'').concat(field.name,".$."),'').replace("".concat(field.name,"."),'');_context116.next=91;return convertSFieldToAmisField(Object.assign({},subField,{name:subFieldName,isTableField:true}),readonly,ctx);case 91:gridSub=_context116.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:_context116.next=86;break;case 95:_context116.next=100;break;case 97:_context116.prev=97;_context116.t1=_context116["catch"](84);_iterator15.e(_context116.t1);case 100:_context116.prev=100;_iterator15.f();return _context116.finish(100);case 103:return _context116.abrupt("break",142);case 104:if(field.subFields){convertData={type:'steedos-input-table',editable:!readonly,addable:!readonly,removable:!readonly,fields:[],amis:{columnsTogglable:false}};// console.log(`convertData ======>`, field, convertData)
|
|
849
848
|
_iterator16=_createForOfIteratorHelper(field.subFields);try{for(_iterator16.s();!(_step17=_iterator16.n()).done;){_subField=_step17.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);
|
|
850
849
|
convertData.fields.push(Object.assign({},_subField,{name:_subFieldName}));}}}catch(err){_iterator16.e(err);}finally{_iterator16.f();}}return _context116.abrupt("break",142);case 106:if(!field.subFields){_context116.next=141;break;}convertData={type:'combo',items:[]};// console.log(`convertData ======>`, field, convertData)
|
|
851
|
-
_iterator17=_createForOfIteratorHelper(field.subFields);_context116.prev=109;_iterator17.s();case 111:if((_step18=_iterator17.n()).done){_context116.next=133;break;}_subField2=_step18.value;_subFieldName2=_subField2.name.replace("".concat(field.name,".$."),'').replace("".concat(field.name,"."),'');if(!(_subField2.type==='grid')){_context116.next=120;break;}_context116.next=117;return getGridFieldSubFields(_subField2,ctx.__formFields);case 117:_subField2=_context116.sent;_context116.next=127;break;case 120:if(!(_subField2.type==='table')){_context116.next=126;break;}_context116.next=123;return getTabledFieldSubFields(_subField2,ctx.__formFields);case 123:_subField2=_context116.sent;_context116.next=127;break;case 126:if(readonly){_subFieldName2="".concat(field.name,".").concat(_subFieldName2);}case 127:_context116.next=129;return convertSFieldToAmisField(Object.assign({},_subField2,{name:_subFieldName2}),readonly,ctx);case 129:_gridSub=_context116.sent;if(_gridSub){delete _gridSub.name;delete _gridSub.label;convertData.items.push(Object.assign({},_gridSub,{label:_subField2.label},_subField2.amis,{name:_subFieldName2}));}case 131:_context116.next=111;break;case 133:_context116.next=138;break;case 135:_context116.prev=135;_context116.t2=_context116["catch"](109);_iterator17.e(_context116.t2);case 138:_context116.prev=138;_iterator17.f();return _context116.finish(138);case 141:return _context116.abrupt("break",142);case 142:if(___namespace.isEmpty(convertData)){_context116.next=156;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, '')}`;
|
|
850
|
+
_iterator17=_createForOfIteratorHelper(field.subFields);_context116.prev=109;_iterator17.s();case 111:if((_step18=_iterator17.n()).done){_context116.next=133;break;}_subField2=_step18.value;_subFieldName2=_subField2.name.replace("".concat(field.name,".$."),'').replace("".concat(field.name,"."),'');if(!(_subField2.type==='grid')){_context116.next=120;break;}_context116.next=117;return getGridFieldSubFields(_subField2,ctx.__formFields);case 117:_subField2=_context116.sent;_context116.next=127;break;case 120:if(!(_subField2.type==='table')){_context116.next=126;break;}_context116.next=123;return getTabledFieldSubFields(_subField2,ctx.__formFields);case 123:_subField2=_context116.sent;_context116.next=127;break;case 126:if(readonly){_subFieldName2="".concat(field.name,".").concat(_subFieldName2);}case 127:_context116.next=129;return convertSFieldToAmisField(Object.assign({},_subField2,{name:_subFieldName2}),readonly,ctx);case 129:_gridSub=_context116.sent;if(_gridSub){delete _gridSub.name;delete _gridSub.label;convertData.items.push(Object.assign({},_gridSub,{label:_subField2.label},_subField2.amis,{name:_subFieldName2}));}case 131:_context116.next=111;break;case 133:_context116.next=138;break;case 135:_context116.prev=135;_context116.t2=_context116["catch"](109);_iterator17.e(_context116.t2);case 138:_context116.prev=138;_iterator17.f();return _context116.finish(138);case 141:return _context116.abrupt("break",142);case 142:if(___namespace.isEmpty(convertData)){_context116.next=156;break;}if(field.is_wide||convertData.type==='group'){convertData.className='col-span-2 m-0';}else{convertData.className='m-0';}if(readonly&&ctx.mode!=='edit'){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, '')}`;
|
|
852
851
|
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(ctx.amisData&&ctx.amisData._master&&ctx.amisData._master.relatedKey===field.name){convertData.className="".concat(convertData.className||''," hidden");}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')){_context116.next=154;break;}convertData.body[0]=Object.assign({},baseData,convertData.body[0],{labelClassName:'text-left',clearValueOnHidden:true,fieldName:field.name});return _context116.abrupt("return",convertData);case 154:// if(ctx.mode === 'edit'){
|
|
853
852
|
convertDataResult=Object.assign({},baseData,convertData,{labelClassName:'text-left',clearValueOnHidden:true,fieldName:field.name},field.amis,{name:baseData.name});// console.log("convertDataResult:", convertDataResult);
|
|
854
853
|
return _context116.abrupt("return",convertDataResult);case 156:case"end":return _context116.stop();}}},_callee116,null,[[84,97,100,103],[109,135,138,141]]);}));return _convertSFieldToAmisField.apply(this,arguments);}function getFieldSearchable(_x204,_x205,_x206){return _getFieldSearchable.apply(this,arguments);}function _getFieldSearchable(){_getFieldSearchable=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee117(perField,permissionFields,ctx){var field,fieldNamePrefix,_field,amisField;return _regeneratorRuntime().wrap(function _callee117$(_context117){while(1){switch(_context117.prev=_context117.next){case 0:if(!ctx){ctx={};}field=perField;if(!(field.type==='grid')){_context117.next=8;break;}_context117.next=5;return getGridFieldSubFields(perField,permissionFields);case 5:field=_context117.sent;_context117.next=12;break;case 8:if(!(perField.type==='object')){_context117.next=12;break;}_context117.next=11;return getObjectFieldSubFields(perField,permissionFields);case 11:field=_context117.sent;case 12:fieldNamePrefix='__searchable__';if(!(field.name.indexOf(".")<0)){_context117.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属性来实现
|
|
@@ -871,8 +870,9 @@ fieldSetBody.push(field);_context17.next=37;break;case 32:ctx.__formFields=formF
|
|
|
871
870
|
// "ctx": ctx
|
|
872
871
|
// };
|
|
873
872
|
// console.log(`${field.name} amisField`, field, amisField)
|
|
874
|
-
if(amisField){fieldSetBody.push(amisField);}case 37:_context17.next=8;break;case 39:_context17.next=44;break;case 41:_context17.prev=41;_context17.t0=_context17["catch"](6);_iterator.e(_context17.t0);case 44:_context17.prev=44;_iterator.f();return _context17.finish(44);case 47
|
|
875
|
-
|
|
873
|
+
if(amisField){fieldSetBody.push(amisField);}case 37:_context17.next=8;break;case 39:_context17.next=44;break;case 41:_context17.prev=41;_context17.t0=_context17["catch"](6);_iterator.e(_context17.t0);case 44:_context17.prev=44;_iterator.f();return _context17.finish(44);case 47:fieldSetBody.forEach(function(field){//判断label是否存在,不存在时将label的空占位元素隐藏
|
|
874
|
+
if(!field.label){field.labelClassName="none";}});// fieldSet 已支持显隐控制
|
|
875
|
+
sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fieldSetBody,'visibleOn')),function(visibleOn){var visible=visibleOn;if(visible.indexOf('${')>-1){visible=visible.substring(visible.indexOf('{')+1,visible.indexOf('}'));}return visible?"("+visible+")":visible;});section={"type":"fieldSet","title":sectionName,"collapsable":true,"body":fieldSetBody};if(ctx.enableTabs){section={"title":sectionName,"body":fieldSetBody};}if(sectionFieldsVisibleOn.length>0&&fieldSetBody.length===sectionFieldsVisibleOn.length){section.visibleOn="".concat(sectionFieldsVisibleOn.join(" || "));}fieldGroups=ctx.fieldGroups;group=fieldGroups&&fieldGroups.find(function(groupItem){return groupItem.group_name==sectionName;});groupVisibleOn=group&&group.visible_on;if(groupVisibleOn){if(groupVisibleOn.startsWith("{{")){groupVisibleOn="".concat(groupVisibleOn.substring(2,groupVisibleOn.length-2).replace(/formData./g,'data.'));}else{groupVisibleOn="".concat(groupVisibleOn.replace(/formData./g,'data.'));}if(section.visibleOn){section.visibleOn="".concat(section.visibleOn+" && "+groupVisibleOn);}else{section.visibleOn=groupVisibleOn;}}return _context17.abrupt("return",section);case 57:case"end":return _context17.stop();}}},_callee17,null,[[6,41,44,47]]);}));return function getSection(_x207,_x208,_x209,_x210,_x211){return _ref18.apply(this,arguments);};}();var getSections=/*#__PURE__*/function(){var _ref19=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(permissionFields,formFields,ctx){var fieldSchemaArray,_sections,sections,sectionVisibleOns,key,section;return _regeneratorRuntime().wrap(function _callee18$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:if(!ctx){ctx={};}fieldSchemaArray=getFieldSchemaArray(formFields,ctx);_sections=___namespace.groupBy(fieldSchemaArray,'group');sections=[];sectionVisibleOns=[];_context18.t0=_regeneratorRuntime().keys(_sections);case 6:if((_context18.t1=_context18.t0()).done){_context18.next=14;break;}key=_context18.t1.value;_context18.next=10;return getSection(formFields,permissionFields,fieldSchemaArray,key,ctx);case 10:section=_context18.sent;if(section.body.length>0){if(section.visibleOn){sectionVisibleOns.push("("+section.visibleOn+")");}else{sectionVisibleOns.push("true");}sections.push(section);}_context18.next=6;break;case 14:/*
|
|
876
876
|
为了实现只有一个分组时隐藏该分组标题,需要分三种情况(分组如果没有visibleon属性就代表一定显示,有visibleon需要进行判断)
|
|
877
877
|
1 当前分组为隐藏时,标题就设置为隐藏
|
|
878
878
|
2 当前分组为显示时,其他分组只要有一个是显示,就显示该分组标题
|
|
@@ -898,7 +898,7 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
|
|
|
898
898
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
899
899
|
* @Date: 2023-11-15 09:50:22
|
|
900
900
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
901
|
-
* @LastEditTime: 2024-01-
|
|
901
|
+
* @LastEditTime: 2024-01-22 15:59:32
|
|
902
902
|
*/function getTablePrimaryKey(props){return props.primaryKey||"_id";}/**
|
|
903
903
|
* 子表组件字段值中每行数据的补上唯一标识字段值,其值为随机uuid
|
|
904
904
|
* @param {*} value 子表组件字段值,数组
|
|
@@ -943,10 +943,10 @@ field=fields.find(function(fieldItem){return fieldItem.name===column;});}else{//
|
|
|
943
943
|
field=fields.find(function(fieldItem){return fieldItem.name===column.name;});if(field){// field.amis = Object.assign({}, field.amis, column);
|
|
944
944
|
// 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并
|
|
945
945
|
extendColumnProps=column;}}if(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return Object.assign({},tableCell,extendColumnProps);}else{return column;}}));case 10:return _context119.abrupt("return",fields.map(function(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return tableCell;})||[]);case 11:case"end":return _context119.stop();}}},_callee119);}));return _getInputTableColumns.apply(this,arguments);}function getFormPagination(props,mode){var showPagination=true;if(mode==="new"&&!!!props.editable){//不允许编辑只允许新建时不应该让用户操作翻页
|
|
946
|
-
showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\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 let pageChangeDirection = context.props.pageChangeDirection;\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n
|
|
947
|
-
"tpl":"${__page}/${__super.parent ? __tableItems[__parentIndex]['children'].length : __tableItems.length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next",// "disabledOn": showPagination ? "${__page >= __tableItems.length}" : "true",
|
|
946
|
+
showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\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 let pageChangeDirection = context.props.pageChangeDirection;\n let mode = \"").concat(mode,"\";\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n if(mode !== \"readonly\"){\n // \u65B0\u5EFA\u7F16\u8F91\u65F6\uFF0C\u7FFB\u9875\u624D\u9700\u8981\u628A\u5F53\u524D\u9875\u8868\u5355\u4FDD\u5B58\uFF0C\u53EA\u8BFB\u65F6\u76F4\u63A5\u7FFB\u9875\u5373\u53EF\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n // \u8FD9\u91CC\u4E0Dclone\u7684\u8BDD\uFF0C\u5176\u503C\u4F1A\u5E26\u4E0A__super\u5C5E\u6027\n currentFormValues = _.clone(currentFormValues);\n var parent = event.data.parent;\n var __parentIndex = event.data.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // \u91CD\u5199\u7236\u8282\u70B9\uFF0C\u5E76\u4E14\u6539\u53D8\u5176\u67D0\u4E2A\u5C5E\u6027\u4EE5\u8BA9\u5B50\u8282\u70B9\u4FEE\u6539\u7684\u5185\u5BB9\u56DE\u663E\u5230\u754C\u9762\u4E0A\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n }\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}},{"type":"tpl",// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
|
|
947
|
+
"tpl":"${__page}/${__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next",// "disabledOn": showPagination ? "${__page >= __tableItems.length}" : "true",
|
|
948
948
|
// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
|
|
949
|
-
"disabledOn":showPagination?"${__page >= (__super.parent ? __tableItems[__parentIndex]['children'].length : __tableItems.length)}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}}]};}/**
|
|
949
|
+
"disabledOn":showPagination?"${__page >= (__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length)}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}}]};}/**
|
|
950
950
|
* 传入formSchema输出带翻页容器的wrapper
|
|
951
951
|
* @param {*} props input-table组件props
|
|
952
952
|
* @param {*} form formSchema
|
|
@@ -1126,7 +1126,10 @@ actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDia
|
|
|
1126
1126
|
// 为了解决"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog
|
|
1127
1127
|
// 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系
|
|
1128
1128
|
// "__tableItems": `\${${props.name}|json|toJson}`
|
|
1129
|
-
"__tableItems":
|
|
1129
|
+
// "__tableItems": `\${((__super.parent ? __super.__super.${props.name} : __super.${props.name}) || [])|json|toJson}`
|
|
1130
|
+
// 在节点嵌套情况下,当前节点正好是带children属性的节点的话,这里弹出的dialog映射到的会是children数组,这是amis目前的规则,
|
|
1131
|
+
// 所以这里加判断有children时,用__super.__super让映射到正确的作用域层,如果不加,则__tableItems取到的会是children数组,而不是整个子表组件的值
|
|
1132
|
+
"__tableItems":"${((children ? __super.__super.".concat(props.name," : __super.").concat(props.name,") || [])|json|toJson}")};_context121.t13={"type":"dialog","title":_context121.t8,"body":_context121.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context121.t11,"data":_context121.t12};_context121.t14={"actionType":"dialog","dialog":_context121.t13};actions=[_context121.t14];_context121.next=43;break;case 42: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 // \u4E5F\u56E0\u4E3A\u8FD9\u91CCclone\u6CA1\u6709\u76F4\u63A5\u5220\u9664\uFF0C\u6240\u4EE5\u5F39\u51FA\u7F16\u8F91\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2Devent.data.__tableItems\u4E2D\u53D6\u5230\u7684\u503C\u4F1A\u6709\u88AB\u5220\u9664\u7684\u884C\u6570\u636E\u4E3Aundefined\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"]);\n var currentIndex = event.data.index;\n var parent = event.data.__super.parent;\n var primaryKey = \"").concat(primaryKey,"\";\n var __parentIndex = parent && _.findIndex(lastestFieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"").concat(props.id,"\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue\u4E0D\u4E3Atrue\u7684\u60C5\u51B5\u4E0B\uFF0C\u5373\u5B50\u8868\u7EC4\u4EF6input-table\u7684pipeOut\u51FD\u6570\u4E2D\u4F1A\u79FB\u9664\u8868\u5355\u4E86\u5B50\u8868\u5B57\u6BB5\u7684primaryKey\u5B57\u6BB5\u503C\uFF0C\n // \u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u4E3A\u7A7A\uFF0C\u4F46\u662FpipeIn\u51FD\u6570\u4E2D\u5DF2\u7ECF\u4E3Ainput-table\u81EA\u52A8\u751F\u6210\u8FC7primaryKey\u5B57\u6BB5\u503C\u4E86\uFF0C\u53EA\u662F\u6CA1\u6709\u8F93\u51FA\u5230\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u800C\u5DF2\n // \u6240\u4EE5\u4E0A\u9762\u4ECE\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u6CA1\u627E\u5230__parentIndex\uFF0C\u662F\u56E0\u4E3A\u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u53EA\u7ECF\u8FC7pipeIn\u4FDD\u5B58\u5230table\u7EC4\u4EF6\u5185\u800C\u6CA1\u6709\u4FDD\u5B58\u5230tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(parent){\n lastestFieldValue[__parentIndex].children.splice(currentIndex, 1);\n // \u91CD\u5199\u7236\u8282\u70B9\uFF0C\u5E76\u4E14\u6539\u53D8\u5176\u67D0\u4E2A\u5C5E\u6027\u4EE5\u8BA9\u5B50\u8282\u70B9\u4FEE\u6539\u7684\u5185\u5BB9\u56DE\u663E\u5230\u754C\u9762\u4E0A\n lastestFieldValue[__parentIndex] = Object.assign({}, lastestFieldValue[__parentIndex], {\n children: lastestFieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n lastestFieldValue.splice(currentIndex, 1);\n }\n let fieldPrefix = \"").concat(props.fieldPrefix||'',"\";\n if(fieldPrefix){\n let getTableValueWithoutFieldPrefix = new Function('v', 'f', \"return (\" + ").concat(getTableValueWithoutFieldPrefix.toString()," + \")(v, f)\");\n lastestFieldValue = getTableValueWithoutFieldPrefix(lastestFieldValue, fieldPrefix);\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n ");actions=[// {
|
|
1130
1133
|
// "actionType": "deleteItem",
|
|
1131
1134
|
// "args": {
|
|
1132
1135
|
// "index": "${index+','}" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行
|
|
@@ -1143,27 +1146,27 @@ showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要
|
|
|
1143
1146
|
// }
|
|
1144
1147
|
}// 编辑时显示编辑按钮
|
|
1145
1148
|
if(!showEditButton){_context19.next=20;break;}_context19.next=18;return getButtonEdit(props,showAsInlineEditMode);case 18:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 20:_context19.next=26;break;case 22:_context19.next=24;return getButtonView(props);case 24:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 26:if(!props.removable){_context19.next=31;break;}_context19.next=29;return getButtonDelete(props);case 29:buttonDeleteSchema=_context19.sent;buttonsForColumnOperations.push(buttonDeleteSchema);case 31:amis=props["input-table"]||props.amis||{};//额外支持"input-table"代替amis属性,是因为在字段yml文件中用amis作为key不好理解
|
|
1146
|
-
_context19.t0=props.
|
|
1149
|
+
_context19.t0=props.name;_context19.t1=props.draggable;_context19.t2=props.showIndex;_context19.t3=props.perPage;_context19.t4=props.id;_context19.next=39;return getInputTableColumns(props);case 39:_context19.t5=_context19.sent;_context19.t6=props.strictMode;_context19.t7=props.tableClassName;_context19.t8=function pipeIn(value,data){if(fieldPrefix){value=getTableValueWithoutFieldPrefix(value,fieldPrefix);}if(primaryKey){// 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值
|
|
1147
1150
|
// 这里始终自动生成primaryKey字段值,而不是只在pipeOut输出整个子表字段值时才生成,是因为要支持当数据库里保存的子表字段行数据没有primaryKey字段值时的行嵌套模式(即节点的children属性)功能
|
|
1148
1151
|
// 这里要注意,流程详细设置界面的字段设置功能中的子表组件中,数据库里保存的子表字段行数据是有primaryKey字段值的,它不依赖这里自动生成行primaryKey值功能
|
|
1149
|
-
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}if(amis.pipeIn){if(typeof amis.pipeIn==='function'){return amis.pipeIn(value,data);}}return value;};_context19.
|
|
1152
|
+
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}if(amis.pipeIn){if(typeof amis.pipeIn==='function'){return amis.pipeIn(value,data);}}return value;};_context19.t9=function pipeOut(value,data){value=(value||[]).map(function(item){delete item.__fix_rerender_after_children_modified_tag;return item;});if(fieldPrefix){value=getTableValuePrependFieldPrefix(value,fieldPrefix,primaryKey);}if(props.autoGeneratePrimaryKeyValue===true){// 如果需要把自动生成的primaryKey值输出保存的库中,则补全所有行中的primaryKey值
|
|
1150
1153
|
// 这里如果不全部补全的话,初始从库里返回的字段值中拿到的行没primaryKey值的话就不会自动补上
|
|
1151
1154
|
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}else{// 默认情况下,也就是没有配置autoGeneratePrimaryKey时,最终输出的字段值要移除行中的primaryKey值
|
|
1152
1155
|
// 需要注意如果没有配置autoGeneratePrimaryKey时,因为每次弹出行编辑窗口保存后都会先后进入pipeOut和pipeIn,
|
|
1153
1156
|
// 这里删除掉了primaryKey值,所以primaryKey值每次弹出编辑窗口保存后都会给每行重新生成新的primaryKey值
|
|
1154
1157
|
// 只有autoGeneratePrimaryKey配置为true时,每行的primaryKey字段值才会始终保持不变
|
|
1155
|
-
value=getTableValueWithoutPrimaryKeyValue(value,primaryKey);}if(amis.pipeOut){if(typeof amis.pipeOut==='function'){return amis.pipeOut(value,data);}}return value;};inputTableSchema={"type":"input-table","
|
|
1158
|
+
value=getTableValueWithoutPrimaryKeyValue(value,primaryKey);}if(amis.pipeOut){if(typeof amis.pipeOut==='function'){return amis.pipeOut(value,data);}}return value;};inputTableSchema={"type":"input-table","mode":"normal","name":_context19.t0,"draggable":_context19.t1,"showIndex":_context19.t2,"perPage":_context19.t3,"id":_context19.t4,"columns":_context19.t5,"strictMode":_context19.t6,"showTableAddBtn":false,"showFooterAddBtn":false,"className":_context19.t7,"pipeIn":_context19.t8,"pipeOut":_context19.t9};if(buttonsForColumnOperations.length){inputTableSchema.columns.push({"name":"__op__","type":"operation","buttons":buttonsForColumnOperations,"width":buttonsForColumnOperations.length>1?"60px":"20px"});}if(showAsInlineEditMode){inputTableSchema.needConfirm=false;}if(amis){// 支持配置amis属性重写或添加最终生成的input-table中任何属性。
|
|
1156
1159
|
delete amis.id;//如果steedos-input-table组件配置了amis.id属性,会造成新建编辑行功能不生效
|
|
1157
1160
|
delete amis.pipeIn;//该属性在上面合并过了
|
|
1158
1161
|
delete amis.pipeOut;//该属性在上面合并过了
|
|
1159
1162
|
Object.assign(inputTableSchema,amis);}isAnyFieldHasDependOn=(fields||[]).find(function(item){return item.depend_on;});if(isAnyFieldHasDependOn){// 有任意一个子字段有depend_on属性时,强制设置禁用静态模式,因为strictMode模式下,dependOn的字段值变更后,不会rerender整个子表
|
|
1160
1163
|
Object.assign(inputTableSchema,{strictMode:false});}schemaBody=[inputTableSchema];footerToolbar=_$1.clone(props.footerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
|
|
1161
|
-
if(!props.addable){_context19.next=
|
|
1164
|
+
if(!props.addable){_context19.next=57;break;}_context19.next=55;return getButtonNew(props);case 55:buttonNewSchema=_context19.sent;footerToolbar.unshift(buttonNewSchema);case 57:if(footerToolbar.length){schemaBody.push({"type":"wrapper","size":"none","body":footerToolbar});}// 直接把headerToolbar unshift进schemaBody,不会显示在label下面,而是显示在上面了,这个暂时没有解决办法,只能等amis 升级
|
|
1162
1165
|
// 看起来amis官方后续会支持给input-table组件配置headerToolbar,见:https://github.com/baidu/amis/issues/7246
|
|
1163
1166
|
// 不过依然放开此功能的意义在于有的场景字段label本来就不需要显示出来,此时headerToolbar就有意义
|
|
1164
1167
|
headerToolbar=_$1.clone(props.headerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
|
|
1165
|
-
if(headerToolbar.length){schemaBody.unshift({"type":"wrapper","size":"none","body":headerToolbar});}schema={"type":"service","body":schemaBody,"className":props.className,"id":serviceId};// console.log("===schema===", schema);
|
|
1166
|
-
return _context19.abrupt("return",schema);case
|
|
1168
|
+
if(headerToolbar.length){schemaBody.unshift({"type":"wrapper","size":"none","body":headerToolbar});}schema={"type":"service","body":[{"type":"control","body":schemaBody,"label":props.label,"labelClassName":props.label?props.labelClassName:"none","labelRemark":props.labelRemark,"labelAlign":props.labelAlign}],"className":props.className,"id":serviceId};// console.log("===schema===", schema);
|
|
1169
|
+
return _context19.abrupt("return",schema);case 62:case"end":return _context19.stop();}}},_callee19);}));return function getAmisInputTableSchema(_x227){return _ref20.apply(this,arguments);};}();// import { getListSchema } from './objects';
|
|
1167
1170
|
function getScopeId(objectApiName,type){return"page_".concat(objectApiName,"_").concat(type);}// 获取表单初始化amisSchema
|
|
1168
1171
|
function getFormPageInitSchema(_x228){return _getFormPageInitSchema.apply(this,arguments);}// 获取列表页面初始化amisSchema
|
|
1169
1172
|
function _getFormPageInitSchema(){_getFormPageInitSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee126(objectApiName){var schema;return _regeneratorRuntime().wrap(function _callee126$(_context126){while(1){switch(_context126.prev=_context126.next){case 0:_context126.next=2;return getFormSchema(objectApiName,{recordId:'${recordId}'});case 2:schema=_context126.sent;return _context126.abrupt("return",{type:'page',name:getScopeId(objectApiName,"form"),bodyClassName:'',regions:["body"],body:[schema.amisSchema]});case 4:case"end":return _context126.stop();}}},_callee126);}));return _getFormPageInitSchema.apply(this,arguments);}function getListPageInitSchema(_x229,_x230,_x231){return _getListPageInitSchema.apply(this,arguments);}// 获取
|