@steedos-widgets/amis-lib 6.3.12-beta.14 → 6.3.12-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 +18 -3
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +18 -3
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +9 -8
- package/dist/index.umd.js.map +1 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -372,14 +372,14 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
372
372
|
* @param {*} ctx
|
|
373
373
|
* @returns
|
|
374
374
|
*/var getButton=/*#__PURE__*/function(){var _ref13=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee14(objectName,buttonName,ctx){var uiSchema,buttons,button;return _regeneratorRuntime().wrap(function _callee14$(_context14){while(1){switch(_context14.prev=_context14.next){case 0:_context14.next=2;return getUISchema(objectName);case 2:uiSchema=_context14.sent;if(!uiSchema){_context14.next=60;break;}_context14.next=6;return getButtons(uiSchema,ctx);case 6:buttons=_context14.sent;button=___namespace.find(buttons,function(button){return button.name===buttonName;});if(button){_context14.next=10;break;}return _context14.abrupt("return");case 10:if(!(button.name=='standard_edit'&&button.todo==='standard_edit'&&button.type!="amis_button")){_context14.next=17;break;}_context14.t0=_objectSpread;_context14.t1={label:button.label,name:button.name,on:button.on};_context14.next=15;return StandardButtons.getStandardEdit(uiSchema,ctx);case 15:_context14.t2=_context14.sent;return _context14.abrupt("return",(0,_context14.t0)(_context14.t1,_context14.t2));case 17:if(!(objectName!='cms_files'&&button.name=='standard_new'&&button.todo==='standard_new'&&button.type!="amis_button")){_context14.next=24;break;}_context14.t3=_objectSpread;_context14.t4={label:button.label,name:button.name,on:button.on};_context14.next=22;return StandardButtons.getStandardNew(uiSchema,ctx);case 22:_context14.t5=_context14.sent;return _context14.abrupt("return",(0,_context14.t3)(_context14.t4,_context14.t5));case 24:if(!(button.name=='standard_delete'&&button.todo==='standard_delete'&&button.type!="amis_button")){_context14.next=31;break;}_context14.t6=_objectSpread;_context14.t7={label:button.label,name:button.name,on:button.on,sort:button.sort};_context14.next=29;return StandardButtons.getStandardDelete(uiSchema,ctx);case 29:_context14.t8=_context14.sent;return _context14.abrupt("return",(0,_context14.t6)(_context14.t7,_context14.t8));case 31:if(!(uiSchema.hasImportTemplates&&button.name==='standard_import_data')){_context14.next=38;break;}_context14.t9=_objectSpread;_context14.t10={label:button.label,name:button.name,on:button.on,sort:button.sort};_context14.next=36;return StandardButtons.getStandardImportData(uiSchema,ctx);case 36:_context14.t11=_context14.sent;return _context14.abrupt("return",(0,_context14.t9)(_context14.t10,_context14.t11));case 38:if(!(button.name==='standard_export_excel')){_context14.next=45;break;}_context14.t12=_objectSpread;_context14.t13={label:button.label,name:button.name,on:button.on,sort:button.sort};_context14.next=43;return StandardButtons.getStandardExportExcel(uiSchema,ctx);case 43:_context14.t14=_context14.sent;return _context14.abrupt("return",(0,_context14.t12)(_context14.t13,_context14.t14));case 45:if(!(button.name==='standard_open_view')){_context14.next=52;break;}_context14.t15=_objectSpread;_context14.t16={label:button.label,name:button.name,on:button.on,sort:button.sort};_context14.next=50;return StandardButtons.getStandardOpenView(uiSchema,ctx);case 50:_context14.t17=_context14.sent;return _context14.abrupt("return",(0,_context14.t15)(_context14.t16,_context14.t17));case 52:if(!(button.name==='standard_delete_many')){_context14.next=59;break;}_context14.t18=_objectSpread;_context14.t19={label:button.label,name:button.name,on:button.on,sort:button.sort};_context14.next=57;return StandardButtons.getStandardDeleteMany(uiSchema,ctx);case 57:_context14.t20=_context14.sent;return _context14.abrupt("return",(0,_context14.t18)(_context14.t19,_context14.t20));case 59:return _context14.abrupt("return",button);case 60:case"end":return _context14.stop();}}},_callee14);}));return function getButton(_x90,_x91,_x92){return _ref13.apply(this,arguments);};}();var execute=function execute(button,props){if(!button.todo){return;//TODO 弹出提示未配置todo
|
|
375
|
-
}if(___namespace.isString(button.todo)){if(___namespace.startsWith(___namespace.trim(button.todo),"function")){window.eval("var fun = "+button.todo);button.todo=fun;}}if(___namespace.isFunction(button.todo)){var todoThis=_objectSpread(_objectSpread({objectName:props.objectName,object_name:props.objectName,object:props.uiSchema,record:props.record,recordId:props.recordId,record_id:props.recordId},props),{},{action:button});return button.todo.apply(todoThis,[todoThis.objectName,todoThis.recordId]);}};var executeButton=execute;var getObjectDetailHeaderButtons=function getObjectDetailHeaderButtons(objectSchema,recordId){var name=objectSchema.name;var buttons=getObjectDetailButtons(objectSchema,{});var moreButtons=getObjectDetailMoreButtons(objectSchema,{recordId:recordId,objectName:name});var amisButtonsSchema=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});var moreButtonsVisibleOn='';var dropdownButtons=___namespace.map(moreButtons,function(button,index){if(index===0){moreButtonsVisibleOn=getButtonVisibleOn(button);}else{moreButtonsVisibleOn=moreButtonsVisibleOn+' || '+getButtonVisibleOn(button);}return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button)};});return{buttons:amisButtonsSchema,moreButtons:dropdownButtons,moreButtonsVisibleOn:moreButtonsVisibleOn};};var getDropdown=function getDropdown(dropdownButtons){var dropdown={"type":"dropdown-button","icon":"fa fa-angle-down","size":"sm","hideCaret":true,"className":"mr-0 steedos-mobile-header-drop-down","closeOnClick":true,"menuClassName":"buttons-drawer fixed bg-none border-0 shadow-none","align":"right","body":[{"type":"action","style":{"z-index":1,"background":"var(--Drawer-overlay-bg)","height":"100%","width":"100%","padding":"0","margin":"0","border-radius":"0"}},{"type":"wrapper","style":{"position":"fixed","bottom":0,"z-index":2,"width":"100vw","left":"0","padding":"0","background":"white","box-shadow":"0 -10px 10px -10px rgba(0, 0, 0, 0.2)"},"body":[{"type":"flex","justify":"space-between","items":[{"type":"tpl","tpl":"操作","style":{"padding":"4px 12px","align-items":"center","display":"flex"}},{"type":"action","label":"","icon":"fa fa-times","level":"link","style":{"color":"black"}}],"style":{"padding-top":"0.5rem","padding-bottom":"0.5rem","border-bottom":"var(--Drawer-content-borderWidth) solid var(--Drawer-header-borderColor)"}},{"type":"wrapper","body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":dropdownButtons,"className":"w-full overflow-auto","btnClassName":"w-full","size":"lg"}],"style":{"padding":"0","overflow":"auto","max-height":"70vh"}}]}]};return dropdown;};var getObjectDetailButtonsSchemas=function getObjectDetailButtonsSchemas(objectSchema,recordId,ctx){var _getObjectDetailHeade=getObjectDetailHeaderButtons(objectSchema,recordId),buttons=_getObjectDetailHeade.buttons,moreButtons=_getObjectDetailHeade.moreButtons,moreButtonsVisibleOn=_getObjectDetailHeade.moreButtonsVisibleOn;if(ctx.formFactor==='SMALL'){var dropdownButtons=[].concat(_toConsumableArray(___namespace.map(buttons,function(button){button.className+=' w-full';return button;})),_toConsumableArray(___namespace.map(moreButtons,function(button){button.className+=' w-full';return button;})));var phoneMoreButtonsVisibleOn='';___namespace.forEach(dropdownButtons,function(button,index){if(index===0){phoneMoreButtonsVisibleOn=button.visibleOn;}else{phoneMoreButtonsVisibleOn=phoneMoreButtonsVisibleOn+' || '+button.visibleOn;}});return[getDropdown(dropdownButtons)];}else{if(moreButtons.length>0){var dropdownButtonsSchema={type:"steedos-dropdown-button",label:"",buttons:moreButtons,"overlayClassName":"border rounded !min-w-[160px]",className:'slds-icon ml-1',visibleOn:moreButtonsVisibleOn};buttons.push(dropdownButtonsSchema);}return buttons;}};var getObjectListViewButtonsSchemas=function getObjectListViewButtonsSchemas(objectSchema,ctx){var buttons=getListViewButtons(objectSchema,ctx);if(ctx.formFactor==='SMALL'){var dropdownButtons=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name," w-full")};});return getDropdown(dropdownButtons);}else{return ___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});}};var getObjectRecordDetailRelatedListButtonsSchemas=function getObjectRecordDetailRelatedListButtonsSchemas(objectSchema,ctx){var buttons=getObjectRelatedListButtons(objectSchema,ctx);if(ctx.formFactor==='SMALL'){var dropdownButtons=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name," w-full")};});return[getDropdown(dropdownButtons)];}else{return ___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});}};function getObjectFieldsFilterButtonSchema(_x93){return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function _getObjectFieldsFilterButtonSchema(){_getObjectFieldsFilterButtonSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75(objectSchema){return _regeneratorRuntime().wrap(function _callee75$(_context75){while(1){switch(_context75.prev=_context75.next){case 0:return _context75.abrupt("return",{"type":"button","label":"","icon":"fa fa-search","className":"bg-white p-2 rounded border-gray-300 text-gray-500","onEvent":{"click":{"actions":[{"actionType":"broadcast","args":{"eventName":"broadcast_toggle_fields_filter"}}]}}});case 1:case"end":return _context75.stop();}}},_callee75);}));return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function getObjectFieldsFilterFormSchema(_x94){return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function _getObjectFieldsFilterFormSchema(){_getObjectFieldsFilterFormSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee76(ctx){var formSchema;return _regeneratorRuntime().wrap(function _callee76$(_context76){while(1){switch(_context76.prev=_context76.next){case 0:if(!ctx){ctx={};}formSchema={"type":"service","visibleOn":"this.filterFormSearchableFields && this.filterFormSearchableFields.length","className":ctx.formFactor==='SMALL'?"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden":"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-4 p-2","style":{"max-height":ctx.formFactor==='SMALL'?"30vh":"unset"},"schemaApi":{method:'post',url:"${context.rootUrl}/graphql?reload=${filterFormSearchableFields|join}",data:{$self:"$$",query:"{\n data: objects(filters: [[\"_id\",\"=\",null]],top: 1, skip: 0){_id}\n }"},requestAdaptor:"\n return {\n ...api,\n data: {\n query: api.data.query\n }\n };\n ",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 filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n \"body\": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn(\"run function getFieldSearchable failed.\");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ".concat(JSON.stringify(ctx),";\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return _context76.abrupt("return",formSchema);case 3:case"end":return _context76.stop();}}},_callee76);}));return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function getObjectFieldsFilterBarSchema(_x95,_x96){return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee77(objectSchema,ctx){var btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee77$(_context77){while(1){switch(_context77.prev=_context77.next){case 0:if(!ctx){ctx={};}btnSearchId="btn_filter_form_search_"+new Date().getTime();_context77.next=4;return getObjectFieldsFilterFormSchema(ctx);case 4:filterFormSchema=_context77.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\uFF0C\u56E0\u4E3A\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\u81EA\u52A8\u586B\u5145\u5230\u8868\u5355\u4E0A\u65F6filterForm.getValues()\u62FF\u4E0D\u5230\u3002\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // \u540C\u6B65__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ");onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.").concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n \n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: false });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ";onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n // ===END===\n ");return _context77.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
|
|
375
|
+
}if(___namespace.isString(button.todo)){if(___namespace.startsWith(___namespace.trim(button.todo),"function")){window.eval("var fun = "+button.todo);button.todo=fun;}}if(___namespace.isFunction(button.todo)){var todoThis=_objectSpread(_objectSpread({objectName:props.objectName,object_name:props.objectName,object:props.uiSchema,record:props.record,recordId:props.recordId,record_id:props.recordId},props),{},{action:button});return button.todo.apply(todoThis,[todoThis.objectName,todoThis.recordId]);}};var executeButton=execute;var getObjectDetailHeaderButtons=function getObjectDetailHeaderButtons(objectSchema,recordId){var name=objectSchema.name;var buttons=getObjectDetailButtons(objectSchema,{});var moreButtons=getObjectDetailMoreButtons(objectSchema,{recordId:recordId,objectName:name});var amisButtonsSchema=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});var moreButtonsVisibleOn='';var dropdownButtons=___namespace.map(moreButtons,function(button,index){if(index===0){moreButtonsVisibleOn=getButtonVisibleOn(button);}else{moreButtonsVisibleOn=moreButtonsVisibleOn+' || '+getButtonVisibleOn(button);}return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button)};});return{buttons:amisButtonsSchema,moreButtons:dropdownButtons,moreButtonsVisibleOn:moreButtonsVisibleOn};};var getDropdown=function getDropdown(dropdownButtons){var dropdown={"type":"dropdown-button","icon":"fa fa-angle-down","size":"sm","hideCaret":true,"className":"mr-0 steedos-mobile-header-drop-down","closeOnClick":true,"menuClassName":"buttons-drawer fixed bg-none border-0 shadow-none","align":"right","body":[{"type":"action","style":{"z-index":1,"background":"var(--Drawer-overlay-bg)","height":"100%","width":"100%","padding":"0","margin":"0","border-radius":"0"}},{"type":"wrapper","style":{"position":"fixed","bottom":0,"z-index":2,"width":"100vw","left":"0","padding":"0","background":"white","box-shadow":"0 -10px 10px -10px rgba(0, 0, 0, 0.2)"},"body":[{"type":"flex","justify":"space-between","items":[{"type":"tpl","tpl":"操作","style":{"padding":"4px 12px","align-items":"center","display":"flex"}},{"type":"action","label":"","icon":"fa fa-times","level":"link","style":{"color":"black"}}],"style":{"padding-top":"0.5rem","padding-bottom":"0.5rem","border-bottom":"var(--Drawer-content-borderWidth) solid var(--Drawer-header-borderColor)"}},{"type":"wrapper","body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":dropdownButtons,"className":"w-full overflow-auto","btnClassName":"w-full","size":"lg"}],"style":{"padding":"0","overflow":"auto","max-height":"70vh"}}]}]};return dropdown;};var getObjectDetailButtonsSchemas=function getObjectDetailButtonsSchemas(objectSchema,recordId,ctx){var _getObjectDetailHeade=getObjectDetailHeaderButtons(objectSchema,recordId),buttons=_getObjectDetailHeade.buttons,moreButtons=_getObjectDetailHeade.moreButtons,moreButtonsVisibleOn=_getObjectDetailHeade.moreButtonsVisibleOn;if(ctx.formFactor==='SMALL'){var dropdownButtons=[].concat(_toConsumableArray(___namespace.map(buttons,function(button){button.className+=' w-full';return button;})),_toConsumableArray(___namespace.map(moreButtons,function(button){button.className+=' w-full';return button;})));var phoneMoreButtonsVisibleOn='';___namespace.forEach(dropdownButtons,function(button,index){if(index===0){phoneMoreButtonsVisibleOn=button.visibleOn;}else{phoneMoreButtonsVisibleOn=phoneMoreButtonsVisibleOn+' || '+button.visibleOn;}});return[getDropdown(dropdownButtons)];}else{if(moreButtons.length>0){var dropdownButtonsSchema={type:"steedos-dropdown-button",label:"",buttons:moreButtons,"overlayClassName":"border rounded !min-w-[160px]",className:'slds-icon ml-1',visibleOn:moreButtonsVisibleOn};buttons.push(dropdownButtonsSchema);}return buttons;}};var getObjectListViewButtonsSchemas=function getObjectListViewButtonsSchemas(objectSchema,ctx){var buttons=getListViewButtons(objectSchema,ctx);if(ctx.formFactor==='SMALL'){var dropdownButtons=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name," w-full")};});return getDropdown(dropdownButtons);}else{return ___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});}};var getObjectRecordDetailRelatedListButtonsSchemas=function getObjectRecordDetailRelatedListButtonsSchemas(objectSchema,ctx){var buttons=getObjectRelatedListButtons(objectSchema,ctx);if(ctx.formFactor==='SMALL'){var dropdownButtons=___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name," w-full")};});return[getDropdown(dropdownButtons)];}else{return ___namespace.map(buttons,function(button){return{type:'steedos-object-button',name:button.name,objectName:button.objectName,visibleOn:getButtonVisibleOn(button),className:"button_".concat(button.name)};});}};function getObjectFieldsFilterButtonSchema(_x93){return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function _getObjectFieldsFilterButtonSchema(){_getObjectFieldsFilterButtonSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75(objectSchema){return _regeneratorRuntime().wrap(function _callee75$(_context75){while(1){switch(_context75.prev=_context75.next){case 0:return _context75.abrupt("return",{"type":"button","label":"","icon":"fa fa-search","className":"bg-white p-2 rounded border-gray-300 text-gray-500","onEvent":{"click":{"actions":[{"actionType":"broadcast","args":{"eventName":"broadcast_toggle_fields_filter"}}]}}});case 1:case"end":return _context75.stop();}}},_callee75);}));return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function getObjectFieldsFilterFormSchema(_x94){return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function _getObjectFieldsFilterFormSchema(){_getObjectFieldsFilterFormSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee76(ctx){var formSchema;return _regeneratorRuntime().wrap(function _callee76$(_context76){while(1){switch(_context76.prev=_context76.next){case 0:if(!ctx){ctx={};}formSchema={"type":"service","visibleOn":"this.filterFormSearchableFields && this.filterFormSearchableFields.length","className":ctx.formFactor==='SMALL'?"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden":"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-4 p-2","style":{"max-height":ctx.formFactor==='SMALL'?"30vh":"unset"},"schemaApi":{method:'post',url:"${context.rootUrl}/graphql?reload=${filterFormSearchableFields|join}",data:{$self:"$$",query:"{\n data: objects(filters: [[\"_id\",\"=\",null]],top: 1, skip: 0){_id}\n }"},requestAdaptor:"\n return {\n ...api,\n data: {\n query: api.data.query\n }\n };\n ",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 filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n \"body\": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn(\"run function getFieldSearchable failed.\");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ".concat(JSON.stringify(ctx),";\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n "),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return _context76.abrupt("return",formSchema);case 3:case"end":return _context76.stop();}}},_callee76);}));return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function getObjectFieldsFilterBarSchema(_x95,_x96){return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function _getObjectFieldsFilterBarSchema(){_getObjectFieldsFilterBarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee77(objectSchema,ctx){var searchableFields,autoOpenFilter,btnSearchId,filterFormSchema,keywordsSearchBoxName,onSearchScript,onCancelScript,dataProviderInited,onSearchableFieldsChangeScript;return _regeneratorRuntime().wrap(function _callee77$(_context77){while(1){switch(_context77.prev=_context77.next){case 0:if(!ctx){ctx={};}searchableFields=ctx.searchable_fields;autoOpenFilter=!!ctx.auto_open_filter;btnSearchId="btn_filter_form_search_"+new Date().getTime();_context77.next=6;return getObjectFieldsFilterFormSchema(ctx);case 6:filterFormSchema=_context77.sent;keywordsSearchBoxName=ctx.keywordsSearchBoxName||"__keywords";onSearchScript="\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n // \u4F7F\u7528filterForm.getValues()\u7684\u8BDD\uFF0C\u5E76\u4E0D\u80FD\u62FF\u5230\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u9700\u8981\u4ECEevent.data\u4E2D\u53D6\uFF0C\u56E0\u4E3A\u672C\u5730\u5B58\u50A8\u4E2D\u7684\u8FC7\u6EE4\u6761\u4EF6\u81EA\u52A8\u586B\u5145\u5230\u8868\u5355\u4E0A\u65F6filterForm.getValues()\u62FF\u4E0D\u5230\u3002\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //\u53EA\u53D6\u5F53\u5C42\u6570\u636E\u57DF\u4E2D\u6570\u636E\uFF0C\u53BB\u9664__super\u5C42\u6570\u636E\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // \u540C\u6B65__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // \u8BBE\u7F6E\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u641C\u7D22\u9879\u540E\uFF0CfilterFormValues\u672A\u628A\u5176\u5B57\u6BB5\u7684\u7A7A\u503C\u4FDD\u5B58\u4E3Aown property\uFF0C\u5373hasOwnProperty\u5C5E\u6027\u4E2D\n // // \u8FD9\u4F1A\u9020\u6210handleFilterSubmit\u65F6\u628A\u79FB\u9664\u6389\u7684\u641C\u7D22\u9879\u5B57\u6BB5\u4E4B\u524D\u7684\u503C\u52A0\u5230\u8FC7\u6EE4\u6761\u4EF6\u4E2D\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // \u70B9\u51FB\u641C\u7D22\u7684\u65F6\u5019\u81EA\u52A8\u6536\u8D77\u641C\u7D22\u680F\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // \u5982\u679C\u662F\u4ECE\u8BBE\u7F6E\u641C\u7D22\u9879\u70B9\u51FB\u786E\u8BA4\u6309\u94AE\u89E6\u53D1\u7684\u641C\u7D22\u4E8B\u4EF6\u4E0D\u5E94\u8BE5\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n else if(isMobile){\n // \u5982\u679C\u662F\u624B\u673A\u7AEF\uFF0C\u70B9\u51FB\u641C\u7D22\u540E\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC\u4E0A\u5206\u680F\u6A21\u5F0F\u4E0B\u7684\u5217\u8868\uFF0C\u59CB\u7EC8\u6309\u624B\u673A\u4E0A\u6548\u679C\u5904\u7406\uFF0C\u5373\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // \u9AD8\u5206\u8FA8\u7387\u5C4F\u5E55\uFF082k+\uFF09\uFF0C\u5217\u8868\u9AD8\u5EA6\u6BD4\u8F83\u9AD8\uFF0C\u6CA1\u5FC5\u8981\u81EA\u52A8\u5173\u95ED\u641C\u7D22\u680F\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//\u5DF2\u8FC1\u79FB\u5230\u641C\u7D22\u680F\u8868\u5355\u63D0\u4EA4\u4E8B\u4EF6\u4E2D\u6267\u884C\uFF0C\u56E0\u4E3A\u8868\u5355\u9879change\u540E\u4E5F\u4F1A\u89E6\u53D1\u8868\u5355\u63D0\u4EA4\u4E86\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n ");onCancelScript="\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // \u5237\u65B0\u6D4F\u89C8\u5668\u540E\uFF0CfilterFormValues\u503C\u662F\u7A7A\u7684\uFF0C\u53EA\u80FD\u4ECE\u672C\u5730\u5B58\u50A8\u4E2D\u53D6\u51FA\u5E76\u91CD\u7F6E\u4E3A\u7A7A\u503C\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"".concat(keywordsSearchBoxName,"\";\n //lookup\u5B57\u6BB5\u4FDD\u7559\u5FEB\u901F\u641C\u7D22\u6761\u4EF6\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u9020\u6210\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u89E6\u53D1\u641C\u7D22\u65F6\u518D\u6B21\u628A\u641C\u7D22\u8868\u5355\u4E2D\u7684\u5B57\u6BB5\u503C\u6E05\u9664\u6389\u7684bug\uFF0C\u5DF2\u5355\u72EC\u5728\u5FEB\u901F\u641C\u7D22\u6846\u90A3\u8FB9\u6DFB\u52A0\u641C\u7D22\u4E8B\u4EF6\u4EE3\u7801\u5904\u7406\u8FC7\u4E86\n // \u4EE5\u4E0B\u65B9\u6CD5\u90FD\u65E0\u6CD5\u5B9E\u73B0\u6E05\u9664\u8868\u5355\u503C\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // \u4E0B\u9762\u89E6\u53D1clear\u52A8\u4F5C\u53EF\u4EE5\u6E05\u9664\u8868\u5355\u503C\uFF0C\u4E14\u4E0D\u4F1A\u628A\u8868\u5355\u63D0\u4EA4\u5230toolbar\u7684\u5FEB\u901F\u641C\u7D22\u533A\u57DF\uFF0C\u4F46\u662F\u4F1A\u628A\u91D1\u989D\u7B49\u8303\u56F4\u5B57\u6BB5\u6E05\u7A7A\u6210\u975E\u8303\u56F4\u5B57\u6BB5\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // \u6E05\u9664__changedFilterFormValues\u4E2D\u7684\u503C\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __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 if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.").concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n \n // \u79FB\u9664\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n ");dataProviderInited="\n const searchableFields = ".concat(JSON.stringify(searchableFields),";\n const autoOpenFilter = ").concat(autoOpenFilter,";\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && searchableFields){\n if(searchableFields.length){\n defaultSearchableFields = _.map(searchableFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup\u5B57\u6BB5\u8FC7\u6EE4\u5668\u4E0D\u5728\u672C\u5730\u7F13\u5B58\u8BB0\u4F4F\u8FC7\u6EE4\u6761\u4EF6\uFF0C\u6240\u4EE5\u521D\u59CB\u59CB\u7EC8\u9690\u85CF\u8FC7\u6EE4\u5668\n setData({ showFieldsFilter: autoOpenFilter });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // \u6709\u8FC7\u6EE4\u6761\u4EF6\u65F6\u53EA\u663E\u793A\u641C\u7D22\u6309\u94AE\u4E0A\u7684\u7EA2\u70B9\uFF0C\u4E0D\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//\u81EA\u52A8\u5C55\u5F00\u641C\u7D22\u680F\n }\n }\n }\n }\n ");onSearchableFieldsChangeScript="\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // \u8FD9\u91CC\u7684filterForm\u4E0D\u662Fname\u4E3A\"listview-filter-form\"\u7684\u5185\u90E8form\uFF0C\u800C\u662Fcrud\u81EA\u5E26\u7684filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:\u5F53\u53D8\u66F4\u53EF\u641C\u7D22\u5B57\u6BB5\u65F6\uFF0C\u5982\u679C\u88AB\u79FB\u9664\u7684\u53EF\u641C\u7D22\u5B57\u6BB5\u5728\u672C\u5730\u5B58\u50A8\u4E2D\u5DF2\u7ECF\u5B58\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E2D\u5219\u5E94\u8BE5\u6E05\u9664\u672C\u5730\u5B58\u50A8\u4E2D\u76F8\u5173\u5B57\u6BB5\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // \u9012\u5F52children\u627E\u5230listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // \u8FD9\u91CC\u7B2C\u4E8C\u5C42form\u624D\u662F\u771F\u6B63\u8981\u63D0\u4EA4\u5230crud\u8FC7\u6EE4\u6761\u4EF6\u7684form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//\u8FD9\u91CC\u4F7F\u7528filterInnerForm\u4E5F\u53EF\u4EE5\n\n if(isLookup){\n return;\n }\n \n // \u5217\u8868\u89C6\u56FEcrud\u652F\u6301\u672C\u5730\u7F13\u5B58\uFF0C\u6240\u4EE5\u9700\u8981\u8FDB\u4E00\u6B65\u6E05\u9664\u6D4F\u89C8\u5668\u672C\u5730\u7F13\u5B58\u91CC\u9762\u7528\u6237\u5728\u53EF\u641C\u7D22\u9879\u4E2D\u79FB\u9664\u7684\u5B57\u6BB5\u503C\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__\u5F00\u5934\u7684\u4E0D\u5728searchableFields\u8303\u56F4\u5219\u6E05\u9664\u5176\u503C\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.".concat(objectSchema.name,"\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n // ===END===\n ");return _context77.abrupt("return",{"type":"service","name":"service_listview_filter_form","data":{// "showFieldsFilter": false
|
|
376
376
|
// "filterFormSearchableFields": ["name"],//默认可搜索项
|
|
377
377
|
// "filterFormValues": {"__searchable__name": "xxx"},//搜索项表单值
|
|
378
378
|
// "listViewId": "${listViewId}"
|
|
379
379
|
},// "id": `service_listview_filter_form_${objectSchema.name}`,
|
|
380
380
|
"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",
|
|
381
381
|
"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",
|
|
382
|
-
"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-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case
|
|
382
|
+
"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-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case 13:case"end":return _context77.stop();}}},_callee77);}));return _getObjectFieldsFilterBarSchema.apply(this,arguments);}var getNewListviewButtonSchema=function getNewListviewButtonSchema(){return{"type":"button","label":i18next__default["default"].t('frontend_listview_control_new_label'),"className":"steedos-listview-new-button","onEvent":{"click":{"weight":0,"actions":[{"dialog":{"type":"dialog","title":i18next__default["default"].t('frontend_listview_control_new_title'),"data":{//"&":"$$",2.7、2.9、3.0在此处失效
|
|
383
383
|
"all":"${uiSchema.list_views.all}","list_view":"${uiSchema.list_views[listName]}","appId":"${appId}","global":"${global}","targetObjectName":"${objectName}","context":"${context}"},"body":[{"type":"steedos-object-form","label":"对象表单","objectApiName":"object_listviews","recordId":"","mode":"edit","layout":"normal","defaultData":{"&":"${list_view}","name":"","label":"","filters":"","shared":false,"object_name":"${targetObjectName}","_id":"","shared_to":null,"shared_to_organizations":null,"locked":false,"owner":null,"company_id":null,"company_ids":null,"is_system":false},"fieldsExtend":fieldsExtend$5(),"fields":fields$1(),"onEvent":{"submitSucc":{"weight":0,"actions":[{"args":{// 直接使用recordId不能拿到数据,只能通过result里面拿数据
|
|
384
384
|
"url":"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/listview_${result.data.recordId|lowerCase}","blank":false},"actionType":"url"}]}},"messages":{"success":i18next__default["default"].t('frontend_listview_control_new_message_success'),"failed":i18next__default["default"].t('frontend_listview_control_new_message_failed')}}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"closeOnEsc":false,"dataMapSwitch":false,"size":"lg"},"actionType":"dialog"}]}}};};function fields$1(){return["label","name","object_name","filter_scope","show_count","columns","sort","filters","mobile_columns","searchable_fields","is_system","shared","shared_to","shared_to_organizations"];}function fieldsExtend$5(){return{"group":"","label":{"group":"","is_wide":true},"name":{"group":"","amis":{"hidden":true,"required":false}},"object_name":{"group":"","amis":{"hidden":true}},"filter_scope":{"group":"","amis":{"hidden":true,"required":false}},"columns":{"group":"","amis":{"hidden":true,"required":false}},"mobile_columns":{"group":"","amis":{"hidden":true,"required":false}},"searchable_fields":{"group":"","amis":{"hidden":true,"required":false}},"filter_fields":{"group":"","amis":{"hidden":true,"required":false}},"scrolling_mode":{"group":"","amis":{"hidden":true,"required":false}},"sort":{"group":"","amis":{"hidden":true,"required":false}},"show_count":{"group":"","amis":{"hidden":true,"required":false}},"type":{"group":"","amis":{"hidden":true,"required":false}},"shared":{"group":"","amis":{"visibleOn":"${false}"}},"shared_to":{"group":"","amis":{"type":"radios","inline":false}},"shared_to_organizations":{"group":""},"filters":{"group":"","amis":{"hidden":true}}};}/**
|
|
385
385
|
* 列表视图顶部第一行amisSchema
|
|
@@ -754,21 +754,22 @@ autoFillMapping=!field.multiple&&field.auto_fill_mapping;if(autoFillMapping&&aut
|
|
|
754
754
|
queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 6:data=_context111.sent;// 传入的默认过滤条件,比如[["name", "contains", "三"]],将会作为基本过滤条件
|
|
755
755
|
filters=field.filters;if(typeof filters==="string"){filters=new Function("return ".concat(filters));filters=filters();}if(typeof filters==="function"){filters=filters(field);}data.query=data.query.replace(/,count\:.+/,"}");requestAdaptor="\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refObjectName,"\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");adaptor="\n if (api.query.dep) {\n // \u5C55\u5F00\u7EC4\u7EC7\u65F6\u624D\u9700\u8981\u6839\u636Echildren\u503C\u8BBE\u7F6Edefer\u5C5E\u6027\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ";return _context111.abrupt("return",{"method":"post","url":getApi$2()+"&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 14:case"end":return _context111.stop();}}},_callee111);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x187,_x188,_x189){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:if(field){_context112.next=2;break;}return _context112.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context112.next=10;break;}_context112.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context112.sent;_context112.next=30;break;case 10:_context112.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context112.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context112.t0=Object;_context112.t1=amisSchema;_context112.t2=field.multiple;_context112.t3=field.searchable;_context112.next=20;return getSource(field,ctx);case 20:_context112.t4=_context112.sent;_context112.next=23;return getDeferApi(field,ctx);case 23:_context112.t5=_context112.sent;_context112.t6={"multiple":_context112.t2,"searchable":_context112.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context112.t4,"deferApi":_context112.t5};_context112.t0.assign.call(_context112.t0,_context112.t1,_context112.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
756
756
|
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context112.abrupt("return",amisSchema);case 31:case"end":return _context112.stop();}}},_callee112);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
|
|
757
|
-
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 _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee18$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context18.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context18.sent;return _context18.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context18.stop();}}},_callee18);}));return function getReferenceTo(_x190){return _ref20.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(_x191,_x192,_x193){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,autoFillMapping,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,isAllowCreate,isCreate,hasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:_context113.next=2;return getReferenceTo(field);case 2:referenceTo=_context113.sent;if(referenceTo){_context113.next=5;break;}return _context113.abrupt("return");case 5:_context113.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context113.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name
|
|
757
|
+
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 _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee18(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee18$(_context18){while(1){switch(_context18.prev=_context18.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context18.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context18.sent;return _context18.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context18.stop();}}},_callee18);}));return function getReferenceTo(_x190){return _ref20.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(_x191,_x192,_x193){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee113(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,showLeftFilter,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,autoFillMapping,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,isAllowCreate,isCreate,hasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee113$(_context113){while(1){switch(_context113.prev=_context113.next){case 0:_context113.next=2;return getReferenceTo(field);case 2:referenceTo=_context113.sent;if(referenceTo){_context113.next=5;break;}return _context113.abrupt("return");case 5:_context113.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context113.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;// 是否显示lookup字段左侧的过滤器(如果有的话),默认为true,目前只有lookup选人字段有左侧树过滤器
|
|
758
|
+
showLeftFilter=field.show_left_filter!==false;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,amis:column.amis}));}});___namespace.each(listView.extra_columns||[],function(column){// Lookup弹出列表跟列表视图组件一样,支持配置列表视图extra_columns,且允许其中字段是hidden的,hidden的字段在uiSchema.fields中不存在
|
|
758
759
|
if(___namespace.isString(column)){fieldsArr.push({extra:true,name:column});}else if(___namespace.isObject(column)){fieldsArr.push({extra:true,name:column.field});}});}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排序
|
|
759
760
|
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});// 把自动填充规则中依赖的字段也加到api请求中
|
|
760
|
-
autoFillMapping=field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){if(!___namespace.find(tableFields,function(f){return f.name===item.from;})){tableFields.push(refObjectConfig.fields[item.from]);}});}___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context113.next=
|
|
761
|
+
autoFillMapping=field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){if(!___namespace.find(tableFields,function(f){return f.name===item.from;})){tableFields.push(refObjectConfig.fields[item.from]);}});}___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context113.next=30;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 30:source=_context113.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(' && '));}}// amis@3.6.3和6.3.0如果不配置 trackExpression监听当前字段值变化,那么当前lookup字段(比如T)作为其它lookup字段(比如F)autoFill自动填充的目标字段的话,
|
|
761
762
|
// F字段值变更后,虽然会自动填充值到T字段中,但是并不会触发T字段的source接口重新请求,这会造成T字段被填充后,可能会显示为字段id而不是label了,见issue:https://github.com/steedos/steedos-platform/issues/6601
|
|
762
763
|
// amis@6.2.2不需要配置trackExpression不会有#6601所示问题,但是更高版本6.3.0也会有,所以这里只能加上trackExpression避开相关bug。
|
|
763
764
|
source.trackExpression="${".concat(field.name,"}");source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
764
765
|
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 var currentAmis = (window.amisRequire && window.amisRequire('amis')) || Amis;\n //\u9012\u5F52fieldFilters\u6570\u7EC4\uFF0C\u68C0\u67E5\u6BCF\u4E00\u4E2A\u5143\u7D20\uFF0C\u5224\u65AD\u82E5\u662F\u516C\u5F0F\uFF0C\u5C31\u4EC5\u628A\u5B83\u89E3\u6790\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u662F\u6570\u7EC4\uFF0C\u5219\u9012\u5F52\u8C03\u7528\u81EA\u8EAB\u7EE7\u7EED\u904D\u5386\n traverseNestedArray(arr[i]);\n } else {\n // \u5982\u679C\u5F53\u524D\u5143\u7D20\u4E0D\u662F\u6570\u7EC4\uFF0C\u5219\u5904\u7406\u8BE5\u5143\u7D20\n // \u4E0B\u9762\u6B63\u5219\u7528\u4E8E\u5339\u914Damis\u516C\u5F0F${}\n if(/\\$\\{([^}]*)\\}/.test(arr[i])) {\n try{\n arr[i] = currentAmis.evaluate(arr[i], api.context);\n }catch(ex){\n console.error(\"\u8FD0\u884Clookup\u8FC7\u6EE4\u516C\u5F0F\u65F6\u51FA\u73B0\u9519\u8BEF:\",ex);\n }\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image\u5B57\u6BB5\u503C\u6DFB\u52A0URL\u524D\u7F00\n ").concat(getScriptForAddUrlPrefixForImgFields(___namespace.values(refObjectConfig.fields)),"\n return data;\n });\n payload.data.rows = updatedResult;\n }\n 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.context[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.context.__changedSearchBoxValues || {};\n // \u5217\u8868\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\uFF0C\u6709\u65F6\u5728\u67D0\u4E9B\u64CD\u4F5C\u60C5\u51B5\u4E0B\u8FD8\u662F\u4F1A\u9020\u6210crud\u63A5\u53E3\u8BF7\u6C42\u4F7F\u7528\u7684\u8FC7\u6EE4\u6761\u4EF6\u662F\u4E0A\u6B21\u7684\uFF0C\u8FD9\u91CC\u5F3A\u5236\u628A\u6B63\u786E\u7684\u8FC7\u6EE4\u6761\u4EF6\u8FD4\u56DE\u5230crud\uFF0C\u8BE6\u7EC6\u89C4\u5219\u89C1\uFF1Ahttps://github.com/steedos/steedos-platform/issues/7112\n payload.data[__changedFilterFormValuesKey] = __changedFilterFormValues;\n payload.data.__changedSearchBoxValues = __changedSearchBoxValues;\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 被标记为了 名称字段. 在此处特殊处理.
|
|
765
|
-
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context113.next=
|
|
766
|
-
hasFilters=!___namespace.isEmpty(field.filters)||!!field.filtersFunction||!!field._filtersFunction;if(!(isAllowCreate&&isCreate&&!hasFilters)){_context113.next=
|
|
767
|
-
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case
|
|
766
|
+
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context113.next=46;return getTableSchema$1(refObjectConfig,tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 46:pickerSchema=_context113.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"&&showLeftFilter){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字段配置过滤条件就强制不显示新建按钮
|
|
767
|
+
hasFilters=!___namespace.isEmpty(field.filters)||!!field.filtersFunction||!!field._filtersFunction;if(!(isAllowCreate&&isCreate&&!hasFilters)){_context113.next=59;break;}_context113.next=56;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 56:new_button=_context113.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
768
|
+
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 59:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context113.next=64;break;}_context113.next=63;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName,searchable_fields:field.searchable_fields,auto_open_filter:field.auto_open_filter,show_left_filter:field.show_left_filter}));case 63:pickerSchema.filter=_context113.sent;case 64:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
768
769
|
"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
|
|
769
770
|
pickerSchema.headerToolbar=pickerSchema.headerToolbar&&pickerSchema.headerToolbar.filter(function(item){if(["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(item.id)>-1){return true;}else{return false;}});pickerSchema.footerToolbar=["pagination"];}if(field.inlineHelpText){pickerSchema.toolbarClassName="hasHelpText";pickerSchema.headerToolbar=[{"type":"tpl","tpl":field.inlineHelpText,"className":"text-secondary"}].concat(_toConsumableArray(pickerSchema.headerToolbar));}pickerSchema.className=(pickerSchema.className||"")+" steedos-lookup-crud";data={type:getAmisStaticFieldType('picker',readonly),className:ctx.className||'',modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
770
771
|
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,用来配置弹出方式
|
|
771
|
-
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context113.next=
|
|
772
|
+
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context113.next=77;break;}_context113.next=76;return getLookupTpl(field,ctx);case 76:data.tpl=_context113.sent;case 77:return _context113.abrupt("return",data);case 78:case"end":return _context113.stop();}}},_callee113);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x194,_x195,_x196){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee114(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,queryFields,autoFillMapping,listView,listviewFilter,listviewFiltersFunction,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee114$(_context114){while(1){switch(_context114.prev=_context114.next){case 0:_context114.next=2;return getReferenceTo(field);case 2:referenceTo=_context114.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';
|
|
772
773
|
_context114.t0=referenceTo;if(!_context114.t0){_context114.next=10;break;}_context114.next=9;return getUISchema(referenceTo.objectName);case 9:_context114.t0=_context114.sent;case 10:refObjectConfig=_context114.t0;if(!referenceTo){_context114.next=24;break;}queryFields=[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})];// 把自动填充规则中依赖的字段也加到api请求中
|
|
773
774
|
autoFillMapping=field.auto_fill_mapping;if(autoFillMapping&&autoFillMapping.length){autoFillMapping.forEach(function(item){queryFields.push(refObjectConfig.fields[item.from]);});}// 字段值单独走一个请求合并到source的同一个GraphQL接口中
|
|
774
775
|
_context114.next=17;return getFindQuery({name:referenceTo.objectName},null,queryFields,{expand:false,alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 17:defaultValueOptionsQueryData=_context114.sent;_context114.next=20;return getApi({name:referenceTo.objectName},null,queryFields,{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 20:apiInfo=_context114.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 ";_context114.next=25;break;case 24:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 25:listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|