@steedos-widgets/amis-lib 1.3.0-beta.14 → 1.3.0-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +60 -34
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +60 -34
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +15 -13
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/header.d.ts +7 -1
- package/dist/types/lib/converter/amis/util.d.ts +1 -0
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -38,10 +38,10 @@ var value=localStorage.getItem(key);return value?value:'grid';},setTabDisplayAs:
|
|
|
38
38
|
},getObjectListViewPath:function getObjectListViewPath(_ref3){var formFactor=_ref3.formFactor,appId=_ref3.appId,objectName=_ref3.objectName,listViewName=_ref3.listViewName;return"/app/".concat(appId,"/").concat(objectName,"/grid/").concat(listViewName);},getObjectDetailPath:function getObjectDetailPath(props){var formFactor=props.formFactor,appId=props.appId,objectName=props.objectName,recordId=props.recordId,listViewName=props.listViewName,_templateType=props._templateType;if(_templateType==='JavaScript'){return"/app/".concat(appId,"/").concat(objectName,"/view/").concat(recordId,"?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>");}return"/app/".concat(appId,"/").concat(objectName,"/view/").concat(recordId,"?side_object=${objectName}&side_listview_id=${listName}");},getObjectRelatedViewPath:function getObjectRelatedViewPath(_ref4){var formFactor=_ref4.formFactor,appId=_ref4.appId,masterObjectName=_ref4.masterObjectName,masterRecordId=_ref4.masterRecordId,objectName=_ref4.objectName,foreignKey=_ref4.foreignKey;return"/app/".concat(appId,"/").concat(masterObjectName,"/").concat(masterRecordId,"/").concat(objectName,"/grid?related_field_name=").concat(foreignKey);}};/*
|
|
39
39
|
* @Author: baozhoutao@steedos.com
|
|
40
40
|
* @Date: 2022-07-20 16:29:22
|
|
41
|
-
* @LastEditors:
|
|
42
|
-
* @LastEditTime: 2023-
|
|
41
|
+
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
42
|
+
* @LastEditTime: 2023-09-06 18:59:40
|
|
43
43
|
* @Description:
|
|
44
|
-
*/function getContrastColor(bgColor){var backgroundColor=bgColor.charAt(0)==='#'?bgColor.substring(1,7):bgColor;var r=parseInt(backgroundColor.substr(0,2),16);var g=parseInt(backgroundColor.substr(2,2),16);var b=parseInt(backgroundColor.substr(4,2),16);var brightness=(r*299+g*587+b*114)/1000;return brightness<128?"#ffffff":"#000000";}/*
|
|
44
|
+
*/function getContrastColor(bgColor){var backgroundColor=bgColor.charAt(0)==='#'?bgColor.substring(1,7):bgColor;var r=parseInt(backgroundColor.substr(0,2),16);var g=parseInt(backgroundColor.substr(2,2),16);var b=parseInt(backgroundColor.substr(4,2),16);var brightness=(r*299+g*587+b*114)/1000;return brightness<128?"#ffffff":"#000000";}function getLookupListView(refObjectConfig){var listNameAll="all";var listNameLookup="lookup";var listViewAll,listViewLookup;_.each(refObjectConfig.list_views,function(view,name){if(name===listNameAll){listViewAll=view;if(!listViewAll.name){listViewAll.name=name;}}else if(name===listNameLookup){listViewLookup=view;if(!listViewLookup.name){listViewLookup.name=name;}}});var listView=listViewLookup||listViewAll;return listView;}/*
|
|
45
45
|
* @Author: baozhoutao@steedos.com
|
|
46
46
|
* @Date: 2022-05-23 09:53:08
|
|
47
47
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
@@ -79,7 +79,7 @@ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 2:data=_context58
|
|
|
79
79
|
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后续在发送适配器中替换
|
|
80
80
|
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 _context58.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 _context58.stop();}}},_callee58);}));return _getDeferApi$.apply(this,arguments);}function getSearchApi(_x27,_x28){return _getSearchApi.apply(this,arguments);}function _getSearchApi(){_getSearchApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee59(field,ctx){var data,filters,requestAdaptor;return _regeneratorRuntime().wrap(function _callee59$(_context59){while(1){switch(_context59.prev=_context59.next){case 0:_context59.next=2;return getFindQuery({name:refUsersObjectName},null,[{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",// filters: "{__filters}",
|
|
81
81
|
queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 2:data=_context59.sent;data.query=data.query.replace(/,count\:.+/,"}");// 传入的默认过滤条件,比如[["name", "contains", "三"]],将会作为基本过滤条件
|
|
82
|
-
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 _context59.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 _context59.stop();}}},_callee59);}));return _getSearchApi.apply(this,arguments);}function getRefListViewSort$1(refObject){var listView=
|
|
82
|
+
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 _context59.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 _context59.stop();}}},_callee59);}));return _getSearchApi.apply(this,arguments);}function getRefListViewSort$1(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function getSelectUserSchema(_x29,_x30,_x31){return _getSelectUserSchema.apply(this,arguments);}function _getSelectUserSchema(){_getSelectUserSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee60(field,readonly,ctx){var amisSchema,refUsersObjectConfig,refOrgsObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee60$(_context60){while(1){switch(_context60.prev=_context60.next){case 0:if(field){_context60.next=2;break;}return _context60.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('select',readonly)};if(!readonly){_context60.next=10;break;}_context60.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context60.sent;_context60.next=38;break;case 10:_context60.next=12;return getUISchema(refUsersObjectName);case 12:refUsersObjectConfig=_context60.sent;ctx.usersSort=getRefListViewSort$1(refUsersObjectConfig);_context60.next=16;return getUISchema(refOrgsObjectName);case 16:refOrgsObjectConfig=_context60.sent;ctx.orgsSort=getRefListViewSort$1(refOrgsObjectConfig);_context60.t0=Object;_context60.t1=amisSchema;_context60.t2=field.multiple;_context60.t3=field.searchable;_context60.next=24;return getSource$1(field,ctx);case 24:_context60.t4=_context60.sent;_context60.next=27;return getDeferApi$1(field,ctx);case 27:_context60.t5=_context60.sent;_context60.next=30;return getSearchApi(field,ctx);case 30:_context60.t6=_context60.sent;_context60.t7={"multiple":_context60.t2,"searchable":_context60.t3,"selectMode":"associated","leftMode":"tree","extractValue":true,"clearable":true,"source":_context60.t4,"deferApi":_context60.t5,"searchApi":_context60.t6};_context60.t0.assign.call(_context60.t0,_context60.t1,_context60.t7);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
83
83
|
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 _context60.abrupt("return",amisSchema);case 39:case"end":return _context60.stop();}}},_callee60);}));return _getSelectUserSchema.apply(this,arguments);}var globalTag='__G_L_O_B_A_L__';var getParentPath=function getParentPath(path){var pathArr;if(typeof path==='string'){pathArr=path.split('.');if(pathArr.length===1){return'#';}pathArr.pop();return pathArr.join('.');}return'#';};var getValueByPath=function getValueByPath(formData,path){if(path==='#'||!path){return formData||{};}else if(typeof path==='string'){return _$1.get(formData,path);}else{console.error('path has to be a string');}};var isExpression=function isExpression(func){var pattern,reg1,reg2;if(typeof func!=='string'){return false;}pattern=/^{{(.+)}}$/;reg1=/^{{(function.+)}}$/;reg2=/^{{(.+=>.+)}}$/;if(typeof func==='string'&&func.match(pattern)&&!func.match(reg1)&&!func.match(reg2)){return true;}return false;};var parseSingleExpression=function parseSingleExpression(func,formData,dataPath,global){var userSession=arguments.length>4&&arguments[4]!==undefined?arguments[4]:{};var error,funcBody,parent,parentPath,str;if(formData===void 0){formData={};}parentPath=getParentPath(dataPath);parent=getValueByPath(formData,parentPath)||{};if(typeof func==='string'){funcBody=func.substring(2,func.length-2);str="\n var $user=".concat(JSON.stringify(userSession),"; return ")+funcBody.replace(/\bformData\b/g,JSON.stringify(formData).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(global)).replace(new RegExp('\\b'+globalTag+'\\b','g'),'global').replace(/rootValue/g,JSON.stringify(parent));try{return Function(str)();}catch(_error){error=_error;console.log(error,func,dataPath);return func;}}else{return func;}};/*
|
|
84
84
|
* @Author: baozhoutao@steedos.com
|
|
85
85
|
* @Date: 2022-11-01 15:51:00
|
|
@@ -157,7 +157,8 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
157
157
|
},// "id": `service_listview_filter_form_${objectSchema.name}`,
|
|
158
158
|
"dataProvider":{"inited":dataProviderInited},"body":{"type":"wrapper","body":{"type":"wrapper","body":[filterFormSchema,{"type":"wrapper","body":{"type":"wrapper","body":[{"type":"button","id":btnSearchId,"label":i18next__default["default"].t('frontend_fields_filter_button_search'),"icon":"fa fa-search",// "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
159
159
|
"onEvent":{"click":{"actions":[{"actionType":"custom","script":onSearchScript}]}}},{"type":"button","label":i18next__default["default"].t('frontend_form_cancel'),"name":"btn_filter_form_cancel",// "visibleOn": "this.filterFormSearchableFields && this.filterFormSearchableFields.length",
|
|
160
|
-
"onEvent":{"click":{"actions":[{"actionType":"custom","script":onCancelScript}]}}},{"type":"button","label":i18next__default["default"].t('frontend_fields_filter_button_settings'),"onEvent":{"click":{"actions":[{"actionType":"dialog","dialog":{"type":"dialog","size":"md","title":i18next__default["default"].t('frontend_fields_filter_button_settings'),"body":[{"type":"form","title":"","body":[{"label":"","type":"transfer","name":"fields","id":"u:92c0b3cccca0","source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options","dataType":"json","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"$self":"$$"},"requestAdaptor":"","adaptor":"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: \u6682\u65F6\u7981\u7528location\u7C7B\u578B\u5B57\u6BB5\u7684\u5217\u8868\u641C\u7D22\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n "},"options":[],"required":true,"placeholder":"-","className":"col-span-2 m-0","checkAll":false,"searchable":true,"sortable":true,"joinValues":false,"extractValue":true,"multiple":true}],"id":"u:e5ac506d5683","mode":"normal","persistData":false,"promptPageLeave":true,"name":"form","debug":false,"actions":[],"panelClassName":"m-0","bodyClassName":"p-4","className":"steedos-amis-form"}],"id":"u:ca99fa9fe1b1","actions":[{"type":"button","label":i18next__default["default"].t('frontend_form_cancel'),"onEvent":{"click":{"actions":[{"componentId":"","args":{},"actionType":"closeDialog"}]}},"id":"u:4e447b5ca72a"},{"type":"button","label":i18next__default["default"].t('frontend_form_confirm'),"onEvent":{"click":{"actions":[{"actionType":"custom","script":onSearchableFieldsChangeScript},{"actionType":"click","componentId":btnSearchId,"args":{"__from_fields_filter_settings_confirm":true}},{"componentId":"","args":{},"actionType":"closeDrawer"}]}},"id":"u:14e7388fecd3","level":"primary"}],"closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"data":{"&":"$$","objectName":"${objectName}","listName":"${listName}","listViewId":"${listViewId}","uiSchema":"${uiSchema}","isLookup":"${isLookup}","context":"${context}","fields":"${filterFormSearchableFields}"}}}]}},"id":"u:b96d84868a5a","level":"link"}],"size":"xs","className":"space-x-4"},"size":"xs","className":"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],"size":"xs","className":"slds-filters"},"size":"xs","className":"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case 11:case"end":return _context64.stop();}}},_callee64);}));return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function getObjectListHeaderFirstLine(objectSchema,listViewName,ctx){var icon=objectSchema.icon,label=objectSchema.label;var listViewButtonOptions=[];_$1.each(objectSchema.list_views,function(listView,name){
|
|
160
|
+
"onEvent":{"click":{"actions":[{"actionType":"custom","script":onCancelScript}]}}},{"type":"button","label":i18next__default["default"].t('frontend_fields_filter_button_settings'),"onEvent":{"click":{"actions":[{"actionType":"dialog","dialog":{"type":"dialog","size":"md","title":i18next__default["default"].t('frontend_fields_filter_button_settings'),"body":[{"type":"form","title":"","body":[{"label":"","type":"transfer","name":"fields","id":"u:92c0b3cccca0","source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options","dataType":"json","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"$self":"$$"},"requestAdaptor":"","adaptor":"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: \u6682\u65F6\u7981\u7528location\u7C7B\u578B\u5B57\u6BB5\u7684\u5217\u8868\u641C\u7D22\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n "},"options":[],"required":true,"placeholder":"-","className":"col-span-2 m-0","checkAll":false,"searchable":true,"sortable":true,"joinValues":false,"extractValue":true,"multiple":true}],"id":"u:e5ac506d5683","mode":"normal","persistData":false,"promptPageLeave":true,"name":"form","debug":false,"actions":[],"panelClassName":"m-0","bodyClassName":"p-4","className":"steedos-amis-form"}],"id":"u:ca99fa9fe1b1","actions":[{"type":"button","label":i18next__default["default"].t('frontend_form_cancel'),"onEvent":{"click":{"actions":[{"componentId":"","args":{},"actionType":"closeDialog"}]}},"id":"u:4e447b5ca72a"},{"type":"button","label":i18next__default["default"].t('frontend_form_confirm'),"onEvent":{"click":{"actions":[{"actionType":"custom","script":onSearchableFieldsChangeScript},{"actionType":"click","componentId":btnSearchId,"args":{"__from_fields_filter_settings_confirm":true}},{"componentId":"","args":{},"actionType":"closeDrawer"}]}},"id":"u:14e7388fecd3","level":"primary"}],"closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"data":{"&":"$$","objectName":"${objectName}","listName":"${listName}","listViewId":"${listViewId}","uiSchema":"${uiSchema}","isLookup":"${isLookup}","context":"${context}","fields":"${filterFormSearchableFields}"}}}]}},"id":"u:b96d84868a5a","level":"link"}],"size":"xs","className":"space-x-4"},"size":"xs","className":"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],"size":"xs","className":"slds-filters"},"size":"xs","className":"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case 11:case"end":return _context64.stop();}}},_callee64);}));return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function getObjectListHeaderFirstLine(objectSchema,listViewName,ctx){var icon=objectSchema.icon,label=objectSchema.label;var listViewButtonOptions=[];_$1.each(objectSchema.list_views,function(listView,name){if(name==="lookup"){// 内置lookup为弹出选择专用视图,不显示在列表切换区域
|
|
161
|
+
return;}listViewButtonOptions.push({type:"button",label:listView.label,actionType:"link",link:"/app/${appId}/".concat(objectSchema.name,"/grid/").concat(name)});});var amisButtonsSchema=getObjectListViewButtonsSchemas(objectSchema,{formFactor:ctx.formFactor});var reg=new RegExp('_','g');var standardIcon=icon&&icon.replace(reg,'-');var standardNewButton=_.find(amisButtonsSchema,{name:"standard_new"});var buttonSchema=[{"type":"flex","items":amisButtonsSchema,"visibleOn":"${display == 'split'?false:true}"}];if(ctx.formFactor!=='SMALL'){buttonSchema.push({"type":"flex","items":[standardNewButton,{"type":"dropdown-button","buttons":Array.isArray(amisButtonsSchema)?amisButtonsSchema.filter(function(obj){return obj.name!=="standard_new";}):{},"menuClassName":"p-none split-dropdown-buttons","align":"right","size":"sm"}],"visibleOn":"${display == 'split'?true:false}"});}return{"type":"grid","columns":[{"body":[{"type":"grid","columns":[{"body":{"type":"tpl","className":"block","tpl":"<svg class=\"slds-icon slds-icon_container slds-icon-standard-".concat(standardIcon," slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#").concat(icon,"\"></use></svg>")},"md":"auto","className":"","columnClassName":"flex justify-center items-center","valign":"middle"},{"body":[{"type":"tpl","tpl":"".concat(label),"inline":false,"wrapperComponent":"","className":"text-md leading-none text-black"},{"type":"dropdown-button","className":"","label":"\${listName ? uiSchema.list_views[listName].label : uiSchema.list_views[defaultListName].label}","rightIcon":"fa fa-caret-down","size":"sm","hideCaret":true,"closeOnClick":true,"btnClassName":"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none","buttons":listViewButtonOptions}],"md":"","columnClassName":"p-l-xs"}],"className":"flex justify-between"}],"md":"auto"},{"body":buttonSchema,"md":"auto","valign":"middle"}],"className":"flex justify-between"};}/**
|
|
161
162
|
* 列表视图顶部第二行amisSchema
|
|
162
163
|
* @param {*} objectSchema 对象UISchema
|
|
163
164
|
* @returns amisSchema
|
|
@@ -309,14 +310,15 @@ valueField="".concat(ctx.fieldNamePrefix).concat(valueField);}data.$value="$".co
|
|
|
309
310
|
refObjectName=ctx.objectName;_context72.next=3;return getFindQuery({name:"{__object_name}"},null,[],{alias:"options",// filters: "{__filters}",
|
|
310
311
|
queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context72.sent;// 传入的默认过滤条件,比如[["name", "contains", "三"]],将会作为基本过滤条件
|
|
311
312
|
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后续在发送适配器中替换
|
|
312
|
-
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 _context72.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 _context72.stop();}}},_callee72);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=
|
|
313
|
-
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context73.abrupt("return",amisSchema);case 31:case"end":return _context73.stop();}}},_callee73);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceTo=/*#__PURE__*/function(){var _ref13=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(field){var referenceTo,refObjectConfig,valueField,valueFieldName;return _regeneratorRuntime().wrap(function _callee13$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:referenceTo=field.reference_to;if(referenceTo){_context13.next=3;break;}return _context13.abrupt("return");case 3:if(referenceTo==='users'){referenceTo='space_users';field.reference_to_field='user';}_context13.next=6;return getUISchema(referenceTo);case 6:refObjectConfig=_context13.sent;if(refObjectConfig){_context13.next=9;break;}return _context13.abrupt("return",null);case 9:valueField=null;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 _context13.abrupt("return",{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'});case 14:case"end":return _context13.stop();}}},_callee13);}));return function getReferenceTo(_x87){return _ref13.apply(this,arguments);};}();function getLookupSapceUserTreeSchema(isMobile){var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":"if (payload.data.treeCache == true) {\n return payload;\n }\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++){\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++){\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n\n _.each(records, (record) => {\n if (record.noParent ==1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n\n payload.data.options = treeRecords;\n payload.data.treeCache = true;\n return payload;\n ","requestAdaptor":"\n ","data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x88,_x89,_x90){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee74(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,i,searchableFields,fieldsArr,listName,isMobile,listView,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,headerToolbarItems,isAllowCreate,new_button,data;return _regeneratorRuntime().wrap(function _callee74$(_context74){while(1){switch(_context74.prev=_context74.next){case 0:_context74.next=2;return getReferenceTo(field);case 2:referenceTo=_context74.sent;if(referenceTo){_context74.next=5;break;}return _context74.abrupt("return");case 5:_context74.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context74.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];i=0;searchableFields=[];fieldsArr=[];listName="all";isMobile=window.innerWidth<768;listView=___namespace.find(refObjectConfig.list_views,function(listView,name){return name===listName;});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);}});}___namespace.each(___namespace.sortBy(fieldsArr,"sort_no"),function(field){if(i<5){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){i++;tableFields.push(field);}}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context74.next=26;return getApi$1(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 26:source=_context74.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="$$";keywordsSearchBoxName="__keywords_lookup__".concat(field.name,"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super.__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 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 return payload;\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\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;_context74.next=39;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 39:pickerSchema=_context74.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;if(!isAllowCreate){_context74.next=51;break;}_context74.next=48;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 48:new_button=_context74.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
314
|
-
|
|
313
|
+
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 _context72.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 _context72.stop();}}},_callee72);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x84,_x85,_x86){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee73(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee73$(_context73){while(1){switch(_context73.prev=_context73.next){case 0:if(field){_context73.next=2;break;}return _context73.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context73.next=10;break;}_context73.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context73.sent;_context73.next=30;break;case 10:_context73.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context73.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context73.t0=Object;_context73.t1=amisSchema;_context73.t2=field.multiple;_context73.t3=field.searchable;_context73.next=20;return getSource(field,ctx);case 20:_context73.t4=_context73.sent;_context73.next=23;return getDeferApi(field,ctx);case 23:_context73.t5=_context73.sent;_context73.t6={"multiple":_context73.t2,"searchable":_context73.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context73.t4,"deferApi":_context73.t5};_context73.t0.assign.call(_context73.t0,_context73.t1,_context73.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
314
|
+
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context73.abrupt("return",amisSchema);case 31:case"end":return _context73.stop();}}},_callee73);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceTo=/*#__PURE__*/function(){var _ref13=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee13(field){var referenceTo,refObjectConfig,valueField,valueFieldName;return _regeneratorRuntime().wrap(function _callee13$(_context13){while(1){switch(_context13.prev=_context13.next){case 0:referenceTo=field.reference_to;if(referenceTo){_context13.next=3;break;}return _context13.abrupt("return");case 3:if(referenceTo==='users'){referenceTo='space_users';field.reference_to_field='user';}_context13.next=6;return getUISchema(referenceTo);case 6:refObjectConfig=_context13.sent;if(refObjectConfig){_context13.next=9;break;}return _context13.abrupt("return",null);case 9:valueField=null;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 _context13.abrupt("return",{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'});case 14:case"end":return _context13.stop();}}},_callee13);}));return function getReferenceTo(_x87){return _ref13.apply(this,arguments);};}();function getLookupSapceUserTreeSchema(isMobile){var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":"if (payload.data.treeCache == true) {\n return payload;\n }\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (records, childrenIds) => {\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++){\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++){\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n\n _.each(records, (record) => {\n if (record.noParent ==1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(records, record.children) }));\n }\n });\n console.log(treeRecords)\n\n payload.data.options = treeRecords;\n payload.data.treeCache = true;\n return payload;\n ","requestAdaptor":"\n ","data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x88,_x89,_x90){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee74(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,headerToolbarItems,isAllowCreate,new_button,data;return _regeneratorRuntime().wrap(function _callee74$(_context74){while(1){switch(_context74.prev=_context74.next){case 0:_context74.next=2;return getReferenceTo(field);case 2:referenceTo=_context74.sent;if(referenceTo){_context74.next=5;break;}return _context74.abrupt("return");case 5:_context74.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context74.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排序
|
|
315
|
+
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context74.next=25;return getApi$1(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 25:source=_context74.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="$$";keywordsSearchBoxName="__keywords_lookup__".concat(field.name,"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super.__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 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 return payload;\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\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;_context74.next=38;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 38:pickerSchema=_context74.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;if(!isAllowCreate){_context74.next=50;break;}_context74.next=47;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 47:new_button=_context74.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
316
|
+
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 50:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar();if(!(ctx.filterVisible!==false)){_context74.next=55;break;}_context74.next=54;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 54:pickerSchema.filter=_context74.sent;case 55:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
315
317
|
"isLookup":true});if(!pickerSchema.onEvent){pickerSchema.onEvent={};}pickerSchema.onEvent["@data.changed.".concat(refObjectConfig.name)]={"actions":[{"actionType":"reload"},{"actionType":"custom","script":"\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ".concat(JSON.stringify(field),";\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: \u8FDE\u7EED\u65B0\u5EFA\u591A\u4E2A\u8BB0\u5F55\u65F6\uFF0C\u56E0\u4E3A\u83B7\u53D6\u7684\u4E3B\u8BB0\u5F55\u4E0D\u662F\u5B9E\u65F6\u7684\uFF0C\u6240\u4EE5\u53EA\u4F1A\u52FE\u9009\u6700\u540E\u4E00\u4E2A\u65B0\u5EFA\u7684\u8BB0\u5F55\u3002\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ").concat(JSON.stringify(ctx),";\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n ")}]};if(field.pickerSchema){pickerSchema=Object.assign({},pickerSchema,field.pickerSchema);}if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"&&isMobile){//手机端选人控件只保留部分toolbar
|
|
316
318
|
pickerSchema.headerToolbar=pickerSchema.headerToolbar&&pickerSchema.headerToolbar.filter(function(item){if(["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(item.id)>-1){return true;}else{return false;}});pickerSchema.footerToolbar=["pagination"];}data={type:getAmisStaticFieldType('picker',readonly),modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
317
319
|
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,用来配置弹出方式
|
|
318
|
-
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context74.next=
|
|
319
|
-
if(!referenceTo){_context75.next=14;break;}_context75.next=7;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 7:defaultValueOptionsQueryData=_context75.sent;_context75.next=10;return getApi$1({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}\"",moreQueries:[defaultValueOptionsQueryData.query]});case 10:apiInfo=_context75.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 ";_context75.next=15;break;case 14:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 15:_context75.t0=referenceTo;if(!_context75.t0){_context75.next=20;break;}_context75.next=19;return getUISchema(referenceTo.objectName);case 19:_context75.t0=_context75.sent;case 20:refObjectConfig=_context75.t0;listView=
|
|
320
|
+
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context74.next=66;break;}_context74.next=65;return getLookupTpl(field,ctx);case 65:data.tpl=_context74.sent;case 66:return _context74.abrupt("return",data);case 67:case"end":return _context74.stop();}}},_callee74);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x91,_x92,_x93){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,sort,depend_on,sendOn,data,select_menuTpl;return _regeneratorRuntime().wrap(function _callee75$(_context75){while(1){switch(_context75.prev=_context75.next){case 0:_context75.next=2;return getReferenceTo(field);case 2:referenceTo=_context75.sent;valueFieldKey=referenceTo&&((_referenceTo$valueFie=referenceTo.valueField)===null||_referenceTo$valueFie===void 0?void 0:_referenceTo$valueFie.name)||'_id';// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
321
|
+
if(!referenceTo){_context75.next=14;break;}_context75.next=7;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 7:defaultValueOptionsQueryData=_context75.sent;_context75.next=10;return getApi$1({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}\"",moreQueries:[defaultValueOptionsQueryData.query]});case 10:apiInfo=_context75.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 ";_context75.next=15;break;case 14:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 15:_context75.t0=referenceTo;if(!_context75.t0){_context75.next=20;break;}_context75.next=19;return getUISchema(referenceTo.objectName);case 19:_context75.t0=_context75.sent;case 20:refObjectConfig=_context75.t0;listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
320
322
|
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'}`;
|
|
321
323
|
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"]]
|
|
322
324
|
apiInfo.requestAdaptor="\n var filters = [];\n var top = 10;\n if(api.data.$term){\n filters = [[\"".concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.NAME_FIELD_KEY)||'name',"\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n const inFilterForm = ").concat(ctx.inFilterForm,";\n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = \"").concat(sort,"\";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n // \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 }\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目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
@@ -330,8 +332,8 @@ if(!readonly){_context77.next=3;break;}return _context77.abrupt("return",{type:g
|
|
|
330
332
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
331
333
|
* @LastEditTime: 2023-08-28 17:45:38
|
|
332
334
|
* @Description:
|
|
333
|
-
*/function _getIdsPickerSchema(){_getIdsPickerSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee80(field,readonly,ctx){var _fields2;var referenceTo,refObjectConfig,_ctx,idsDependOn,fields,tableFields,source,top,pickerSchema,data;return _regeneratorRuntime().wrap(function _callee80$(_context80){while(1){switch(_context80.prev=_context80.next){case 0:if(!ctx){ctx={};}_context80.next=3;return getReferenceTo(field);case 3:referenceTo=_context80.sent;if(referenceTo){_context80.next=6;break;}return _context80.abrupt("return");case 6:_context80.next=8;return getUISchema(referenceTo.objectName);case 8:refObjectConfig=_context80.sent;_ctx=ctx,idsDependOn=_ctx.idsDependOn;fields=(_fields2={},_defineProperty(_fields2,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields2,referenceTo.valueField.name,referenceTo.valueField),_fields2);tableFields=[referenceTo.labelField];_context80.next=14;return getApi$1(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}"});case 14:source=_context80.sent;source.data.$term="$term";source.data.$self="$$";if(idsDependOn&&source.url&&!ctx.inFilterForm){source.sendOn="${".concat(idsDependOn," && ").concat(idsDependOn,".length}");source.url="".concat(source.url,"&depend_on_").concat(idsDependOn,"=${").concat(idsDependOn,"|join}");}source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"".concat(referenceTo.valueField.name,"\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"").concat(idsDependOn,"\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"").concat(referenceTo.valueField.name,"\", \"=\", ids]);\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip);\n return api;\n ");top=1000;pickerSchema=null;if(!(ctx.formFactor==='SMALL')){_context80.next=
|
|
334
|
-
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(ctx.value){data.value=ctx.value;}if(ctx.selectFirst!=undefined){data.selectFirst=ctx.selectFirst;}if(!readonly){_context80.next=
|
|
335
|
+
*/function _getIdsPickerSchema(){_getIdsPickerSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee80(field,readonly,ctx){var _fields2;var referenceTo,refObjectConfig,_ctx,idsDependOn,fields,tableFields,source,listView,sort,top,pickerSchema,data;return _regeneratorRuntime().wrap(function _callee80$(_context80){while(1){switch(_context80.prev=_context80.next){case 0:if(!ctx){ctx={};}_context80.next=3;return getReferenceTo(field);case 3:referenceTo=_context80.sent;if(referenceTo){_context80.next=6;break;}return _context80.abrupt("return");case 6:_context80.next=8;return getUISchema(referenceTo.objectName);case 8:refObjectConfig=_context80.sent;_ctx=ctx,idsDependOn=_ctx.idsDependOn;fields=(_fields2={},_defineProperty(_fields2,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields2,referenceTo.valueField.name,referenceTo.valueField),_fields2);tableFields=[referenceTo.labelField];_context80.next=14;return getApi$1(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 14:source=_context80.sent;source.data.$term="$term";source.data.$self="$$";if(idsDependOn&&source.url&&!ctx.inFilterForm){source.sendOn="${".concat(idsDependOn," && ").concat(idsDependOn,".length}");source.url="".concat(source.url,"&depend_on_").concat(idsDependOn,"=${").concat(idsDependOn,"|join}");}listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}source.requestAdaptor="\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"".concat(sort,"\";\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"").concat(idsDependOn,"\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"").concat(referenceTo.valueField.name,"\", \"=\", ids]);\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");top=1000;pickerSchema=null;if(!(ctx.formFactor==='SMALL')){_context80.next=30;break;}_context80.next=27;return getListSchema$1(tableFields,_objectSpread(_objectSpread({top:top},ctx),{},{actions:false}));case 27:pickerSchema=_context80.sent;_context80.next=34;break;case 30:_context80.next=32;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:refObjectConfig.NAME_FIELD_KEY,top:top,isLookup:true},ctx));case 32:pickerSchema=_context80.sent;pickerSchema.affixHeader=false;case 34:data={type:getAmisStaticFieldType('picker',readonly),labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,modalMode:'dialog',source:source,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
336
|
+
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(ctx.value){data.value=ctx.value;}if(ctx.selectFirst!=undefined){data.selectFirst=ctx.selectFirst;}if(!readonly){_context80.next=42;break;}_context80.next=41;return getLookupTpl(field,ctx);case 41:data.tpl=_context80.sent;case 42:return _context80.abrupt("return",data);case 43:case"end":return _context80.stop();}}},_callee80);}));return _getIdsPickerSchema.apply(this,arguments);}var getMarkdownFieldSchema=function getMarkdownFieldSchema(field,readonly,ctx){if(readonly){return{"type":"control","label":field.label,"body":{"type":"markdown","name":field.name,"options":{"linkify":true,"html":true,"breaks":true}}};}else{return{"type":"control","label":field.label,"body":[{"type":"tabs","tabsMode":"strong","className":"steedos-markdown","tabs":[{"title":i18next__default["default"].t('frontend_form_edit'),"tab":[{"type":"editor","name":field.name,"language":"markdown"}]},{"title":i18next__default["default"].t('frontend_form_preview'),"tab":[{"type":"markdown","name":field.name,"options":{"linkify":true,"html":true,"breaks":true}}]}]}]};}};var getHtmlFieldSchema=function getHtmlFieldSchema(field,readonly,ctx){if(readonly){// return {
|
|
335
337
|
// "type": "control",
|
|
336
338
|
// "label": field.label,
|
|
337
339
|
// "body": {
|
|
@@ -485,7 +487,7 @@ var fieldNames=___namespace.map(fields,function(n){return n.name;});return"\n
|
|
|
485
487
|
*/function _getReadonlyFormInitApi(){_getReadonlyFormInitApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee90(object,recordId,fields,options){return _regeneratorRuntime().wrap(function _callee90$(_context90){while(1){switch(_context90.prev=_context90.next){case 0:_context90.t0=getApi$2()+'&objectName=${objectName}'+"&recordId=${recordId}";_context90.t1=API_CACHE;_context90.t2=getReadonlyFormAdaptor(object,fields,options);_context90.next=5;return getFindOneQuery$1(object,recordId,fields,options);case 5:_context90.t3=_context90.sent;_context90.t4={Authorization:"Bearer ${context.tenantId},${context.authToken}"};return _context90.abrupt("return",{method:"post",url:_context90.t0,cache:_context90.t1,adaptor:_context90.t2,data:_context90.t3,headers:_context90.t4});case 8:case"end":return _context90.stop();}}},_callee90);}));return _getReadonlyFormInitApi.apply(this,arguments);}function getScriptForAddUrlPrefixForImgFields(fields){var imgFieldsKeys=[];var imgFields={};fields.forEach(function(item){if(___namespace.includes(['image','avatar'],item.type)){imgFieldsKeys.push(item.name);imgFields[item.name]={name:item.name,type:item.type,multiple:item.multiple};}});if(!imgFieldsKeys.length){return'';}return"\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n let imgFieldsKeys = ".concat(JSON.stringify(imgFieldsKeys),";\n let imgFields = ").concat(JSON.stringify(imgFields),";\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ return i.url });\n }\n }else{\n data[item] = imgFieldDisplayValue && imgFieldDisplayValue.url;\n }\n }\n })\n ");}/*
|
|
486
488
|
file字段值重写使其在amis中正常显示附件名、点击附件名下载文件。
|
|
487
489
|
*/function getScriptForRewriteValueForFileFields(fields){var fileFieldsKeys=[];var fileFields={};fields.forEach(function(item){if(item.type==='file'){fileFieldsKeys.push(item.name);fileFields[item.name]={name:item.name,multiple:item.multiple};}});if(!fileFieldsKeys.length){return'';}return"\n // file\u5B57\u6BB5\u503C\u91CD\u5199\u4EE5\u4FBF\u7F16\u8F91\u65F6\u6B63\u5E38\u663E\u793A\u9644\u4EF6\u540D\u3001\u70B9\u51FB\u9644\u4EF6\u540D\u6B63\u5E38\u4E0B\u8F7D\u9644\u4EF6\n let fileFieldsKeys = ".concat(JSON.stringify(fileFieldsKeys),";\n let fileFields = ").concat(JSON.stringify(fileFields),";\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = data[item];\n let fileFieldDisplayValue = data._display && data._display[item];\n if(fileFieldValue && fileFieldValue.length){\n if(fileFields[item].multiple){\n if(fileFieldDisplayValue instanceof Array){\n data[item] = fileFieldDisplayValue.map((item, index)=>{ \n return {\n value: fileFieldValue[index],\n name: item.name,\n url: item.url + \"?download=true\",\n state: \"uploaded\"\n }\n });\n }\n }else{\n data[item] = [{\n value: fileFieldValue,\n name: fileFieldDisplayValue.name,\n url: fileFieldDisplayValue.url + \"?download=true\",\n state: \"uploaded\"\n }];\n }\n }\n })\n ");}function getEditFormInitApi(_x136,_x137,_x138,_x139){return _getEditFormInitApi.apply(this,arguments);}function _getEditFormInitApi(){_getEditFormInitApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee91(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee91$(_context91){while(1){switch(_context91.prev=_context91.next){case 0:_context91.next=2;return getFindOneQuery$1(object,recordId,fields);case 2:data=_context91.sent;data.recordId="${recordId}";data.objectName="${objectName}";data.uiSchema="${uiSchema}";data.global="${global}";data.context="${context}";data.defaultData="${defaultData}";data._master="${_master}";return _context91.abrupt("return",{method:"post",url:getApi$2()+'&objectName=${objectName}',// sendOn: "!!this.recordId",
|
|
488
|
-
cache:API_CACHE,requestAdaptor:"\n // \u6240\u6709\u4E0D\u60F3\u5728network\u8BF7\u6C42\u4E2D\u53D1\u9001\u7684\u6570\u636E\u90FD\u5E94\u8BE5\u4ECEdata\u4E2D\u5206\u79BB\u51FA\u6765\uFF0Cdata\u53D8\u91CF\u53EA\u9700\u8981\u7559\u4E0Bquery\u624D\u9700\u8981\u53D1\u9001\u51FA\u53BB\n var { recordId, objectName, uiSchema, global, context, ...data} = api.data;\n if(!recordId){\n // \u65B0\u5EFA\u5219\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u6570\u636E\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ".concat(options.initApiRequestAdaptor||'',"\n return api;\n "),adaptor:"\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ".concat(getScriptForAddUrlPrefixForImgFields(fields),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0){\n delete data[key];\n }\n })\n \n //\u521D\u59CB\u5316\u63A5\u53E3\u8FD4\u56DE\u7684\u5B57\u6BB5\u79FB\u9664\u5B57\u6BB5\u503C\u4E3Anull\u7684\u5B57\u6BB5\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(value){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues\u4E3A\u51FD\u6570\u4E14\u6267\u884C\u540E\u4E3Ajson\uFF0C\u5219\u4F18\u5148\u53D6initialValues\u4E2D\u7684\u9ED8\u8BA4\u503C\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data\u4E0B\u7684\u53D8\u91CF\u9700\u8981\u5728\u4FDD\u5B58\u63A5\u53E3\uFF08getSaveApi\uFF09\u4E2D\u88AB\u5220\u9664\u3002\n payload.data = {\n ...initialValues\n }\n ").concat(options.initApiAdaptor||'',"\n return payload;\n "),responseData:{initialValues:"$$",editFormInited:true},data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context91.stop();}}},_callee91);}));return _getEditFormInitApi.apply(this,arguments);}function getSaveApi(object,recordId,fields,options){return{method:'post',url:getApi$2(),data:getSaveQuery(object,recordId),requestAdaptor:getSaveRequestAdaptor(fields,options),responseData:{"recordId":"${record._id}"},adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ".concat(options.apiAdaptor||'',"\n return payload;\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}function getBatchDelete(objectName){return{method:'post',url:getApi$2(),requestAdaptor:"\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(`delete__${index}:".concat(objectName,"__delete(id: \"${id}\")`);\n })\n api.data = {query: `mutation{${deleteArray.join(',')}}`};\n return api;\n "),data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};function getCalendarApi(_x140,_x141,_x142){return _getCalendarApi.apply(this,arguments);}function _getCalendarApi(){_getCalendarApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee92(mainObject,fields,options){var calendarOptions,searchableFields,_options2,filter,sort,top,_options2$setDataToCo,setDataToComponentId,idFieldName,valueField,api;return _regeneratorRuntime().wrap(function _callee92$(_context92){while(1){switch(_context92.prev=_context92.next){case 0:if(!options){options={};}calendarOptions=options.calendarOptions;searchableFields=[];_options2=options,filter=_options2.filter,sort=_options2.sort,top=_options2.top,_options2$setDataToCo=_options2.setDataToComponentId,setDataToComponentId=_options2$setDataToCo===void 0?'':_options2$setDataToCo;if(!top){// 日历请求不翻页
|
|
490
|
+
cache:API_CACHE,requestAdaptor:"\n // \u6240\u6709\u4E0D\u60F3\u5728network\u8BF7\u6C42\u4E2D\u53D1\u9001\u7684\u6570\u636E\u90FD\u5E94\u8BE5\u4ECEdata\u4E2D\u5206\u79BB\u51FA\u6765\uFF0Cdata\u53D8\u91CF\u53EA\u9700\u8981\u7559\u4E0Bquery\u624D\u9700\u8981\u53D1\u9001\u51FA\u53BB\n var { recordId, objectName, uiSchema, global, context, ...data} = api.data;\n if(!recordId){\n // \u65B0\u5EFA\u5219\u4E0D\u8BF7\u6C42\u4EFB\u4F55\u6570\u636E\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ".concat(options.initApiRequestAdaptor||'',"\n return api;\n "),adaptor:"\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ".concat(getScriptForAddUrlPrefixForImgFields(fields),"\n ").concat(getScriptForRewriteValueForFileFields(fields),"\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0){\n delete data[key];\n }\n })\n \n //\u521D\u59CB\u5316\u63A5\u53E3\u8FD4\u56DE\u7684\u5B57\u6BB5\u79FB\u9664\u5B57\u6BB5\u503C\u4E3Anull\u7684\u5B57\u6BB5\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(!_.isNil(value)){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues\u4E3A\u51FD\u6570\u4E14\u6267\u884C\u540E\u4E3Ajson\uFF0C\u5219\u4F18\u5148\u53D6initialValues\u4E2D\u7684\u9ED8\u8BA4\u503C\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data\u4E0B\u7684\u53D8\u91CF\u9700\u8981\u5728\u4FDD\u5B58\u63A5\u53E3\uFF08getSaveApi\uFF09\u4E2D\u88AB\u5220\u9664\u3002\n payload.data = {\n ...initialValues\n }\n ").concat(options.initApiAdaptor||'',"\n return payload;\n "),responseData:{initialValues:"$$",editFormInited:true},data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 11:case"end":return _context91.stop();}}},_callee91);}));return _getEditFormInitApi.apply(this,arguments);}function getSaveApi(object,recordId,fields,options){return{method:'post',url:getApi$2(),data:getSaveQuery(object,recordId),requestAdaptor:getSaveRequestAdaptor(fields,options),responseData:{"recordId":"${record._id}"},adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ".concat(options.apiAdaptor||'',"\n return payload;\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}function getBatchDelete(objectName){return{method:'post',url:getApi$2(),requestAdaptor:"\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(`delete__${index}:".concat(objectName,"__delete(id: \"${id}\")`);\n })\n api.data = {query: `mutation{${deleteArray.join(',')}}`};\n return api;\n "),data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}var DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};function getCalendarApi(_x140,_x141,_x142){return _getCalendarApi.apply(this,arguments);}function _getCalendarApi(){_getCalendarApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee92(mainObject,fields,options){var calendarOptions,searchableFields,_options2,filter,sort,top,_options2$setDataToCo,setDataToComponentId,idFieldName,valueField,api;return _regeneratorRuntime().wrap(function _callee92$(_context92){while(1){switch(_context92.prev=_context92.next){case 0:if(!options){options={};}calendarOptions=options.calendarOptions;searchableFields=[];_options2=options,filter=_options2.filter,sort=_options2.sort,top=_options2.top,_options2$setDataToCo=_options2.setDataToComponentId,setDataToComponentId=_options2$setDataToCo===void 0?'':_options2$setDataToCo;if(!top){// 日历请求不翻页
|
|
489
491
|
top=200;}if(___default["default"].isArray(filter)){filter=___default["default"].map(filter,function(item){if(item.operation){return[item.field,item.operation,item.value];}else{return item;}});}if(!filter){filter=[];}___default["default"].each(fields,function(field){if(field.searchable){searchableFields.push(field.name);}});idFieldName=mainObject.idFieldName||"_id";valueField=mainObject.key_field||'_id';_context92.next=12;return getApi(mainObject,null,fields,{alias:'rows',limit:top,queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 12:api=_context92.sent;api.data.$term="$term";api.data.$self="$$";api.data.filter="$filter";api.data.pageSize=top||10;api.requestAdaptor="\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = api.data.filter || ".concat(JSON.stringify(filter)," || [];\n const eventFetchInfo = selfData.fetchInfo;\n const startDateExpr = \"").concat(calendarOptions.startDateExpr,"\";\n const endDateExpr = \"").concat(calendarOptions.endDateExpr,"\";\n const eventDurationFilters = [[endDateExpr, \">=\", eventFetchInfo.start], [startDateExpr, \"<=\", eventFetchInfo.end]];\n if(_.isEmpty(filters)){\n filters = eventDurationFilters;\n }else{\n filters = [filters, 'and', eventDurationFilters]\n }\n\n if(api.data.$self.additionalFilters){\n filters.push(api.data.$self.additionalFilters)\n }\n\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"").concat(valueField.name,"\", \"=\", selfData.value]];\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(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 if(selfData.__keywords && allowSearchFields){\n const keywordsFilters = [];\n allowSearchFields.forEach(function(key, index){\n const keyValue = selfData.__keywords;\n if(keyValue){\n keywordsFilters.push([key, \"contains\", keyValue]);\n if(index < allowSearchFields.length - 1){\n keywordsFilters.push('or');\n }\n }\n })\n filters.push(keywordsFilters);\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 delete api.data.$term;\n delete api.data.filter;\n delete api.data.pageSize;\n delete api.data.pageNo;\n delete api.data.orderBy;\n delete api.data.orderDir;\n return api;\n ");api.adaptor="\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n const setDataToComponentId = \"".concat(setDataToComponentId,"\";\n if(setDataToComponentId){\n var scope = SteedosUI.getRef(api.body.$self.scopeId);\n var setDataToComponent = scope && scope.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n }\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const events = rows.map(function(n){\n return {\n id: n[\"").concat(idFieldName,"\"],\n title: n[\"").concat(calendarOptions.textExpr,"\"],\n start: n[\"").concat(calendarOptions.startDateExpr,"\"],\n end: n[\"").concat(calendarOptions.endDateExpr,"\"],\n allDay: n[\"").concat(calendarOptions.allDayExpr,"\"],\n extendedProps: n\n }\n });\n const successCallback = selfData.successCallback;\n const failureCallback = selfData.failureCallback;\n successCallback(events);\n return payload;\n ");return _context92.abrupt("return",api);case 20:case"end":return _context92.stop();}}},_callee92);}));return _getCalendarApi.apply(this,arguments);}function getCalendarRecordPermissionsApi(mainObject,recordId){var api=getRecordPermissionsApi(mainObject,recordId,{alias:'rows',limit:1,fields:["allowEdit"]});api.data.$self="$$";api.adaptor="\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const revert = selfData.revert;\n const recordPermissions = rows[0] && rows[0].recordPermissions;\n const editable = !!(recordPermissions && recordPermissions.allowEdit);\n if(!editable){\n // \u6CA1\u6709\u6743\u9650\u65F6\u8FD8\u539F\n revert && revert();\n }\n payload.data.editable = editable;\n return payload;\n ";return api;}function getCalendarRecordSaveApi(object,calendarOptions){var formData={};var idFieldName=object.idFieldName||"_id";formData[idFieldName]="${event.data.event.id}";var nameFieldKey=object.NAME_FIELD_KEY||"name";formData[nameFieldKey]="${event.data.event.title}";formData[calendarOptions.startDateExpr]="${event.data.event.start}";formData[calendarOptions.endDateExpr]="${event.data.event.end}";formData[calendarOptions.allDayExpr]="${event.data.event.allDay}";// formData[calendarOptions.textExpr] = "${event.data.event.title}";
|
|
490
492
|
var apiData={objectName:"${objectName}",$:formData,$self:"$$"};var saveDataTpl="\n const formData = api.data.$;\n const objectName = api.data.objectName;\n let query = `mutation{record: ${objectName}__update(id: \"${formData.".concat(idFieldName,"}\", doc: {__saveData}){").concat(idFieldName,"}}`;\n delete formData.").concat(idFieldName,";\n let __saveData = JSON.stringify(JSON.stringify(formData));\n ");var requestAdaptor="\n ".concat(saveDataTpl,"\n api.data.query = query.replace('{__saveData}', __saveData);\n return api;\n ");return{method:'post',url:getApi$2(),data:apiData,requestAdaptor:requestAdaptor,adaptor:"\n if(payload.errors){\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n const revert = api.data.$self.event.data.revert;\n revert && revert();\n }\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};}/**
|
|
491
493
|
* 列表视图Calendar amisSchema
|