@steedos-widgets/amis-lib 3.6.2-beta.20 → 3.6.2-beta.21
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 +42 -13
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +42 -13
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +12 -10
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -118,7 +118,7 @@ if(field.type=="location"){quickEditSchema=false;}if(field.type=="color"){quickE
|
|
|
118
118
|
}
|
|
119
119
|
*/function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,_field$amis,_field$amis2,field,quickEditSchema,className,bowserType,fieldAmis,columnItem,previewFileScript,map,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){if(!options.enable_tree){columns.push({name:'_index',type:'text',width:32,placeholder:""});}}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=53;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",51);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";bowserType=getBowserType();if(bowserType==="Safari"){className+=" whitespace-nowrap ";}else{if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-words ";}}if(_typeof((_field$amis=field.amis)===null||_field$amis===void 0?void 0:_field$amis.className)=="object"){className=_objectSpread(_defineProperty({},className,"true"),field.amis.className);}else if(typeof((_field$amis2=field.amis)===null||_field$amis2===void 0?void 0:_field$amis2.className)=="string"){className="".concat(className," ").concat(field.amis.className," ");}fieldAmis=___namespace.clone(field.amis);fieldAmis===null||fieldAmis===void 0?true:delete fieldAmis.className;columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=30;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data.versions && data.versions[0] && data.versions[0]._id;\n window.previewFile && window.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
120
120
|
"expression":"!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
121
|
-
},{"args":{},"actionType":"custom","script":previewFileScript,//
|
|
121
|
+
},{"args":{},"actionType":"custom","script":previewFileScript,// "expression": "!!window?.nw?.require" //PC客户端预览附件
|
|
122
122
|
"expression":"!!(window && window.nw && window.nw.require)"//PC客户端预览附件
|
|
123
123
|
}]}}};_context56.next=50;break;case 30:if(!(field.type==='toggle')){_context56.next=34;break;}columnItem=Object.assign({},{type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},fieldAmis,{name:field.name});_context56.next=50;break;case 34:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context56.next=38;break;}columnItem=Object.assign({},_objectSpread({type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},getAmisFileReadonlySchema(field)),fieldAmis,{name:field.name});_context56.next=50;break;case 38:if(!(field.type==='select')){_context56.next=43;break;}map=getSelectMap(field.options);columnItem=Object.assign({},{type:"static-mapping",name:field.name,label:field.label,map:map,sortable:field.sortable,width:getFieldWidth(field.width),toggled:field.toggled,className:className,inputClassName:"inline","static":true},fieldAmis,{name:field.name});_context56.next=50;break;case 43:_context56.next=45;return getFieldTpl(field,options);case 45:tpl=_context56.sent;type='static-text';if(tpl){type='static';}else if(field.type==='html'){type='static-markdown';}else if(field.type==='url'){if(field.show_as_qr){type='static-qr-code';}else{type='input-url';}}if(field.type==='textarea'){className+='min-w-56';}// if(field.type === 'date'){
|
|
124
124
|
// className += 'date-min-w';
|
|
@@ -138,7 +138,7 @@ lineChildrenClassName+=" font-bold text-gray-800";}}else{// 右侧半行,这
|
|
|
138
138
|
lineChildrenClassName="steedos-listview-item-right truncate ml-2 flex flex-shrink-0 h-5";}//支持字段amis属性配置classname,识别classname的类型,与原样式合并
|
|
139
139
|
var className;if(_typeof((_item$field$amis=item.field.amis)===null||_item$field$amis===void 0?void 0:_item$field$amis.className)=="object"){className=_objectSpread(_defineProperty({},lineChildrenClassName,"true"),item.field.amis.className);}else if(typeof((_item$field$amis2=item.field.amis)===null||_item$field$amis2===void 0?void 0:_item$field$amis2.className)=="string"){className="".concat(lineChildrenClassName," ").concat(item.field.amis.className," ");}else{className=lineChildrenClassName;}lineChildren.push({"type":"tpl","tpl":item.tpl,className:className});if(item.field.is_wide){// 宽字段占整行
|
|
140
140
|
isLeft=true;isNewLine=true;}else{isLeft=!isLeft;isNewLine=isLeft;}});if(lineChildren.length&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});}return lines;}function getMobileTableColumns(_x21,_x22){return _getMobileTableColumns.apply(this,arguments);}function _getMobileTableColumns(){_getMobileTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee57(fields,options){var columns,nameField,tpls,_iterator7,_step8,field,tpl,url,columnLines,column,_window$Meteor;return _regeneratorRuntime().wrap(function _callee57$(_context57){while(1){switch(_context57.prev=_context57.next){case 0:columns=[];nameField={};tpls=[];_iterator7=_createForOfIteratorHelper(fields);_context57.prev=4;_iterator7.s();case 6:if((_step8=_iterator7.n()).done){_context57.next=29;break;}field=_step8.value;tpl="";if(!(field.is_name||field.name===options.labelFieldName)){_context57.next=17;break;}nameField=field;options=Object.assign({},options,{onlyDisplayLookLabel:true});_context57.next=14;return getFieldTpl(field,options);case 14:tpl=_context57.sent;_context57.next=25;break;case 17:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context57.next=21;break;}// 图片和附件类型字段暂时显示为附件名称,后续需要再优化
|
|
141
|
-
tpl="${_display.".concat(field.name,".name}");_context57.next=25;break;case 21:if(field.type==='lookup'||field.type==='master_detail'){options=Object.assign({},options,{onlyDisplayLookLabel:true});}_context57.next=24;return getFieldTpl(field,options);case 24:tpl=_context57.sent;case 25:if(!tpl){tpl="${".concat(field.name,"}");}if(!field.hidden&&!field.extra){tpls.push({field:field,tpl:tpl});}case 27:_context57.next=6;break;case 29:_context57.next=34;break;case 31:_context57.prev=31;_context57.t0=_context57["catch"](4);_iterator7.e(_context57.t0);case 34:_context57.prev=34;_iterator7.f();return _context57.finish(34);case 37:url=getNameTplUrl(nameField,options);columnLines=getMobileLines(tpls);column={name:nameField.name,label:options.displayAs=='split'?'':nameField.label,sortable:nameField.sortable,type:"button",level:"link",actionType:"link",link:url,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{"type":"wrapper","body":columnLines,"size":"none","className":"p-1"}};if(options.objectName==='cms_files'){if((_window$Meteor=window.Meteor)!==null&&_window$Meteor!==void 0&&_window$Meteor.isCordova){column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"script":"\n let cms_url = '';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = \"/api/files/files/\"+value+\"?download=true\"
|
|
141
|
+
tpl="${_display.".concat(field.name,".name}");_context57.next=25;break;case 21:if(field.type==='lookup'||field.type==='master_detail'){options=Object.assign({},options,{onlyDisplayLookLabel:true});}_context57.next=24;return getFieldTpl(field,options);case 24:tpl=_context57.sent;case 25:if(!tpl){tpl="${".concat(field.name,"}");}if(!field.hidden&&!field.extra){tpls.push({field:field,tpl:tpl});}case 27:_context57.next=6;break;case 29:_context57.next=34;break;case 31:_context57.prev=31;_context57.t0=_context57["catch"](4);_iterator7.e(_context57.t0);case 34:_context57.prev=34;_iterator7.f();return _context57.finish(34);case 37:url=getNameTplUrl(nameField,options);columnLines=getMobileLines(tpls);column={name:nameField.name,label:options.displayAs=='split'?'':nameField.label,sortable:nameField.sortable,type:"button",level:"link",actionType:"link",link:url,innerClassName:{"steedos-listview-item block text-gray-500":"true","max-w-[360px]":"${display == 'split'}"},body:{"type":"wrapper","body":columnLines,"size":"none","className":"p-1"}};if(options.objectName==='cms_files'){if((_window$Meteor=window.Meteor)!==null&&_window$Meteor!==void 0&&_window$Meteor.isCordova){column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"script":"\n let cms_url = '';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = Steedos.absoluteUrl(\"/api/files/files/\"+value+\"?download=true\");\n }\n }\n Steedos.cordovaDownload(encodeURI(cms_url), event.data.name);\n ","actionType":"custom"}],"weight":0}}});}else{column=_objectSpread(_objectSpread({},column),{},{actionType:"",link:"",onEvent:{"click":{"actions":[{"args":{"api":{"url":url,"method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download"}],"weight":0}}});}}columns.push(column);return _context57.abrupt("return",columns);case 43:case"end":return _context57.stop();}}},_callee57,null,[[4,31,34,37]]);}));return _getMobileTableColumns.apply(this,arguments);}function getDefaultParams$1(options){return{perPage:options.top||options.perPage||config.listView.perPage};}function getButtonVisibleOn$1(button){var visible=button.visible;if(button._visible){visible=button._visible;}if(_$1.isBoolean(visible)){visible=visible.toString();}if(visible){// if(visible.indexOf("Meteor.") > 0 || visible.indexOf("Creator.") > 0 || visible.indexOf("Session.") > 0){
|
|
142
142
|
// console.warn('无效的visible', visible)
|
|
143
143
|
// return 'false';
|
|
144
144
|
// }
|
|
@@ -570,7 +570,7 @@ function _getObjectRelatedList(){_getObjectRelatedList=_asyncToGenerator(/*#__PU
|
|
|
570
570
|
_context86.next=3;return getUISchema(relatedObjectName);case 3:relatedObjectUiSchema=_context86.sent;if(relatedObjectUiSchema){_context86.next=6;break;}return _context86.abrupt("return",{uiSchema:{},amisSchema:{}});case 6:label=relatedObjectUiSchema.label,fields=relatedObjectUiSchema.fields;if(!relatedLabel){relatedLabel=label;}if(relatedKey){_context86.next=15;break;}mainRelated={};_context86.next=12;return getUISchema(objectName);case 12:mainObjectUiSchema=_context86.sent;if(mainObjectUiSchema){mainRelatedLists=mainObjectUiSchema.related_lists||[];if(!_$1.isEmpty(mainRelatedLists)){_iterator11=_createForOfIteratorHelper(mainRelatedLists);try{for(_iterator11.s();!(_step12=_iterator11.n()).done;){relatedList=_step12.value;arr=relatedList.related_field_fullname.split(".");foreign_key_value=arr[2]?arr[1]+'.'+arr[2]:arr[1];mainRelated[arr[0]]=foreign_key_value;}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}}// 防止related_lists中没有相关子表,但是details中有相关子表的情况
|
|
571
571
|
if(!mainRelated[relatedObjectName]){details=_$1.union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details)||[];_iterator12=_createForOfIteratorHelper(details);try{for(_iterator12.s();!(_step13=_iterator12.n()).done;){detail=_step13.value;_arr3=detail.split(".");_foreign_key_value=_arr3[2]?_arr3[1]+'.'+_arr3[2]:_arr3[1];if(!_$1.has(mainRelated,_arr3[0])){mainRelated[_arr3[0]]=_foreign_key_value;}}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}}}relatedKey=mainRelated[relatedObjectName];case 15:globalFilter=null;// TODO: refField变量去掉,写到amis运行时脚本中,uiSchema.fields[relatedKey];可以取到
|
|
572
572
|
_context86.next=18;return getField(relatedObjectName,relatedKey);case 18:refField=_context86.sent;if(refField){_context86.next=21;break;}return _context86.abrupt("return",{uiSchema:relatedObjectUiSchema,amisSchema:{"type":"alert","body":"".concat(i18next__default["default"].t('frontend_objects_related_alert_start')," ").concat(relatedObjectName," ").concat(i18next__default["default"].t('frontend_objects_related_alert_end')),"level":"warning","showIcon":true,"className":"mb-3"}});case 21:_context86.next=23;return getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema,relatedLabel,ctx);case 23:recordRelatedListHeader=_context86.sent;componentId="steedos-record-related-list-".concat(relatedObjectName);isMobile=window.innerWidth<768;headerToolbar=[];if(!isMobile){headerToolbar.push("bulkActions");}options=_objectSpread({globalFilter:globalFilter,defaults:{listSchema:{headerToolbar:headerToolbar,columnsTogglable:false,onEvent:_defineProperty({},"@data.changed.".concat(relatedObjectName),{"actions":[{"actionType":"reload"}]})},headerSchema:recordRelatedListHeader},showHeader:true,top:top,perPage:perPage,setDataToComponentId:componentId,// tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
|
|
573
|
-
appId:appId,crudClassName:'steedos-record-related-crud
|
|
573
|
+
appId:appId,crudClassName:'steedos-record-related-crud hidden',refField:refField},ctx);_context86.next=31;return getRelatedListSchema(relatedObjectName,'all',options);case 31:amisSchema=_context86.sent.amisSchema;if(amisSchema){_context86.next=34;break;}return _context86.abrupt("return");case 34:return _context86.abrupt("return",{uiSchema:relatedObjectUiSchema,amisSchema:{type:"service",id:componentId,className:"steedos-record-related-list mb-4 last:mb-0 ".concat(componentId," ").concat(className),data:{relatedKey:relatedKey,listViewId:"amis-${appId}-".concat(relatedObjectName,"-listview"),_isRelated:true},body:[amisSchema]}});case 35:case"end":return _context86.stop();}}},_callee86);}));return _getRecordDetailRelatedListSchema.apply(this,arguments);}function getDefaultRelatedListProps(uiSchema,listName,ctx){// console.log('getDefaultRelatedListProps==>', uiSchema, listName, ctx)
|
|
574
574
|
var listView=_$1.find(uiSchema.list_views,function(listView,name){// 日历视图不在相关子表中出现
|
|
575
575
|
if(listView.type==='calendar'){return false;}// 传入listViewName空值则取第一个
|
|
576
576
|
if(!listName){listName=name;}return name===listName;});var columns=[];var sort='';var filter=null;var filtersFunction=null;if(listView){columns=getListViewColumns(listView,ctx.formFactor);sort=getListViewSort(listView);filter=getListViewFilter(listView);// if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){
|
|
@@ -670,16 +670,16 @@ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context10
|
|
|
670
670
|
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后续在发送适配器中替换
|
|
671
671
|
data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refObjectName,"\";\n fields = \"_id,value:").concat(ctx.valueField,",label:").concat(ctx.labelField,",children\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");adaptor="\n if (api.query.dep) {\n // \u5C55\u5F00\u7EC4\u7EC7\u65F6\u624D\u9700\u8981\u6839\u636Echildren\u503C\u8BBE\u7F6Edefer\u5C5E\u6027\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ";return _context107.abrupt("return",{"method":"post","url":getApi$2()+"&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 12:case"end":return _context107.stop();}}},_callee107);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x175,_x176,_x177){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee108$(_context108){while(1){switch(_context108.prev=_context108.next){case 0:if(field){_context108.next=2;break;}return _context108.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context108.next=10;break;}_context108.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context108.sent;_context108.next=30;break;case 10:_context108.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context108.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context108.t0=Object;_context108.t1=amisSchema;_context108.t2=field.multiple;_context108.t3=field.searchable;_context108.next=20;return getSource(field,ctx);case 20:_context108.t4=_context108.sent;_context108.next=23;return getDeferApi(field,ctx);case 23:_context108.t5=_context108.sent;_context108.t6={"multiple":_context108.t2,"searchable":_context108.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context108.t4,"deferApi":_context108.t5};_context108.t0.assign.call(_context108.t0,_context108.t1,_context108.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
672
672
|
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context108.abrupt("return",amisSchema);case 31:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
|
|
673
|
-
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // \u8003\u8651api\u914D\u7F6E\u4E86cache\u7F13\u5B58\u7684\u8BDD\uFF0C\u4E0D\u4F1A\u8BF7\u6C42\u63A5\u53E3\u4F46\u662F\u4F1A\u91CD\u65B0\u8FDB\u8FD9\u4E2A\u63A5\u6536\u9002\u914D\u5668\u811A\u672C\u4E14payload.data.options\u8FD4\u56DE\u7684\u4F1A\u662F\u4E0A\u4E00\u6B21\u8BA1\u7B97\u7ED3\u679C\uFF0C\u8FD9\u91CC\u76F4\u63A5\u8FD4\u56DE\u8BA1\u7B97\u8FC7\u7684children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","mode":"normal","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x179,_x180,_x181){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,
|
|
673
|
+
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // \u8003\u8651api\u914D\u7F6E\u4E86cache\u7F13\u5B58\u7684\u8BDD\uFF0C\u4E0D\u4F1A\u8BF7\u6C42\u63A5\u53E3\u4F46\u662F\u4F1A\u91CD\u65B0\u8FDB\u8FD9\u4E2A\u63A5\u6536\u9002\u914D\u5668\u811A\u672C\u4E14payload.data.options\u8FD4\u56DE\u7684\u4F1A\u662F\u4E0A\u4E00\u6B21\u8BA1\u7B97\u7ED3\u679C\uFF0C\u8FD9\u91CC\u76F4\u63A5\u8FD4\u56DE\u8BA1\u7B97\u8FC7\u7684children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","mode":"normal","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x179,_x180,_x181){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getReferenceTo(field);case 2:referenceTo=_context109.sent;if(referenceTo){_context109.next=5;break;}return _context109.abrupt("return");case 5:_context109.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context109.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
|
|
674
674
|
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context109.next=27;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 27:source=_context109.sent;if(source.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){source.url="".concat(source.url,"?").concat(depend_on.join('&'));source.sendOn="".concat(sendOn.join(' && '));}}source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
675
675
|
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
676
|
-
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=42;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 42:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;
|
|
677
|
-
isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=
|
|
678
|
-
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case
|
|
676
|
+
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=42;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 42:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
|
|
677
|
+
isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=55;break;}_context109.next=52;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 52:new_button=_context109.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
678
|
+
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 55:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context109.next=60;break;}_context109.next=59;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 59:pickerSchema.filter=_context109.sent;case 60:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
679
679
|
"isLookup":true,"__lookupField":{"name":field.name,"reference_to":refObjectConfig.name,"reference_to_field":field.reference_to_field}});if(!pickerSchema.onEvent){pickerSchema.onEvent={};}pickerSchema.onEvent["@data.changed.".concat(refObjectConfig.name)]={"actions":[{"actionType":"reload"},{"actionType":"custom","script":"\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ".concat(JSON.stringify(field),";\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: \u8FDE\u7EED\u65B0\u5EFA\u591A\u4E2A\u8BB0\u5F55\u65F6\uFF0C\u56E0\u4E3A\u83B7\u53D6\u7684\u4E3B\u8BB0\u5F55\u4E0D\u662F\u5B9E\u65F6\u7684\uFF0C\u6240\u4EE5\u53EA\u4F1A\u52FE\u9009\u6700\u540E\u4E00\u4E2A\u65B0\u5EFA\u7684\u8BB0\u5F55\u3002\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ").concat(JSON.stringify(ctx),";\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n ")}]};if(field.pickerSchema){pickerSchema=Object.assign({},pickerSchema,field.pickerSchema);}if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"&&isMobile){//手机端选人控件只保留部分toolbar
|
|
680
|
-
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目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
680
|
+
pickerSchema.headerToolbar=pickerSchema.headerToolbar&&pickerSchema.headerToolbar.filter(function(item){if(["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(item.id)>-1){return true;}else{return false;}});pickerSchema.footerToolbar=["pagination"];}if(field.inlineHelpText){pickerSchema.toolbarClassName="hasHelpText";pickerSchema.headerToolbar=[{"type":"tpl","tpl":field.inlineHelpText,"className":"text-secondary"}].concat(_toConsumableArray(pickerSchema.headerToolbar));}pickerSchema.className=(pickerSchema.className||"")+" steedos-lookup-crud";data={type:getAmisStaticFieldType('picker',readonly),modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
681
681
|
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,用来配置弹出方式
|
|
682
|
-
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=
|
|
682
|
+
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=73;break;}_context109.next=72;return getLookupTpl(field,ctx);case 72:data.tpl=_context109.sent;case 73:return _context109.abrupt("return",data);case 74:case"end":return _context109.stop();}}},_callee109);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x182,_x183,_x184){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,listviewFilter,listviewFiltersFunction,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:_context110.next=2;return getReferenceTo(field);case 2:referenceTo=_context110.sent;isMobile=window.innerWidth<=768;valueFieldKey=referenceTo&&((_referenceTo$valueFie=referenceTo.valueField)===null||_referenceTo$valueFie===void 0?void 0:_referenceTo$valueFie.name)||'_id';// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
683
683
|
if(!referenceTo){_context110.next=15;break;}_context110.next=8;return getFindQuery({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 8:defaultValueOptionsQueryData=_context110.sent;_context110.next=11;return getApi({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 11:apiInfo=_context110.sent;apiInfo.adaptor="\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n ";_context110.next=16;break;case 15:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 16:_context110.t0=referenceTo;if(!_context110.t0){_context110.next=21;break;}_context110.next=20;return getUISchema(referenceTo.objectName);case 20:_context110.t0=_context110.sent;case 21:refObjectConfig=_context110.t0;listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
684
684
|
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'}`;
|
|
685
685
|
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"]]
|
|
@@ -974,7 +974,9 @@ fieldPrefix=props.fieldPrefix;fields=props.fields||[];if(fieldPrefix){fields=get
|
|
|
974
974
|
field=fields.find(function(fieldItem){return fieldItem.name===column;});}else{// 如果是对象,则合并到steedos-field的config.amis属性中,steedos组件会把config.amis属性混合到最终生成的input-table column
|
|
975
975
|
field=fields.find(function(fieldItem){return fieldItem.name===column.name;});if(field){// field.amis = Object.assign({}, field.amis, column);
|
|
976
976
|
// 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并
|
|
977
|
-
extendColumnProps=column;}}if(field){var mode=typeof extendColumnProps.inlineEditMode==="boolean"?extendColumnProps.inlineEditMode:showAsInlineEditMode;var tableCell=getInputTableCell(field,mode);
|
|
977
|
+
extendColumnProps=column;}}if(field){var mode=typeof extendColumnProps.inlineEditMode==="boolean"?extendColumnProps.inlineEditMode:showAsInlineEditMode;var tableCell=getInputTableCell(field,mode);var className="";//判断是否换行,目前规则默认换行
|
|
978
|
+
if(extendColumnProps.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-words ";}//合并classname
|
|
979
|
+
if(_typeof(extendColumnProps.className)=="object"){className=_objectSpread(_defineProperty({},className,"true"),extendColumnProps.className);}else if(typeof extendColumnProps.className=="string"){className="".concat(className," ").concat(extendColumnProps.className," ");}return Object.assign({},tableCell,extendColumnProps,{className:className});}else{return column;}}));case 10:return _context119.abrupt("return",fields.map(function(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);tableCell.className=" whitespace-nowrap ";return tableCell;})||[]);case 11:case"end":return _context119.stop();}}},_callee119);}));return _getInputTableColumns.apply(this,arguments);}function getFormPagination(props,mode){var showPagination=true;if(mode==="new"&&!!!props.editable){//不允许编辑只允许新建时不应该让用户操作翻页
|
|
978
980
|
showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n let mode = \"").concat(mode,"\";\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n if(mode !== \"readonly\"){\n // \u65B0\u5EFA\u7F16\u8F91\u65F6\uFF0C\u7FFB\u9875\u624D\u9700\u8981\u628A\u5F53\u524D\u9875\u8868\u5355\u4FDD\u5B58\uFF0C\u53EA\u8BFB\u65F6\u76F4\u63A5\u7FFB\u9875\u5373\u53EF\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n // \u8FD9\u91CC\u4E0Dclone\u7684\u8BDD\uFF0C\u5176\u503C\u4F1A\u5E26\u4E0A__super\u5C5E\u6027\n currentFormValues = _.clone(currentFormValues);\n var parent = event.data.parent;\n var __parentIndex = event.data.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // \u91CD\u5199\u7236\u8282\u70B9\uFF0C\u5E76\u4E14\u6539\u53D8\u5176\u67D0\u4E2A\u5C5E\u6027\u4EE5\u8BA9\u5B50\u8282\u70B9\u4FEE\u6539\u7684\u5185\u5BB9\u56DE\u663E\u5230\u754C\u9762\u4E0A\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n }\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onPageChangeScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
979
981
|
}]}}},{"type":"tpl",// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
|
|
980
982
|
"tpl":"${__page}/${__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next",// "disabledOn": showPagination ? "${__page >= __tableItems.length}" : "true",
|