@steedos-widgets/amis-lib 1.3.18 → 1.3.20
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 +435 -60
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +435 -60
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +54 -19
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/input_table.d.ts +8 -2
- package/package.json +2 -2
package/dist/index.umd.js
CHANGED
|
@@ -110,15 +110,15 @@ if(typeof width=='string'){if(isNaN(width)){return width||defaultWidth;}else{ret
|
|
|
110
110
|
"className": "flex items-center justify-between"//每行样式类
|
|
111
111
|
}
|
|
112
112
|
*/function _getTableColumns(){_getTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee56(fields,options){var _options$permissions;var columns,allowEdit,_iterator6,_step7,field,quickEditSchema,className,columnItem,previewFileScript,map,tpl,type,href;return _regeneratorRuntime().wrap(function _callee56$(_context56){while(1){switch(_context56.prev=_context56.next){case 0:columns=[];if(!options.isLookup&&!options.isInputTable){//将_display放入crud的columns中,可以通过setvalue修改行内数据域的_display,而不影响上层items的_display,用于批量编辑
|
|
113
|
-
columns.push({name:'_display',type:'static',width:32,placeholder:"",id:"_display_${_index}",className:"hidden"});columns.push({name:'_index',type:'text',width:32,placeholder:""});}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=
|
|
113
|
+
columns.push({name:'_display',type:'static',width:32,placeholder:"",id:"_display_${_index}",className:"hidden"});columns.push({name:'_index',type:'text',width:32,placeholder:""});}allowEdit=((_options$permissions=options.permissions)===null||_options$permissions===void 0?void 0:_options$permissions.allowEdit)&&!options.isLookup&&options.enable_inline_edit!=false;_iterator6=_createForOfIteratorHelper(fields);_context56.prev=4;_iterator6.s();case 6:if((_step7=_iterator6.n()).done){_context56.next=51;break;}field=_step7.value;if(!(field.hidden||field.extra)){_context56.next=10;break;}return _context56.abrupt("continue",49);case 10:if(!allowEdit){_context56.next=16;break;}_context56.next=13;return getQuickEditSchema(field,options);case 13:_context56.t0=_context56.sent;_context56.next=17;break;case 16:_context56.t0=allowEdit;case 17:quickEditSchema=_context56.t0;className="";if(field.wrap!=true){className+=" whitespace-nowrap ";}else{className+=" break-all ";}columnItem=void 0;if(!((field.is_name||field.name===options.labelFieldName)&&options.objectName==='cms_files')){_context56.next=26;break;}previewFileScript="\n var data = event.data;\n var file_name = data.versions ? data.name : \"".concat(field.label,"\";\n var file_id = data._id;\n SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});\n ");columnItem={"type":"button","label":"<%=data.versions ? data.name : \"".concat(field.label,"\"%>"),className:className,"level":"link","onEvent":{"click":{"actions":[{"args":{"api":{"url":"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}","method":"get","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"}}},"actionType":"download",// "expression": "!!!window?.nw?.require"//浏览器上直接下载
|
|
114
114
|
"expression":"!!!(window && window.nw && window.nw.require)"//浏览器上直接下载
|
|
115
115
|
},{"args":{},"actionType":"custom","script":previewFileScript,// "expression": "!!window?.nw?.require" //PC客户端预览附件
|
|
116
116
|
"expression":"!!!(window && window.nw && window.nw.require)"//PC客户端预览附件
|
|
117
|
-
}]}}};_context56.next=
|
|
117
|
+
}]}}};_context56.next=48;break;case 26:if(!(field.type==='toggle')){_context56.next=30;break;}columnItem=Object.assign({},{type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},field.amis,{name:field.name});_context56.next=48;break;case 30:if(!(field.type==='avatar'||field.type==='image'||field.type==='file')){_context56.next=34;break;}columnItem=Object.assign({},_objectSpread({type:"switch",name:field.name,label:field.label,width:getFieldWidth(field.width),toggled:field.toggled,"static":true,className:className},getAmisFileReadonlySchema(field)),field.amis,{name:field.name});_context56.next=48;break;case 34:if(!(field.type==='select')){_context56.next=39;break;}map=getSelectMap(field.options);columnItem=Object.assign({},{type:"static-mapping",name:field.name,label:field.label,map:map,sortable:field.sortable,width:getFieldWidth(field.width),toggled:field.toggled,className:className,inputClassName:"inline","static":true},field.amis,{name:field.name});_context56.next=48;break;case 39:_context56.next=41;return getFieldTpl(field,options);case 41:tpl=_context56.sent;type='static-text';if(tpl){type='static';}else if(field.type==='html'){type='static-markdown';}else if(field.type==='url'){if(field.show_as_qr){type='static-qr-code';}else{type='input-url';}}if(field.type==='textarea'){className+='min-w-56';}if(field.type==='date'){className+='date-min-w';}if(field.type==='datetime'){className+='datetime-min-w';}if(!field.hidden&&!field.extra){columnItem=Object.assign({},{name:field.name,label:field.label,sortable:field.sortable,// searchable: field.searchable,
|
|
118
118
|
width:getFieldWidth(field.width),type:type,tpl:tpl,toggled:field.toggled,className:className,inputClassName:"inline","static":true,options:field.type==='html'?{html:true}:null// toggled: true
|
|
119
|
-
},field.amis,{name:field.name});}case
|
|
119
|
+
},field.amis,{name:field.name});}case 48:if(columnItem){if(quickEditSchema){columnItem.quickEdit=quickEditSchema;columnItem.quickEditEnabledOn="${is_system !== true}";}columnItem.id="".concat(options.objectName,"_").concat(field.name,"_${_index}");columns.push(columnItem);}case 49:_context56.next=6;break;case 51:_context56.next=56;break;case 53:_context56.prev=53;_context56.t1=_context56["catch"](4);_iterator6.e(_context56.t1);case 56:_context56.prev=56;_iterator6.f();return _context56.finish(56);case 59:// columns.push(getOperation(fields));
|
|
120
120
|
if(!options.isLookup&&!options.isInputTable&&!___namespace.some(columns,{name:options.labelFieldName})){// 没有名称字段时显示序号字段为链接,lookup弹出的picker不需要此功能
|
|
121
|
-
href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[1].type="tpl";columns[1].tpl="<a href=\"".concat(href,"\">${").concat(columns[1].name,"}</a>");}return _context56.abrupt("return",columns);case
|
|
121
|
+
href=Router.getObjectDetailPath(_objectSpread(_objectSpread({},options),{},{formFactor:options.formFactor,appId:"${appId}",objectName:options.objectName||"${objectName}",recordId:"${".concat(options.idFieldName,"}")}));columns[1].type="tpl";columns[1].tpl="<a href=\"".concat(href,"\">${").concat(columns[1].name,"}</a>");}return _context56.abrupt("return",columns);case 61:case"end":return _context56.stop();}}},_callee56,null,[[4,53,56,59]]);}));return _getTableColumns.apply(this,arguments);}function getMobileLines(tpls){var lines=[];var maxLineCount=3;var lineChildren=[];var isNewLine=false;var isLeft=true;var lineChildrenClassName="";var lineClassName="flex items-center justify-between";tpls.forEach(function(item){if(isNewLine&&lines.length<maxLineCount){lines.push({"type":"wrapper","body":lineChildren,"size":"none","className":lineClassName});lineChildren=[];}if(isLeft){// 左侧半行
|
|
122
122
|
lineChildrenClassName="steedos-listview-item-left truncate";if(item.field.is_wide){// 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate
|
|
123
123
|
lineChildrenClassName="steedos-listview-item-wide";}if(lines.length===0){// 第一个字段加粗黑色显示
|
|
124
124
|
lineChildrenClassName+=" font-bold text-gray-800";}}else{// 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了
|
|
@@ -321,7 +321,7 @@ var buttons=getButtons(uiSchema,ctx);var listButtons=___namespace.filter(buttons
|
|
|
321
321
|
},// "id": `service_listview_filter_form_${objectSchema.name}`,
|
|
322
322
|
"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",
|
|
323
323
|
"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",
|
|
324
|
-
"onEvent":{"click":{"actions":[{"actionType":"custom","script":onCancelScript}]}}},{"type":"button","label":i18next__default["default"].t('frontend_fields_filter_button_settings'),"onEvent":{"click":{"actions":[{"actionType":"dialog","dialog":{"type":"dialog","size":"md","title":i18next__default["default"].t('frontend_fields_filter_button_settings'),"body":[{"type":"form","title":"","body":[{"label":"","type":"transfer","name":"fields","id":"u:92c0b3cccca0","source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options","dataType":"json","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"$self":"$$"},"requestAdaptor":"","adaptor":"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: \u6682\u65F6\u7981\u7528location\u7C7B\u578B\u5B57\u6BB5\u7684\u5217\u8868\u641C\u7D22\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n "},"options":[],"required":true,"placeholder":"-","className":"col-span-2 m-0","checkAll":false,"searchable":true,"sortable":true,"joinValues":false,"extractValue":true,"multiple":true}],"id":"u:e5ac506d5683","mode":"normal","persistData":false,"promptPageLeave":true,"name":"form","debug":false,"actions":[],"panelClassName":"m-0","bodyClassName":"p-4","className":"steedos-amis-form"}],"id":"u:ca99fa9fe1b1","actions":[{"type":"button","label":i18next__default["default"].t('frontend_form_cancel'),"onEvent":{"click":{"actions":[{"componentId":"","args":{},"actionType":"closeDialog"}]}},"id":"u:4e447b5ca72a"},{"type":"button","label":i18next__default["default"].t('frontend_form_confirm'),"onEvent":{"click":{"actions":[{"actionType":"custom","script":onSearchableFieldsChangeScript},{"actionType":"click","componentId":btnSearchId,"args":{"__from_fields_filter_settings_confirm":true}},{"componentId":"","args":{},"actionType":"closeDrawer"}]}},"id":"u:14e7388fecd3","level":"primary"}],"closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"data":{"&":"$$","objectName":"${objectName}","listName":"${listName}","listViewId":"${listViewId}","uiSchema":"${uiSchema}","isLookup":"${isLookup}","context":"${context}","fields":"${filterFormSearchableFields}"}}}]}},"id":"u:b96d84868a5a","level":"link"}],"size":"xs","className":"space-x-4"},"size":"xs","className":"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],"size":"xs","className":"slds-filters"},"size":"xs","className":"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case 11:case"end":return _context73.stop();}}},_callee73);}));return _getObjectFieldsFilterBarSchema.apply(this,arguments);}function getObjectListHeaderFirstLine(objectSchema,listViewName,ctx){var icon=objectSchema.icon,label=objectSchema.label;var listViewButtonOptions=[];_$1.each(objectSchema.list_views,function(listView,name){if(name==="lookup"){// 内置lookup
|
|
324
|
+
"onEvent":{"click":{"actions":[{"actionType":"custom","script":onCancelScript}]}}},{"type":"button","label":i18next__default["default"].t('frontend_fields_filter_button_settings'),"onEvent":{"click":{"actions":[{"actionType":"dialog","dialog":{"type":"dialog","size":"md","title":i18next__default["default"].t('frontend_fields_filter_button_settings'),"body":[{"type":"form","title":"","body":[{"label":"","type":"transfer","name":"fields","id":"u:92c0b3cccca0","source":{"method":"get","url":"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options","dataType":"json","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"data":{"$self":"$$"},"requestAdaptor":"","adaptor":"\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: \u6682\u65F6\u7981\u7528location\u7C7B\u578B\u5B57\u6BB5\u7684\u5217\u8868\u641C\u7D22\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n "},"options":[],"required":true,"placeholder":"-","className":"col-span-2 m-0","checkAll":false,"searchable":true,"sortable":true,"joinValues":false,"extractValue":true,"multiple":true}],"id":"u:e5ac506d5683","mode":"normal","persistData":false,"promptPageLeave":true,"name":"form","debug":false,"actions":[],"panelClassName":"m-0","bodyClassName":"p-4","className":"steedos-amis-form"}],"id":"u:ca99fa9fe1b1","actions":[{"type":"button","label":i18next__default["default"].t('frontend_form_cancel'),"onEvent":{"click":{"actions":[{"componentId":"","args":{},"actionType":"closeDialog"}]}},"id":"u:4e447b5ca72a"},{"type":"button","label":i18next__default["default"].t('frontend_form_confirm'),"onEvent":{"click":{"actions":[{"actionType":"custom","script":onSearchableFieldsChangeScript},{"actionType":"click","componentId":btnSearchId,"args":{"__from_fields_filter_settings_confirm":true}},{"componentId":"","args":{},"actionType":"closeDrawer"}]}},"id":"u:14e7388fecd3","level":"primary"}],"closeOnEsc":false,"closeOnOutside":false,"showCloseButton":true,"data":{"&":"$$","objectName":"${objectName}","listName":"${listName}","listViewId":"${listViewId}","uiSchema":"${uiSchema}","isLookup":"${isLookup}","context":"${context}","fields":"${filterFormSearchableFields}"}}}]}},"id":"u:b96d84868a5a","level":"link"}],"size":"xs","className":"space-x-4"},"size":"xs","className":"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],"size":"xs","className":"slds-filters"},"size":"xs","className":"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap ".concat(!ctx.isLookup&&"mt-2"),"visibleOn":"this.showFieldsFilter"},"className":"bg-white"});case 11:case"end":return _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为弹出选择专用视图,根据用户权限被禁用的视图,不显示在列表切换区域
|
|
325
325
|
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"};}/**
|
|
326
326
|
* 列表视图顶部第二行amisSchema
|
|
327
327
|
* @param {*} objectSchema 对象UISchema
|
|
@@ -498,13 +498,13 @@ options.queryCount=true;if(nonpaged||isTreeObject){options.top=5000;bodyProps.fo
|
|
|
498
498
|
}else if(top){bodyProps.footerToolbar=[];if(options.isRelated){options.queryCount=true;}else{options.queryCount=false;}}// console.log(`getObjectHeaderToolbar====2===>`, options.filterVisible)
|
|
499
499
|
bodyProps.headerToolbar=getObjectHeaderToolbar(objectSchema,fields,options.formFactor,{showDisplayAs:showDisplayAs,hiddenCount:options.queryCount===false,headerToolbarItems:options.headerToolbarItems,filterVisible:options.filterVisible});options.amisData=createObject(options.amisData,{objectName:objectSchema.name,// _id: null,
|
|
500
500
|
recordPermissions:objectSchema.permissions,uiSchema:objectSchema// loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载
|
|
501
|
-
});body=null;id="listview_".concat(objectSchema.name);if(!(options.formFactor==='SMALL'&&false)){_context81.next=42;break;}delete bodyProps.bulkActions;delete bodyProps.headerToolbar;delete bodyProps.footerToolbar;_context81.next=27;return getCardSchema(fields,Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:objectSchema.NAME_FIELD_KEY||'name'},options,{actions:false}));case 27:card=_context81.sent;_context81.t3=Object;_context81.t4={};_context81.t5=card;_context81.t6=id;_context81.t7=id;_context81.next=35;return getTableApi(objectSchema,fields,options);case 35:_context81.t8=_context81.sent;_context81.t9=options.tableHiddenOn;_context81.t10={type:'crud',primaryField:'_id',id:_context81.t6,name:_context81.t7,keepItemSelectionOnPageChange:false,api:_context81.t8,hiddenOn:_context81.t9};_context81.t11=bodyProps;body=_context81.t3.assign.call(_context81.t3,_context81.t4,_context81.t5,_context81.t10,_context81.t11);_context81.next=
|
|
501
|
+
});body=null;id="listview_".concat(objectSchema.name);if(!(options.formFactor==='SMALL'&&false)){_context81.next=42;break;}delete bodyProps.bulkActions;delete bodyProps.headerToolbar;delete bodyProps.footerToolbar;_context81.next=27;return getCardSchema(fields,Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:objectSchema.NAME_FIELD_KEY||'name'},options,{actions:false}));case 27:card=_context81.sent;_context81.t3=Object;_context81.t4={};_context81.t5=card;_context81.t6=id;_context81.t7=id;_context81.next=35;return getTableApi(objectSchema,fields,options);case 35:_context81.t8=_context81.sent;_context81.t9=options.tableHiddenOn;_context81.t10={type:'crud',primaryField:'_id',id:_context81.t6,name:_context81.t7,keepItemSelectionOnPageChange:false,api:_context81.t8,hiddenOn:_context81.t9};_context81.t11=bodyProps;body=_context81.t3.assign.call(_context81.t3,_context81.t4,_context81.t5,_context81.t10,_context81.t11);_context81.next=71;break;case 42:labelFieldName=objectSchema.NAME_FIELD_KEY||'name';// organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.
|
|
502
502
|
if(objectSchema.name==='organizations'){labelFieldName='name';}tableOptions=Object.assign({idFieldName:objectSchema.idFieldName,labelFieldName:labelFieldName,permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,crudId:listSchema.id||id},options);tableOptions.amisData=createObject(options.amisData||{},{});_context81.next=48;return getTableSchema$1(fields,tableOptions);case 48:table=_context81.sent;// delete table.mode;
|
|
503
503
|
//image与avatar需要在提交修改时特别处理
|
|
504
|
-
imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21=
|
|
504
|
+
imageNames=___default["default"].compact(___default["default"].map(___default["default"].filter(fields,function(field){return["image","avatar"].includes(field.type);}),'name'));quickSaveApiRequestAdaptor="\n var graphqlOrder = \"\";\n var imageNames = ".concat(JSON.stringify(imageNames),";\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\/([^\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\/([^\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n ");autoFillHeight=true;if(options.isRelated||window.innerWidth<768){autoFillHeight=false;}_context81.t12=Object;_context81.t13={};_context81.t14=table;_context81.t15=id;_context81.t16=id;_context81.next=60;return getTableApi(objectSchema,fields,options);case 60:_context81.t17=_context81.sent;_context81.t18=options.tableHiddenOn;_context81.t19=autoFillHeight;_context81.t20="flex-auto ".concat(crudClassName||"");_context81.t21={"bg-white":"true","is-steedos-crud-data-empty":"${!items || COUNT(items) == 0}"};_context81.t22=crudClassName;_context81.t23={url:"${context.rootUrl}/graphql",method:"post",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:quickSaveApiRequestAdaptor,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 return payload;\n "};_context81.t24=options.rowClassNameExpr;_context81.t25={type:'crud',primaryField:'_id',affixHeader:false,id:_context81.t15,name:_context81.t16,keepItemSelectionOnPageChange:true,api:_context81.t17,hiddenOn:_context81.t18,autoFillHeight:_context81.t19,className:_context81.t20,bodyClassName:_context81.t21,crudClassName:_context81.t22,quickSaveApi:_context81.t23,rowClassNameExpr:_context81.t24};_context81.t26=bodyProps;body=_context81.t12.assign.call(_context81.t12,_context81.t13,_context81.t14,_context81.t25,_context81.t26);case 71:body=defaultsDeep({},listSchema,body);_context81.next=74;return getCrudSchemaWithDataFilter(body,{crudDataFilter:crudDataFilter,onCrudDataFilter:onCrudDataFilter,amisData:amisData,env:env});case 74:body=_context81.sent;crudModeClassName="";if(body.mode){crudModeClassName="steedos-crud-mode-".concat(body.mode);}if(defaults){headerSchema=defaults.headerSchema;footerSchema=defaults.footerSchema;if(headerSchema||footerSchema){wrappedBody=[body];if(headerSchema){if(___default["default"].isArray(headerSchema)){wrappedBody=___default["default"].union(headerSchema,wrappedBody);}else{wrappedBody.unshift(headerSchema);}}if(footerSchema){if(___default["default"].isArray(footerSchema)){wrappedBody=___default["default"].union(wrappedBody,footerSchema);}else{wrappedBody.push(footerSchema);}}body=wrappedBody;}}// console.timeEnd('getObjectCRUD');
|
|
505
505
|
// TODO: data应该只留loaded,其他属性都改为从上层传递下来
|
|
506
506
|
return _context81.abrupt("return",{type:'service',className:crudModeClassName,//目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}
|
|
507
|
-
id:"service_".concat(id),name:"page",data:options.amisData,body:body});case
|
|
507
|
+
id:"service_".concat(id),name:"page",data:options.amisData,body:body});case 79:case"end":return _context81.stop();}}},_callee81);}));return _getObjectCRUD.apply(this,arguments);}var getGlobalData=function getGlobalData(mode){var user=getSteedosAuth();return{mode:mode,user:user,spaceId:user.spaceId,userId:user.userId};};var getFormFields$1=function getFormFields$1(objectSchema,formProps){/**
|
|
508
508
|
* fieldsExtend: 重写字段定义
|
|
509
509
|
* fields: 包含的字段
|
|
510
510
|
* excludedFields: 排除的字段
|
|
@@ -848,22 +848,42 @@ sectionFieldsVisibleOn=___namespace.map(___namespace.compact(___namespace.map(fi
|
|
|
848
848
|
* @Author: 殷亮辉 yinlianghui@hotoa.com
|
|
849
849
|
* @Date: 2023-11-15 09:50:22
|
|
850
850
|
* @LastEditors: 殷亮辉 yinlianghui@hotoa.com
|
|
851
|
-
* @LastEditTime: 2023-12-
|
|
851
|
+
* @LastEditTime: 2023-12-12 17:13:37
|
|
852
852
|
*/ /**
|
|
853
853
|
* @param {*} props
|
|
854
854
|
* @param {*} mode edit/new/readonly
|
|
855
|
-
*/function _getFormBody(){_getFormBody=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee116(permissionFields,formFields,ctx){return _regeneratorRuntime().wrap(function _callee116$(_context116){while(1){switch(_context116.prev=_context116.next){case 0:_context116.next=2;return getSections(permissionFields,formFields,ctx);case 2:return _context116.abrupt("return",_context116.sent);case 3:case"end":return _context116.stop();}}},_callee116);}));return _getFormBody.apply(this,arguments);}function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";return(props.fields||[]).map(function(item){var formItem={"type":"steedos-field","name":item.name,"config":item};if(mode==="readonly"){formItem["static"]=true;}return formItem;})||[];}/**
|
|
855
|
+
*/function _getFormBody(){_getFormBody=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee116(permissionFields,formFields,ctx){return _regeneratorRuntime().wrap(function _callee116$(_context116){while(1){switch(_context116.prev=_context116.next){case 0:_context116.next=2;return getSections(permissionFields,formFields,ctx);case 2:return _context116.abrupt("return",_context116.sent);case 3:case"end":return _context116.stop();}}},_callee116);}));return _getFormBody.apply(this,arguments);}function getFormFields(props){var mode=arguments.length>1&&arguments[1]!==undefined?arguments[1]:"edit";return(props.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","config":field,hideLabel:true}};}else{return{"type":"steedos-field","config":field,"static":true,"readonly":true,label:field.label,name:field.name,hideLabel:true};}}/**
|
|
856
856
|
* @param {*} props
|
|
857
857
|
* @param {*} mode edit/new/readonly
|
|
858
|
-
*/function getInputTableColumns(_x215){return _getInputTableColumns.apply(this,arguments);}
|
|
859
|
-
|
|
860
|
-
* @param {*} mode edit/new/readonly
|
|
861
|
-
*/function _getInputTableColumns(){_getInputTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee117(props){var columns,fields;return _regeneratorRuntime().wrap(function _callee117$(_context117){while(1){switch(_context117.prev=_context117.next){case 0:columns=props.columns||[];// 实测过,直接不生成对应的隐藏column并不会对input-table值造成丢失问题,隐藏的列字段值能正常维护
|
|
862
|
-
fields=props.fields;if(!(columns&&columns.length)){_context117.next=6;break;}return _context117.abrupt("return",columns.map(function(column){var field,extendColumnProps={};if(typeof column==="string"){// 如果字符串,则取出要显示的列配置
|
|
858
|
+
*/function getInputTableColumns(_x215){return _getInputTableColumns.apply(this,arguments);}function _getInputTableColumns(){_getInputTableColumns=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee117(props){var columns,inlineEditMode,showAsInlineEditMode,fields;return _regeneratorRuntime().wrap(function _callee117$(_context117){while(1){switch(_context117.prev=_context117.next){case 0:columns=props.columns||[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;// 实测过,直接不生成对应的隐藏column并不会对input-table值造成丢失问题,隐藏的列字段值能正常维护
|
|
859
|
+
fields=props.fields;if(!(columns&&columns.length)){_context117.next=8;break;}return _context117.abrupt("return",columns.map(function(column){var field,extendColumnProps={};if(typeof column==="string"){// 如果字符串,则取出要显示的列配置
|
|
863
860
|
field=fields.find(function(fieldItem){return fieldItem.name===column;});}else{// 如果是对象,则合并到steedos-field的config.amis属性中,steedos组件会把config.amis属性混合到最终生成的input-table column
|
|
864
861
|
field=fields.find(function(fieldItem){return fieldItem.name===column.name;});if(field){// field.amis = Object.assign({}, field.amis, column);
|
|
865
862
|
// 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并
|
|
866
|
-
extendColumnProps=column;}}if(field){
|
|
863
|
+
extendColumnProps=column;}}if(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return Object.assign({},tableCell,extendColumnProps);}else{return column;}}));case 8:return _context117.abrupt("return",fields.map(function(field){var tableCell=getInputTableCell(field,showAsInlineEditMode);return tableCell;})||[]);case 9:case"end":return _context117.stop();}}},_callee117);}));return _getInputTableColumns.apply(this,arguments);}function getFormPagination(props){var onPageChangeScript="\n let scope = event.context.scoped;\n let paginationServiceId = event.data.paginationServiceId;\n let wrapperServiceId = event.data.wrapperServiceId;\n let formId = event.data.formId;\n let fieldValue = event.data.changedItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n let pageChangeDirection = context.props.pageChangeDirection;\n let currentPage = event.data.page;\n let currentIndex = event.data.index;\n\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\u91CFchangedItems\u4E2D\n let currentFormValues = scope.getComponentById(formId).getValues();\n fieldValue[currentIndex] = currentFormValues;\n // // \u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\u4E2D\u7684\u6570\u636E\uFF0C\u6240\u4EE5\u4E0D\u9700\u8981\u50CF\u4E0B\u9762\u8FD9\u6837doAction setValue\u53D8\u66F4\u4E2D\u95F4\u53D8\u91CFchangedItems\u503C\n // doAction({\n // \"componentId\": wrapperServiceId,\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": {\n // \"changedItems\": fieldValue\n // }\n // }\n // });\n // \u5982\u679C\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\u9700\u8981\u989D\u5916\u7ED9\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u6267\u884C\u4E00\u6B21setValue\n // \u4F46\u662F\u540C\u65F6\u4FDD\u5B58\u5230\u6B63\u5F0F\u8868\u5355\u5B57\u6BB5\u4E2D\u4F1A\u9020\u6210\u7FFB\u9875\u540E\u70B9\u51FB\u53D6\u6D88\u65E0\u6CD5\u53D6\u6D88\u7FFB\u9875\u4E4B\u524D\u7684\u6539\u52A8\u5185\u5BB9\n // doAction({\n // \"componentId\": \"".concat(props.id,"\",\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": fieldValue\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 = changedItems[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","className":"py-2","body":[{"type":"button","label":"","icon":"fa fa-angle-left","level":"link","pageChangeDirection":"prev","disabledOn":"${page <= 1}","size":"sm","onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}},{"type":"tpl","tpl":"${page}/${total}"},{"type":"button","label":"","icon":"fa fa-angle-right","level":"link","pageChangeDirection":"next","disabledOn":"${page >= total}","size":"sm","onEvent":{"click":{"actions":[{"actionType":"custom","script":onPageChangeScript}]}}}]};}/**
|
|
864
|
+
* 传入formSchema输出带翻页容器的wrapper
|
|
865
|
+
* @param {*} props input-table组件props
|
|
866
|
+
* @param {*} form formSchema
|
|
867
|
+
* @returns 带翻页容器的wrapper
|
|
868
|
+
*/function getFormPaginationWrapper(props,form){var serviceId="service_popup_pagination_wrapper__".concat(props.id);var formBody=[{"type":"wrapper","size":"none","className":"flex justify-end border-y border-gray-200 -mx-6 shadow-inner sticky top-0 right-0 left-0 z-20 bg-white mb-4","body":[getFormPagination(props)]},// form
|
|
869
|
+
Object.assign({},form,{"canAccessSuperData":false,"data":{// "&": `\${${props.name}[index]}`,
|
|
870
|
+
"&":"${changedItems[index]}"}})];var onServiceInitedScript="\n // \u4EE5\u4E0B\u811A\u672C\u5728inlineEditMode\u6A21\u5F0F\u65F6\u624D\u6709\u5FC5\u8981\u6267\u884C\uFF08\u4E0D\u8FC7\u6267\u884C\u4E86\u4E5F\u6CA1\u6709\u574F\u5904\uFF0C\u7EAF\u7CB9\u662F\u6CA1\u5FC5\u8981\uFF09\uFF0C\u662F\u4E3A\u4E86\u89E3\u51B3\uFF1A\n // inlineEditMode\u6A21\u5F0F\u65F6\uFF0C\u7528\u6237\u5728\u8868\u683C\u5355\u5143\u683C\u4E2D\u76F4\u63A5\u4FEE\u6539\u6570\u636E\uFF0C\u7136\u540E\u5F39\u51FA\u7684\u8868\u5355form\u4E2D\u5E76\u6CA1\u6709\u5305\u542B\u5355\u5143\u683C\u4E2D\u4FEE\u6539\u7684\u5185\u5BB9\n // \u601D\u8DEF\u662F\u6BCF\u6B21\u5F39\u51FAform\u4E4B\u524D\u5148\u628A\u5176changedItems\u540C\u6B65\u66F4\u65B0\u4E3A\u6700\u65B0\u503C\uFF0C\u8FD9\u6837\u5C31\u80FD\u5728\u5F39\u51FAform\u4E2D\u5305\u542B\u5355\u5143\u683C\u4E2D\u505A\u7684\u4FEE\u6539\n // \u6CE8\u610F\uFF1Aservice init\u4E8B\u4EF6\u53EA\u4F1A\u5728\u6BCF\u6B21\u5F39\u51FA\u7A97\u53E3\u65F6\u624D\u6267\u884C\uFF0C\u5728\u89E6\u53D1\u7FFB\u9875\u65F6\u5E76\u4E0D\u4F1A\u89E6\u53D1service init\u4E8B\u4EF6\n let inlineEditMode = ".concat(props.inlineEditMode,";\n if(!inlineEditMode){\n return;\n }\n let scope = event.context.scoped;\n let wrapperServiceId = event.data.wrapperServiceId;\n let wrapperService = scope.getComponentById(wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n let lastestFieldValue = wrapperServiceData[\"").concat(props.name,"\"];//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n //\u4E0D\u53EF\u4EE5\u76F4\u63A5\u50CFevent.data.changedItems = originalFieldValue; \u8FD9\u6837\u6574\u4E2A\u8D4B\u503C\uFF0C\u5426\u5219\u4F5C\u7528\u57DF\u4F1A\u65AD\n event.data.changedItems.forEach(function(n,i){\n event.data.changedItems[i] = lastestFieldValue[i];\n });\n ");var schema={"type":"service","id":serviceId,"schemaApi":{"url":"${context.rootUrl}/graphql?rebuildOn=${index}",// "url": "${context.rootUrl}/graphql",
|
|
871
|
+
"method":"post","headers":{"Authorization":"Bearer ${context.tenantId},${context.authToken}"},"requestAdaptor":"api.data={query: '{spaces__findOne(id: \"none\"){_id,name}}'};return api;","adaptor":"\n const formBody = ".concat(JSON.stringify(formBody),";\n return {\n \"body\": formBody\n }\n ")},// "body": formBody,
|
|
872
|
+
"data":{"page":"${index + 1}",// "total": `\${${props.name}.length}`,
|
|
873
|
+
"total":"${changedItems.length}","paginationServiceId":serviceId,"formId":form.id},"onEvent":{"init":{"actions":[{"actionType":"custom","script":onServiceInitedScript}]}}};return schema;}/**
|
|
874
|
+
* @param {*} props
|
|
875
|
+
* @param {*} mode edit/new/readonly
|
|
876
|
+
*/function getForm(_x216){return _getForm.apply(this,arguments);}function _getForm(){_getForm=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee118(props){var mode,formFields,body,forId,schema,onEditItemSubmitScript,onNewItemSubmitScript,_args118=arguments;return _regeneratorRuntime().wrap(function _callee118$(_context118){while(1){switch(_context118.prev=_context118.next){case 0:mode=_args118.length>1&&_args118[1]!==undefined?_args118[1]:"edit";formFields=getFormFields(props,mode);_context118.next=4;return getFormBody(null,formFields);case 4:body=_context118.sent;forId="form_popup__".concat(props.id);schema={"type":"form","id":forId,"title":"表单","debug":false,"mode":"normal","body":body,"wrapWithPanel":false,"className":"steedos-object-form steedos-amis-form"};if(mode==="edit"){onEditItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data[\"".concat(props.name,"\"]);\n let fieldValue = event.data.changedItems;//\u8FD9\u91CC\u4E0D\u53EF\u4EE5_.cloneDeep\uFF0C\u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\uFF0C\u76F4\u63A5\u53D8\u66F4\u5176\u503C\u5373\u53EF\u6539\u53D8\u8868\u5355\u4E2D\u7684\u503C\n fieldValue[event.data.index] = JSON.parse(JSON.stringify(event.data));\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n // // \u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\u4E2D\u7684\u6570\u636E\uFF0C\u6240\u4EE5\u4E0D\u9700\u8981\u50CF\u4E0B\u9762\u8FD9\u6837doAction setValue\u53D8\u66F4\u4E2D\u95F4\u53D8\u91CFchangedItems\u503C\n // doAction({\n // \"componentId\": event.data.wrapperServiceId,\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": {\n // \"changedItems\": fieldValue\n // }\n // }\n // });\n ");Object.assign(schema,{"onEvent":{"submit":{"weight":0,"actions":[// {
|
|
877
|
+
// "actionType": "setValue",
|
|
878
|
+
// "args": {
|
|
879
|
+
// "index": "${index}",
|
|
880
|
+
// "value": {
|
|
881
|
+
// "&": "$$"
|
|
882
|
+
// }
|
|
883
|
+
// },
|
|
884
|
+
// "componentId": props.id
|
|
885
|
+
// }
|
|
886
|
+
{"actionType":"custom","script":onEditItemSubmitScript}]}}});}else if(mode==="new"){onNewItemSubmitScript="\n // let fieldValue = _.cloneDeep(event.data[\"".concat(props.name,"\"]);\n if(!event.data.changedItems){\n event.data.changedItems = [];\n }\n let fieldValue = event.data.changedItems;\n fieldValue.push(JSON.parse(JSON.stringify(event.data)));\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n // // \u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\u4E2D\u7684\u6570\u636E\uFF0C\u6240\u4EE5\u4E0D\u9700\u8981\u50CF\u4E0B\u9762\u8FD9\u6837doAction setValue\u53D8\u66F4\u4E2D\u95F4\u53D8\u91CFchangedItems\u503C\n // doAction({\n // \"componentId\": event.data.wrapperServiceId,\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": {\n // \"changedItems\": fieldValue\n // }\n // }\n // });\n ");Object.assign(schema,{"onEvent":{"submit":{"weight":0,"actions":[{"actionType":"custom","script":onNewItemSubmitScript}// {
|
|
867
887
|
// "componentId": props.id,
|
|
868
888
|
// "actionType": "addItem",//input-table组件的needConfirm属性为true时,addItem动作会把新加的行显示为编辑状态,所以只能使用上面的custom script来setValue实现添加行
|
|
869
889
|
// "args": {
|
|
@@ -873,9 +893,24 @@ extendColumnProps=column;}}if(field){return _objectSpread({"type":"steedos-field
|
|
|
873
893
|
// }
|
|
874
894
|
// }
|
|
875
895
|
// }
|
|
876
|
-
]}}});}return _context118.abrupt("return",schema);case
|
|
877
|
-
|
|
878
|
-
|
|
896
|
+
]}}});}if(mode==="edit"||mode==="readonly"){schema=getFormPaginationWrapper(props,schema);}return _context118.abrupt("return",schema);case 10:case"end":return _context118.stop();}}},_callee118);}));return _getForm.apply(this,arguments);}function getButtonNew(_x217){return _getButtonNew.apply(this,arguments);}function _getButtonNew(){_getButtonNew=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee119(props){return _regeneratorRuntime().wrap(function _callee119$(_context119){while(1){switch(_context119.prev=_context119.next){case 0:_context119.next=2;return getForm(props,"new");case 2:_context119.t0=_context119.sent;_context119.t1=[_context119.t0];_context119.t2={"type":"dialog","title":"新增行","body":_context119.t1,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false};_context119.t3={"actionType":"dialog","dialog":_context119.t2};_context119.t4=[_context119.t3];_context119.t5={"actions":_context119.t4};_context119.t6={"click":_context119.t5};return _context119.abrupt("return",{"label":"新增","type":"button","icon":"fa fa-plus","onEvent":_context119.t6,"level":"primary"});case 10:case"end":return _context119.stop();}}},_callee119);}));return _getButtonNew.apply(this,arguments);}function getButtonEdit(_x218,_x219){return _getButtonEdit.apply(this,arguments);}function _getButtonEdit(){_getButtonEdit=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee120(props,showAsInlineEditMode){var onCancelScript;return _regeneratorRuntime().wrap(function _callee120$(_context120){while(1){switch(_context120.prev=_context120.next){case 0:onCancelScript="\n let scope = event.context.scoped;\n let wrapperServiceId = event.data.wrapperServiceId;\n let wrapperService = scope.getComponentById(wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n let originalFieldValue = wrapperServiceData[\"".concat(props.name,"\"];//\u8FD9\u91CC\u4E0D\u53EF\u4EE5\u7528event.data[\"").concat(props.name,"\"]\u56E0\u4E3Aamis input talbe\u6709\u4E00\u5C42\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u5176\u503C\u4F1A\u5EF6\u8FDF\u4E00\u62CD\n //\u4E0D\u53EF\u4EE5\u76F4\u63A5\u50CFevent.data.changedItems = originalFieldValue; \u8FD9\u6837\u6574\u4E2A\u8D4B\u503C\uFF0C\u5426\u5219\u4F5C\u7528\u57DF\u4F1A\u65AD\uFF0C\u9020\u6210\u65E0\u6CD5\u8FD8\u539F\n event.data.changedItems.forEach(function(n,i){\n event.data.changedItems[i] = originalFieldValue[i];\n });\n // \u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\u4E2D\u7684\u6570\u636E\uFF0C\u6240\u4EE5\u50CF\u4E0B\u9762\u8FD9\u6837doAction setValue\u65E0\u6CD5\u5B9E\u73B0\u8FD8\u539F\n // doAction({\n // \"componentId\": wrapperServiceId,\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": {\n // \"changedItems\": originalFieldValue\n // }\n // }\n // });\n ");_context120.t0="fa fa-".concat(showAsInlineEditMode?"expand":"pencil");_context120.next=4;return getForm(props,"edit");case 4:_context120.t1=_context120.sent;_context120.t2=[_context120.t1];_context120.t3={// 这里必须加data数据映射,否则翻页功能中取changedItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
|
|
897
|
+
// 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
|
|
898
|
+
// 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射
|
|
899
|
+
"&":"${record || {}}","global":"${global}","uiSchema":"${uiSchema}","grid":"${grid}","index":"${index}","changedItems":"${changedItems}","wrapperServiceId":"${wrapperServiceId}"};_context120.t4={"cancel":{"actions":[{"actionType":"custom","script":onCancelScript}]}};_context120.t5={"type":"dialog","title":"编辑行","body":_context120.t2,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"data":_context120.t3,"onEvent":_context120.t4};_context120.t6={"actionType":"dialog","dialog":_context120.t5};_context120.t7=[_context120.t6];_context120.t8={"actions":_context120.t7};_context120.t9={"click":_context120.t8};return _context120.abrupt("return",{"type":"button","label":"","icon":_context120.t0,"level":"link","onEvent":_context120.t9});case 14:case"end":return _context120.stop();}}},_callee120);}));return _getButtonEdit.apply(this,arguments);}function getButtonView(_x220){return _getButtonView.apply(this,arguments);}function _getButtonView(){_getButtonView=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee121(props){return _regeneratorRuntime().wrap(function _callee121$(_context121){while(1){switch(_context121.prev=_context121.next){case 0:_context121.next=2;return getForm(props,"readonly");case 2:_context121.t0=_context121.sent;_context121.t1=[_context121.t0];_context121.t2=[];_context121.t3={// 这里必须加data数据映射,否则翻页功能中取changedItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去
|
|
900
|
+
// 额外把华炎魔方主表记录ObjectForm中的字段值从formData变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段
|
|
901
|
+
// global、uiSchema等常用变量本来就在formData变量已经存在了,无需另外映射
|
|
902
|
+
"&":"${formData || {}}","grid":"${grid}","index":"${index}","changedItems":"${changedItems}","wrapperServiceId":"${wrapperServiceId}"};_context121.t4={"type":"dialog","title":"查看行","body":_context121.t1,"size":"lg","showCloseButton":true,"showErrorMsg":true,"showLoading":true,"className":"app-popover","closeOnEsc":false,"actions":_context121.t2,"data":_context121.t3};_context121.t5={"actionType":"dialog","dialog":_context121.t4};_context121.t6=[_context121.t5];_context121.t7={"actions":_context121.t6};_context121.t8={"click":_context121.t7};return _context121.abrupt("return",{"type":"button","label":"","icon":"fa fa-expand","level":"link","onEvent":_context121.t8});case 12:case"end":return _context121.stop();}}},_callee121);}));return _getButtonView.apply(this,arguments);}function getButtonDelete(props){var onDeleteItemScript="\n // let fieldValue = _.cloneDeep(event.data[\"".concat(props.name,"\"]);\n if(!event.data.changedItems){\n event.data.changedItems = [];\n }\n let fieldValue = event.data.changedItems;\n // fieldValue.push(JSON.parse(JSON.stringify(event.data)));\n fieldValue.splice(event.data.index, 1)\n doAction({\n \"componentId\": \"").concat(props.id,"\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n // // \u56E0\u4E3A\u7FFB\u9875form\u4E2D\u7528\u7684\u662Fevent.data.changedItems\u4E2D\u7684\u6570\u636E\uFF0C\u6240\u4EE5\u4E0D\u9700\u8981\u50CF\u4E0B\u9762\u8FD9\u6837doAction setValue\u53D8\u66F4\u4E2D\u95F4\u53D8\u91CFchangedItems\u503C\n // doAction({\n // \"componentId\": event.data.wrapperServiceId,\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": {\n // \"changedItems\": fieldValue\n // }\n // }\n // });\n ");return{"type":"button","label":"","icon":"fa fa-minus","level":"link","onEvent":{"click":{"actions":[// {
|
|
903
|
+
// "actionType": "deleteItem",
|
|
904
|
+
// "args": {
|
|
905
|
+
// "index": "${index+','}" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行
|
|
906
|
+
// },
|
|
907
|
+
// "componentId": props.id
|
|
908
|
+
// },
|
|
909
|
+
{"actionType":"custom","script":onDeleteItemScript}]}}};}var getAmisInputTableSchema=/*#__PURE__*/function(){var _ref20=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee19(props){var serviceId,buttonsForColumnOperations,inlineEditMode,showAsInlineEditMode,showEditButton,buttonEditSchema,buttonViewSchema,buttonDeleteSchema,inputTableSchema,dataProviderInited,schema,footerToolbar,buttonNewSchema;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);}serviceId="service_wrapper__".concat(props.id);buttonsForColumnOperations=[];inlineEditMode=props.inlineEditMode;showAsInlineEditMode=inlineEditMode&&props.editable;if(!props.editable){_context19.next=15;break;}showEditButton=true;if(showAsInlineEditMode){// inline edit模式下只在有列被隐藏时才需要显示编辑按钮
|
|
910
|
+
if(props.columns&&props.columns.length>0&&props.columns.length<props.fields.length){showEditButton=true;}else{showEditButton=false;}}// 编辑时显示编辑按钮
|
|
911
|
+
if(!showEditButton){_context19.next=13;break;}_context19.next=11;return getButtonEdit(props,showAsInlineEditMode);case 11:buttonEditSchema=_context19.sent;buttonsForColumnOperations.push(buttonEditSchema);case 13:_context19.next=20;break;case 15:if(!(props.columns&&props.columns.length>0&&props.columns.length<props.fields.length)){_context19.next=20;break;}_context19.next=18;return getButtonView(props);case 18:buttonViewSchema=_context19.sent;buttonsForColumnOperations.push(buttonViewSchema);case 20:if(props.removable){buttonDeleteSchema=getButtonDelete(props);buttonsForColumnOperations.push(buttonDeleteSchema);}_context19.t0=props.label;_context19.t1=props.name;_context19.t2=props.draggable;_context19.t3=props.showIndex;_context19.t4=props.perPage;_context19.t5=props.id;_context19.next=29;return getInputTableColumns(props);case 29:_context19.t6=_context19.sent;_context19.t7=props.tableClassName;inputTableSchema={"type":"input-table","label":_context19.t0,"name":_context19.t1,"draggable":_context19.t2,"showIndex":_context19.t3,"perPage":_context19.t4,"id":_context19.t5,"columns":_context19.t6,"strictMode":true,"showTableAddBtn":false,"showFooterAddBtn":false,"className":_context19.t7};if(buttonsForColumnOperations.length){inputTableSchema.columns.push({"name":"__op__","type":"operation","buttons":buttonsForColumnOperations,"width":buttonsForColumnOperations.length>1?"46px":"20px"});}if(showAsInlineEditMode){inputTableSchema.needConfirm=false;}dataProviderInited="\n // \u5355\u72EC\u7EF4\u62A4\u4E00\u4EFD\u4E2D\u95F4\u53D8\u91CFchangedItems\uFF0C\u56E0\u4E3A\u539F\u53D8\u91CF\u5728input-table\u7EC4\u4EF6\u6709\u5355\u72EC\u7684\u4F5C\u7528\u57DF\uFF0C\u7FFB\u9875\u529F\u80FD\u4E2D\u65E0\u6CD5\u7EF4\u62A4\u6B64\u4F5C\u7528\u57DF\u4E2D\u7684\u884C\u8BB0\u5F55\u503C\n setData({ changedItems: _.cloneDeep(data[\"".concat(props.name,"\"]) || []});\n ");schema={"type":"service","body":[inputTableSchema],"className":props.className,"id":serviceId,"data":{"wrapperServiceId":serviceId},"dataProvider":{"inited":dataProviderInited}};footerToolbar=_$1.clone(props.footerToolbar||[]);//这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染
|
|
912
|
+
if(!props.addable){_context19.next=42;break;}_context19.next=40;return getButtonNew(props);case 40:buttonNewSchema=_context19.sent;footerToolbar.unshift(buttonNewSchema);case 42:if(footerToolbar.length){schema.body.push({"type":"wrapper","size":"none","body":footerToolbar});}if(props.amis){delete props.amis.id;Object.assign(schema.body[0],props.amis);}// console.log("===schema===", schema);
|
|
913
|
+
return _context19.abrupt("return",schema);case 45:case"end":return _context19.stop();}}},_callee19);}));return function getAmisInputTableSchema(_x221){return _ref20.apply(this,arguments);};}();// import { getListSchema } from './objects';
|
|
879
914
|
function getScopeId(objectApiName,type){return"page_".concat(objectApiName,"_").concat(type);}// 获取表单初始化amisSchema
|
|
880
915
|
function getFormPageInitSchema(_x222){return _getFormPageInitSchema.apply(this,arguments);}// 获取列表页面初始化amisSchema
|
|
881
916
|
function _getFormPageInitSchema(){_getFormPageInitSchema=_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee122(objectApiName){var schema;return _regeneratorRuntime().wrap(function _callee122$(_context122){while(1){switch(_context122.prev=_context122.next){case 0:_context122.next=2;return getFormSchema(objectApiName,{recordId:'${recordId}'});case 2:schema=_context122.sent;return _context122.abrupt("return",{type:'page',name:getScopeId(objectApiName,"form"),bodyClassName:'',regions:["body"],body:[schema.amisSchema]});case 4:case"end":return _context122.stop();}}},_callee122);}));return _getFormPageInitSchema.apply(this,arguments);}function getListPageInitSchema(_x223,_x224,_x225){return _getListPageInitSchema.apply(this,arguments);}// 获取
|