@steedos-widgets/amis-lib 3.6.4-beta.2 → 3.6.4-beta.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.umd.js CHANGED
@@ -668,32 +668,36 @@ filters=field.filters;if(typeof filters==="string"){filters=new Function("return
668
668
  data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n var dep = api.query.dep;\n var ref = api.query.ref;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refOrgsObjectName,"\";\n fields = \"value:_id,label:name,children\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.orgsSort,"\";\n }\n else if (ref) { \n objectName = \"").concat(refUsersObjectName,"\";\n // \u8FD9\u91CC\u8981\u989D\u5916\u628A\u5B57\u6BB5\u8F6C\u4E3Avalue\u548Clabel\u662F\u56E0\u4E3AvalueField\u548ClabelField\u5728deferApi/searchApi\u4E2D\u4E0D\u751F\u6548\uFF0C\u6240\u4EE5\u5B57\u6BB5\u8981\u53D6\u4E24\u6B21\n fields = \"_id,value:user,label:name\";\n // fields = \"user,name,value:user,label:name\";\n filters = [['user_accepted', '=', true]];\n var defaultFilters = ").concat(filters&&JSON.stringify(filters),";\n if(defaultFilters){\n filters.push(defaultFilters);\n }\n filters.push(['organizations_parents', '=', ref]);\n sort = \"").concat(ctx.usersSort,"\";\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 _context103.abrupt("return",{"method":"post","url":getApi$2()+"&ref=${ref}&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context103.stop();}}},_callee103);}));return _getDeferApi$.apply(this,arguments);}function getSearchApi(_x166,_x167){return _getSearchApi.apply(this,arguments);}function _getSearchApi(){_getSearchApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee104(field,ctx){var data,filters,requestAdaptor;return _regeneratorRuntime().wrap(function _callee104$(_context104){while(1){switch(_context104.prev=_context104.next){case 0:_context104.next=2;return getFindQuery({name:refUsersObjectName},null,[{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",// filters: "{__filters}",
669
669
  queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 2:data=_context104.sent;data.query=data.query.replace(/,count\:.+/,"}");// 传入的默认过滤条件,比如[["name", "contains", "三"]],将会作为基本过滤条件
670
670
  filters=field.filters;requestAdaptor="\n var term = api.query.term;\n var filters;\n var sort = \"\";\n if (term) { \n filters = [['user_accepted', '=', true]];\n var defaultFilters = ".concat(filters&&JSON.stringify(filters),";\n if(defaultFilters){\n filters.push(defaultFilters);\n }\n var fieldsForSearch = [\"name\", \"username\", \"email\", \"mobile\"];\n var termFilters = [];\n fieldsForSearch.forEach(function (field) {\n termFilters.push([field, 'contains', term]);\n termFilters.push(\"or\");\n });\n termFilters.pop();\n filters.push(termFilters);\n sort = \"").concat(ctx.usersSort,"\";\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");return _context104.abrupt("return",{"method":"post","url":getApi$2()+"?term=${term}","requestAdaptor":requestAdaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 7:case"end":return _context104.stop();}}},_callee104);}));return _getSearchApi.apply(this,arguments);}function getRefListViewSort$1(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function getSelectUserSchema(_x168,_x169,_x170){return _getSelectUserSchema.apply(this,arguments);}function _getSelectUserSchema(){_getSelectUserSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee105(field,readonly,ctx){var amisSchema,refUsersObjectConfig,refOrgsObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee105$(_context105){while(1){switch(_context105.prev=_context105.next){case 0:if(field){_context105.next=2;break;}return _context105.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('select',readonly)};if(!readonly){_context105.next=10;break;}_context105.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context105.sent;_context105.next=38;break;case 10:_context105.next=12;return getUISchema(refUsersObjectName);case 12:refUsersObjectConfig=_context105.sent;ctx.usersSort=getRefListViewSort$1(refUsersObjectConfig);_context105.next=16;return getUISchema(refOrgsObjectName);case 16:refOrgsObjectConfig=_context105.sent;ctx.orgsSort=getRefListViewSort$1(refOrgsObjectConfig);_context105.t0=Object;_context105.t1=amisSchema;_context105.t2=field.multiple;_context105.t3=field.searchable;_context105.next=24;return getSource$1(field,ctx);case 24:_context105.t4=_context105.sent;_context105.next=27;return getDeferApi$1(field,ctx);case 27:_context105.t5=_context105.sent;_context105.next=30;return getSearchApi(field,ctx);case 30:_context105.t6=_context105.sent;_context105.t7={"multiple":_context105.t2,"searchable":_context105.t3,"selectMode":"associated","leftMode":"tree","extractValue":true,"clearable":true,"source":_context105.t4,"deferApi":_context105.t5,"searchApi":_context105.t6};_context105.t0.assign.call(_context105.t0,_context105.t1,_context105.t7);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
671
- Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}if(ctx.value){amisSchema.value=ctx.value;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 38:return _context105.abrupt("return",amisSchema);case 39:case"end":return _context105.stop();}}},_callee105);}));return _getSelectUserSchema.apply(this,arguments);}function getSource(_x171,_x172){return _getSource.apply(this,arguments);}function _getSource(){_getSource=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee106(field,ctx){var refObjectName,data,defaultValueOptionsData,valueField,requestAdaptor,adaptor;return _regeneratorRuntime().wrap(function _callee106$(_context106){while(1){switch(_context106.prev=_context106.next){case 0:// data.query 最终格式 "{ \tleftOptions:organizations(filters: {__filters}){value:_id,label:name,children}, children:organizations(filters: {__filters}){ref:_id,children}, defaultValueOptions:space_users(filters: {__options_filters}){user,name} }"
672
- refObjectName=ctx.objectName;_context106.next=3;return getFindQuery({name:refObjectName},null,[{name:ctx.valueField,alias:"value"},{name:ctx.labelField,alias:"label"},{name:"children"}],{alias:"options",filters:"{__filters}"});case 3:data=_context106.sent;data.query=data.query.replace(/,count\:.+/,"}");// const childrenData = await graphql.getFindQuery({ name: refObjectName }, null, [{ name: ctx.valueField, alias: "ref" }], {
671
+ Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}if(ctx.value){amisSchema.value=ctx.value;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 38:return _context105.abrupt("return",amisSchema);case 39:case"end":return _context105.stop();}}},_callee105);}));return _getSelectUserSchema.apply(this,arguments);}function getSource(_x171,_x172){return _getSource.apply(this,arguments);}function _getSource(){_getSource=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee106(field,ctx){var refObjectName,optionQueryFields,defaultOptionQueryFields,autoFillMapping,data,defaultValueOptionsData,valueField,requestAdaptor,adaptor;return _regeneratorRuntime().wrap(function _callee106$(_context106){while(1){switch(_context106.prev=_context106.next){case 0:// data.query 最终格式 "{ \tleftOptions:organizations(filters: {__filters}){value:_id,label:name,children}, children:organizations(filters: {__filters}){ref:_id,children}, defaultValueOptions:space_users(filters: {__options_filters}){user,name} }"
672
+ refObjectName=ctx.objectName;optionQueryFields=[{name:ctx.valueField,alias:"value"},{name:ctx.labelField,alias:"label"},{name:"children"}];defaultOptionQueryFields=optionQueryFields.filter(function(f){return f.name!=="children";});// 把自动填充规则中依赖的字段也加到api请求中
673
+ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){if(item.from!=="children"){optionQueryFields.push({name:item.from});}defaultOptionQueryFields.push({name:item.from});});}_context106.next=7;return getFindQuery({name:refObjectName},null,optionQueryFields,{expand:false,alias:"options",filters:"{__filters}"});case 7:data=_context106.sent;data.query=data.query.replace(/,count\:.+/,"}");// const childrenData = await graphql.getFindQuery({ name: refObjectName }, null, [{ name: ctx.valueField, alias: "ref" }], {
673
674
  // alias: "children",
674
675
  // filters: "{__filters}"
675
676
  // });
676
677
  // childrenData.query = childrenData.query.replace(/,count\:.+/, "}");
677
678
  // data.query = data.query.replace(/}$/, "," + childrenData.query.replace(/{(.+)}/, "$1}"));
678
- _context106.next=7;return getFindQuery({name:refObjectName},null,[{name:ctx.valueField,alias:"value"},{name:ctx.labelField,alias:"label"}],{alias:"defaultValueOptions",filters:"{__options_filters}"});case 7:defaultValueOptionsData=_context106.sent;defaultValueOptionsData.query=defaultValueOptionsData.query.replace(/,count\:.+/,"}");data.query=data.query.replace(/}$/,","+defaultValueOptionsData.query.replace(/{(.+)}/,"$1}"));valueField="".concat(field.name);if(field._prefix){// field._prefix一般来object类型字段的子字段的父字段api名称,比如流程对象的字段perms.users_can_add前缀为perms.
679
+ _context106.next=11;return getFindQuery({name:refObjectName},null,defaultOptionQueryFields,{expand:false,alias:"defaultValueOptions",filters:"{__options_filters}"});case 11:defaultValueOptionsData=_context106.sent;defaultValueOptionsData.query=defaultValueOptionsData.query.replace(/,count\:.+/,"}");data.query=data.query.replace(/}$/,","+defaultValueOptionsData.query.replace(/{(.+)}/,"$1}"));valueField="".concat(field.name);if(field._prefix){// field._prefix一般来object类型字段的子字段的父字段api名称,比如流程对象的字段perms.users_can_add前缀为perms.
679
680
  valueField="".concat(field._prefix).concat(field.name);}if(ctx.fieldNamePrefix){// ctx.fieldNamePrefix一般来自列表搜索,值为__searchable__
680
- valueField="".concat(ctx.fieldNamePrefix).concat(valueField);}data.$value="$".concat(valueField);data['$']="$$";requestAdaptor="\n var filters = [['parent', '=', null]];\n const filtersFunction = ".concat(field.filtersFunction||field._filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(ctx.valueField,"\", optionsFiltersOp, []]];\n if (defaultValue) { \n optionsFilters = [[\"").concat(ctx.valueField,"\", optionsFiltersOp, defaultValue]];\n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n ");adaptor="\n const data = payload.data;\n data.options = data.options.map(function (optionItem) {\n optionItem.defer = !!(optionItem.children && optionItem.children.length);\n delete optionItem.children;\n return optionItem;\n });\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(data.options, defaultValueOptions, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data = data;\n return payload;\n ";return _context106.abrupt("return",{"method":"post","url":getApi$2(),"requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 18:case"end":return _context106.stop();}}},_callee106);}));return _getSource.apply(this,arguments);}function getDeferApi(_x173,_x174){return _getDeferApi.apply(this,arguments);}function _getDeferApi(){_getDeferApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(field,ctx){var refObjectName,data,filters,requestAdaptor,adaptor;return _regeneratorRuntime().wrap(function _callee107$(_context107){while(1){switch(_context107.prev=_context107.next){case 0:// data.query 最终格式 "{ \toptions:{__object_name}(filters:{__filters}){{__fields}} }"
681
- refObjectName=ctx.objectName;_context107.next=3;return getFindQuery({name:"{__object_name}"},null,[],{alias:"options",// filters: "{__filters}",
682
- queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context107.sent;// 传入的默认过滤条件,比如[["name", "contains", ""]],将会作为基本过滤条件
683
- 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后续在发送适配器中替换
684
- 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没有这个问题
681
+ valueField="".concat(ctx.fieldNamePrefix).concat(valueField);}data.$value="$".concat(valueField);data['$']="$$";requestAdaptor="\n var filters = [['parent', '=', null]];\n const filtersFunction = ".concat(field.filtersFunction||field._filtersFunction,";\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(ctx.valueField,"\", optionsFiltersOp, []]];\n if (defaultValue) { \n optionsFilters = [[\"").concat(ctx.valueField,"\", optionsFiltersOp, defaultValue]];\n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n ");adaptor="\n const data = payload.data;\n data.options = data.options.map(function (optionItem) {\n optionItem.defer = !!(optionItem.children && optionItem.children.length);\n delete optionItem.children;\n return optionItem;\n });\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(data.options, defaultValueOptions, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data = data;\n return payload;\n ";return _context106.abrupt("return",{"method":"post","url":getApi$2(),"requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 22:case"end":return _context106.stop();}}},_callee106);}));return _getSource.apply(this,arguments);}function getDeferApi(_x173,_x174){return _getDeferApi.apply(this,arguments);}function _getDeferApi(){_getDeferApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee107(field,ctx){var refObjectName,optionQueryFields,autoFillMapping,data,filters,requestAdaptor,adaptor;return _regeneratorRuntime().wrap(function _callee107$(_context107){while(1){switch(_context107.prev=_context107.next){case 0:// data.query 最终格式 "{ \toptions:{__object_name}(filters:{__filters}){{__fields}} }"
682
+ refObjectName=ctx.objectName;optionQueryFields=[{name:ctx.valueField,alias:"value"},{name:ctx.labelField,alias:"label"},{name:"children"}];// 把自动填充规则中依赖的字段也加到api请求中
683
+ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){if(item.from!=="children"){optionQueryFields.push({name:item.from});}});}_context107.next=6;return getFindQuery({name:"{__object_name}"},null,optionQueryFields,{expand:false,alias:"options",// filters: "{__filters}",
684
+ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 6:data=_context107.sent;// 传入的默认过滤条件,比如[["name", "contains", "三"]],将会作为基本过滤条件
685
+ 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\:.+/,"}");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 filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).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 14: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没有这个问题
685
686
  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 引用的对象未定义
686
- 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":"","mode":"normal","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,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,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排序
687
- 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;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context109.next=27;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 27: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',如果不替换掉点,会造成审批王表单中新建子表行时报错
687
+ 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":"","mode":"normal","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,autoFillMapping,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,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排序
688
+ 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);}});// 把自动填充规则中依赖的字段也加到api请求中
689
+ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){if(!___namespace.find(tableFields,function(f){return f.name===item.from;})){tableFields.push(refObjectConfig.fields[item.from]);}});}___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;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context109.next=29;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 29: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',如果不替换掉点,会造成审批王表单中新建子表行时报错
688
690
  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 ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'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\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \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 const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n ").concat(getScriptForAddUrlPrefixForImgFields(___namespace.values(refObjectConfig.fields)),"\n return data;\n });\n payload.data.rows = updatedResult;\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 被标记为了 名称字段. 在此处特殊处理.
689
- if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=42;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 42:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
690
- isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=55;break;}_context109.next=52;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 52:new_button=_context109.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
691
- pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 55:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context109.next=60;break;}_context109.next=59;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 59:pickerSchema.filter=_context109.sent;case 60:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
691
+ if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=44;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 44:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
692
+ isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=57;break;}_context109.next=54;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 54:new_button=_context109.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
693
+ pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 57:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context109.next=62;break;}_context109.next=61;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 61:pickerSchema.filter=_context109.sent;case 62:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
692
694
  "isLookup":true,"__lookupField":{"name":field.name,"reference_to":refObjectConfig.name,"reference_to_field":field.reference_to_field}});if(!pickerSchema.onEvent){pickerSchema.onEvent={};}pickerSchema.onEvent["@data.changed.".concat(refObjectConfig.name)]={"actions":[{"actionType":"reload"},{"actionType":"custom","script":"\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ".concat(JSON.stringify(field),";\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: \u8FDE\u7EED\u65B0\u5EFA\u591A\u4E2A\u8BB0\u5F55\u65F6\uFF0C\u56E0\u4E3A\u83B7\u53D6\u7684\u4E3B\u8BB0\u5F55\u4E0D\u662F\u5B9E\u65F6\u7684\uFF0C\u6240\u4EE5\u53EA\u4F1A\u52FE\u9009\u6700\u540E\u4E00\u4E2A\u65B0\u5EFA\u7684\u8BB0\u5F55\u3002\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ").concat(JSON.stringify(ctx),";\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n ")}]};if(field.pickerSchema){pickerSchema=Object.assign({},pickerSchema,field.pickerSchema);}if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"&&isMobile){//手机端选人控件只保留部分toolbar
693
695
  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"];}if(field.inlineHelpText){pickerSchema.toolbarClassName="hasHelpText";pickerSchema.headerToolbar=[{"type":"tpl","tpl":field.inlineHelpText,"className":"text-secondary"}].concat(_toConsumableArray(pickerSchema.headerToolbar));}pickerSchema.className=(pickerSchema.className||"")+" steedos-lookup-crud";data={type:getAmisStaticFieldType('picker',readonly),className:ctx.className||'',modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
694
696
  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,用来配置弹出方式
695
- source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=73;break;}_context109.next=72;return getLookupTpl(field,ctx);case 72:data.tpl=_context109.sent;case 73:return _context109.abrupt("return",data);case 74:case"end":return _context109.stop();}}},_callee109);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x182,_x183,_x184){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,listviewFilter,listviewFiltersFunction,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:_context110.next=2;return getReferenceTo(field);case 2:referenceTo=_context110.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';
696
- if(!referenceTo){_context110.next=15;break;}_context110.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=_context110.sent;_context110.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=_context110.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 ";_context110.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:_context110.t0=referenceTo;if(!_context110.t0){_context110.next=21;break;}_context110.next=20;return getUISchema(referenceTo.objectName);case 20:_context110.t0=_context110.sent;case 21:refObjectConfig=_context110.t0;listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
697
+ source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=75;break;}_context109.next=74;return getLookupTpl(field,ctx);case 74:data.tpl=_context109.sent;case 75:return _context109.abrupt("return",data);case 76:case"end":return _context109.stop();}}},_callee109);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x182,_x183,_x184){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,queryFields,autoFillMapping,listView,listviewFilter,listviewFiltersFunction,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:_context110.next=2;return getReferenceTo(field);case 2:referenceTo=_context110.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';
698
+ _context110.t0=referenceTo;if(!_context110.t0){_context110.next=10;break;}_context110.next=9;return getUISchema(referenceTo.objectName);case 9:_context110.t0=_context110.sent;case 10:refObjectConfig=_context110.t0;if(!referenceTo){_context110.next=24;break;}queryFields=[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})];// 把自动填充规则中依赖的字段也加到api请求中
699
+ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){queryFields.push(refObjectConfig.fields[item.from]);});}// 字段值单独走一个请求合并到source的同一个GraphQL接口中
700
+ _context110.next=17;return getFindQuery({name:referenceTo.objectName},null,queryFields,{expand:false,alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 17:defaultValueOptionsQueryData=_context110.sent;_context110.next=20;return getApi({name:referenceTo.objectName},null,queryFields,{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 20:apiInfo=_context110.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 ";_context110.next=25;break;case 24:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 25:listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
697
701
  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'}`;
698
702
  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"]]
699
703
  apiInfo.requestAdaptor="\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'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\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \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目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
@@ -705,7 +709,9 @@ autoComplete:apiInfo,searchable:true};amisVersion=getComparableAmisVersion();if(
705
709
  // TODO:应该想办法把是否字段在子表组件内,即ctx.isInputTable,如果不在子表组件内不需要加source
706
710
  data.source=apiInfo;delete data.autoComplete;}//删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题
707
711
  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的判断。
708
- if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context110.next=48;break;}_context110.next=47;return getLookupTpl(field,ctx);case 47:data.tpl=_context110.sent;case 48:return _context110.abrupt("return",data);case 49:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x185,_x186,_x187,_x188){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:_context111.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context111.sent;return _context111.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context111.stop();}}},_callee111);}));return _getApi.apply(this,arguments);}function getAutoFill(_x189,_x190){return _getAutoFill.apply(this,arguments);}function _getAutoFill(){_getAutoFill=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,refObject){var autoFillMapping,fillMapping,fieldsForApi;return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:autoFillMapping=field.auto_fill_mapping;if(!(autoFillMapping&&autoFillMapping.length)){_context112.next=6;break;}fillMapping={};fieldsForApi=[];autoFillMapping.forEach(function(item){fillMapping[item.to]="${".concat(item.from,"}");fieldsForApi.push(item.from);});// let api = {
712
+ if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context110.next=51;break;}_context110.next=50;return getLookupTpl(field,ctx);case 50:data.tpl=_context110.sent;case 51:return _context110.abrupt("return",data);case 52:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x185,_x186,_x187,_x188){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:_context111.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context111.sent;return _context111.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context111.stop();}}},_callee111);}));return _getApi.apply(this,arguments);}function getAutoFill(_x189,_x190){return _getAutoFill.apply(this,arguments);}function _getAutoFill(){_getAutoFill=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,refObject){var autoFillMapping,fillMapping;return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(!(autoFillMapping&&autoFillMapping.length)){_context112.next=5;break;}fillMapping={};// let fieldsForApi = [];
713
+ autoFillMapping.forEach(function(item){fillMapping[item.to]="${".concat(item.from,"}");// fieldsForApi.push(item.from);
714
+ });// let api = {
709
715
  // // "url": "/amis/api/mock2/form/autoUpdate?browser=${browser}&version=${version}",
710
716
  // "url": `/api/v1/${refObject.name}/\${${field.name}}?fields=${JSON.stringify(fieldsForApi)}`,
711
717
  // // "responseData": {
@@ -719,7 +725,7 @@ if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.mu
719
725
  // }
720
726
  // 因为autoFill中配置了api的话,在表单初始化(比如新建记录)时并不会触发执行autoFill,所以只能暂时不用api
721
727
  // 给amis报过问题了,见:https://github.com/baidu/amis/issues/9631
722
- return _context112.abrupt("return",fillMapping);case 6:case"end":return _context112.stop();}}},_callee112);}));return _getAutoFill.apply(this,arguments);}function lookupToAmis(_x191,_x192,_x193){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,amisSchema,_referenceTo$labelFie,_referenceTo$valueFie2,refLookupPage,pageAmisSchema,autoFill;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
728
+ return _context112.abrupt("return",fillMapping);case 5:case"end":return _context112.stop();}}},_callee112);}));return _getAutoFill.apply(this,arguments);}function lookupToAmis(_x191,_x192,_x193){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,amisSchema,_referenceTo$labelFie,_referenceTo$valueFie2,refLookupPage,pageAmisSchema,autoFill;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
723
729
  if(!readonly){_context113.next=7;break;}if(!(field.reference_to&&!field.isTableField)){_context113.next=6;break;}return _context113.abrupt("return",{type:'steedos-field',config:field,"static":true});case 6:return _context113.abrupt("return",{type:getAmisStaticFieldType('picker',readonly),tpl:getRelatedFieldTpl(field,ctx)});case 7:if(!(field.reference_to&&!___namespace.isString(field.reference_to)&&!readonly)){_context113.next=9;break;}return _context113.abrupt("return",{type:'steedos-field-lookup',field:field,readonly:readonly,ctx:ctx});case 9:_context113.next=11;return getReferenceTo(field);case 11:referenceTo=_context113.sent;if(referenceTo){_context113.next=16;break;}_context113.next=15;return lookupToAmisSelect(field,readonly,ctx);case 15:return _context113.abrupt("return",_context113.sent);case 16:if(!(referenceTo.objectName==="space_users"&&field.reference_to_field==="user")){_context113.next=22;break;}ctx=Object.assign({},ctx,{onlyDisplayLookLabel:true});if(!ctx.idsDependOn){_context113.next=22;break;}_context113.next=21;return lookupToAmisIdsPicker(field,readonly,ctx);case 21:return _context113.abrupt("return",_context113.sent);case 22:_context113.next=24;return getUISchema(referenceTo.objectName);case 24:refObject=_context113.sent;// 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
724
730
  enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了
725
731
  // amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题
@@ -1094,7 +1100,7 @@ onEditItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data
1094
1100
  // }
1095
1101
  // });
1096
1102
  // }
1097
- schema=getFormPaginationWrapper(props,schema,mode);return _context121.abrupt("return",schema);case 12:case"end":return _context121.stop();}}},_callee121);}));return _getForm.apply(this,arguments);}function getButtonActions(_x222,_x223){return _getButtonActions.apply(this,arguments);}function _getButtonActions(){_getButtonActions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(props,mode){var actions,primaryKey,formId,dialogId,buttonNextId,formPaginationId,parentFormData,amisVersion,onSaveAndNewItemScript,onSaveAndCopyItemScript,dialogButtons,actionShowEditDialog,tableServiceId,onDeleteItemScript;return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:actions=[];primaryKey=getTablePrimaryKey(props);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")){_context122.next=29;break;}// let actionShowNewDialog = {
1103
+ schema=getFormPaginationWrapper(props,schema,mode);return _context121.abrupt("return",schema);case 12:case"end":return _context121.stop();}}},_callee121);}));return _getForm.apply(this,arguments);}function getButtonActions(_x222,_x223){return _getButtonActions.apply(this,arguments);}function _getButtonActions(){_getButtonActions=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(props,mode){var actions,primaryKey,tableServiceId,formId,dialogId,buttonNextId,formPaginationId,parentFormData,amisVersion,onSaveAndNewItemScript,onSaveAndCopyItemScript,dialogButtons,actionShowEditDialog,_tableServiceId,onDeleteItemScript;return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:actions=[];primaryKey=getTablePrimaryKey(props);tableServiceId=getComponentId("table_service",props.id);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")){_context122.next=30;break;}// let actionShowNewDialog = {
1098
1104
  // "actionType": "dialog",
1099
1105
  // "dialog": {
1100
1106
  // "type": "dialog",
@@ -1127,7 +1133,7 @@ schema=getFormPaginationWrapper(props,schema,mode);return _context121.abrupt("re
1127
1133
  onSaveAndNewItemScript="\n let scope = event.context.scoped;\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // \u56E0\u4E3A\u5220\u9664\u65F6\u53EA\u662F\u628Ainput-table\u7EC4\u4EF6\u4E2D\u7684\u884C\u6570\u636E\u5220\u9664\u4E86\uFF0C\u5E76\u6CA1\u6709\u628A\u7236\u5C42service\u4E2D\u7684\u884C\u5220\u9664\uFF0C\u6240\u4EE5__tableItems\u4F1A\u6709\u503C\u4E3Aundefined\u7684\u6570\u636E\uFF0C\u9700\u8981\u79FB\u9664\u6389\n // \u4E0D\u7528event.data.__tableItems = _.compact(event.data.__tableItems)\u662F\u56E0\u4E3A\u4F1A\u628A__tableItems\u53D8\u91CF\u4FDD\u5B58\u5230\u8868\u5355\u4E2D\n removeEmptyItems(event.data.__tableItems);\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 var parent = event.data.__super.parent;\n var primaryKey = \"".concat(primaryKey,"\";\n var __parentIndex = parent && _.findIndex(fieldValue, 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 fieldValue[__parentIndex].children.push({});\n // \u8FD9\u91CC\u5B9E\u6D4B\u4E0D\u9700\u8981fieldValue[__parentIndex] = ... \u6765\u91CD\u5199\u6574\u4E2A\u7236\u884C\u8BA9\u5B50\u8868\u56DE\u663E\uFF0C\u6240\u4EE5\u6CA1\u52A0\u76F8\u5173\u4EE3\u7801\n }\n else{\n fieldValue.push({});\n }\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 if(parent){\n event.data.__page = fieldValue[__parentIndex].children.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 event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\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 }\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 newItem = _.clone(newItem);\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // \u56E0\u4E3A\u5220\u9664\u65F6\u53EA\u662F\u628Ainput-table\u7EC4\u4EF6\u4E2D\u7684\u884C\u6570\u636E\u5220\u9664\u4E86\uFF0C\u5E76\u6CA1\u6709\u628A\u7236\u5C42service\u4E2D\u7684\u884C\u5220\u9664\uFF0C\u6240\u4EE5__tableItems\u4F1A\u6709\u503C\u4E3Aundefined\u7684\u6570\u636E\uFF0C\u9700\u8981\u79FB\u9664\u6389\n // \u4E0D\u7528event.data.__tableItems = _.compact(event.data.__tableItems)\u662F\u56E0\u4E3A\u4F1A\u628A__tableItems\u53D8\u91CF\u4FDD\u5B58\u5230\u8868\u5355\u4E2D\n removeEmptyItems(event.data.__tableItems);\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 var parent = event.data.__super.parent;\n var primaryKey = \"").concat(primaryKey,"\";\n var __parentIndex = parent && _.findIndex(fieldValue, 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(newItem[primaryKey]){\n // \u5982\u679CnewItem\u5DF2\u7ECF\u6709\u4E3B\u952E\u5B57\u6BB5\u503C\uFF0C\u5219\u91CD\u65B0\u751F\u6210\u65B0\u7684\u4E3B\u952E\u503C\uFF0C\u5426\u5219\u4F1A\u91CD\u590D\u3002\n let uuidv4 = new Function(\"return (\" + ").concat(uuidv4.toString()," + \")()\");\n newItem[primaryKey] = uuidv4();\n }\n if(parent){\n fieldValue[__parentIndex].children.push(newItem);\n // \u8FD9\u91CC\u5B9E\u6D4B\u4E0D\u9700\u8981fieldValue[__parentIndex] = ... \u6765\u91CD\u5199\u6574\u4E2A\u7236\u884C\u8BA9\u5B50\u8868\u56DE\u663E\uFF0C\u6240\u4EE5\u6CA1\u52A0\u76F8\u5173\u4EE3\u7801\n }\n else{\n fieldValue.push(newItem);\n }\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 if(parent){\n event.data.__page = fieldValue[__parentIndex].children.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 event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\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 }\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){// 有新增行权限时额外添加新增和复制按钮
1128
1134
  dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onSaveAndNewItemScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
1129
1135
  }]}}},{"type":"button","label":"复制","tooltip":"复制并新增一行,即保存当前行数据并复制当前行数据到新增行","onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onSaveAndCopyItemScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
1130
- }]}}},dialogButtons[0]];}_context122.t0=dialogId;_context122.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context122.next=18;return getForm(props,mode,formId);case 18:_context122.t2=_context122.sent;_context122.t3=[_context122.t2];_context122.t4={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
1136
+ }]}}},dialogButtons[0]];}_context122.t0=dialogId;_context122.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context122.next=19;return getForm(props,mode,formId);case 19:_context122.t2=_context122.sent;_context122.t3=[_context122.t2];_context122.t4={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
1131
1137
  // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
1132
1138
  // 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
1133
1139
  // "&": "${record || {}}",
@@ -1179,7 +1185,7 @@ dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一
1179
1185
  // };
1180
1186
  // 新增行时不需要在弹出编辑表单前先加一行,因为会在编辑表单所在service初始化时判断到是新增就自动增加一行,因为这里拿不到event.data.__tableItems,也无法变更其值
1181
1187
  // actions = [actionNewLine, actionShowEditDialog];
1182
- actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDialog];}_context122.next=43;break;case 29:if(!(mode=="readonly")){_context122.next=42;break;}_context122.t8="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context122.next=33;return getForm(props,"readonly");case 33:_context122.t9=_context122.sent;_context122.t10=[_context122.t9];_context122.t11=[];_context122.t12={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
1188
+ if(props.enableDialog===false){actions=[{"actionType":"custom","script":"\n let scope = event.context.scoped;\n let __wrapperServiceId = \"".concat(tableServiceId,"\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n let lastestFieldValue = _.clone(wrapperServiceData[\"").concat(props.name,"\"] || []);\n lastestFieldValue.push({})\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n ")}];}else{actions=[actionShowEditDialog];}}else if(mode=="edit"){actions=[actionShowEditDialog];}_context122.next=44;break;case 30:if(!(mode=="readonly")){_context122.next=43;break;}_context122.t8="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context122.next=34;return getForm(props,"readonly");case 34:_context122.t9=_context122.sent;_context122.t10=[_context122.t9];_context122.t11=[];_context122.t12={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
1183
1189
  // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
1184
1190
  // 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
1185
1191
  // "&": "${record || {}}",
@@ -1194,14 +1200,14 @@ actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDia
1194
1200
  // "__tableItems": `\${((__super.parent ? __super.__super.${props.name} : __super.${props.name}) || [])|json|toJson}`
1195
1201
  // 在节点嵌套情况下,当前节点正好是带children属性的节点的话,这里弹出的dialog映射到的会是children数组,这是amis目前的规则,
1196
1202
  // 所以这里加判断有children时,用__super.__super让映射到正确的作用域层,如果不加,则__tableItems取到的会是children数组,而不是整个子表组件的值
1197
- "__tableItems":"${((children ? __super.__super.".concat(props.name," : __super.").concat(props.name,") || [])|json|toJson}")};_context122.t13={"type":"dialog","title":_context122.t8,"body":_context122.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context122.t11,"data":_context122.t12};_context122.t14={"actionType":"dialog","dialog":_context122.t13};actions=[_context122.t14];_context122.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=[// {
1203
+ "__tableItems":"${((children ? __super.__super.".concat(props.name," : __super.").concat(props.name,") || [])|json|toJson}")};_context122.t13={"type":"dialog","title":_context122.t8,"body":_context122.t10,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context122.t11,"data":_context122.t12};_context122.t14={"actionType":"dialog","dialog":_context122.t13};actions=[_context122.t14];_context122.next=44;break;case 43: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=[// {
1198
1204
  // "actionType": "deleteItem",
1199
1205
  // "args": {
1200
1206
  // "index": "${index+','}" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行
1201
1207
  // },
1202
1208
  // "componentId": props.id
1203
1209
  // },
1204
- {"actionType":"custom","script":onDeleteItemScript}];}case 43:return _context122.abrupt("return",actions);case 44:case"end":return _context122.stop();}}},_callee122);}));return _getButtonActions.apply(this,arguments);}function getButtonNew(_x224){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_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,"new");case 2:_context123.t0=_context123.sent;_context123.t1={"actions":_context123.t0};_context123.t2={"click":_context123.t1};return _context123.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context123.t2,"level":"link","className":"text-gray-500","size":"xs"});case 6:case"end":return _context123.stop();}}},_callee123);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x225,_x226){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee124(props,showAsInlineEditMode){return _regeneratorRuntime().wrap(function _callee124$(_context124){while(1){switch(_context124.prev=_context124.next){case 0:_context124.t0="fa fa-".concat(showAsInlineEditMode?"expand-alt":"pencil");_context124.next=3;return getButtonActions(props,"edit");case 3:_context124.t1=_context124.sent;_context124.t2={"actions":_context124.t1};_context124.t3={"click":_context124.t2};return _context124.abrupt("return",{"type":"button","label":"","icon":_context124.t0,"level":"link","className":"text-gray-400","onEvent":_context124.t3});case 7:case"end":return _context124.stop();}}},_callee124);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x227){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee125(props){return _regeneratorRuntime().wrap(function _callee125$(_context125){while(1){switch(_context125.prev=_context125.next){case 0:_context125.next=2;return getButtonActions(props,"readonly");case 2:_context125.t0=_context125.sent;_context125.t1={"actions":_context125.t0};_context125.t2={"click":_context125.t1};return _context125.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand-alt","level":"link","className":"text-gray-400","onEvent":_context125.t2});case 6:case"end":return _context125.stop();}}},_callee125);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(_x228){return _getButtonDelete.apply(this,arguments);}function _getButtonDelete(){_getButtonDelete=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee126(props){return _regeneratorRuntime().wrap(function _callee126$(_context126){while(1){switch(_context126.prev=_context126.next){case 0:_context126.t0={"tpl":"确定要删除吗?","type":"tpl"};_context126.t1={"type":"button","label":"取消","className":"mr-2"};_context126.next=4;return getButtonActions(props,"delete");case 4:_context126.t2=_context126.sent;_context126.t3={"actions":_context126.t2};_context126.t4={"click":_context126.t3};_context126.t5={"type":"button","label":"删除","level":"danger","onEvent":_context126.t4};_context126.t6=[_context126.t1,_context126.t5];_context126.t7={"type":"flex","justify":"flex-end","className":"mt-3","items":_context126.t6};_context126.t8=[_context126.t0,_context126.t7];_context126.t9={"type":"wrapper","size":"md","className":"w-80","body":_context126.t8};_context126.t10=[_context126.t9];return _context126.abrupt("return",{"type":"dropdown-button","level":"link","btnClassName":"text-gray-400","icon":"fa fa-trash-alt","size":"xs","hideCaret":true,"closeOnClick":true,"body":_context126.t10});case 14:case"end":return _context126.stop();}}},_callee126);}));return _getButtonDelete.apply(this,arguments);}var getAmisInputTableSchema=/*#__PURE__*/function(){var _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(props){var primaryKey,showOperation,fieldPrefix,fields,serviceId,buttonsForColumnOperations,inlineEditMode,showAsInlineEditMode,showEditButton,buttonEditSchema,buttonViewSchema,buttonDeleteSchema,amis,inputTableSchema,isAnyFieldHasDependOn,schemaBody,footerToolbar,buttonNewSchema,headerToolbar,className,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);}primaryKey=getTablePrimaryKey(props);showOperation=props.showOperation;if(showOperation!==false){showOperation=true;}fieldPrefix=props.fieldPrefix;fields=props.fields||[];if(fieldPrefix){fields=getTableFieldsWithoutFieldPrefix(fields,fieldPrefix);}serviceId=getComponentId("table_service",props.id);buttonsForColumnOperations=[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;if(!showOperation){_context19.next=31;break;}if(!props.editable){_context19.next=22;break;}showEditButton=true;if(showAsInlineEditMode){// 始终显示弹出子表表单按钮,如果需要判断只在有列被隐藏时才需要显示弹出表单按钮放开下面的if逻辑就好
1210
+ {"actionType":"custom","script":onDeleteItemScript}];}case 44:return _context122.abrupt("return",actions);case 45:case"end":return _context122.stop();}}},_callee122);}));return _getButtonActions.apply(this,arguments);}function getButtonNew(_x224){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_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,"new");case 2:_context123.t0=_context123.sent;_context123.t1={"actions":_context123.t0};_context123.t2={"click":_context123.t1};return _context123.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context123.t2,"level":"link","className":"text-gray-500","size":"xs"});case 6:case"end":return _context123.stop();}}},_callee123);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x225,_x226){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee124(props,showAsInlineEditMode){return _regeneratorRuntime().wrap(function _callee124$(_context124){while(1){switch(_context124.prev=_context124.next){case 0:_context124.t0="fa fa-".concat(showAsInlineEditMode?"expand-alt":"pencil");_context124.next=3;return getButtonActions(props,"edit");case 3:_context124.t1=_context124.sent;_context124.t2={"actions":_context124.t1};_context124.t3={"click":_context124.t2};return _context124.abrupt("return",{"type":"button","label":"","icon":_context124.t0,"level":"link","className":"text-gray-400","onEvent":_context124.t3});case 7:case"end":return _context124.stop();}}},_callee124);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x227){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee125(props){return _regeneratorRuntime().wrap(function _callee125$(_context125){while(1){switch(_context125.prev=_context125.next){case 0:_context125.next=2;return getButtonActions(props,"readonly");case 2:_context125.t0=_context125.sent;_context125.t1={"actions":_context125.t0};_context125.t2={"click":_context125.t1};return _context125.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand-alt","level":"link","className":"text-gray-400","onEvent":_context125.t2});case 6:case"end":return _context125.stop();}}},_callee125);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(_x228){return _getButtonDelete.apply(this,arguments);}function _getButtonDelete(){_getButtonDelete=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee126(props){return _regeneratorRuntime().wrap(function _callee126$(_context126){while(1){switch(_context126.prev=_context126.next){case 0:_context126.t0={"tpl":"确定要删除吗?","type":"tpl"};_context126.t1={"type":"button","label":"取消","className":"mr-2"};_context126.next=4;return getButtonActions(props,"delete");case 4:_context126.t2=_context126.sent;_context126.t3={"actions":_context126.t2};_context126.t4={"click":_context126.t3};_context126.t5={"type":"button","label":"删除","level":"danger","onEvent":_context126.t4};_context126.t6=[_context126.t1,_context126.t5];_context126.t7={"type":"flex","justify":"flex-end","className":"mt-3","items":_context126.t6};_context126.t8=[_context126.t0,_context126.t7];_context126.t9={"type":"wrapper","size":"md","className":"w-80","body":_context126.t8};_context126.t10=[_context126.t9];return _context126.abrupt("return",{"type":"dropdown-button","level":"link","btnClassName":"text-gray-400","icon":"fa fa-trash-alt","size":"xs","hideCaret":true,"closeOnClick":true,"body":_context126.t10});case 14:case"end":return _context126.stop();}}},_callee126);}));return _getButtonDelete.apply(this,arguments);}var getAmisInputTableSchema=/*#__PURE__*/function(){var _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(props){var primaryKey,showOperation,fieldPrefix,fields,serviceId,buttonsForColumnOperations,inlineEditMode,showAsInlineEditMode,showEditButton,buttonEditSchema,buttonViewSchema,buttonDeleteSchema,amis,inputTableSchema,isAnyFieldHasDependOn,schemaBody,footerToolbar,buttonNewSchema,headerToolbar,className,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);}primaryKey=getTablePrimaryKey(props);showOperation=props.showOperation;if(showOperation!==false){showOperation=true;}fieldPrefix=props.fieldPrefix;fields=props.fields||[];if(fieldPrefix){fields=getTableFieldsWithoutFieldPrefix(fields,fieldPrefix);}serviceId=getComponentId("table_service",props.id);buttonsForColumnOperations=[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;if(!showOperation){_context19.next=32;break;}if(!(props.enableDialog!==false)){_context19.next=27;break;}if(!props.editable){_context19.next=23;break;}showEditButton=true;if(showAsInlineEditMode){// 始终显示弹出子表表单按钮,如果需要判断只在有列被隐藏时才需要显示弹出表单按钮放开下面的if逻辑就好
1205
1211
  showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要显示编辑按钮
1206
1212
  // if (props.columns && props.columns.length > 0 && props.columns.length < fields.length) {
1207
1213
  // showEditButton = true;
@@ -1210,8 +1216,8 @@ showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要
1210
1216
  // showEditButton = false;
1211
1217
  // }
1212
1218
  }// 编辑时显示编辑按钮
1213
- 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不好理解
1214
- _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);}value=getTableValueWithEmptyValue(value,fields);if(primaryKey){// 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值
1219
+ if(!showEditButton){_context19.next=21;break;}_context19.next=19;return getButtonEdit(props,showAsInlineEditMode);case 19:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 21:_context19.next=27;break;case 23:_context19.next=25;return getButtonView(props);case 25:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 27:if(!props.removable){_context19.next=32;break;}_context19.next=30;return getButtonDelete(props);case 30:buttonDeleteSchema=_context19.sent;buttonsForColumnOperations.push(buttonDeleteSchema);case 32:amis=props["input-table"]||props.amis||{};//额外支持"input-table"代替amis属性,是因为在字段yml文件中用amis作为key不好理解
1220
+ _context19.t0=props.name;_context19.t1=props.draggable;_context19.t2=props.showIndex;_context19.t3=props.perPage;_context19.t4=props.id;_context19.next=40;return getInputTableColumns(props);case 40:_context19.t5=_context19.sent;_context19.t6=props.strictMode;_context19.t7=props.tableClassName;_context19.t8=function pipeIn(value,data){if(fieldPrefix){value=getTableValueWithoutFieldPrefix(value,fieldPrefix);}value=getTableValueWithEmptyValue(value,fields);if(primaryKey){// 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值
1215
1221
  // 这里始终自动生成primaryKey字段值,而不是只在pipeOut输出整个子表字段值时才生成,是因为要支持当数据库里保存的子表字段行数据没有primaryKey字段值时的行嵌套模式(即节点的children属性)功能
1216
1222
  // 这里要注意,流程详细设置界面的字段设置功能中的子表组件中,数据库里保存的子表字段行数据是有primaryKey字段值的,它不依赖这里自动生成行primaryKey值功能
1217
1223
  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);}value=getTableValueWithoutEmptyValue(value,fields);if(props.autoGeneratePrimaryKeyValue===true){// 如果需要把自动生成的primaryKey值输出保存的库中,则补全所有行中的primaryKey值
@@ -1230,13 +1236,13 @@ delete amis.pipeIn;//该属性在上面合并过了
1230
1236
  delete amis.pipeOut;//该属性在上面合并过了
1231
1237
  Object.assign(inputTableSchema,amis);}isAnyFieldHasDependOn=(fields||[]).find(function(item){return item.depend_on;});if(isAnyFieldHasDependOn){// 有任意一个子字段有depend_on属性时,强制设置禁用静态模式,因为strictMode模式下,dependOn的字段值变更后,不会rerender整个子表
1232
1238
  Object.assign(inputTableSchema,{strictMode:false});}schemaBody=[inputTableSchema];footerToolbar=_$1.clone(props.footerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
1233
- if(!props.addable){_context19.next=56;break;}_context19.next=54;return getButtonNew(props);case 54:buttonNewSchema=_context19.sent;footerToolbar.unshift(buttonNewSchema);case 56:if(footerToolbar.length){schemaBody.push({"type":"wrapper","size":"none","body":footerToolbar});}// 直接把headerToolbar unshift进schemaBody,不会显示在label下面,而是显示在上面了,这个暂时没有解决办法,只能等amis 升级
1239
+ 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 升级
1234
1240
  // 看起来amis官方后续会支持给input-table组件配置headerToolbar,见:https://github.com/baidu/amis/issues/7246
1235
1241
  // 不过依然放开此功能的意义在于有的场景字段label本来就不需要显示出来,此时headerToolbar就有意义
1236
1242
  headerToolbar=_$1.clone(props.headerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
1237
1243
  if(headerToolbar.length){schemaBody.unshift({"type":"wrapper","size":"none","body":headerToolbar});}className="steedos-input-table";if(_typeof(props.className)=="object"){className=_objectSpread(_defineProperty({},className,"true"),props.className);}else if(typeof props.className=="string"){className="".concat(className," ").concat(props.className," ");}schema={"type":"control","body":{"type":"service","body":schemaBody,"id":serviceId},"label":props.label,"labelClassName":props.label?props.labelClassName:"none","labelRemark":props.labelRemark,"labelAlign":props.labelAlign,//控制control的mode属性,https://aisuda.bce.baidu.com/amis/zh-CN/components/form/formitem#表单项展示
1238
1244
  "mode":props.mode||null,"visibleOn":props.$schema.visibleOn,"visible":props.$schema.visible,"hiddenOn":props.$schema.hiddenOn,"hidden":props.$schema.hidden,className:className};// console.log("===schema===", schema);
1239
- return _context19.abrupt("return",schema);case 63:case"end":return _context19.stop();}}},_callee19);}));return function getAmisInputTableSchema(_x229){return _ref20.apply(this,arguments);};}();// import { getListSchema } from './objects';
1245
+ return _context19.abrupt("return",schema);case 64:case"end":return _context19.stop();}}},_callee19);}));return function getAmisInputTableSchema(_x229){return _ref20.apply(this,arguments);};}();// import { getListSchema } from './objects';
1240
1246
  function getScopeId(objectApiName,type){return"page_".concat(objectApiName,"_").concat(type);}// 获取表单初始化amisSchema
1241
1247
  function getFormPageInitSchema(_x230){return _getFormPageInitSchema.apply(this,arguments);}// 获取列表页面初始化amisSchema
1242
1248
  function _getFormPageInitSchema(){_getFormPageInitSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee127(objectApiName){var schema;return _regeneratorRuntime().wrap(function _callee127$(_context127){while(1){switch(_context127.prev=_context127.next){case 0:_context127.next=2;return getFormSchema(objectApiName,{recordId:'${recordId}'});case 2:schema=_context127.sent;return _context127.abrupt("return",{type:'page',name:getScopeId(objectApiName,"form"),bodyClassName:'',regions:["body"],body:[schema.amisSchema]});case 4:case"end":return _context127.stop();}}},_callee127);}));return _getFormPageInitSchema.apply(this,arguments);}function getListPageInitSchema(_x231,_x232,_x233){return _getListPageInitSchema.apply(this,arguments);}// 获取