@steedos-widgets/amis-lib 3.6.2-beta.14 → 3.6.2-beta.16
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 +181 -44
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +181 -44
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +59 -39
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/input_table.d.ts +1 -1
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -324,7 +324,7 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
324
324
|
* @param {*} ctx
|
|
325
325
|
* @returns
|
|
326
326
|
*/var getButton=/*#__PURE__*/function(){var _ref10=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee12(objectName,buttonName,ctx){var uiSchema,buttons,button;return _regeneratorRuntime().wrap(function _callee12$(_context12){while(1){switch(_context12.prev=_context12.next){case 0:_context12.next=2;return getUISchema(objectName);case 2:uiSchema=_context12.sent;if(!uiSchema){_context12.next=60;break;}_context12.next=6;return getButtons(uiSchema,ctx);case 6:buttons=_context12.sent;button=___namespace.find(buttons,function(button){return button.name===buttonName;});if(button){_context12.next=10;break;}return _context12.abrupt("return");case 10:if(!(button.name=='standard_edit'&&button.todo==='standard_edit'&&button.type!="amis_button")){_context12.next=17;break;}_context12.t0=_objectSpread;_context12.t1={label:button.label,name:button.name,on:button.on};_context12.next=15;return StandardButtons.getStandardEdit(uiSchema,ctx);case 15:_context12.t2=_context12.sent;return _context12.abrupt("return",(0,_context12.t0)(_context12.t1,_context12.t2));case 17:if(!(objectName!='cms_files'&&button.name=='standard_new'&&button.todo==='standard_new'&&button.type!="amis_button")){_context12.next=24;break;}_context12.t3=_objectSpread;_context12.t4={label:button.label,name:button.name,on:button.on};_context12.next=22;return StandardButtons.getStandardNew(uiSchema,ctx);case 22:_context12.t5=_context12.sent;return _context12.abrupt("return",(0,_context12.t3)(_context12.t4,_context12.t5));case 24:if(!(button.name=='standard_delete'&&button.todo==='standard_delete'&&button.type!="amis_button")){_context12.next=31;break;}_context12.t6=_objectSpread;_context12.t7={label:button.label,name:button.name,on:button.on,sort:button.sort};_context12.next=29;return StandardButtons.getStandardDelete(uiSchema,ctx);case 29:_context12.t8=_context12.sent;return _context12.abrupt("return",(0,_context12.t6)(_context12.t7,_context12.t8));case 31:if(!(uiSchema.hasImportTemplates&&button.name==='standard_import_data')){_context12.next=38;break;}_context12.t9=_objectSpread;_context12.t10={label:button.label,name:button.name,on:button.on,sort:button.sort};_context12.next=36;return StandardButtons.getStandardImportData(uiSchema,ctx);case 36:_context12.t11=_context12.sent;return _context12.abrupt("return",(0,_context12.t9)(_context12.t10,_context12.t11));case 38:if(!(button.name==='standard_export_excel')){_context12.next=45;break;}_context12.t12=_objectSpread;_context12.t13={label:button.label,name:button.name,on:button.on,sort:button.sort};_context12.next=43;return StandardButtons.getStandardExportExcel(uiSchema,ctx);case 43:_context12.t14=_context12.sent;return _context12.abrupt("return",(0,_context12.t12)(_context12.t13,_context12.t14));case 45:if(!(button.name==='standard_open_view')){_context12.next=52;break;}_context12.t15=_objectSpread;_context12.t16={label:button.label,name:button.name,on:button.on,sort:button.sort};_context12.next=50;return StandardButtons.getStandardOpenView(uiSchema,ctx);case 50:_context12.t17=_context12.sent;return _context12.abrupt("return",(0,_context12.t15)(_context12.t16,_context12.t17));case 52:if(!(button.name==='standard_delete_many')){_context12.next=59;break;}_context12.t18=_objectSpread;_context12.t19={label:button.label,name:button.name,on:button.on,sort:button.sort};_context12.next=57;return StandardButtons.getStandardDeleteMany(uiSchema,ctx);case 57:_context12.t20=_context12.sent;return _context12.abrupt("return",(0,_context12.t18)(_context12.t19,_context12.t20));case 59:return _context12.abrupt("return",button);case 60:case"end":return _context12.stop();}}},_callee12);}));return function getButton(_x78,_x79,_x80){return _ref10.apply(this,arguments);};}();var execute=function execute(button,props){if(!button.todo){return;//TODO 弹出提示未配置todo
|
|
327
|
-
}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 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{"type":"button","icon":"fa fa-angle-down","visibleOn":phoneMoreButtonsVisibleOn,"onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":dropdownButtons,"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}else{if(moreButtons.length>0){var dropdownButtonsSchema={type:"steedos-dropdown-button",label:"",buttons:moreButtons,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'){return{"type":"button","icon":"fa fa-angle-down","className":"mr-0","onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":_toConsumableArray(___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")};})),"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}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'){return{"type":"button","icon":"fa fa-angle-down","onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","vertical":true,"tiled":true,"buttons":_toConsumableArray(___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")};})),"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}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(_x81){return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function _getObjectFieldsFilterButtonSchema(){_getObjectFieldsFilterButtonSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee71(objectSchema){return _regeneratorRuntime().wrap(function _callee71$(_context71){while(1){switch(_context71.prev=_context71.next){case 0:return _context71.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 _context71.stop();}}},_callee71);}));return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function getObjectFieldsFilterFormSchema(_x82){return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function _getObjectFieldsFilterFormSchema(){_getObjectFieldsFilterFormSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee72(ctx){var formSchema;return _regeneratorRuntime().wrap(function _callee72$(_context72){while(1){switch(_context72.prev=_context72.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-
|
|
327
|
+
}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 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{"type":"button","icon":"fa fa-angle-down","visibleOn":phoneMoreButtonsVisibleOn,"onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":dropdownButtons,"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}else{if(moreButtons.length>0){var dropdownButtonsSchema={type:"steedos-dropdown-button",label:"",buttons:moreButtons,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'){return{"type":"button","icon":"fa fa-angle-down","className":"mr-0","onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","id":"u:fd837823be5b","vertical":true,"tiled":true,"buttons":_toConsumableArray(___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")};})),"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}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'){return{"type":"button","icon":"fa fa-angle-down","onEvent":{"click":{"actions":[{"actionType":"drawer","drawer":{"type":"drawer","title":i18next__default["default"].t('frontend_operation'),"id":"object_actions_drawer_"+objectSchema.name,"body":[{"type":"button-group","vertical":true,"tiled":true,"buttons":_toConsumableArray(___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")};})),"btnLevel":"enhance","className":"w-full","btnClassName":"w-full","size":"lg"}],"position":"bottom","closeOnOutside":true,"resizable":false,"className":"buttons-drawer","bodyClassName":"m-none p-none","actions":[]}}]}}};}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(_x81){return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function _getObjectFieldsFilterButtonSchema(){_getObjectFieldsFilterButtonSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee71(objectSchema){return _regeneratorRuntime().wrap(function _callee71$(_context71){while(1){switch(_context71.prev=_context71.next){case 0:return _context71.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 _context71.stop();}}},_callee71);}));return _getObjectFieldsFilterButtonSchema.apply(this,arguments);}function getObjectFieldsFilterFormSchema(_x82){return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function _getObjectFieldsFilterFormSchema(){_getObjectFieldsFilterFormSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee72(ctx){var formSchema;return _regeneratorRuntime().wrap(function _callee72$(_context72){while(1){switch(_context72.prev=_context72.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 _context72.abrupt("return",formSchema);case 3:case"end":return _context72.stop();}}},_callee72);}));return _getObjectFieldsFilterFormSchema.apply(this,arguments);}function getObjectFieldsFilterBarSchema(_x83,_x84){return _getObjectFieldsFilterBarSchema.apply(this,arguments);}/**
|
|
328
328
|
* 列表视图顶部第一行amisSchema
|
|
329
329
|
* @param {*} objectSchema 对象UISchema
|
|
330
330
|
* @returns amisSchema
|
|
@@ -335,7 +335,7 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
335
335
|
},// "id": `service_listview_filter_form_${objectSchema.name}`,
|
|
336
336
|
"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",
|
|
337
337
|
"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",
|
|
338
|
-
"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-
|
|
338
|
+
"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 11:case"end":return _context73.stop();}}},_callee73);}));return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function getObjectListHeaderFirstLine(objectSchema,listViewName,ctx){var icon=objectSchema.icon,label=objectSchema.label;var disabled_list_views=objectSchema.permissions.disabled_list_views;var listViewButtonOptions=[];_$1.each(objectSchema.list_views,function(listView,name){if(name==="lookup"||disabled_list_views&&disabled_list_views.indexOf(listView._id)>-1){// 内置lookup为弹出选择专用视图,根据用户权限被禁用的视图,不显示在列表切换区域
|
|
339
339
|
return;}listViewButtonOptions.push({type:"button",label:listView.label,actionType:"link",link:"/app/${appId}/".concat(objectSchema.name,"/grid/").concat(name)});});var amisButtonsSchema=getObjectListViewButtonsSchemas(objectSchema,{formFactor:ctx.formFactor});var reg=new RegExp('_','g');var standardIcon=icon&&icon.replace(reg,'-');var standardNewButton=_.find(amisButtonsSchema,{name:"standard_new"});var buttonSchema=[{"type":"flex","items":amisButtonsSchema,"visibleOn":"${display == 'split'?false:true}"}];if(ctx.formFactor!=='SMALL'){var restButtons=Array.isArray(amisButtonsSchema)?amisButtonsSchema.filter(function(obj){return obj.name!=="standard_new";}):[];buttonSchema.push({"type":"flex","items":[standardNewButton,restButtons.length>0&&{"type":"dropdown-button","buttons":restButtons,"className":" ml-1","menuClassName":"p-none split-dropdown-buttons","align":"right","size":"sm"}],"visibleOn":"${display == 'split'?true:false}"});}return{"type":"grid","columns":[{"body":[{"type":"grid","columns":[{"body":{"type":"tpl","className":"block","tpl":"<svg class=\"slds-icon slds-icon_container slds-icon-standard-".concat(standardIcon," slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#").concat(icon,"\"></use></svg>")},"md":"auto","className":"","columnClassName":"flex justify-center items-center","valign":"middle"},{"body":[{"type":"tpl","tpl":"".concat(label),"inline":false,"wrapperComponent":"","className":"text-md leading-none text-black"},{"type":"dropdown-button","className":"","label":"\${listName ? uiSchema.list_views[listName].label : uiSchema.list_views[defaultListName].label}","rightIcon":"fa fa-caret-down","size":"sm","hideCaret":true,"closeOnClick":true,"btnClassName":"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none","buttons":listViewButtonOptions}],"md":"","columnClassName":"p-l-xs"}],"className":"flex justify-between"}],"md":"auto"},{"body":buttonSchema,"md":"auto","valign":"middle"}],"className":"flex justify-between"};}/**
|
|
340
340
|
* 列表视图顶部第二行amisSchema
|
|
341
341
|
* @param {*} objectSchema 对象UISchema
|
|
@@ -376,12 +376,12 @@ return;}listViewButtonOptions.push({type:"button",label:listView.label,actionTyp
|
|
|
376
376
|
// }
|
|
377
377
|
// });
|
|
378
378
|
// `;
|
|
379
|
-
secordLineSchema={"type":"grid","columns":[{"body":[{"type":"tpl","tpl":"${$count} 个项目","visibleOn":"this.$count >= 0","inline":false,"wrapperComponent":"","className":"leading-none","style":{"fontFamily":"","fontSize":14},"id":"u:1661f8471235"}],"md":"auto","columnClassName":"flex items-center"},{"body":[{"type":"button","label":"","icon":"fa fa-refresh","actionType":"reload","target":amisListViewId,"className":"bg-white p-2 rounded
|
|
379
|
+
secordLineSchema={"type":"grid","columns":[{"body":[{"type":"tpl","tpl":"${$count} 个项目","visibleOn":"this.$count >= 0","inline":false,"wrapperComponent":"","className":"leading-none","style":{"fontFamily":"","fontSize":14},"id":"u:1661f8471235"}],"md":"auto","columnClassName":"flex items-center"},{"body":[{"type":"button","label":"","icon":"fa fa-refresh","actionType":"reload","target":amisListViewId,"className":"bg-white p-2 rounded text-gray-500"},fieldsFilterButtonSchema// {
|
|
380
380
|
// "type": "button",
|
|
381
381
|
// "label": "",
|
|
382
382
|
// "icon": "fa fa-filter",
|
|
383
383
|
// "actionType": "custom",
|
|
384
|
-
// "className": "bg-transparent p-2 rounded
|
|
384
|
+
// "className": "bg-transparent p-2 rounded text-gray-500",
|
|
385
385
|
// "id": "u:c20cb87d96c9",
|
|
386
386
|
// "onEvent": {
|
|
387
387
|
// "click": {
|
|
@@ -399,7 +399,7 @@ secordLineSchema={"type":"grid","columns":[{"body":[{"type":"tpl","tpl":"${$coun
|
|
|
399
399
|
* 列表视图顶部amisSchema
|
|
400
400
|
* @param {*} objectSchema 对象UISchema
|
|
401
401
|
* @returns amisSchema
|
|
402
|
-
*/function _getObjectListHeaderFieldsFilterBar(){_getObjectListHeaderFieldsFilterBar=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75(objectSchema,listViewName,ctx){var fieldsFilterBarSchema;return _regeneratorRuntime().wrap(function _callee75$(_context75){while(1){switch(_context75.prev=_context75.next){case 0:_context75.next=2;return getObjectFieldsFilterBarSchema(objectSchema,ctx);case 2:fieldsFilterBarSchema=_context75.sent;return _context75.abrupt("return",fieldsFilterBarSchema);case 4:case"end":return _context75.stop();}}},_callee75);}));return _getObjectListHeaderFieldsFilterBar.apply(this,arguments);}function getObjectListHeader$1(objectSchema,listViewName,ctx){if(!ctx){ctx={};}var firstLineSchema=getObjectListHeaderFirstLine(objectSchema,listViewName,ctx);var body=[firstLineSchema];var headerSchema=[{"type":"wrapper","body":body,"className":"
|
|
402
|
+
*/function _getObjectListHeaderFieldsFilterBar(){_getObjectListHeaderFieldsFilterBar=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee75(objectSchema,listViewName,ctx){var fieldsFilterBarSchema;return _regeneratorRuntime().wrap(function _callee75$(_context75){while(1){switch(_context75.prev=_context75.next){case 0:_context75.next=2;return getObjectFieldsFilterBarSchema(objectSchema,ctx);case 2:fieldsFilterBarSchema=_context75.sent;return _context75.abrupt("return",fieldsFilterBarSchema);case 4:case"end":return _context75.stop();}}},_callee75);}));return _getObjectListHeaderFieldsFilterBar.apply(this,arguments);}function getObjectListHeader$1(objectSchema,listViewName,ctx){if(!ctx){ctx={};}var firstLineSchema=getObjectListHeaderFirstLine(objectSchema,listViewName,ctx);var body=[firstLineSchema];var headerSchema=[{"type":"wrapper","body":body,"className":"sm:rounded-tl sm:rounded-tr p-4 -mb-4"}];return headerSchema;}function getBackButtonSchema(){return{"type":"service","onEvent":{"@history_paths.changed":{"actions":[{"actionType":"reload",// amis 3.6需要传入data来触发下面的window:historyPaths重新计算,此问题随机偶发,加上data后正常
|
|
403
403
|
"data":{}}]}},"body":[{"type":"button","visibleOn":"${window:innerWidth > 768 && (window:historyPaths.length > 1 || window:historyPaths[0].params.record_id) && display !== 'split'}","className":"flex mr-4","onEvent":{"click":{"actions":[{"actionType":"custom","script":"window.goBack()"}]}},"body":[{"type":"steedos-icon","category":"utility","name":"back","colorVariant":"default","className":"slds-button_icon slds-global-header__icon w-4"}]}]};}/**
|
|
404
404
|
* 记录详细界面顶部头amisSchema,也是标题面板组件的amisSchema
|
|
405
405
|
* @param {*} objectSchema 对象UISchema
|
|
@@ -415,7 +415,7 @@ _ref55=options||{},_ref55$showRecordTitl=_ref55.showRecordTitle,showRecordTitle=
|
|
|
415
415
|
name=objectSchema.name,label=objectSchema.label,icon=objectSchema.icon,NAME_FIELD_KEY=objectSchema.NAME_FIELD_KEY;amisButtonsSchema=[];if(options.showButtons!=false){amisButtonsSchema=getObjectDetailButtonsSchemas(objectSchema,recordId,options);}backButtonsSchema=null;if(options.showBackButton!=false){backButtonsSchema=getBackButtonSchema();}// console.log(`getObjectRecordDetailHeader==>`, amisButtonsSchema)
|
|
416
416
|
reg=new RegExp('_','g');standardIcon=icon&&icon.replace(reg,'-');gridBody=[];if(showRecordTitle){gridBody.push({"body":[{"type":"grid","columns":[{"body":[backButtonsSchema,{"type":"tpl","className":"block",// "tpl": `<img class='slds-icon slds-icon_container slds-icon-standard-${standardIcon}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${icon}.svg'>`
|
|
417
417
|
"tpl":"<svg class=\"slds-icon slds-icon_container slds-icon-standard-".concat(standardIcon," slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#").concat(icon,"\"></use></svg>")}],"md":"auto","className":"","columnClassName":"flex justify-center items-center"},{"body":[{"type":"tpl","tpl":"".concat(label),"inline":false,"wrapperComponent":"","className":"leading-4 text-md"},{"type":"tpl","tpl":"${NAME_FIELD_VALUE}","inline":false,"wrapperComponent":"","className":"record-detail-header-name leading-5 text-xl font-bold"}],"columnClassName":"p-l-xs"}],"className":"flex justify-between"}],"columnClassName":"flex-initial","md":"auto"});}gridBody.push({"body":{"type":"flex","items":amisButtonsSchema},"md":"auto"// "hiddenOn": "${recordLoaded != true}"
|
|
418
|
-
});body=[{"type":"wrapper","className":"p-4
|
|
418
|
+
});body=[{"type":"wrapper","className":"p-4 border-b","body":[{"type":"grid","columns":gridBody,"className":"flex justify-between flex-nowrap"}],"hiddenOn":"${recordLoaded != true}"}];if(showRecordTitle){body.push({"type":"wrapper","className":"p-4","body":[{"type":"grid","columns":[gridBody[0]],"className":"flex justify-between"}],"hiddenOn":"${recordLoaded == true}"});}max=10;if(options.formFactor==='SMALL'){max=4;}else{divWidth=window.innerWidth;if(options.display==='split'){divWidth=divWidth-388;}if(document.body.classList.contains('sidebar')){divWidth=divWidth-210;}// 根据屏幕宽度计算显示数量, 使高亮字段只占1行
|
|
419
419
|
max=Math.trunc(divWidth/200);if(max>10){max=10;}}// console.log('=======================max=========================', max)
|
|
420
420
|
if(objectSchema.compactLayouts){details=[];_.each(_.slice(_.difference(objectSchema.compactLayouts,[objectSchema.NAME_FIELD_KEY]),0,max),function(fieldName){var field=objectSchema.fields[fieldName];if(field){details.push({type:'steedos-field',"static":true,config:field});}});// 注意: 以下注释不能删除. tailwind css 动态编译时会识别以下注释, 生成对应的样式
|
|
421
421
|
// lg:grid-cols-1
|
|
@@ -445,9 +445,9 @@ body.push({"type":"wrapper","body":{"type":"form",// "className": "gap-2 grid gr
|
|
|
445
445
|
"targetObjectName":"${objectName}","recordId":"${uiSchema.list_views[listName]._id}","listName":"${listName}","appId":"${appId}","context":"${context}"},"body":[{"type":"steedos-object-form","label":"对象表单","objectApiName":"object_listviews","recordId":"${recordId}","mode":"edit","fieldsExtend":fieldsExtend$1(),"initApiAdaptor":initApiAdaptor$1(),"apiRequestAdaptor":apiRequestAdaptor$1(),"fields":["columns","mobile_columns"],"onEvent":{"submitSucc":{"weight":0,"actions":[{"args":{"url":"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${listName}","blank":false},"actionType":"url"}]}}}],"searchable":true,"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"size":"lg"},"actionType":"dialog"}]}}};};function fieldsExtend$1(){return{"columns":{"amis":{"type":"transfer","sortable":true,"searchable":true,"source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}}},"mobile_columns":{"amis":{"type":"transfer","sortable":true,"searchable":true,"source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}}}};}function initApiAdaptor$1(){return"\n const recordId_tmp = api.body.recordId;\n let columns_tmp = {}, mobile_columns_tmp = {};\n if (recordId_tmp) {\n columns_tmp = payload.data.columns;\n mobile_columns_tmp = payload.data.mobile_columns;\n if (columns_tmp) {\n columns_tmp = lodash.map(columns_tmp, 'field');\n }\n if (mobile_columns_tmp) {\n mobile_columns_tmp = lodash.map(mobile_columns_tmp, 'field');\n }\n }\n payload.data.columns = columns_tmp;\n payload.data.mobile_columns = mobile_columns_tmp;\n \n delete payload.extensions;\n return payload;\n ";}function apiRequestAdaptor$1(){return"\n const formData_tmp = api.body.$;\n const objectName_tmp = api.body.objectName;\n const recordId_tmp = api.body.recordId;\n \n if (typeof formData_tmp.columns == 'string') {\n formData_tmp.columns = formData_tmp.columns && formData_tmp.columns.split(',');\n }\n if (typeof formData_tmp.mobile_columns == 'string') {\n formData_tmp.mobile_columns = formData_tmp.mobile_columns && formData_tmp.mobile_columns.split(',');\n }\n \n // \u6570\u636E\u683C\u5F0F\u8F6C\u6362\n formData_tmp.columns = lodash.map(formData_tmp.columns, (item) => {\n return { field: item };\n });\n formData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n });\n \n let query_tmp = 'mutation{record: ' + objectName_tmp + '__insert(doc: {__saveData}){_id}}';\n if (api.body.recordId) {\n query_tmp = 'mutation{record: ' + objectName_tmp + '__update(id: \"' + recordId_tmp +'\", doc: {__saveData}){_id}}';\n };\n delete formData_tmp._id;\n let __saveData_tmp = JSON.stringify(JSON.stringify(formData_tmp));\n api.data = { query: query_tmp.replace('{__saveData}', __saveData_tmp) };\n \n return api;\n ";}var getSetListviewSortButtonSchema=function getSetListviewSortButtonSchema(){return{"type":"button","label":i18next__default["default"].t('frontend_listview_control_sort'),"disabledOn":"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)","onEvent":{"click":{"weight":0,"actions":[{"dialog":{"type":"dialog","title":i18next__default["default"].t('frontend_listview_control_sort'),"data":{//"&":"$$",2.7、2.9、3.0在此处失效
|
|
446
446
|
"targetObjectName":"${objectName}","recordId":"${uiSchema.list_views[listName]._id}","listName":"${listName}","appId":"${appId}","context":"${context}"},"body":[{"type":"steedos-object-form","label":"对象表单","objectApiName":"object_listviews","recordId":"${recordId}","className":"","id":"u:061f158b4c5a","mode":"edit","fields":["sort","sort.$.field_name","sort.$.order"],"onEvent":{"submitSucc":{"weight":0,"actions":[{"args":{"url":"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${listName}","blank":false},"actionType":"url"}]}},"fieldsExtend":fieldsExtend(),"initApiAdaptor":initApiAdaptor(),"apiRequestAdaptor":apiRequestAdaptor()}],"showCloseButton":true,"showErrorMsg":true,"showLoading":true,"id":"u:d3f6947b6acf","size":"lg"},"actionType":"dialog"}]}}};};function fieldsExtend(){return{"sort":{"amis":{"type":"tabs-transfer","sortable":true,"searchable":true,"source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/sortFields/options","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}}}};}function initApiAdaptor(){return"\n let sort;\n if (recordId) {\n sort = payload.data.sort;\n //\u6570\u636E\u683C\u5F0F\u8F6C\u6362\n if (sort instanceof Array) {\n sort = lodash.map(sort, (item) => {\n return item.field_name + ':' + (item.order || 'asc')\n });\n }\n }\n payload.data.sort = sort;\n delete payload.extensions;\n return payload;\n ";}function apiRequestAdaptor(){return"\n const recordId = api.body.recordId;\n //\u6570\u636E\u683C\u5F0F\u8F6C\u6362\n if (typeof formData.sort == 'string') {\n formData.sort = formData.sort && formData.sort.split(',');\n }\n formData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n });\n if (recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n }\n __saveData = JSON.stringify(JSON.stringify(formData));\n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n ";}var getDeleteListviewButtonSchema=function getDeleteListviewButtonSchema(){return{"type":"button","label":i18next__default["default"].t('frontend_listview_control_delete_label'),"disabledOn":"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)","confirmText":i18next__default["default"].t('frontend_listview_control_delete_confirm_text'),"onEvent":{"click":{"actions":[{"actionType":"ajax","args":{"api":{"url":"${context.rootUrl}/graphql","method":"post","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"&":"$$","uiSchema":"${uiSchema}","recordId":"${uiSchema.list_views[listName]._id}"},"messages":{"success":i18next__default["default"].t('frontend_listview_control_delete_message_success')},"requestAdaptor":requestAdaptor(),"adaptor":adaptor()}}},{"actionType":"url","args":{"url":"${context.rootUrl}/app/${appId}/${objectName}/grid/all","blank":false},"expression":"data.delete == 1"}]}}};};function requestAdaptor(){return"\n const { recordId } = api.body;\n var deleteArray = [];\n if (recordId) { deleteArray.push(`delete:object_listviews__delete(id: \"${recordId}\")`); }\n api.data = { query: `mutation{${deleteArray.join(',')}}` };\n return api;\n ";}function adaptor(){return"\n if (payload.errors) {\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n }\n return payload;\n ";}var getSettingListviewToolbarButtonSchema=function getSettingListviewToolbarButtonSchema(){return{"type":"dropdown-button","trigger":"click","icon":"fa fa-cog",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
447
447
|
// "tooltip": i18next.t('frontend_button_listview_control_tooltip'),
|
|
448
|
-
"btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded
|
|
448
|
+
"btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500","align":"right","visibleOn":"${!isLookup}","buttons":[{"label":i18next__default["default"].t('frontend_button_listview_control_label'),"children":[getNewListviewButtonSchema(),getCopyListviewButtonSchema(),getRenameListviewButtonSchema(),getSetListviewShareButtonSchema(),getSetListviewFiltersButtonSchema(),getSetListviewColumnsButtonSchema(),getSetListviewSortButtonSchema(),getDeleteListviewButtonSchema()]}]};};var getDisplayAsButton=function getDisplayAsButton(objectName,showDisplayAs){var displayAs=amisLib.Router.getTabDisplayAs(objectName);var buttons=[{"type":"button","label":i18next__default["default"].t('frontend_display_type_is_table'),"onClick":"const key = 'tab_"+objectName+"_display';sessionStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\"side_object\") && urlSearch.get(\"side_listview_id\")){url=`/app/${props.data.appId}/${urlSearch.get(\"side_object\")}/grid/${urlSearch.get(\"side_listview_id\")}`;}; props.env.jumpTo(url + '?display=grid');","rightIcon":displayAs!='split'?"fa fa-check":null,"rightIconClassName":"m-l-sm"},{"type":"button","label":i18next__default["default"].t('frontend_display_type_is_split'),"onClick":"const key = 'tab_"+objectName+"_display';sessionStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);","rightIcon":displayAs==='split'?"fa fa-check":null,"rightIconClassName":"m-l-sm"}];displayAs==='split'?i18next__default["default"].t('frontend_display_type_is_split'):i18next__default["default"].t('frontend_display_type_is_table');return{"type":"dropdown-button","icon":"fa fa-table-columns",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
449
449
|
// "tooltip": `${i18next.t('frontend_display_as')} ${displayAsLabel}`,
|
|
450
|
-
"btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded
|
|
450
|
+
"btnClassName":"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500","align":"right","visibleOn":"${window:innerWidth > 768 && !!!isLookup}","buttons":[{"label":i18next__default["default"].t('frontend_display_as'),"children":buttons}]};};var onFieldsFilterToggleScript="\nconst scope = event.context.scoped;\nconst filterForm = scope.getComponents().find(function(n){\n return n.props.type === \"form\";\n});\nconst filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n});\nlet toShowFieldsFilter = !!!filterService.props.data.showFieldsFilter;\nfilterService.setData({showFieldsFilter: toShowFieldsFilter});\n//\u89E6\u53D1amis crud \u9AD8\u5EA6\u91CD\u7B97\ndoAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.\" + event.data.objectName\n },\n \"data\": {\n \"timeOut\": 1000\n }\n});\n// \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\nlet crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\ncrudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});\n// if(filterService.props.data.showFieldsFilter){\n// if(isMobile){\n// // \u624B\u673A\u4E0A\u53EA\u80FD\u901A\u8FC7\u53D6\u6D88\u6309\u94AE\u6765\u5173\u95ED\u641C\u7D22\u680F\n// return;\n// }\n// let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"button\", { \n// direction: \"down\", \n// name: \"btn_filter_form_cancel\" \n// });\n// buttonCancel.props.dispatchEvent('click', {}).then(function(){\n// resizeWindow();\n// });\n// }\n// else{\n// if(isMobile){\n// // \u624B\u673A\u7AEF\u5728\u663E\u793A\u641C\u7D22\u680F\u65F6\u9690\u85CFcrud\u4E0A\u7684\u5237\u65B0\u6309\u94AE\uFF0C\u56E0\u4E3A\u70B9\u51FB\u540Ecrud\u9AD8\u5EA6\u663E\u793A\u6709\u95EE\u9898\n// let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n// crudService && crudService.setData({showFieldsFilter: true});\n// }\n// }\n";// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = "__keywords", crudId } = {}){
|
|
451
451
|
function getObjectHeaderQuickSearchBox(mainObject,fields,formFactor){var _ref11=arguments.length>3&&arguments[3]!==undefined?arguments[3]:{},_ref11$isLookup=_ref11.isLookup,isLookup=_ref11$isLookup===void 0?false:_ref11$isLookup,_ref11$keywordsSearch=_ref11.keywordsSearchBoxName,keywordsSearchBoxName=_ref11$keywordsSearch===void 0?"__keywords":_ref11$keywordsSearch;var searchableFieldsLabel=[];_.each(mainObject.fields,function(field){if(isFieldQuickSearchable(field,mainObject.NAME_FIELD_KEY)){searchableFieldsLabel.push(field.label);}});var listViewPropsStoreKey=location.pathname+"/crud";var localListViewProps=sessionStorage.getItem(listViewPropsStoreKey);var crudKeywords="";if(localListViewProps&&!isLookup){localListViewProps=JSON.parse(localListViewProps);crudKeywords=localListViewProps&&localListViewProps.__keywords||"";}var onChangeScript="\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\");\n let __changedSearchBoxValues = {};\n __changedSearchBoxValues[\"".concat(keywordsSearchBoxName,"\"] = event.data[\"").concat(keywordsSearchBoxName,"\"];\n // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n // \u8FD9\u91CC\u4E0D\u7528crudService\u800C\u7528crud\u662F\u56E0\u4E3Alookup\u5B57\u6BB5\u5F39\u51FA\u7684\u5217\u8868\u4E2D\u7684crudService\u4E2D\u7684\u53D8\u91CF\u65E0\u6CD5\u4F20\u5165crud\u7684\u53D1\u9001\u9002\u914D\u5668\u4E2D\n // crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n if(crud){\n let crudData = crud.getData();\n crudData.__changedSearchBoxValues = __changedSearchBoxValues;\n crud.setData(crudData);\n }\n ");// onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript
|
|
452
452
|
// 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript
|
|
453
453
|
// 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了
|
|
@@ -469,7 +469,7 @@ var isMobile=window.innerWidth<768;if(isMobile){showDisplayAs=false;}var toolbar
|
|
|
469
469
|
// //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
470
470
|
// // "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
471
471
|
// "tooltipPlacement": "top",
|
|
472
|
-
// "className": "bg-white p-2 rounded
|
|
472
|
+
// "className": "bg-white p-2 rounded text-gray-500",
|
|
473
473
|
// "label": "",
|
|
474
474
|
// "icon": "fa fa-sync",
|
|
475
475
|
// "visibleOn": "${!showFieldsFilter}",
|
|
@@ -487,12 +487,12 @@ var isMobile=window.innerWidth<768;if(isMobile){showDisplayAs=false;}var toolbar
|
|
|
487
487
|
// 后续如果换成加载更多按钮的翻页模式的话,不可以直接使用下面的reload,需要换成上面的自定义脚本模式
|
|
488
488
|
toolbarReloadButton={"type":"reload","align":"right",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
489
489
|
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
490
|
-
"tooltip":"","tooltipPlacement":"top","className":"bg-white p-2 rounded
|
|
490
|
+
"tooltip":"","tooltipPlacement":"top","className":"bg-white p-2 rounded text-gray-500"};}else{toolbarReloadButton={"type":"reload","align":"right",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
491
491
|
// "tooltip": i18next.t('frontend_button_reload_tooltip'),
|
|
492
|
-
"tooltip":"","tooltipPlacement":"top","className":"bg-white p-2 rounded
|
|
492
|
+
"tooltip":"","tooltipPlacement":"top","className":"bg-white p-2 rounded text-gray-500"};}var toolbarFilter;if(filterVisible){toolbarFilter={"label":i18next__default["default"].t('frontend_button_search_tooltip'),"icon":"fa fa-filter",//TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330
|
|
493
493
|
// "tooltip": i18next.t('frontend_button_search_tooltip'),
|
|
494
494
|
// "tooltipPlacement": "top",
|
|
495
|
-
"type":"button","badge":{"offset":[-5,1],"size":8,"animation":true,"visibleOn":"${isFieldsFilterEmpty == false && isLookup != true}"},"align":"right","className":"bg-white p-2 rounded
|
|
495
|
+
"type":"button","badge":{"offset":[-5,1],"size":8,"animation":true,"visibleOn":"${isFieldsFilterEmpty == false && isLookup != true}"},"align":"right","className":"bg-white p-2 rounded text-gray-500","onEvent":{"click":{"actions":[{"actionType":"custom","script":onFieldsFilterToggleScript}]}},"id":"steedos_crud_toolbar_filter"};}var toolbarDisplayAsButton=getDisplayAsButton(mainObject===null||mainObject===void 0?void 0:mainObject.name);var toolbarDQuickSearchBox=getObjectHeaderQuickSearchBox(mainObject,fields,formFactor,{isLookup:isLookup,keywordsSearchBoxName:keywordsSearchBoxName});// toolbars返回的数组元素不可以是空对象{},比如hiddenCount ? {} : {"type": "tpl",...},因为空对象最终还是会生成一个空的.antd-Crud-toolbar-item dom
|
|
496
496
|
// 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中
|
|
497
497
|
var toolbars=[];if(formFactor==='SMALL'){if(toolbarCount){toolbars.push(toolbarCount);}if(toolbarFilter){toolbars.push(toolbarFilter);}toolbars.push(toolbarReloadButton);toolbars.push(toolbarDisplayAsButton);toolbars.push(toolbarDQuickSearchBox);return[].concat(_toConsumableArray(headerToolbarItems||[]),toolbars);}else{var _mainObject$permissio;if(toolbarCount){toolbars.push(toolbarCount);}if(toolbarFilter){toolbars.push(toolbarFilter);}toolbars.push(toolbarReloadButton);toolbars.push(toolbarDisplayAsButton);if(mainObject!==null&&mainObject!==void 0&&(_mainObject$permissio=mainObject.permissions)!==null&&_mainObject$permissio!==void 0&&_mainObject$permissio.allowCreateListViews){toolbars.push(getSettingListviewToolbarButtonSchema());}toolbars.push(toolbarDQuickSearchBox);return[].concat(_toConsumableArray(headerToolbarItems||[]),["bulkActions"],toolbars);}}function getObjectFooterToolbar(mainObject,formFactor,options){// crud card模式与table模式两种情况下showPageInput默认值不一样,所以需要显式设置为false
|
|
498
498
|
if(formFactor==='SMALL'){// return [
|
|
@@ -523,7 +523,7 @@ if(options.displayAs==='split'){return[{"type":"switch-per-page","visibleOn":"${
|
|
|
523
523
|
// }
|
|
524
524
|
// }
|
|
525
525
|
];}function getCrudSchemaWithDataFilter(_x103){return _getCrudSchemaWithDataFilter.apply(this,arguments);}function _getCrudSchemaWithDataFilter(){_getCrudSchemaWithDataFilter=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee80(crud){var options,crudDataFilter,amisData,env,onCrudDataFilter,_args80=arguments;return _regeneratorRuntime().wrap(function _callee80$(_context80){while(1){switch(_context80.prev=_context80.next){case 0:options=_args80.length>1&&_args80[1]!==undefined?_args80[1]:{};crudDataFilter=options.crudDataFilter,amisData=options.amisData,env=options.env;onCrudDataFilter=options.onCrudDataFilter;if(!onCrudDataFilter&&typeof crudDataFilter==='string'){onCrudDataFilter=new Function('crud','env','data',crudDataFilter);}_context80.prev=4;_context80.t0=onCrudDataFilter;if(!_context80.t0){_context80.next=13;break;}_context80.next=9;return onCrudDataFilter(crud,env,amisData);case 9:_context80.t1=_context80.sent;if(_context80.t1){_context80.next=12;break;}_context80.t1=crud;case 12:crud=_context80.t1;case 13:_context80.next=18;break;case 15:_context80.prev=15;_context80.t2=_context80["catch"](4);console.warn(_context80.t2);case 18:return _context80.abrupt("return",crud);case 19:case"end":return _context80.stop();}}},_callee80,null,[[4,15]]);}));return _getCrudSchemaWithDataFilter.apply(this,arguments);}function getObjectCRUD(_x104,_x105,_x106){return _getObjectCRUD.apply(this,arguments);}function _getObjectCRUD(){_getObjectCRUD=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee81(objectSchema,fields,options){var top,perPage,_options$showDisplayA,showDisplayAs,displayAs,_options$crudClassNam,crudClassName,crudDataFilter,onCrudDataFilter,amisData,env,nonpaged,isTreeObject,bulkActions,defaults,listSchema,bodyProps,body,id,card,labelFieldName,tableOptions,table,imageNames,quickSaveApiRequestAdaptor,autoFillHeight,crudModeClassName,headerSchema,footerSchema,wrappedBody;return _regeneratorRuntime().wrap(function _callee81$(_context81){while(1){switch(_context81.prev=_context81.next){case 0:// console.time('getObjectCRUD');
|
|
526
|
-
top=options.top,perPage=options.perPage,_options$showDisplayA=options.showDisplayAs,showDisplayAs=_options$showDisplayA===void 0?false:_options$showDisplayA,displayAs=options.displayAs,_options$crudClassNam=options.crudClassName,crudClassName=_options$crudClassNam===void 0?"":_options$crudClassNam,crudDataFilter=options.crudDataFilter,onCrudDataFilter=options.onCrudDataFilter,amisData=options.amisData,env=options.env;nonpaged=objectSchema.paging&&objectSchema.paging.enabled===false;isTreeObject=objectSchema.enable_tree;bulkActions=getBulkActions(objectSchema);defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};_context81.t0=getObjectFooterToolbar(objectSchema,options.formFactor,_objectSpread(_objectSpread({},options),{},{disableStatistics:options.queryCount===false}));_context81.t1=options.filterVisible!==false;if(!_context81.t1){_context81.next=12;break;}_context81.next=11;return getObjectFilter(objectSchema,fields,options);case 11:_context81.t1=_context81.sent;case 12:_context81.t2=_context81.t1;bodyProps={headerToolbarClassName:"px-4 py-2 border-
|
|
526
|
+
top=options.top,perPage=options.perPage,_options$showDisplayA=options.showDisplayAs,showDisplayAs=_options$showDisplayA===void 0?false:_options$showDisplayA,displayAs=options.displayAs,_options$crudClassNam=options.crudClassName,crudClassName=_options$crudClassNam===void 0?"":_options$crudClassNam,crudDataFilter=options.crudDataFilter,onCrudDataFilter=options.onCrudDataFilter,amisData=options.amisData,env=options.env;nonpaged=objectSchema.paging&&objectSchema.paging.enabled===false;isTreeObject=objectSchema.enable_tree;bulkActions=getBulkActions(objectSchema);defaults=options.defaults;listSchema=defaults&&defaults.listSchema||{};_context81.t0=getObjectFooterToolbar(objectSchema,options.formFactor,_objectSpread(_objectSpread({},options),{},{disableStatistics:options.queryCount===false}));_context81.t1=options.filterVisible!==false;if(!_context81.t1){_context81.next=12;break;}_context81.next=11;return getObjectFilter(objectSchema,fields,options);case 11:_context81.t1=_context81.sent;case 12:_context81.t2=_context81.t1;bodyProps={headerToolbarClassName:"px-4 py-2 border-b",footerToolbar:_context81.t0,filter:_context81.t2};if(options.formFactor!=='SMALL'||["split"].indexOf(options.displayAs)==-1){if(listSchema.mode!=="cards"){// card模式时默认不显示勾选框
|
|
527
527
|
Object.assign(bodyProps,{bulkActions:options.bulkActions!=false?bulkActions:false});}}// yml里配置的 不分页和enable_tree:true 优先级最高,组件中输入的top次之。
|
|
528
528
|
options.queryCount=true;if(nonpaged||isTreeObject){options.top=5000;bodyProps.footerToolbar=[];options.queryCount=true;// 禁止翻页的时候, 需要查找总数
|
|
529
529
|
}else if(top){bodyProps.footerToolbar=[];if(options.isRelated){options.queryCount=true;}else{options.queryCount=false;}}// console.log(`getObjectHeaderToolbar====2===>`, options.filterVisible)
|
|
@@ -570,7 +570,7 @@ function _getObjectRelatedList(){_getObjectRelatedList=_asyncToGenerator(/*#__PU
|
|
|
570
570
|
_context86.next=3;return getUISchema(relatedObjectName);case 3:relatedObjectUiSchema=_context86.sent;if(relatedObjectUiSchema){_context86.next=6;break;}return _context86.abrupt("return",{uiSchema:{},amisSchema:{}});case 6:label=relatedObjectUiSchema.label,fields=relatedObjectUiSchema.fields;if(!relatedLabel){relatedLabel=label;}if(relatedKey){_context86.next=15;break;}mainRelated={};_context86.next=12;return getUISchema(objectName);case 12:mainObjectUiSchema=_context86.sent;if(mainObjectUiSchema){mainRelatedLists=mainObjectUiSchema.related_lists||[];if(!_$1.isEmpty(mainRelatedLists)){_iterator11=_createForOfIteratorHelper(mainRelatedLists);try{for(_iterator11.s();!(_step12=_iterator11.n()).done;){relatedList=_step12.value;arr=relatedList.related_field_fullname.split(".");foreign_key_value=arr[2]?arr[1]+'.'+arr[2]:arr[1];mainRelated[arr[0]]=foreign_key_value;}}catch(err){_iterator11.e(err);}finally{_iterator11.f();}}// 防止related_lists中没有相关子表,但是details中有相关子表的情况
|
|
571
571
|
if(!mainRelated[relatedObjectName]){details=_$1.union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details)||[];_iterator12=_createForOfIteratorHelper(details);try{for(_iterator12.s();!(_step13=_iterator12.n()).done;){detail=_step13.value;_arr3=detail.split(".");_foreign_key_value=_arr3[2]?_arr3[1]+'.'+_arr3[2]:_arr3[1];if(!_$1.has(mainRelated,_arr3[0])){mainRelated[_arr3[0]]=_foreign_key_value;}}}catch(err){_iterator12.e(err);}finally{_iterator12.f();}}}relatedKey=mainRelated[relatedObjectName];case 15:globalFilter=null;// TODO: refField变量去掉,写到amis运行时脚本中,uiSchema.fields[relatedKey];可以取到
|
|
572
572
|
_context86.next=18;return getField(relatedObjectName,relatedKey);case 18:refField=_context86.sent;if(refField){_context86.next=21;break;}return _context86.abrupt("return",{uiSchema:relatedObjectUiSchema,amisSchema:{"type":"alert","body":"".concat(i18next__default["default"].t('frontend_objects_related_alert_start')," ").concat(relatedObjectName," ").concat(i18next__default["default"].t('frontend_objects_related_alert_end')),"level":"warning","showIcon":true,"className":"mb-3"}});case 21:_context86.next=23;return getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema,relatedLabel,ctx);case 23:recordRelatedListHeader=_context86.sent;componentId="steedos-record-related-list-".concat(relatedObjectName);isMobile=window.innerWidth<768;headerToolbar=[];if(!isMobile){headerToolbar.push("bulkActions");}options=_objectSpread({globalFilter:globalFilter,defaults:{listSchema:{headerToolbar:headerToolbar,columnsTogglable:false,onEvent:_defineProperty({},"@data.changed.".concat(relatedObjectName),{"actions":[{"actionType":"reload"}]})},headerSchema:recordRelatedListHeader},showHeader:true,top:top,perPage:perPage,setDataToComponentId:componentId,// tableHiddenOn: hiddenEmptyTable ? "this.$count === 0" : null,
|
|
573
|
-
appId:appId,crudClassName:'steedos-record-related-crud hidden',refField:refField},ctx);_context86.next=31;return getRelatedListSchema(relatedObjectName,'all',options);case 31:amisSchema=_context86.sent.amisSchema;if(amisSchema){_context86.next=34;break;}return _context86.abrupt("return");case 34:return _context86.abrupt("return",{uiSchema:relatedObjectUiSchema,amisSchema:{type:"service",id:componentId,className:"steedos-record-related-list py-2 first:pt-0 border-b last:border-b-0 ".concat(componentId," ").concat(className),data:{relatedKey:relatedKey,listViewId:"amis-${appId}-".concat(relatedObjectName,"-listview"),_isRelated:true},body:[amisSchema]}});case 35:case"end":return _context86.stop();}}},_callee86);}));return _getRecordDetailRelatedListSchema.apply(this,arguments);}function getDefaultRelatedListProps(uiSchema,listName,ctx){// console.log('getDefaultRelatedListProps==>', uiSchema, listName, ctx)
|
|
573
|
+
appId:appId,crudClassName:'steedos-record-related-crud hidden',refField:refField},ctx);_context86.next=31;return getRelatedListSchema(relatedObjectName,'all',options);case 31:amisSchema=_context86.sent.amisSchema;if(amisSchema){_context86.next=34;break;}return _context86.abrupt("return");case 34:return _context86.abrupt("return",{uiSchema:relatedObjectUiSchema,amisSchema:{type:"service",id:componentId,className:"steedos-record-related-list py-2 first:pt-0 border-b-0 last:border-b-0 ".concat(componentId," ").concat(className),data:{relatedKey:relatedKey,listViewId:"amis-${appId}-".concat(relatedObjectName,"-listview"),_isRelated:true},body:[amisSchema]}});case 35:case"end":return _context86.stop();}}},_callee86);}));return _getRecordDetailRelatedListSchema.apply(this,arguments);}function getDefaultRelatedListProps(uiSchema,listName,ctx){// console.log('getDefaultRelatedListProps==>', uiSchema, listName, ctx)
|
|
574
574
|
var listView=_$1.find(uiSchema.list_views,function(listView,name){// 日历视图不在相关子表中出现
|
|
575
575
|
if(listView.type==='calendar'){return false;}// 传入listViewName空值则取第一个
|
|
576
576
|
if(!listName){listName=name;}return name===listName;});var columns=[];var sort='';var filter=null;var filtersFunction=null;if(listView){columns=getListViewColumns(listView,ctx.formFactor);sort=getListViewSort(listView);filter=getListViewFilter(listView);// if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){
|
|
@@ -628,7 +628,7 @@ fields.push({extra:true,name:column});}case 21:_context94.next=37;break;case 23:
|
|
|
628
628
|
amis:column.amis}));case 34:_context94.next=37;break;case 36:if(uiSchema.fields[column.field]){fields.push(Object.assign({},uiSchema.fields[column.field],ctx,{width:column.width,wrap:column.wrap,// wrap = true 是没效果的
|
|
629
629
|
amis:column.amis}));}else if(ctx.extra){// 配置列表视图extra_columns时允许字段是hidden的,hidden的字段在uiSchema.fields中不存在
|
|
630
630
|
fields.push({extra:true,name:column.field});}case 37:_context94.next=5;break;case 39:_context94.next=44;break;case 41:_context94.prev=41;_context94.t0=_context94["catch"](3);_iterator14.e(_context94.t0);case 44:_context94.prev=44;_iterator14.f();return _context94.finish(44);case 47:return _context94.abrupt("return",fields);case 48:case"end":return _context94.stop();}}},_callee94,null,[[3,41,44,47]]);}));return _convertColumnsToTableFields.apply(this,arguments);}function getTableSchema(_x146,_x147,_x148){return _getTableSchema.apply(this,arguments);}// 获取对象日历
|
|
631
|
-
function _getTableSchema(){_getTableSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee95(appName,objectName,columns){var ctx,uiSchema,sort,sortField,sortOrder,sortStr,fields,extraColumns,extraFields,crudOptions,amisSchema,_args95=arguments;return _regeneratorRuntime().wrap(function _callee95$(_context95){while(1){switch(_context95.prev=_context95.next){case 0:ctx=_args95.length>3&&_args95[3]!==undefined?_args95[3]:{};_context95.next=3;return getUISchema(objectName);case 3:uiSchema=_context95.sent;sort=ctx.sort;if(!sort){sortField=ctx.sortField;sortOrder=ctx.sortOrder;if(sortField){sortStr=sortField+' '+sortOrder||'asc';sort=sortStr;}}_context95.next=8;return convertColumnsToTableFields(columns,uiSchema);case 8:fields=_context95.sent;extraColumns=ctx.extraColumns;if(!extraColumns){_context95.next=15;break;}_context95.next=13;return convertColumnsToTableFields(extraColumns,uiSchema,{extra:true});case 13:extraFields=_context95.sent;fields=fields.concat(extraFields);case 15:_context95.t0=_objectSpread;_context95.t1=_objectSpread({tabId:objectName,appId:appName,objectName:objectName},ctx);_context95.t2={};_context95.t3=ctx.filters;_context95.t4=sort;_context95.t5=ctx.headerToolbarItems;_context95.next=23;return getListViewItemButtons(uiSchema,ctx);case 23:_context95.t6=_context95.sent;_context95.t7={filter:_context95.t3,sort:_context95.t4,headerToolbarItems:_context95.t5,buttons:_context95.t6};crudOptions=(0,_context95.t0)(_context95.t1,_context95.t2,_context95.t7);crudOptions.amisData=createObject(ctx.amisData||{},{});_context95.next=29;return getObjectCRUD(uiSchema,fields,crudOptions);case 29:amisSchema=_context95.sent;return _context95.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 31:case"end":return _context95.stop();}}},_callee95);}));return _getTableSchema.apply(this,arguments);}function getCalendarSchema(_x149,_x150,_x151){return _getCalendarSchema.apply(this,arguments);}function _getCalendarSchema(){_getCalendarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee96(appName,objectName,calendarOptions){var ctx,uiSchema,amisSchema,_args96=arguments;return _regeneratorRuntime().wrap(function _callee96$(_context96){while(1){switch(_context96.prev=_context96.next){case 0:ctx=_args96.length>3&&_args96[3]!==undefined?_args96[3]:{};_context96.next=3;return getUISchema(objectName);case 3:uiSchema=_context96.sent;_context96.next=6;return getObjectCalendar(uiSchema,calendarOptions,_objectSpread({tabId:objectName,appId:appName,objectName:objectName},ctx));case 6:amisSchema=_context96.sent;return _context96.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 8:case"end":return _context96.stop();}}},_callee96);}));return _getCalendarSchema.apply(this,arguments);}function getRecordDetailHeaderSchema(_x152,_x153,_x154){return _getRecordDetailHeaderSchema.apply(this,arguments);}function _getRecordDetailHeaderSchema(){_getRecordDetailHeaderSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee97(objectName,recordId,options){var uiSchema,amisSchema;return _regeneratorRuntime().wrap(function _callee97$(_context97){while(1){switch(_context97.prev=_context97.next){case 0:_context97.next=2;return getUISchema(objectName);case 2:uiSchema=_context97.sent;_context97.next=5;return getObjectRecordDetailHeader(uiSchema,recordId,options);case 5:amisSchema=_context97.sent;return _context97.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 7:case"end":return _context97.stop();}}},_callee97);}));return _getRecordDetailHeaderSchema.apply(this,arguments);}function getRecordDetailSchema(_x155,_x156){return _getRecordDetailSchema.apply(this,arguments);}function _getRecordDetailSchema(){_getRecordDetailSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee98(objectName,appId){var props,uiSchema,relatedLists,detailed,related,content,_args98=arguments;return _regeneratorRuntime().wrap(function _callee98$(_context98){while(1){switch(_context98.prev=_context98.next){case 0:props=_args98.length>2&&_args98[2]!==undefined?_args98[2]:{};_context98.next=3;return getUISchema(objectName);case 3:uiSchema=_context98.sent;_context98.next=6;return getObjectRelatedList(objectName);case 6:relatedLists=_context98.sent;detailed={"title":i18next__default["default"].t('frontend_record_detail_tab_detailed'),"className":"px-0 py-4","body":[{"type":"steedos-object-form","label":"对象表单","objectApiName":"${objectName}","recordId":"${recordId}",appId:appId}]};related={"title":i18next__default["default"].t('frontend_record_detail_tab_related'),"className":"px-0 py-4","body":[{"type":"steedos-object-related-lists","label":"相关列表","objectApiName":"${objectName}","recordId":"${recordId}",appId:appId}]};content={"type":"tabs","className":"steedos-record-tabs bg-white p-4 m-0
|
|
631
|
+
function _getTableSchema(){_getTableSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee95(appName,objectName,columns){var ctx,uiSchema,sort,sortField,sortOrder,sortStr,fields,extraColumns,extraFields,crudOptions,amisSchema,_args95=arguments;return _regeneratorRuntime().wrap(function _callee95$(_context95){while(1){switch(_context95.prev=_context95.next){case 0:ctx=_args95.length>3&&_args95[3]!==undefined?_args95[3]:{};_context95.next=3;return getUISchema(objectName);case 3:uiSchema=_context95.sent;sort=ctx.sort;if(!sort){sortField=ctx.sortField;sortOrder=ctx.sortOrder;if(sortField){sortStr=sortField+' '+sortOrder||'asc';sort=sortStr;}}_context95.next=8;return convertColumnsToTableFields(columns,uiSchema);case 8:fields=_context95.sent;extraColumns=ctx.extraColumns;if(!extraColumns){_context95.next=15;break;}_context95.next=13;return convertColumnsToTableFields(extraColumns,uiSchema,{extra:true});case 13:extraFields=_context95.sent;fields=fields.concat(extraFields);case 15:_context95.t0=_objectSpread;_context95.t1=_objectSpread({tabId:objectName,appId:appName,objectName:objectName},ctx);_context95.t2={};_context95.t3=ctx.filters;_context95.t4=sort;_context95.t5=ctx.headerToolbarItems;_context95.next=23;return getListViewItemButtons(uiSchema,ctx);case 23:_context95.t6=_context95.sent;_context95.t7={filter:_context95.t3,sort:_context95.t4,headerToolbarItems:_context95.t5,buttons:_context95.t6};crudOptions=(0,_context95.t0)(_context95.t1,_context95.t2,_context95.t7);crudOptions.amisData=createObject(ctx.amisData||{},{});_context95.next=29;return getObjectCRUD(uiSchema,fields,crudOptions);case 29:amisSchema=_context95.sent;return _context95.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 31:case"end":return _context95.stop();}}},_callee95);}));return _getTableSchema.apply(this,arguments);}function getCalendarSchema(_x149,_x150,_x151){return _getCalendarSchema.apply(this,arguments);}function _getCalendarSchema(){_getCalendarSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee96(appName,objectName,calendarOptions){var ctx,uiSchema,amisSchema,_args96=arguments;return _regeneratorRuntime().wrap(function _callee96$(_context96){while(1){switch(_context96.prev=_context96.next){case 0:ctx=_args96.length>3&&_args96[3]!==undefined?_args96[3]:{};_context96.next=3;return getUISchema(objectName);case 3:uiSchema=_context96.sent;_context96.next=6;return getObjectCalendar(uiSchema,calendarOptions,_objectSpread({tabId:objectName,appId:appName,objectName:objectName},ctx));case 6:amisSchema=_context96.sent;return _context96.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 8:case"end":return _context96.stop();}}},_callee96);}));return _getCalendarSchema.apply(this,arguments);}function getRecordDetailHeaderSchema(_x152,_x153,_x154){return _getRecordDetailHeaderSchema.apply(this,arguments);}function _getRecordDetailHeaderSchema(){_getRecordDetailHeaderSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee97(objectName,recordId,options){var uiSchema,amisSchema;return _regeneratorRuntime().wrap(function _callee97$(_context97){while(1){switch(_context97.prev=_context97.next){case 0:_context97.next=2;return getUISchema(objectName);case 2:uiSchema=_context97.sent;_context97.next=5;return getObjectRecordDetailHeader(uiSchema,recordId,options);case 5:amisSchema=_context97.sent;return _context97.abrupt("return",{uiSchema:uiSchema,amisSchema:amisSchema});case 7:case"end":return _context97.stop();}}},_callee97);}));return _getRecordDetailHeaderSchema.apply(this,arguments);}function getRecordDetailSchema(_x155,_x156){return _getRecordDetailSchema.apply(this,arguments);}function _getRecordDetailSchema(){_getRecordDetailSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee98(objectName,appId){var props,uiSchema,relatedLists,detailed,related,content,_args98=arguments;return _regeneratorRuntime().wrap(function _callee98$(_context98){while(1){switch(_context98.prev=_context98.next){case 0:props=_args98.length>2&&_args98[2]!==undefined?_args98[2]:{};_context98.next=3;return getUISchema(objectName);case 3:uiSchema=_context98.sent;_context98.next=6;return getObjectRelatedList(objectName);case 6:relatedLists=_context98.sent;detailed={"title":i18next__default["default"].t('frontend_record_detail_tab_detailed'),"className":"px-0 py-4","body":[{"type":"steedos-object-form","label":"对象表单","objectApiName":"${objectName}","recordId":"${recordId}",appId:appId}]};related={"title":i18next__default["default"].t('frontend_record_detail_tab_related'),"className":"px-0 py-4","body":[{"type":"steedos-object-related-lists","label":"相关列表","objectApiName":"${objectName}","recordId":"${recordId}",appId:appId}]};content={"type":"tabs","className":"steedos-record-tabs bg-white p-4 m-0 border-b","contentClassName":"bg-none","tabs":[detailed]};if(relatedLists.length){content.tabs.push(related);}// content.tabs = reverse(content.tabs)
|
|
632
632
|
return _context98.abrupt("return",{uiSchema:uiSchema,amisSchema:{"type":"steedos-record-service","body":[{"type":"steedos-record-detail-header","label":"标题面板","objectApiName":"${objectName}","recordId":"${recordId}","id":"u:48d2c28eb755","showButtons":props.showButtons,"showBackButton":props.showBackButton},content],"objectApiName":"${objectName}","recordId":"${recordId}",onEvent:props.onEvent}});case 12:case"end":return _context98.stop();}}},_callee98);}));return _getRecordDetailSchema.apply(this,arguments);}function getRecordServiceSchema(_x157,_x158){return _getRecordServiceSchema.apply(this,arguments);}function _getRecordServiceSchema(){_getRecordServiceSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee99(objectName,appId){var props,body,uiSchema,fields,serviceId,_args99=arguments;return _regeneratorRuntime().wrap(function _callee99$(_context99){while(1){switch(_context99.prev=_context99.next){case 0:props=_args99.length>2&&_args99[2]!==undefined?_args99[2]:{};body=_args99.length>3?_args99[3]:undefined;_context99.next=4;return getUISchema(objectName);case 4:uiSchema=_context99.sent;fields=___default["default"].values(uiSchema.fields);serviceId="u:steedos-record-service-".concat(objectName);_context99.t0=uiSchema;_context99.t1=_defineProperty({},"@data.changed.".concat(objectName),{"actions":[{"actionType":"reload","componentId":serviceId,"expression":"this.__deletedRecord != true"},{"actionType":"custom","script":"window.goBack()","expression":"this.__deletedRecord === true"}]});_context99.t2=serviceId;_context99.next=12;return getReadonlyFormInitApi(uiSchema,props.recordId,fields,props);case 12:_context99.t3=_context99.sent;_context99.t4={"type":"wrapper","className":"p-0 m-0","body":body||[],"hiddenOn":"${recordLoaded != true}"};_context99.t5=_objectSpread({"_master.objectName":"${objectName}","_master.recordId":"${recordId}"},props.data||{});_context99.t6=_objectSpread({},props.style);_context99.t7=_objectSpread({// 如果定义了fetchInited,则无法接收到广播事件@data.changed
|
|
633
633
|
"fetchInited":{"weight":0,"actions":[{actionType:'broadcast',eventName:"recordLoaded",data:{objectName:"${event.data.__objectName}",record:"${event.data.record}"},expression:"${event.data.__response.error != true}"}]}},props.onEvent);_context99.t8={"type":"service",id:_context99.t2,className:'steedos-record-service p-0',api:_context99.t3,body:_context99.t4,data:_context99.t5,"style":_context99.t6,onEvent:_context99.t7};_context99.t9={type:'service',className:"p-0 m-0",onEvent:_context99.t1,body:_context99.t8};return _context99.abrupt("return",{uiSchema:_context99.t0,amisSchema:_context99.t9});case 20:case"end":return _context99.stop();}}},_callee99);}));return _getRecordServiceSchema.apply(this,arguments);}function getRecordDetailMiniSchema(_x159,_x160){return _getRecordDetailMiniSchema.apply(this,arguments);}// 获取单个相关表
|
|
634
634
|
function _getRecordDetailMiniSchema(){_getRecordDetailMiniSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee100(objectName,appId){var props,uiSchema,fields,_args100=arguments;return _regeneratorRuntime().wrap(function _callee100$(_context100){while(1){switch(_context100.prev=_context100.next){case 0:props=_args100.length>2&&_args100[2]!==undefined?_args100[2]:{};_context100.next=3;return getUISchema(objectName);case 3:uiSchema=_context100.sent;fields=___default["default"].values(uiSchema.fields);props.initApiAdaptor='payload.data=Object.assign({}, payload.data, payload.data.record); payload.data._finished=true; console.log("payload data is ====>", payload)';// TODO 处理相关表
|
|
@@ -670,20 +670,20 @@ queryOptions:"filters: {__filters}, sort: \"{__sort}\""});case 3:data=_context10
|
|
|
670
670
|
filters=field.filters;if(typeof filters==="string"){filters=new Function("return ".concat(filters));filters=filters();}if(typeof filters==="function"){filters=filters(field);}data.query=data.query.replace(/,count\:.+/,"}");// 字段要根据请求参数动态生成,写死为__fields后续在发送适配器中替换
|
|
671
671
|
data.query=data.query.replace("{_id}","{{__fields}}");requestAdaptor="\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"".concat(refObjectName,"\";\n fields = \"_id,value:").concat(ctx.valueField,",label:").concat(ctx.labelField,",children\";\n filters = [['parent', '=', dep]];\n sort = \"").concat(ctx.sort,"\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n ");adaptor="\n if (api.query.dep) {\n // \u5C55\u5F00\u7EC4\u7EC7\u65F6\u624D\u9700\u8981\u6839\u636Echildren\u503C\u8BBE\u7F6Edefer\u5C5E\u6027\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n ";return _context107.abrupt("return",{"method":"post","url":getApi$2()+"&dep=${value}","requestAdaptor":requestAdaptor,"adaptor":adaptor,"data":data,"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}});case 12:case"end":return _context107.stop();}}},_callee107);}));return _getDeferApi.apply(this,arguments);}function getRefListViewSort(refObject){var listView=getLookupListView(refObject);var sort="";if(listView){sort=getListViewSort(listView);}return sort;}function lookupToAmisTreeSelect(_x175,_x176,_x177){return _lookupToAmisTreeSelect.apply(this,arguments);}function _lookupToAmisTreeSelect(){_lookupToAmisTreeSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee108(field,readonly,ctx){var amisSchema,refObjectConfig,onEvent;return _regeneratorRuntime().wrap(function _callee108$(_context108){while(1){switch(_context108.prev=_context108.next){case 0:if(field){_context108.next=2;break;}return _context108.abrupt("return",{});case 2:if(!ctx){ctx={};}amisSchema={"type":getAmisStaticFieldType('tree-select',readonly)};if(!readonly){_context108.next=10;break;}_context108.next=7;return getLookupTpl(field,ctx);case 7:amisSchema.tpl=_context108.sent;_context108.next=30;break;case 10:_context108.next=12;return getUISchema(ctx.objectName);case 12:refObjectConfig=_context108.sent;ctx.sort=getRefListViewSort(refObjectConfig);_context108.t0=Object;_context108.t1=amisSchema;_context108.t2=field.multiple;_context108.t3=field.searchable;_context108.next=20;return getSource(field,ctx);case 20:_context108.t4=_context108.sent;_context108.next=23;return getDeferApi(field,ctx);case 23:_context108.t5=_context108.sent;_context108.t6={"multiple":_context108.t2,"searchable":_context108.t3,"extractValue":true,"hideNodePathLabel":true,"clearable":true,"source":_context108.t4,"deferApi":_context108.t5};_context108.t0.assign.call(_context108.t0,_context108.t1,_context108.t6);if(field.multiple){// 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题
|
|
672
672
|
Object.assign(amisSchema,{"joinValues":false});}if(typeof amisSchema.searchable!=="boolean"){amisSchema.searchable=true;}onEvent=field.onEvent;if(onEvent){amisSchema.onEvent=onEvent;}case 30:return _context108.abrupt("return",amisSchema);case 31:case"end":return _context108.stop();}}},_callee108);}));return _lookupToAmisTreeSelect.apply(this,arguments);}var getReferenceToFieldSchema=function getReferenceToFieldSchema(field,refObjectConfig){var referenceTo=field.reference_to;if(!referenceTo){return;}// 如果lookup 引用的对象未定义
|
|
673
|
-
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // \u8003\u8651api\u914D\u7F6E\u4E86cache\u7F13\u5B58\u7684\u8BDD\uFF0C\u4E0D\u4F1A\u8BF7\u6C42\u63A5\u53E3\u4F46\u662F\u4F1A\u91CD\u65B0\u8FDB\u8FD9\u4E2A\u63A5\u6536\u9002\u914D\u5668\u811A\u672C\u4E14payload.data.options\u8FD4\u56DE\u7684\u4F1A\u662F\u4E0A\u4E00\u6B21\u8BA1\u7B97\u7ED3\u679C\uFF0C\u8FD9\u91CC\u76F4\u63A5\u8FD4\u56DE\u8BA1\u7B97\u8FC7\u7684children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","mode":"normal","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x179,_x180,_x181){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,headerToolbarItems,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getReferenceTo(field);case 2:referenceTo=_context109.sent;if(referenceTo){_context109.next=5;break;}return _context109.abrupt("return");case 5:_context109.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context109.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
|
|
674
|
-
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});sort="";if(listView){sort=getListViewSort(listView);}_context109.next=
|
|
675
|
-
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = []
|
|
676
|
-
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=
|
|
677
|
-
isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=
|
|
678
|
-
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case
|
|
673
|
+
if(!refObjectConfig)return null;var valueField=null;var valueFieldName=field.reference_to_field;if(!valueFieldName){valueFieldName=refObjectConfig.idFieldName||'_id';}if(valueFieldName==='_id'){valueField={name:'_id',label:'ID',type:'text',toggled:false};}else{valueField=refObjectConfig.fields[valueFieldName]||{name:valueFieldName};}return{objectName:referenceTo,valueField:valueField,labelField:refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY||'name'],NAME_FIELD_KEY:refObjectConfig.NAME_FIELD_KEY||'name'};};var getReferenceTo=/*#__PURE__*/function(){var _ref17=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee16(field){var referenceTo,refObjectConfig;return _regeneratorRuntime().wrap(function _callee16$(_context16){while(1){switch(_context16.prev=_context16.next){case 0:referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}_context16.next=4;return getUISchema(field.reference_to);case 4:refObjectConfig=_context16.sent;return _context16.abrupt("return",getReferenceToFieldSchema(field,refObjectConfig));case 6:case"end":return _context16.stop();}}},_callee16);}));return function getReferenceTo(_x178){return _ref17.apply(this,arguments);};}();function getReferenceToSync(field){var referenceTo=field.reference_to;if(referenceTo==='users'){field.reference_to='space_users';field.reference_to_field='user';}var refObjectConfig=getUISchemaSync(field.reference_to);return getReferenceToFieldSchema(field,refObjectConfig);}function getLookupSapceUserTreeSchema(isMobile){var apiAdaptor="\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // \u8003\u8651api\u914D\u7F6E\u4E86cache\u7F13\u5B58\u7684\u8BDD\uFF0C\u4E0D\u4F1A\u8BF7\u6C42\u63A5\u53E3\u4F46\u662F\u4F1A\u91CD\u65B0\u8FDB\u8FD9\u4E2A\u63A5\u6536\u9002\u914D\u5668\u811A\u672C\u4E14payload.data.options\u8FD4\u56DE\u7684\u4F1A\u662F\u4E0A\u4E00\u6B21\u8BA1\u7B97\u7ED3\u679C\uFF0C\u8FD9\u91CC\u76F4\u63A5\u8FD4\u56DE\u8BA1\u7B97\u8FC7\u7684children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n ";var treeSchema={"type":"input-tree","className":"steedos-select-user-tree","inputClassName":"p-0","source":{"method":"post","url":"${context.rootUrl}/graphql","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"adaptor":apiAdaptor,"data":{"query":"{options:organizations(filters:[\"hidden\", \"!=\", true],sort:\"sort_no desc\"){value:_id label:name,parent,children}}"},"messages":{},"cache":300000},"onEvent":{"change":{"actions":[{"actionType":"custom","script":"\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n "},{"actionType":"custom","script":" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }"}]}},"label":"","mode":"normal","name":"organizations","multiple":false,"joinValues":false,"clearValueOnHidden":false,"fieldName":"organizations","hideRoot":true,"initiallyOpen":false,"extractValue":true,"onlyChildren":true,"treeContainerClassName":"no-border","showIcon":false,"enableNodePath":false,"autoCheckChildren":false,"searchable":true,"searchConfig":{"sticky":true,"placeholder":"查找部门"},"unfoldedLevel":2,"originPosition":"left-top"};var tree=[];if(isMobile){tree.push({type:"action",body:[{type:"action",body:[treeSchema],className:"h-full w-[240px]"}],className:"absolute inset-0 steedos-select-user-sidebar","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')"}]}},id:"steedos_crud_toolbar_select_user_tree"});tree.push({"type":"button","label":"组织","icon":"fa fa-sitemap","className":"bg-white p-2 rounded border-gray-300 text-gray-500","align":"left","onEvent":{"click":{"actions":[{"actionType":"custom","script":"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')"}]}},"id":"steedos_crud_toolbar_organization_button"});}else{tree.push(treeSchema);}return tree;}function lookupToAmisPicker(_x179,_x180,_x181){return _lookupToAmisPicker.apply(this,arguments);}function _lookupToAmisPicker(){_lookupToAmisPicker=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee109(field,readonly,ctx){var _fields;var referenceTo,refObjectConfig,tableFields,searchableFields,fieldsArr,isMobile,listView,listName,fields,listviewFilter,listviewFiltersFunction,sort,source,depend_on,sendOn,keywordsSearchBoxName,top,pickerSchema,labelFieldName,headerToolbarItems,isAllowCreate,isCreate,isHasFilters,new_button,data;return _regeneratorRuntime().wrap(function _callee109$(_context109){while(1){switch(_context109.prev=_context109.next){case 0:_context109.next=2;return getReferenceTo(field);case 2:referenceTo=_context109.sent;if(referenceTo){_context109.next=5;break;}return _context109.abrupt("return");case 5:_context109.next=7;return getUISchema(referenceTo.objectName);case 7:refObjectConfig=_context109.sent;ctx.idFieldName=refObjectConfig.idFieldName;ctx.objectName=refObjectConfig.name;tableFields=[];searchableFields=[];fieldsArr=[];isMobile=window.innerWidth<768;listView=getLookupListView(refObjectConfig);listName=listView&&listView.name;if(listView&&listView.columns){___namespace.each(listView.columns,function(column){if(___namespace.isString(column)&&refObjectConfig.fields[column]){fieldsArr.push(refObjectConfig.fields[column]);}else if(___namespace.isObject(column)&&refObjectConfig.fields[column.field]){fieldsArr.push(Object.assign({},refObjectConfig.fields[column.field],{width:column.width,wrap:column.wrap}));}});}else{___namespace.each(refObjectConfig.fields,function(field,field_name){if(field_name!='_id'&&!field.hidden){if(!___namespace.has(field,"name")){field.name=field_name;}fieldsArr.push(field);}});// 没有视图权限时,取对象上前5个字段,按sort_no排序
|
|
674
|
+
fieldsArr=___namespace.sortBy(fieldsArr,"sort_no").slice(0,5);}___namespace.each(fieldsArr,function(field){if(!___namespace.find(tableFields,function(f){return f.name===field.name;})){tableFields.push(field);}});___namespace.each(refObjectConfig.fields,function(field){if(isFieldQuickSearchable(field,refObjectConfig.NAME_FIELD_KEY)){searchableFields.push(field.name);}});fields=(_fields={},_defineProperty(_fields,referenceTo.labelField.name,referenceTo.labelField),_defineProperty(_fields,referenceTo.valueField.name,referenceTo.valueField),_fields);___namespace.each(tableFields,function(tableField){if(!tableField.hidden){fields[tableField.name]=tableField;}});listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}_context109.next=27;return getApi(refObjectConfig,null,fields,{expand:true,alias:'rows',queryOptions:"filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\""});case 27:source=_context109.sent;if(source.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){source.url="".concat(source.url,"?").concat(depend_on.join('&'));source.sendOn="".concat(sendOn.join(' && '));}}source.data.$term="$term";source.data.$self="$$";// field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错
|
|
675
|
+
keywordsSearchBoxName="__keywords_lookup__".concat(field.name.replace(/\./g,"_"),"__to__").concat(refObjectConfig.name);source.requestAdaptor="\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // \u628A\u8868\u5355\u641C\u7D22\u548C\u5FEB\u901F\u641C\u7D22\u4E2D\u7684change\u4E8B\u4EF6\u4E2D\u8BB0\u5F55\u7684\u8FC7\u6EE4\u6761\u4EF6\u4E5F\u62FC\u5230$self\u4E2D\uFF0C\u662F\u4E3A\u89E3\u51B3\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u65F6\uFF0C\u4E24\u8FB9\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u90FD\u5E26\u4E0A\uFF0C\u5373\uFF1A\n // \u6709\u65F6\u5728\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u4E8B\uFF0C\u5FD8\u8BB0\u70B9\u51FB\u56DE\u8F66\u952E\u6216\u641C\u7D22\u6309\u94AE\uFF0C\u800C\u662F\u8FDB\u4E00\u6B65\u4FEE\u6539\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u7684\u5173\u952E\u5B57\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\n // \u8FD9\u79CD\u60C5\u51B5\u4E0B\uFF0C\u89E6\u53D1\u7684\u641C\u7D22\u8BF7\u6C42\u4E2D\u6CA1\u6709\u5E26\u4E0A\u641C\u7D22\u8868\u5355\u4E2D\u8F93\u5165\u7684\u8FC7\u6EE4\u6761\u4EF6\u3002\n // \u53CD\u8FC7\u6765\u5148\u5728\u5FEB\u901F\u641C\u7D22\u6846\u4E2D\u8F93\u5165\u8FC7\u6EE4\u6761\u4EF6\u5374\u4E0D\u70B9\u51FB\u5176\u4E2D\u56DE\u8F66\u952E\u89E6\u53D1\u641C\u7D22\uFF0C\u800C\u662F\u5230\u641C\u7D22\u8868\u5355\u4E2D\u89E6\u53D1\u641C\u7D22\u8BF7\u6C42\u4E5F\u662F\u4E00\u6837\u7684\u3002\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n sort = orderBy ? sort : \"").concat(sort,"\";\n var allowSearchFields = ").concat(JSON.stringify(searchableFields),";\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"").concat(referenceTo.valueField.name,"\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.").concat(keywordsSearchBoxName,", allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ").concat(refObjectConfig.enable_tree,";\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ");source.adaptor="\n const enable_tree = ".concat(refObjectConfig.enable_tree,";\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op\u4E0D\u4E3A\u7A7A\uFF0C\u8868\u793A\u5904\u4E8E\u5B57\u6BB5\u521D\u59CB\u7F16\u8F91\u72B6\u6001\uFF0C\u4E0D\u662F\u70B9\u51FB\u540E\u51FA\u73B0\u5F39\u7A97\u72B6\u6001\u3002\n // \u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528_.pick\u51FD\u6570\u8BA9payload\u53EA\u8FD4\u56DElabelField\u548CvalueField\uFF0C\u56E0\u4E3A\u5B57\u6BB5\u4E0A\u914D\u7F6E\u7684amis autoFill\u529F\u80FD\u53EF\u80FD\u4F9D\u8D56\u4E86\u5176\u4ED6\u5B57\u6BB5\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"").concat(referenceTo.labelField.name,"\", \"").concat(referenceTo.valueField.name,"\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n ");if(field.optionsFunction||field._optionsFunction){source.adaptor="\n payload.data.rows = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$self);\n return payload;\n ");}top=20;if(refObjectConfig.paging&&refObjectConfig.paging.enabled===false){top=1000;}pickerSchema=null;labelFieldName=refObjectConfig.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
676
|
+
if(refObjectConfig.name==='organizations'){labelFieldName='name';}_context109.next=42;return getTableSchema$1(tableFields,_objectSpread({labelFieldName:labelFieldName,top:top,isLookup:true,enable_tree:refObjectConfig.enable_tree},ctx));case 42:pickerSchema=_context109.sent;pickerSchema.affixHeader=false;headerToolbarItems=[];if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"){headerToolbarItems=getLookupSapceUserTreeSchema(isMobile);pickerSchema.className=pickerSchema.className||""+" steedos-select-user";}pickerSchema.headerToolbar=getObjectHeaderToolbar(refObjectConfig,fieldsArr,ctx.formFactor,{headerToolbarItems:headerToolbarItems,isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName});isAllowCreate=refObjectConfig.permissions.allowCreate;isCreate=___namespace.isBoolean(field.create)?field.create:true;// lookup字段配置过滤条件就强制不显示新建按钮
|
|
677
|
+
isHasFilters=field.filters||field.filtersFunction||field._filtersFunction?true:false;if(!(isAllowCreate&&isCreate&&!isHasFilters)){_context109.next=56;break;}_context109.next=53;return getSchema$5(refObjectConfig,{appId:ctx.appId,objectName:refObjectConfig.name,formFactor:ctx.formFactor});case 53:new_button=_context109.sent;new_button.align="right";// 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后
|
|
678
|
+
pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length-1,0,new_button);case 56:pickerSchema.footerToolbar=refObjectConfig.enable_tree?[]:getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup:true});if(!(ctx.filterVisible!==false)){_context109.next=61;break;}_context109.next=60;return getObjectFilter(refObjectConfig,fields,_objectSpread(_objectSpread({},ctx),{},{isLookup:true,keywordsSearchBoxName:keywordsSearchBoxName}));case 60:pickerSchema.filter=_context109.sent;case 61:pickerSchema.data=Object.assign({},pickerSchema.data,{"&":"$$","objectName":refObjectConfig.name,"uiSchema":refObjectConfig,"listName":listName,// 需要按视图取可搜索项
|
|
679
679
|
"isLookup":true,"__lookupField":{"name":field.name,"reference_to":refObjectConfig.name,"reference_to_field":field.reference_to_field}});if(!pickerSchema.onEvent){pickerSchema.onEvent={};}pickerSchema.onEvent["@data.changed.".concat(refObjectConfig.name)]={"actions":[{"actionType":"reload"},{"actionType":"custom","script":"\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ".concat(JSON.stringify(field),";\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: \u8FDE\u7EED\u65B0\u5EFA\u591A\u4E2A\u8BB0\u5F55\u65F6\uFF0C\u56E0\u4E3A\u83B7\u53D6\u7684\u4E3B\u8BB0\u5F55\u4E0D\u662F\u5B9E\u65F6\u7684\uFF0C\u6240\u4EE5\u53EA\u4F1A\u52FE\u9009\u6700\u540E\u4E00\u4E2A\u65B0\u5EFA\u7684\u8BB0\u5F55\u3002\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ").concat(JSON.stringify(ctx),";\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n ")}]};if(field.pickerSchema){pickerSchema=Object.assign({},pickerSchema,field.pickerSchema);}if(referenceTo.objectName==="space_users"&&field.reference_to_field==="user"&&isMobile){//手机端选人控件只保留部分toolbar
|
|
680
680
|
pickerSchema.headerToolbar=pickerSchema.headerToolbar&&pickerSchema.headerToolbar.filter(function(item){if(["steedos_crud_toolbar_quick_search","steedos_crud_toolbar_filter","steedos_crud_toolbar_select_user_tree","steedos_crud_toolbar_organization_button"].indexOf(item.id)>-1){return true;}else{return false;}});pickerSchema.footerToolbar=["pagination"];}data={type:getAmisStaticFieldType('picker',readonly),modalTitle:i18next__default["default"].t('frontend_form_please_select')+" "+refObjectConfig.label,labelField:referenceTo.labelField.name,valueField:referenceTo.valueField.name,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
681
681
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),modalMode:'dialog',//TODO 设置 dialog 或者 drawer,用来配置弹出方式
|
|
682
|
-
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=
|
|
683
|
-
if(!referenceTo){_context110.next=15;break;}_context110.next=8;return getFindQuery({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 8:defaultValueOptionsQueryData=_context110.sent;_context110.next=11;return getApi({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 11:apiInfo=_context110.sent;apiInfo.adaptor="\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n ";_context110.next=16;break;case 15:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 16:_context110.t0=referenceTo;if(!_context110.t0){_context110.next=21;break;}_context110.next=20;return getUISchema(referenceTo.objectName);case 20:_context110.t0=_context110.sent;case 21:refObjectConfig=_context110.t0;listView=getLookupListView(refObjectConfig);sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
682
|
+
source:source,size:"lg",pickerSchema:pickerSchema,joinValues:false,extractValue:true};if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context109.next=72;break;}_context109.next=71;return getLookupTpl(field,ctx);case 71:data.tpl=_context109.sent;case 72:return _context109.abrupt("return",data);case 73:case"end":return _context109.stop();}}},_callee109);}));return _lookupToAmisPicker.apply(this,arguments);}function lookupToAmisSelect(_x182,_x183,_x184){return _lookupToAmisSelect.apply(this,arguments);}function _lookupToAmisSelect(){_lookupToAmisSelect=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee110(field,readonly,ctx){var _referenceTo$valueFie;var referenceTo,isMobile,valueFieldKey,apiInfo,defaultValueOptionsQueryData,refObjectConfig,listView,listviewFilter,listviewFiltersFunction,sort,depend_on,sendOn,data,amisVersion,select_menuTpl,menuTpl;return _regeneratorRuntime().wrap(function _callee110$(_context110){while(1){switch(_context110.prev=_context110.next){case 0:_context110.next=2;return getReferenceTo(field);case 2:referenceTo=_context110.sent;isMobile=window.innerWidth<=768;valueFieldKey=referenceTo&&((_referenceTo$valueFie=referenceTo.valueField)===null||_referenceTo$valueFie===void 0?void 0:_referenceTo$valueFie.name)||'_id';// const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';
|
|
683
|
+
if(!referenceTo){_context110.next=15;break;}_context110.next=8;return getFindQuery({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{alias:"defaultValueOptions",filters:"{__options_filters}",count:false});case 8:defaultValueOptionsQueryData=_context110.sent;_context110.next=11;return getApi({name:referenceTo.objectName},null,[Object.assign({},referenceTo.labelField,{alias:'label'}),Object.assign({},referenceTo.valueField,{alias:'value'})],{expand:false,alias:'options',queryOptions:"filters: {__filters}, top: {__top}, sort: \"{__sort}\""});case 11:apiInfo=_context110.sent;apiInfo.adaptor="\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // \u5B57\u6BB5\u503C\u4E0B\u62C9\u9009\u9879\u5408\u5E76\u5230options\u4E2D\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n ";_context110.next=16;break;case 15:apiInfo={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"},"headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}};case 16:_context110.t0=referenceTo;if(!_context110.t0){_context110.next=21;break;}_context110.next=20;return getUISchema(referenceTo.objectName);case 20:_context110.t0=_context110.sent;case 21:refObjectConfig=_context110.t0;listView=getLookupListView(refObjectConfig);listviewFilter=getListViewFilter(listView);listviewFiltersFunction=listView&&listView._filters;sort="";if(listView){sort=getListViewSort(listView);}// 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on
|
|
684
684
|
if(apiInfo.url&&!ctx.inFilterForm){depend_on=[];sendOn=[];___namespace.each(field.depend_on,function(fName){depend_on.push("depend_on_".concat(fName,"=${").concat(fName,"}"));sendOn.push("this.".concat(fName));});if(depend_on.length>0){apiInfo.url="".concat(apiInfo.url,"&").concat(depend_on.join('&'));apiInfo.sendOn="".concat(sendOn.join(' && '));}}apiInfo.data.$term="$term";// apiInfo.data.$value = `$${field.name}.${referenceTo ? referenceTo.valueField.name : '_id'}`;
|
|
685
685
|
apiInfo.data.$value=ctx.isRefToMutiple?"$".concat(field.name,".ids"):"$".concat(field.name);___namespace.each(field.depend_on,function(fName){apiInfo.data[fName]="$".concat(fName);});apiInfo.data['$']="$$";apiInfo.data['rfield']="${object_name}";// [["_id", "=", "$${field.name}._id"],"or",["name", "contains", "$term"]]
|
|
686
|
-
apiInfo.requestAdaptor="\n var filters = []
|
|
686
|
+
apiInfo.requestAdaptor="\n ".concat(listviewFilter&&!ctx.inFilterForm?"var filters = ".concat(JSON.stringify(listviewFilter),";"):'var filters = [];',"\n var top = 200;\n if(api.data.$term){\n filters = [[\"").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.NAME_FIELD_KEY)||'name',"\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ").concat(JSON.stringify(field.filters),";\n if(fieldFilters && fieldFilters.length){\n filters.push(fieldFilters);\n }\n\n if(").concat((referenceTo===null||referenceTo===void 0?void 0:referenceTo.objectName)==="space_users"," && ").concat(field.reference_to_field==="user","){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n const inFilterForm = ").concat(ctx.inFilterForm,";\n\n const listviewFiltersFunction = ").concat(listviewFiltersFunction,";\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ").concat(field.filtersFunction||field._filtersFunction,";\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = \"").concat(sort,"\";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"").concat(field.multiple?"in":"=","\";\n var optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n const defaultValueOptionsQueryData = ").concat(JSON.stringify(defaultValueOptionsQueryData),";\n const defaultValueOptionsQuery = defaultValueOptionsQueryData?.query?.replace(/^{/,\"\").replace(/}$/,\"\");\n // \u5B57\u6BB5\u503C\u5355\u72EC\u8BF7\u6C42\uFF0C\u6CA1\u503C\u7684\u65F6\u5019\u5728\u8BF7\u6C42\u4E2D\u8FD4\u56DE\u7A7A\n optionsFilters = [[\"").concat(valueFieldKey,"\", optionsFiltersOp, defaultValue]];\n if(filters.length > 0){\n optionsFilters = [filters, optionsFilters];\n }\n if(defaultValueOptionsQuery){\n api.data.query = \"{\"+api.data.query.replace(/^{/,\"\").replace(/}$/,\"\")+\",\"+defaultValueOptionsQuery+\"}\";\n } \n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n ");referenceTo?referenceTo.labelField.name:'';referenceTo?referenceTo.valueField.name:'';if(field.optionsFunction||field._optionsFunction){apiInfo.adaptor="\n var options = eval(".concat(field.optionsFunction||field._optionsFunction,")(api.data.$);\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}else if(field.options){apiInfo.adaptor="\n var options = ".concat(JSON.stringify(field.options),"\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n ");}data={type:getAmisStaticFieldType('select',readonly),joinValues:false,extractValue:true,clearable:true,// disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。
|
|
687
687
|
disabledOn:"".concat(readonly," || ( (this._master && (this._master.relatedKey ==='").concat(field.name,"')) || ((this.relatedKey ==='").concat(field.name,"') && (").concat(field.multiple," != true)) )"),// labelField: labelField,
|
|
688
688
|
// valueField: valueField,
|
|
689
689
|
// source: apiInfo,
|
|
@@ -692,7 +692,7 @@ autoComplete:apiInfo,searchable:true};amisVersion=getComparableAmisVersion();if(
|
|
|
692
692
|
// TODO:应该想办法把是否字段在子表组件内,即ctx.isInputTable,如果不在子表组件内不需要加source
|
|
693
693
|
data.source=apiInfo;}//删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题
|
|
694
694
|
select_menuTpl="<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>";menuTpl="${icon ? `"+select_menuTpl+"` : label}";// TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。
|
|
695
|
-
if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context110.next=
|
|
695
|
+
if(!(isMobile&&field.multiple)){data.menuTpl=menuTpl;}if(field.multiple){data.multiple=true;data.extractValue=true;}if(!readonly){_context110.next=48;break;}_context110.next=47;return getLookupTpl(field,ctx);case 47:data.tpl=_context110.sent;case 48:return _context110.abrupt("return",data);case 49:case"end":return _context110.stop();}}},_callee110);}));return _lookupToAmisSelect.apply(this,arguments);}function getApi(_x185,_x186,_x187,_x188){return _getApi.apply(this,arguments);}function _getApi(){_getApi=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee111(object,recordId,fields,options){var data;return _regeneratorRuntime().wrap(function _callee111$(_context111){while(1){switch(_context111.prev=_context111.next){case 0:_context111.next=2;return getFindQuery(object,recordId,fields,options);case 2:data=_context111.sent;return _context111.abrupt("return",{method:"post",url:getApi$2(),data:data,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}});case 4:case"end":return _context111.stop();}}},_callee111);}));return _getApi.apply(this,arguments);}function lookupToAmis(_x189,_x190,_x191){return _lookupToAmis.apply(this,arguments);}function _lookupToAmis(){_lookupToAmis=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee112(field,readonly,ctx){var referenceTo,refObject,enableEnhancedLookup,amisVersion,amisSchema,_referenceTo$labelFie,_referenceTo$valueFie2,refLookupPage,pageAmisSchema;return _regeneratorRuntime().wrap(function _callee112$(_context112){while(1){switch(_context112.prev=_context112.next){case 0:if(!ctx){ctx={};}// console.log(`lookupToAmis====`, field, readonly, ctx)
|
|
696
696
|
if(!readonly){_context112.next=7;break;}if(!field.reference_to){_context112.next=6;break;}return _context112.abrupt("return",{type:'steedos-field',config:field,"static":true});case 6:return _context112.abrupt("return",{type:getAmisStaticFieldType('picker',readonly),tpl:getRelatedFieldTpl(field,ctx)});case 7:if(!(field.reference_to&&!___namespace.isString(field.reference_to)&&!readonly)){_context112.next=9;break;}return _context112.abrupt("return",{type:'steedos-field-lookup',field:field,readonly:readonly,ctx:ctx});case 9:_context112.next=11;return getReferenceTo(field);case 11:referenceTo=_context112.sent;if(referenceTo){_context112.next=16;break;}_context112.next=15;return lookupToAmisSelect(field,readonly,ctx);case 15:return _context112.abrupt("return",_context112.sent);case 16:if(!(referenceTo.objectName==="space_users"&&field.reference_to_field==="user")){_context112.next=22;break;}ctx=Object.assign({},ctx,{onlyDisplayLookLabel:true});if(!ctx.idsDependOn){_context112.next=22;break;}_context112.next=21;return lookupToAmisIdsPicker(field,readonly,ctx);case 21:return _context112.abrupt("return",_context112.sent);case 22:_context112.next=24;return getUISchema(referenceTo.objectName);case 24:refObject=_context112.sent;// 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性
|
|
697
697
|
enableEnhancedLookup=___namespace.isBoolean(field.enable_enhanced_lookup)?field.enable_enhanced_lookup:refObject.enable_enhanced_lookup;amisVersion=getComparableAmisVersion();if(amisVersion>=3.6){// amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了
|
|
698
698
|
// amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题
|
|
@@ -815,7 +815,7 @@ convertData={type:getAmisStaticFieldType('date',readonly),inputFormat:"YYYY-MM-D
|
|
|
815
815
|
// tpl: readonly ? Tpl.getDateTimeTpl(field) : null,
|
|
816
816
|
// utc: true,
|
|
817
817
|
// }
|
|
818
|
-
convertData={type:getAmisStaticFieldType('datetime',readonly),inputFormat:'YYYY-MM-DD HH:mm',format:'YYYY-MM-DDTHH:mm:
|
|
818
|
+
convertData={type:getAmisStaticFieldType('datetime',readonly),inputFormat:'YYYY-MM-DD HH:mm',format:'YYYY-MM-DDTHH:mm:00.000Z',tpl:readonly?getDateTimeTpl(field):null,utc:true};return _context116.abrupt("break",142);case 32:convertData={type:'input-time-range',inputFormat:'HH:mm',timeFormat:'HH:mm',format:'1970-01-01THH:mm:00.000[Z]',tpl:readonly?getDateTimeTpl(field):null,// utc: true,
|
|
819
819
|
joinValues:false};return _context116.abrupt("break",142);case 34:// convertData = isMobile && !readonly ? {
|
|
820
820
|
// type: "native-time",
|
|
821
821
|
// pipeIn: (value, data) => {
|
|
@@ -903,8 +903,24 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
|
|
|
903
903
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
904
904
|
* @Date: 2023-11-15 09:50:22
|
|
905
905
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
906
|
-
* @LastEditTime: 2024-01-
|
|
907
|
-
*/
|
|
906
|
+
* @LastEditTime: 2024-01-26 17:47:16
|
|
907
|
+
*/ /**
|
|
908
|
+
* 子表组件字段值中每行数据补上字段值为空的的字段值,把值统一设置为空字符串,是为了解决amis amis 3.6/6.0 input-table组件bug:行中字段值为空时会显示为父作用域中的同名变量值,见:https://github.com/baidu/amis/issues/9520
|
|
909
|
+
* amis #9520修正后此函数及相关代码可以移除
|
|
910
|
+
* @param {*} value 子表组件字段值,数组
|
|
911
|
+
* @param {*} fields 子表组件fields属性,数组
|
|
912
|
+
* @returns 转换后的子表组件字段值
|
|
913
|
+
*/function getTableValueWithEmptyValue(value,fields){return(value||[]).map(function(itemValue){//这里不clone的话,会造成在pipeIn函数执行该函数后像pipeOut一样最终输出到表单项中,即库里字段值会被改了
|
|
914
|
+
var newItemValue=_$1.clone(itemValue);(fields||[]).forEach(function(itemField){if(itemField.name&&(newItemValue[itemField.name]===undefined||newItemValue[itemField.name]===null)){// 这里newItemValue中不存在 itemField.name 属性,或者值为null时都会有“显示为父作用域中的同名变量值”的问题,所以null和undefined都要重置为空字符串
|
|
915
|
+
// 实测数字、下拉框、多选lookup等字段类型重置为空字符串都不会有问题,而且实测amis from组件的清空表单字段值功能就是把表单中的各种字段类型设置为空字符串,所以看起来也符合amis规范
|
|
916
|
+
newItemValue[itemField.name]="";}if(newItemValue.children){newItemValue.children=getTableValueWithEmptyValue(newItemValue.children,fields);}});return newItemValue;});}/**
|
|
917
|
+
* 把子表组件字段值中每行数据中经过上面getTableValueWithEmptyValue函数空字段值移除
|
|
918
|
+
* amis #9520修正后此函数及相关代码可以移除
|
|
919
|
+
* @param {*} value 子表组件字段值,数组
|
|
920
|
+
* @param {*} fields 子表组件fields属性,数组
|
|
921
|
+
* @returns 转换后的子表组件字段值
|
|
922
|
+
*/function getTableValueWithoutEmptyValue(value,fields){return(value||[]).map(function(itemValue){var newItemValue=_$1.clone(itemValue);(fields||[]).forEach(function(itemField){if(itemField.name&&(newItemValue[itemField.name]===""||newItemValue[itemField.name]===undefined||newItemValue[itemField.name]===null)){// 这里额外把null和undefined值也删除掉纯粹是没必要输出保存它们
|
|
923
|
+
delete newItemValue[itemField.name];}if(newItemValue.children){newItemValue.children=getTableValueWithoutEmptyValue(newItemValue.children,fields);}});return newItemValue;});}function getTablePrimaryKey(props){return props.primaryKey||"_id";}/**
|
|
908
924
|
* 子表组件字段值中每行数据的补上唯一标识字段值,其值为随机uuid
|
|
909
925
|
* @param {*} value 子表组件字段值,数组
|
|
910
926
|
* @param {*} primaryKey 主键字段名,一般为_id
|
|
@@ -925,6 +941,7 @@ var newItemValue=_$1.clone(itemValue);if(newItemValue.children){newItemValue.chi
|
|
|
925
941
|
* 子表组件字段值中每行数据的键值key补上指定前缀
|
|
926
942
|
* @param {*} value 子表组件字段值,数组
|
|
927
943
|
* @param {*} fieldPrefix 字段前缀
|
|
944
|
+
* @param {*} primaryKey 主键字段名,主键不参与被键值key规则,需要排除,审批王amis表单也是这个规则
|
|
928
945
|
* @returns 转换后的子表组件字段值
|
|
929
946
|
*/function getTableValuePrependFieldPrefix(value,fieldPrefix,primaryKey){var convertedValue=[];(value||[]).forEach(function(itemValue){var newItemValue={};for(var n in itemValue){if(itemValue.hasOwnProperty(n)&&_typeof(itemValue[n])!==undefined&&n!==primaryKey){newItemValue["".concat(fieldPrefix).concat(n)]=itemValue[n];}}if(primaryKey&&itemValue[primaryKey]){newItemValue[primaryKey]=itemValue[primaryKey];}convertedValue.push(newItemValue);});return convertedValue;}/**
|
|
930
947
|
* 子表组件字段集合属性中每个字段name移除指定前缀
|
|
@@ -935,8 +952,7 @@ var newItemValue=_$1.clone(itemValue);if(newItemValue.children){newItemValue.chi
|
|
|
935
952
|
newItem.name=newItem.name.replace(new RegExp("^".concat(fieldPrefix)),"");return newItem;});}/**
|
|
936
953
|
* @param {*} props
|
|
937
954
|
* @param {*} mode edit/new/readonly
|
|
938
|
-
*/function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";var fieldPrefix=props.fieldPrefix;var fields=props.fields||[];if(fieldPrefix){fields=getTableFieldsWithoutFieldPrefix(fields,fieldPrefix);}return(fields||[]).map(function(item){var formItem={"type":"steedos-field","name":item.name,"config":item};if(mode==="readonly"){formItem["static"]=true;}return formItem;})||[];}function getInputTableCell(field,showAsInlineEditMode){if(showAsInlineEditMode){return{label:field.label,name:field.name,quickEdit:{"type":"steedos-field","mode":"inline","config":Object.assign({},field,{label:false})}};}else{
|
|
939
|
-
return{"type":"service",label:field.label,name:field.name,"body":[{"type":"steedos-field","config":Object.assign({},field,{label:false}),inInputTable:true,"static":true,"readonly":true}]};}}function getComponentId(name,tag){var id="";switch(name){case"table_service":id="service_wrapper__".concat(tag);break;case"form_pagination":id="service_popup_pagination_wrapper__".concat(tag);break;case"form":id="form_popup__".concat(tag);break;case"dialog":id="dialog_popup__".concat(tag);break;default:id="".concat(name,"__").concat(tag);break;}return id;}/**
|
|
955
|
+
*/function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";var fieldPrefix=props.fieldPrefix;var fields=props.fields||[];if(fieldPrefix){fields=getTableFieldsWithoutFieldPrefix(fields,fieldPrefix);}return(fields||[]).map(function(item){var formItem={"type":"steedos-field","name":item.name,"config":item};if(mode==="readonly"){formItem["static"]=true;}return formItem;})||[];}function getInputTableCell(field,showAsInlineEditMode){if(showAsInlineEditMode){return{label:field.label,name:field.name,quickEdit:{"type":"steedos-field","mode":"inline","config":Object.assign({},field,{label:false})}};}else{return{"type":"steedos-field","config":Object.assign({},field,{label:false}),inInputTable:true,"static":true,"readonly":true,label:field.label,name:field.name};}}function getComponentId(name,tag){var id="";switch(name){case"table_service":id="service_wrapper__".concat(tag);break;case"form_pagination":id="service_popup_pagination_wrapper__".concat(tag);break;case"form":id="form_popup__".concat(tag);break;case"dialog":id="dialog_popup__".concat(tag);break;default:id="".concat(name,"__").concat(tag);break;}return id;}/**
|
|
940
956
|
* @param {*} props
|
|
941
957
|
* @param {*} mode edit/new/readonly
|
|
942
958
|
*/function getInputTableColumns(_x218){return _getInputTableColumns.apply(this,arguments);}/**
|
|
@@ -949,10 +965,12 @@ field=fields.find(function(fieldItem){return fieldItem.name===column;});}else{//
|
|
|
949
965
|
field=fields.find(function(fieldItem){return fieldItem.name===column.name;});if(field){// field.amis = Object.assign({}, field.amis, column);
|
|
950
966
|
// 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并
|
|
951
967
|
extendColumnProps=column;}}if(field){var mode=typeof extendColumnProps.inlineEditMode==="boolean"?extendColumnProps.inlineEditMode:showAsInlineEditMode;var tableCell=getInputTableCell(field,mode);return Object.assign({},tableCell,extendColumnProps);}else{return column;}}));case 10:return _context119.abrupt("return",fields.map(function(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return tableCell;})||[]);case 11:case"end":return _context119.stop();}}},_callee119);}));return _getInputTableColumns.apply(this,arguments);}function getFormPagination(props,mode){var showPagination=true;if(mode==="new"&&!!!props.editable){//不允许编辑只允许新建时不应该让用户操作翻页
|
|
952
|
-
showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n let mode = \"").concat(mode,"\";\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n if(mode !== \"readonly\"){\n // \u65B0\u5EFA\u7F16\u8F91\u65F6\uFF0C\u7FFB\u9875\u624D\u9700\u8981\u628A\u5F53\u524D\u9875\u8868\u5355\u4FDD\u5B58\uFF0C\u53EA\u8BFB\u65F6\u76F4\u63A5\u7FFB\u9875\u5373\u53EF\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n // \u8FD9\u91CC\u4E0Dclone\u7684\u8BDD\uFF0C\u5176\u503C\u4F1A\u5E26\u4E0A__super\u5C5E\u6027\n currentFormValues = _.clone(currentFormValues);\n var parent = event.data.parent;\n var __parentIndex = event.data.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // \u91CD\u5199\u7236\u8282\u70B9\uFF0C\u5E76\u4E14\u6539\u53D8\u5176\u67D0\u4E2A\u5C5E\u6027\u4EE5\u8BA9\u5B50\u8282\u70B9\u4FEE\u6539\u7684\u5185\u5BB9\u56DE\u663E\u5230\u754C\u9762\u4E0A\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n }\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript
|
|
968
|
+
showPagination=false;}var buttonPrevId=getComponentId("button_prev",props.id);var buttonNextId=getComponentId("button_next",props.id);var formId=getComponentId("form",props.id);var tableServiceId=getComponentId("table_service",props.id);var formPaginationId=getComponentId("form_pagination",props.id);var onPageChangeScript="\n let scope = event.context.scoped;\n let __paginationServiceId = \"".concat(formPaginationId,"\";\n let __wrapperServiceId = \"").concat(tableServiceId,"\";\n let __formId = \"").concat(formId,"\";\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n let mode = \"").concat(mode,"\";\n // event.data\u4E2D\u7684index\u548C__page\u5206\u522B\u8868\u793A\u5F53\u524D\u8981\u628A\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7684\u884C\u7D22\u5F15\u548C\u7528\u4E8E\u6807\u5B9A\u4E0B\u4E00\u9875\u9875\u7801\u7684\u5F53\u524D\u9875\u9875\u7801\n // \u4E00\u822C\u6765\u8BF4__page = index + 1\uFF0C\u4F46\u662F\u53EF\u4EE5\u8BA9event.data\u4E2D\u4F20\u5165__page\u548Cindex\u503C\u4E0D\u662F\u8FD9\u79CD\u8054\u7CFB\u3002\n // \u6BD4\u5982__page\u8BBE\u7F6E\u4E3A3\uFF0Cindex\u8BBE\u7F6E\u4E3A0\u8868\u793A\u628A\u5F53\u524D\u8868\u5355\u6570\u636E\u63D0\u4EA4\u5230\u7B2C\u4E00\u9875\uFF0C\u4F46\u662F\u8DF3\u8F6C\u5230\u7B2C4\u9875\uFF0C\u5F39\u51FA\u7684\u8868\u5355\u4E2D\u5E95\u4E0B\u7684\u65B0\u589E\u548C\u590D\u5236\u6309\u94AE\u4F9D\u8D56\u4E86\u6B64\u529F\u80FD\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n if(mode !== \"readonly\"){\n // \u65B0\u5EFA\u7F16\u8F91\u65F6\uFF0C\u7FFB\u9875\u624D\u9700\u8981\u628A\u5F53\u524D\u9875\u8868\u5355\u4FDD\u5B58\uFF0C\u53EA\u8BFB\u65F6\u76F4\u63A5\u7FFB\u9875\u5373\u53EF\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u4E4B\u524D\u9700\u8981\u5148\u628A\u5F53\u524D\u9875\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u4E2D\u95F4\u53D8\u91CF__tableItems\u4E2D\n let currentFormValues = scope.getComponentById(__formId).getValues();\n // \u8FD9\u91CC\u4E0Dclone\u7684\u8BDD\uFF0C\u5176\u503C\u4F1A\u5E26\u4E0A__super\u5C5E\u6027\n currentFormValues = _.clone(currentFormValues);\n var parent = event.data.parent;\n var __parentIndex = event.data.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // \u91CD\u5199\u7236\u8282\u70B9\uFF0C\u5E76\u4E14\u6539\u53D8\u5176\u67D0\u4E2A\u5C5E\u6027\u4EE5\u8BA9\u5B50\u8282\u70B9\u4FEE\u6539\u7684\u5185\u5BB9\u56DE\u663E\u5230\u754C\u9762\u4E0A\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // \u7FFB\u9875\u5230\u4E0B\u4E00\u9875\u524D\u9700\u8981\u540C\u65F6\u628A\u6539\u52A8\u7684\u5185\u5BB9\u4FDD\u5B58\u5230\u6700\u7EC8\u6B63\u5F0F\u7684\u8868\u5355\u5B57\u6BB5\u4E2D\uFF0C\u6240\u4EE5\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n }\n\n // \u4EE5\u4E0B\u662F\u7FFB\u9875\u903B\u8F91\uFF0C\u7FFB\u5230\u4E0B\u4E00\u9875\u5E76\u628A\u4E0B\u4E00\u9875\u5185\u5BB9\u663E\u793A\u5230\u8868\u5355\u4E0A\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table\u7EC4\u4EF6\u884C\u7D22\u5F15\uFF0C\u4ECE0\u5F00\u59CB\u7684\u7D22\u5F15\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // \u8FD9\u91CC\u4E0D\u7528\u8FDB\u4E00\u6B65\u628A\u8868\u5355\u5185\u5BB9setValue\u5230form\u4E2D\uFF0C\u662F\u56E0\u4E3A\u7F16\u8F91\u8868\u5355\u4E2DschemaApi\u76D1\u542C\u4E86\u884C\u7D22\u5F15index\u7684\u53D8\u5316\uFF0C\u5176\u503C\u53D8\u5316\u65F6\u4F1A\u91CD\u65B0build\u6574\u4E2Aform\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2\u4E0D\u652F\u6301override\u6A21\u5F0F\uFF0C\u9AD8\u7248\u672C\u624D\u652F\u6301\n // });\n ");return{"type":"wrapper","size":"none","className":"mr-1","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":showPagination?"${__page <= 1}":"true","size":"sm","id":buttonPrevId,"onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onPageChangeScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
969
|
+
}]}}},{"type":"tpl",// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
|
|
953
970
|
"tpl":"${__page}/${__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next",// "disabledOn": showPagination ? "${__page >= __tableItems.length}" : "true",
|
|
954
971
|
// 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量
|
|
955
|
-
"disabledOn":showPagination?"${__page >= (__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length)}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}
|
|
972
|
+
"disabledOn":showPagination?"${__page >= (__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length)}":"true","size":"sm","id":buttonNextId,"onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onPageChangeScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
973
|
+
}]}}}]};}/**
|
|
956
974
|
* 传入formSchema输出带翻页容器的wrapper
|
|
957
975
|
* @param {*} props input-table组件props
|
|
958
976
|
* @param {*} form formSchema
|
|
@@ -1068,7 +1086,9 @@ schema=getFormPaginationWrapper(props,schema,mode);return _context120.abrupt("re
|
|
|
1068
1086
|
// }
|
|
1069
1087
|
// };
|
|
1070
1088
|
onSaveAndNewItemScript="\n let scope = event.context.scoped;\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // \u56E0\u4E3A\u5220\u9664\u65F6\u53EA\u662F\u628Ainput-table\u7EC4\u4EF6\u4E2D\u7684\u884C\u6570\u636E\u5220\u9664\u4E86\uFF0C\u5E76\u6CA1\u6709\u628A\u7236\u5C42service\u4E2D\u7684\u884C\u5220\u9664\uFF0C\u6240\u4EE5__tableItems\u4F1A\u6709\u503C\u4E3Aundefined\u7684\u6570\u636E\uFF0C\u9700\u8981\u79FB\u9664\u6389\n // \u4E0D\u7528event.data.__tableItems = _.compact(event.data.__tableItems)\u662F\u56E0\u4E3A\u4F1A\u628A__tableItems\u53D8\u91CF\u4FDD\u5B58\u5230\u8868\u5355\u4E2D\n removeEmptyItems(event.data.__tableItems);\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u65B0\u5EFA\u4E00\u6761\u7A7A\u767D\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n var parent = event.data.__super.parent;\n var primaryKey = \"".concat(primaryKey,"\";\n var __parentIndex = parent && _.findIndex(fieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"").concat(props.id,"\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue\u4E0D\u4E3Atrue\u7684\u60C5\u51B5\u4E0B\uFF0C\u5373\u5B50\u8868\u7EC4\u4EF6input-table\u7684pipeOut\u51FD\u6570\u4E2D\u4F1A\u79FB\u9664\u8868\u5355\u4E86\u5B50\u8868\u5B57\u6BB5\u7684primaryKey\u5B57\u6BB5\u503C\uFF0C\n // \u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u4E3A\u7A7A\uFF0C\u4F46\u662FpipeIn\u51FD\u6570\u4E2D\u5DF2\u7ECF\u4E3Ainput-table\u81EA\u52A8\u751F\u6210\u8FC7primaryKey\u5B57\u6BB5\u503C\u4E86\uFF0C\u53EA\u662F\u6CA1\u6709\u8F93\u51FA\u5230\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u800C\u5DF2\n // \u6240\u4EE5\u4E0A\u9762\u4ECE\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u6CA1\u627E\u5230__parentIndex\uFF0C\u662F\u56E0\u4E3A\u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u53EA\u7ECF\u8FC7pipeIn\u4FDD\u5B58\u5230table\u7EC4\u4EF6\u5185\u800C\u6CA1\u6709\u4FDD\u5B58\u5230tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(parent){\n fieldValue[__parentIndex].children.push({});\n // \u8FD9\u91CC\u5B9E\u6D4B\u4E0D\u9700\u8981fieldValue[__parentIndex] = ... \u6765\u91CD\u5199\u6574\u4E2A\u7236\u884C\u8BA9\u5B50\u8868\u56DE\u663E\uFF0C\u6240\u4EE5\u6CA1\u52A0\u76F8\u5173\u4EE3\u7801\n }\n else{\n fieldValue.push({});\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n }\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");onSaveAndCopyItemScript="\n let scope = event.context.scoped;\n let __formId = \"".concat(formId,"\";\n // let newItem = JSON.parse(JSON.stringify(event.data));\n let newItem = scope.getComponentById(__formId).getValues();//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data\uFF0C\u56E0\u4E3A\u5176\u62FF\u5230\u7684\u662F\u5F39\u51FA\u8868\u5355\u65F6\u7684\u521D\u59CB\u503C\uFF0C\u4E0D\u662F\u7528\u6237\u5B9E\u65F6\u586B\u5199\u7684\u6570\u636E\n newItem = _.clone(newItem);\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // \u56E0\u4E3A\u5220\u9664\u65F6\u53EA\u662F\u628Ainput-table\u7EC4\u4EF6\u4E2D\u7684\u884C\u6570\u636E\u5220\u9664\u4E86\uFF0C\u5E76\u6CA1\u6709\u628A\u7236\u5C42service\u4E2D\u7684\u884C\u5220\u9664\uFF0C\u6240\u4EE5__tableItems\u4F1A\u6709\u503C\u4E3Aundefined\u7684\u6570\u636E\uFF0C\u9700\u8981\u79FB\u9664\u6389\n // \u4E0D\u7528event.data.__tableItems = _.compact(event.data.__tableItems)\u662F\u56E0\u4E3A\u4F1A\u628A__tableItems\u53D8\u91CF\u4FDD\u5B58\u5230\u8868\u5355\u4E2D\n removeEmptyItems(event.data.__tableItems);\n let fieldValue = event.data.__tableItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.__tableItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n // \u590D\u5236\u5F53\u524D\u9875\u6570\u636E\u5230\u65B0\u5EFA\u884C\u5E76\u4FDD\u5B58\u5230\u5B50\u8868\u7EC4\u4EF6\n // fieldValue.push(newItem);\n var parent = event.data.__super.parent;\n var primaryKey = \"").concat(primaryKey,"\";\n var __parentIndex = parent && _.findIndex(fieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"").concat(props.id,"\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue\u4E0D\u4E3Atrue\u7684\u60C5\u51B5\u4E0B\uFF0C\u5373\u5B50\u8868\u7EC4\u4EF6input-table\u7684pipeOut\u51FD\u6570\u4E2D\u4F1A\u79FB\u9664\u8868\u5355\u4E86\u5B50\u8868\u5B57\u6BB5\u7684primaryKey\u5B57\u6BB5\u503C\uFF0C\n // \u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u4E3A\u7A7A\uFF0C\u4F46\u662FpipeIn\u51FD\u6570\u4E2D\u5DF2\u7ECF\u4E3Ainput-table\u81EA\u52A8\u751F\u6210\u8FC7primaryKey\u5B57\u6BB5\u503C\u4E86\uFF0C\u53EA\u662F\u6CA1\u6709\u8F93\u51FA\u5230\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u800C\u5DF2\n // \u6240\u4EE5\u4E0A\u9762\u4ECE\u8868\u5355\u5B57\u6BB5\u503C\u4E2D\u6CA1\u627E\u5230__parentIndex\uFF0C\u662F\u56E0\u4E3A\u6B64\u65F6\u884CprimaryKey\u5B57\u6BB5\u503C\u53EA\u7ECF\u8FC7pipeIn\u4FDD\u5B58\u5230table\u7EC4\u4EF6\u5185\u800C\u6CA1\u6709\u4FDD\u5B58\u5230tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(newItem[primaryKey]){\n // \u5982\u679CnewItem\u5DF2\u7ECF\u6709\u4E3B\u952E\u5B57\u6BB5\u503C\uFF0C\u5219\u91CD\u65B0\u751F\u6210\u65B0\u7684\u4E3B\u952E\u503C\uFF0C\u5426\u5219\u4F1A\u91CD\u590D\u3002\n let uuidv4 = new Function(\"return (\" + ").concat(uuidv4.toString()," + \")()\");\n newItem[primaryKey] = uuidv4();\n }\n if(parent){\n fieldValue[__parentIndex].children.push(newItem);\n // \u8FD9\u91CC\u5B9E\u6D4B\u4E0D\u9700\u8981fieldValue[__parentIndex] = ... \u6765\u91CD\u5199\u6574\u4E2A\u7236\u884C\u8BA9\u5B50\u8868\u56DE\u663E\uFF0C\u6240\u4EE5\u6CA1\u52A0\u76F8\u5173\u4EE3\u7801\n }\n else{\n fieldValue.push(newItem);\n }\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"").concat(buttonNextId,"\";\n let __paginationServiceId = \"").concat(formPaginationId,"\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n event.data.__parentIndex = __parentIndex; //\u6267\u884C\u4E0B\u9762\u7684\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\u4E2D\u4F9D\u8D56\u4E86__parentIndex\u503C\n }\n else{\n event.data.__page = fieldValue.length - 1;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528Object.assign\u5426\u5219\uFF0Cevent.data\u4E2D\u4E0A\u5C42\u4F5C\u7528\u57DF\u6570\u636E\u4F1A\u4E22\u5931\n }\n // \u89E6\u53D1\u7FFB\u9875\u6309\u94AE\u4E8B\u4EF6\uFF0C\u5B9E\u73B0\u4FDD\u5B58\u5F53\u524D\u9875\u6570\u636E\u5E76\u8DF3\u8F6C\u5230\u6700\u540E\u4E00\u884C\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n ");dialogButtons=[{"type":"button","label":"完成","actionType":"confirm","level":"primary"}];if(props.addable){// 有新增行权限时额外添加新增和复制按钮
|
|
1071
|
-
dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"
|
|
1089
|
+
dialogButtons=[{"type":"button","label":"新增","tooltip":"保存并新增一行,即保存当前行数据并新增一条空白行","onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onSaveAndNewItemScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
1090
|
+
}]}}},{"type":"button","label":"复制","tooltip":"复制并新增一行,即保存当前行数据并复制当前行数据到新增行","onEvent":{"click":{"actions":[{"actionType":"validate","componentId":formId},{"actionType":"custom","script":onSaveAndCopyItemScript,"expression":"${!!!event.data.validateResult.error}"//触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持
|
|
1091
|
+
}]}}},dialogButtons[0]];}_context121.t0=dialogId;_context121.t1="${uiSchema.fields.".concat(props.name,".label} \u660E\u7EC6");_context121.next=18;return getForm(props,mode,formId);case 18:_context121.t2=_context121.sent;_context121.t3=[_context121.t2];_context121.t4={// 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
|
|
1072
1092
|
// 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
|
|
1073
1093
|
// 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
|
|
1074
1094
|
// "&": "${record || {}}",
|
|
@@ -1142,7 +1162,7 @@ actions=[actionShowEditDialog];}else if(mode=="edit"){actions=[actionShowEditDia
|
|
|
1142
1162
|
// },
|
|
1143
1163
|
// "componentId": props.id
|
|
1144
1164
|
// },
|
|
1145
|
-
{"actionType":"custom","script":onDeleteItemScript}];}case 43:return _context121.abrupt("return",actions);case 44:case"end":return _context121.stop();}}},_callee121);}));return _getButtonActions.apply(this,arguments);}function getButtonNew(_x222){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(props){return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:_context122.next=2;return getButtonActions(props,"new");case 2:_context122.t0=_context122.sent;_context122.t1={"actions":_context122.t0};_context122.t2={"click":_context122.t1};return _context122.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context122.t2,"level":"primary"});case 6:case"end":return _context122.stop();}}},_callee122);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x223,_x224){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee123(props,showAsInlineEditMode){return _regeneratorRuntime().wrap(function _callee123$(_context123){while(1){switch(_context123.prev=_context123.next){case 0:_context123.t0="fa fa-".concat(showAsInlineEditMode?"expand-alt":"pencil");_context123.next=3;return getButtonActions(props,"edit");case 3:_context123.t1=_context123.sent;_context123.t2={"actions":_context123.t1};_context123.t3={"click":_context123.t2};return _context123.abrupt("return",{"type":"button","label":"","icon":_context123.t0,"level":"link","onEvent":_context123.t3});case 7:case"end":return _context123.stop();}}},_callee123);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x225){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee124(props){return _regeneratorRuntime().wrap(function _callee124$(_context124){while(1){switch(_context124.prev=_context124.next){case 0:_context124.next=2;return getButtonActions(props,"readonly");case 2:_context124.t0=_context124.sent;_context124.t1={"actions":_context124.t0};_context124.t2={"click":_context124.t1};return _context124.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand-alt","level":"link","onEvent":_context124.t2});case 6:case"end":return _context124.stop();}}},_callee124);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(_x226){return _getButtonDelete.apply(this,arguments);}function _getButtonDelete(){_getButtonDelete=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee125(props){return _regeneratorRuntime().wrap(function _callee125$(_context125){while(1){switch(_context125.prev=_context125.next){case 0:_context125.
|
|
1165
|
+
{"actionType":"custom","script":onDeleteItemScript}];}case 43:return _context121.abrupt("return",actions);case 44:case"end":return _context121.stop();}}},_callee121);}));return _getButtonActions.apply(this,arguments);}function getButtonNew(_x222){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(props){return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:_context122.next=2;return getButtonActions(props,"new");case 2:_context122.t0=_context122.sent;_context122.t1={"actions":_context122.t0};_context122.t2={"click":_context122.t1};return _context122.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context122.t2,"level":"primary"});case 6:case"end":return _context122.stop();}}},_callee122);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x223,_x224){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee123(props,showAsInlineEditMode){return _regeneratorRuntime().wrap(function _callee123$(_context123){while(1){switch(_context123.prev=_context123.next){case 0:_context123.t0="fa fa-".concat(showAsInlineEditMode?"expand-alt":"pencil");_context123.next=3;return getButtonActions(props,"edit");case 3:_context123.t1=_context123.sent;_context123.t2={"actions":_context123.t1};_context123.t3={"click":_context123.t2};return _context123.abrupt("return",{"type":"button","label":"","icon":_context123.t0,"level":"link","onEvent":_context123.t3});case 7:case"end":return _context123.stop();}}},_callee123);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x225){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee124(props){return _regeneratorRuntime().wrap(function _callee124$(_context124){while(1){switch(_context124.prev=_context124.next){case 0:_context124.next=2;return getButtonActions(props,"readonly");case 2:_context124.t0=_context124.sent;_context124.t1={"actions":_context124.t0};_context124.t2={"click":_context124.t1};return _context124.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand-alt","level":"link","onEvent":_context124.t2});case 6:case"end":return _context124.stop();}}},_callee124);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(_x226){return _getButtonDelete.apply(this,arguments);}function _getButtonDelete(){_getButtonDelete=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee125(props){return _regeneratorRuntime().wrap(function _callee125$(_context125){while(1){switch(_context125.prev=_context125.next){case 0:_context125.t0={"tpl":"确定要删除吗?","type":"tpl"};_context125.t1={"type":"button","label":"取消","className":"mr-2"};_context125.next=4;return getButtonActions(props,"delete");case 4:_context125.t2=_context125.sent;_context125.t3={"actions":_context125.t2};_context125.t4={"click":_context125.t3};_context125.t5={"type":"button","label":"删除","level":"danger","onEvent":_context125.t4};_context125.t6=[_context125.t1,_context125.t5];_context125.t7={"type":"flex","justify":"flex-end","className":"mt-3","items":_context125.t6};_context125.t8=[_context125.t0,_context125.t7];_context125.t9={"type":"wrapper","size":"md","className":"w-80","body":_context125.t8};_context125.t10=[_context125.t9];return _context125.abrupt("return",{"type":"dropdown-button","level":"link","icon":"fa fa-trash-alt","size":"xs","hideCaret":true,"closeOnClick":true,"body":_context125.t10});case 14:case"end":return _context125.stop();}}},_callee125);}));return _getButtonDelete.apply(this,arguments);}var getAmisInputTableSchema=/*#__PURE__*/function(){var _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(props){var primaryKey,showOperation,fieldPrefix,fields,serviceId,buttonsForColumnOperations,inlineEditMode,showAsInlineEditMode,showEditButton,buttonEditSchema,buttonViewSchema,buttonDeleteSchema,amis,inputTableSchema,isAnyFieldHasDependOn,schemaBody,footerToolbar,buttonNewSchema,headerToolbar,className,schema;return _regeneratorRuntime().wrap(function _callee19$(_context19){while(1){switch(_context19.prev=_context19.next){case 0:if(!props.id){props.id="steedos_input_table_"+props.name+"_"+Math.random().toString(36).substr(2,9);}primaryKey=getTablePrimaryKey(props);showOperation=props.showOperation;if(showOperation!==false){showOperation=true;}fieldPrefix=props.fieldPrefix;fields=props.fields||[];if(fieldPrefix){fields=getTableFieldsWithoutFieldPrefix(fields,fieldPrefix);}serviceId=getComponentId("table_service",props.id);buttonsForColumnOperations=[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;if(!showOperation){_context19.next=31;break;}if(!props.editable){_context19.next=22;break;}showEditButton=true;if(showAsInlineEditMode){// 始终显示弹出子表表单按钮,如果需要判断只在有列被隐藏时才需要显示弹出表单按钮放开下面的if逻辑就好
|
|
1146
1166
|
showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要显示编辑按钮
|
|
1147
1167
|
// if (props.columns && props.columns.length > 0 && props.columns.length < fields.length) {
|
|
1148
1168
|
// showEditButton = true;
|
|
@@ -1152,10 +1172,10 @@ showEditButton=true;// // inline edit模式下只在有列被隐藏时才需要
|
|
|
1152
1172
|
// }
|
|
1153
1173
|
}// 编辑时显示编辑按钮
|
|
1154
1174
|
if(!showEditButton){_context19.next=20;break;}_context19.next=18;return getButtonEdit(props,showAsInlineEditMode);case 18:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 20:_context19.next=26;break;case 22:_context19.next=24;return getButtonView(props);case 24:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 26:if(!props.removable){_context19.next=31;break;}_context19.next=29;return getButtonDelete(props);case 29:buttonDeleteSchema=_context19.sent;buttonsForColumnOperations.push(buttonDeleteSchema);case 31:amis=props["input-table"]||props.amis||{};//额外支持"input-table"代替amis属性,是因为在字段yml文件中用amis作为key不好理解
|
|
1155
|
-
_context19.t0=props.name;_context19.t1=props.draggable;_context19.t2=props.showIndex;_context19.t3=props.perPage;_context19.t4=props.id;_context19.next=39;return getInputTableColumns(props);case 39:_context19.t5=_context19.sent;_context19.t6=props.strictMode;_context19.t7=props.tableClassName;_context19.t8=function pipeIn(value,data){if(fieldPrefix){value=getTableValueWithoutFieldPrefix(value,fieldPrefix);}if(primaryKey){// 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值
|
|
1175
|
+
_context19.t0=props.name;_context19.t1=props.draggable;_context19.t2=props.showIndex;_context19.t3=props.perPage;_context19.t4=props.id;_context19.next=39;return getInputTableColumns(props);case 39:_context19.t5=_context19.sent;_context19.t6=props.strictMode;_context19.t7=props.tableClassName;_context19.t8=function pipeIn(value,data){if(fieldPrefix){value=getTableValueWithoutFieldPrefix(value,fieldPrefix);}value=getTableValueWithEmptyValue(value,fields);if(primaryKey){// 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值
|
|
1156
1176
|
// 这里始终自动生成primaryKey字段值,而不是只在pipeOut输出整个子表字段值时才生成,是因为要支持当数据库里保存的子表字段行数据没有primaryKey字段值时的行嵌套模式(即节点的children属性)功能
|
|
1157
1177
|
// 这里要注意,流程详细设置界面的字段设置功能中的子表组件中,数据库里保存的子表字段行数据是有primaryKey字段值的,它不依赖这里自动生成行primaryKey值功能
|
|
1158
|
-
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}if(amis.pipeIn){if(typeof amis.pipeIn==='function'){return amis.pipeIn(value,data);}}return value;};_context19.t9=function pipeOut(value,data){value=(value||[]).map(function(item){delete item.__fix_rerender_after_children_modified_tag;return item;});if(fieldPrefix){value=getTableValuePrependFieldPrefix(value,fieldPrefix,primaryKey);}if(props.autoGeneratePrimaryKeyValue===true){// 如果需要把自动生成的primaryKey值输出保存的库中,则补全所有行中的primaryKey值
|
|
1178
|
+
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}if(amis.pipeIn){if(typeof amis.pipeIn==='function'){return amis.pipeIn(value,data);}}return value;};_context19.t9=function pipeOut(value,data){value=(value||[]).map(function(item){delete item.__fix_rerender_after_children_modified_tag;return item;});if(fieldPrefix){value=getTableValuePrependFieldPrefix(value,fieldPrefix,primaryKey);}value=getTableValueWithoutEmptyValue(value,fields);if(props.autoGeneratePrimaryKeyValue===true){// 如果需要把自动生成的primaryKey值输出保存的库中,则补全所有行中的primaryKey值
|
|
1159
1179
|
// 这里如果不全部补全的话,初始从库里返回的字段值中拿到的行没primaryKey值的话就不会自动补上
|
|
1160
1180
|
value=getTableValueWithPrimaryKeyValue(value,primaryKey);}else{// 默认情况下,也就是没有配置autoGeneratePrimaryKey时,最终输出的字段值要移除行中的primaryKey值
|
|
1161
1181
|
// 需要注意如果没有配置autoGeneratePrimaryKey时,因为每次弹出行编辑窗口保存后都会先后进入pipeOut和pipeIn,
|
|
@@ -1175,9 +1195,9 @@ if(!props.addable){_context19.next=56;break;}_context19.next=54;return getButton
|
|
|
1175
1195
|
// 看起来amis官方后续会支持给input-table组件配置headerToolbar,见:https://github.com/baidu/amis/issues/7246
|
|
1176
1196
|
// 不过依然放开此功能的意义在于有的场景字段label本来就不需要显示出来,此时headerToolbar就有意义
|
|
1177
1197
|
headerToolbar=_$1.clone(props.headerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
|
|
1178
|
-
if(headerToolbar.length){schemaBody.unshift({"type":"wrapper","size":"none","body":headerToolbar});}schema={"type":"control","body":{"type":"service","body":schemaBody,"id":serviceId},"label":props.label,"labelClassName":props.label?props.labelClassName:"none","labelRemark":props.labelRemark,"labelAlign":props.labelAlign,//控制control的mode属性,https://aisuda.bce.baidu.com/amis/zh-CN/components/form/formitem#表单项展示
|
|
1179
|
-
"mode":props.mode||null,
|
|
1180
|
-
return _context19.abrupt("return",schema);case
|
|
1198
|
+
if(headerToolbar.length){schemaBody.unshift({"type":"wrapper","size":"none","body":headerToolbar});}className="steedos-input-table";if(_typeof(props.className)=="object"){className=_objectSpread(_defineProperty({},className,"true"),props.className);}else if(typeof props.className=="string"){className="".concat(className," ").concat(props.className," ");}schema={"type":"control","body":{"type":"service","body":schemaBody,"id":serviceId},"label":props.label,"labelClassName":props.label?props.labelClassName:"none","labelRemark":props.labelRemark,"labelAlign":props.labelAlign,//控制control的mode属性,https://aisuda.bce.baidu.com/amis/zh-CN/components/form/formitem#表单项展示
|
|
1199
|
+
"mode":props.mode||null,className:className};// console.log("===schema===", schema);
|
|
1200
|
+
return _context19.abrupt("return",schema);case 63:case"end":return _context19.stop();}}},_callee19);}));return function getAmisInputTableSchema(_x227){return _ref20.apply(this,arguments);};}();// import { getListSchema } from './objects';
|
|
1181
1201
|
function getScopeId(objectApiName,type){return"page_".concat(objectApiName,"_").concat(type);}// 获取表单初始化amisSchema
|
|
1182
1202
|
function getFormPageInitSchema(_x228){return _getFormPageInitSchema.apply(this,arguments);}// 获取列表页面初始化amisSchema
|
|
1183
1203
|
function _getFormPageInitSchema(){_getFormPageInitSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee126(objectApiName){var schema;return _regeneratorRuntime().wrap(function _callee126$(_context126){while(1){switch(_context126.prev=_context126.next){case 0:_context126.next=2;return getFormSchema(objectApiName,{recordId:'${recordId}'});case 2:schema=_context126.sent;return _context126.abrupt("return",{type:'page',name:getScopeId(objectApiName,"form"),bodyClassName:'',regions:["body"],body:[schema.amisSchema]});case 4:case"end":return _context126.stop();}}},_callee126);}));return _getFormPageInitSchema.apply(this,arguments);}function getListPageInitSchema(_x229,_x230,_x231){return _getListPageInitSchema.apply(this,arguments);}// 获取
|