@steedos-widgets/amis-lib 3.6.2-beta.14 → 3.6.2-beta.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +138 -27
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +138 -27
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +34 -14
- 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
|
@@ -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);}// 获取
|