@steedos-widgets/amis-lib 1.0.15 → 1.0.17
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 +102 -49
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +102 -49
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +126 -73
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/index.d.ts +1 -1
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +23 -0
- package/dist/types/lib/converter/amis/fields/table.d.ts +23 -0
- package/dist/types/lib/converter/amis/fields_filter.d.ts +3 -35
- package/dist/types/lib/converter/amis/header.d.ts +3 -32
- package/dist/types/lib/converter/amis/toolbar.d.ts +3 -27
- package/dist/types/lib/converter/amis/tpl.d.ts +2 -0
- package/dist/types/lib/objects.d.ts +13 -9
- package/dist/types/lib/objectsRelated.d.ts +1 -0
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -98,7 +98,7 @@
|
|
|
98
98
|
recordPermissions: _permissions{
|
|
99
99
|
${a.fields.join(",")}
|
|
100
100
|
}
|
|
101
|
-
`),{query:`{${r}:${e.name}${i}{${e.idFieldName},${s}}}`}}function getApi$2(e){if(!e)return"${context.rootUrl}/graphql"}const Router={getAppPath({appId:e}){return"/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:a}){return`/app/${e}/${t}/grid/`+a},getObjectDetailPath(e){var{appId:e,objectName:t,recordId:a}=e;return"instances"===t?"/workflow/space/${context.tenantId}/${listName}/"+a:`/app/${e}/${t}/view/`+a},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:a,objectName:i,foreignKey:r}){return`/app/${e}/${t}/${a}/${i}/grid?related_field_name=`+r}};function getCreatedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${created_by._id}"})}'>\${_display.created_by.label}</a>\${_display.created}</div>`}function getModifiedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${modified_by._id}"})}'>\${_display.modified_by.label}</a>\${_display.modified}</div>`}function getNumberTpl(e){return`<div>\${_display.${e.name}}</div>`}function getTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFieldTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFileSizeTpl(e){return`<div>\${_display.${e.name}}</div>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<div>\${_display.${e.name}}</div>`}function
|
|
101
|
+
`),{query:`{${r}:${e.name}${i}{${e.idFieldName},${s}}}`}}function getApi$2(e){if(!e)return"${context.rootUrl}/graphql"}const Router={getAppPath({appId:e}){return"/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:a}){return`/app/${e}/${t}/grid/`+a},getObjectDetailPath(e){var{appId:e,objectName:t,recordId:a}=e;return"instances"===t?"/workflow/space/${context.tenantId}/${listName}/"+a:`/app/${e}/${t}/view/`+a},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:a,objectName:i,foreignKey:r}){return`/app/${e}/${t}/${a}/${i}/grid?related_field_name=`+r}};function getCreatedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${created_by._id}"})}'>\${_display.created_by.label}</a>\${_display.created}</div>`}function getModifiedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${modified_by._id}"})}'>\${_display.modified_by.label}</a>\${_display.modified}</div>`}function getNumberTpl(e){return`<div>\${_display.${e.name}}</div>`}function getTextTpl(e){return`<div>\${${e.name}}</div>`}function getTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFieldTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFileSizeTpl(e){return`<div>\${_display.${e.name}}</div>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<div>\${_display.${e.name}}</div>`}function getNameTplUrl(e,t){return"cms_files"===t.objectName?"${context.rootUrl}/api/files/files/${versions[0]}?download=true":Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:"${appId}",objectName:t.objectName||"${objectName}",recordId:`\${${t.idFieldName}}`})}function getNameTpl(e,t){return`<a href="${getNameTplUrl(e,t)}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){let a="";var i;return a=_.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
|
|
102
102
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
103
103
|
`):`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:`\${_display.${e.name}.objectName}`,recordId:`\${_display.${e.name}.value}`})}">\${_display.${e.name}.label}</a>`:(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
|
|
104
104
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
@@ -110,7 +110,7 @@
|
|
|
110
110
|
</span>
|
|
111
111
|
<% } %>`}function getPasswordTpl(e){return`<% if (data.${e.name}) { %>
|
|
112
112
|
<span>······</span>
|
|
113
|
-
<% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e);case"formula":case"summary":return getUiFieldTpl(e);case"filesize":return getUiFileSizeTpl(e)}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=___namespace.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return ___namespace.each(t,function(e){var t;___namespace.includes(OMIT_FIELDS,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction?a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`:e._optionsFunction&&(a+=`var ${e.name}Options = eval(${e._optionsFunction})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`)}),`
|
|
113
|
+
<% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"text":return getTextTpl(e);case"password":return getPasswordTpl(e);case"boolean":case"toggle":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e);case"formula":case"summary":return getUiFieldTpl(e);case"filesize":return getUiFileSizeTpl(e)}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=___namespace.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return ___namespace.each(t,function(e){var t;___namespace.includes(OMIT_FIELDS,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction?a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`:e._optionsFunction&&(a+=`var ${e.name}Options = eval(${e._optionsFunction})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`)}),`
|
|
114
114
|
if(payload.data.data){
|
|
115
115
|
var data = payload.data.data[0];
|
|
116
116
|
try{
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
|
|
208
208
|
return api;
|
|
209
209
|
`,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,___namespace.forEach(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t)}),___namespace.forEach(___namespace.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var t=e.name,a=/\w+\.\w+/.test(t);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),a||e.hidden||i.push(Object.assign({name:t},e,{permission:{allowEdit:!0}}))}),i},getSection=async(t,e,a,i)=>{e=___namespace.filter(e,{group:a});if(e.length!=___namespace.filter(e,["hidden",!0]).length){var r,s=[];for(const l of e){let e=l;"grid"===l.type?e=await getGridFieldSubFields(l,t):"object"===l.type&&(e=await getObjectFieldSubFields(l,t)),e.name.indexOf(".")<0&&((r=await convertSFieldToAmisField(e,e.readonly,i))&&s.push(r))}e=___namespace.map(___namespace.compact(___namespace.map(s,"visibleOn")),e=>`(${e.substring(2,e.length-1)})`),a={type:"fieldSet",title:a,collapsable:!0,body:s};return 0<e.length&&s.length===e.length&&(a.visibleOn=`\${${e.join(" || ")}}`),a}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const l in ___namespace.groupBy(i,"group")){var s=await getSection(e,i,l,a);0<s.body.length&&r.push(s)}return r};async function getFormBody(e,t,a){return getSections(e,t,a)}async function getListBody(e,t){var a=[];for(const r of e){var i=await getFieldTpl(r,t);let e=i?"tpl":"text";r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled})}return{type:"hbox",columns:a}}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||10}}async function getListSchema$1(e,t){e=(await getListBody(e,t)).columns;return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...e],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]}}}async function getCardSchema(e,t){let a=null;var i=_.find(e,e=>e.name===t.labelFieldName),i=(i&&(a=await getFieldTpl(i,t)),await getListBody(_.filter(e,e=>e.name!=t.labelFieldName),t));return{mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...i.columns]}}}const defaultsDeep=(...e)=>{let t={};return _$1.toArray(e).reverse().forEach(e=>{_$1.mergeWith(t,e,(e,t)=>_$1.isArray(t)?t:void 0)}),t},globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return"#"!==t&&t?"string"==typeof t?_$1.get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return"string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var s,l;if(void 0===e&&(e={}),l=getParentPath(a),l=getValueByPath(e,l)||{},"string"!=typeof t)return t;s=t.substring(2,t.length-2),r=`
|
|
210
|
-
var $user=${JSON.stringify(r)}; return `+s.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(l));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:s="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+s);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"
|
|
210
|
+
var $user=${JSON.stringify(r)}; return `+s.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(l));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:s="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+s);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"normal"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$","&":"${defaultData}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}"},title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}},getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"",id:"u:3c5cbc0429bb"}},getSchema$2=e=>({type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
211
211
|
if(payload.errors){
|
|
212
212
|
payload.status = 2;
|
|
213
213
|
payload.msg = payload.errors[0].message;
|
|
@@ -224,7 +224,7 @@
|
|
|
224
224
|
return n.props.type === "service";
|
|
225
225
|
});
|
|
226
226
|
filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
227
|
-
`}]}}}]}function getObjectFooterToolbar(){return["statistics","pagination"]}async function getObjectFilter(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,a)]}}function getBulkActions(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:getBatchDelete(e.name)}]}function getToolbar(){return[]}async function getObjectList(e,t,a){var i=a["top"],r=e.paging&&!1===e.paging.enabled,s=getBulkActions(e),l={toolbar:getToolbar(),bodyClassName:"",headerToolbar:getObjectHeaderToolbar(e,a.formFactor),headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",className:""+(a.className||"")};"SMALL"!==a.formFactor&&Object.assign(l,{footerToolbar:getObjectFooterToolbar(),filter:!!a.filterVisible&&await getObjectFilter(e,t,a),bulkActions:0!=a.bulkActions&&s}),r?(a.top=1e3,l.footerToolbar=[]):i&&(l.footerToolbar=[]);let o=null;s="listview_"+e.name,a.formFactor,r=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a)),delete r.mode,o=Object.assign({},r,{type:"crud",primaryField:"_id",affixHeader:!1,id:s,name:s,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn,autoFillHeight:!0},l),i=a.defaults;if(i){r=i.listSchema||{},t=(o=defaultsDeep({},r,o),i.headerSchema),l=i.footerSchema;if(t||l){let e=[o];t&&(___default.default.isArray(t)?e=___default.default.union(t,e):e.unshift(t)),l&&(___default.default.isArray(l)?e=___default.default.union(e,l):e.push(l)),o=e}}return{type:"service",className:"",id:"service_"+s,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:o}}const getGlobalData=e=>{var t=getSteedosAuth();return{mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,
|
|
227
|
+
`}]}}}]}function getObjectFooterToolbar(){return["statistics","pagination"]}async function getObjectFilter(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,a)]}}function getBulkActions(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:getBatchDelete(e.name)}]}function getToolbar(){return[]}async function getObjectList(e,t,a){var i=a["top"],r=e.paging&&!1===e.paging.enabled,s=getBulkActions(e),l={toolbar:getToolbar(),bodyClassName:"",headerToolbar:getObjectHeaderToolbar(e,a.formFactor),headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",className:""+(a.className||"")};"SMALL"!==a.formFactor&&Object.assign(l,{footerToolbar:getObjectFooterToolbar(),filter:!!a.filterVisible&&await getObjectFilter(e,t,a),bulkActions:0!=a.bulkActions&&s}),r?(a.top=1e3,l.footerToolbar=[]):i&&(l.footerToolbar=[]);let o=null;s="listview_"+e.name,a.formFactor,r=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a)),delete r.mode,o=Object.assign({},r,{type:"crud",primaryField:"_id",affixHeader:!1,id:s,name:s,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn,autoFillHeight:!0},l),i=a.defaults;if(i){r=i.listSchema||{},t=(o=defaultsDeep({},r,o),i.headerSchema),l=i.footerSchema;if(t||l){let e=[o];t&&(___default.default.isArray(t)?e=___default.default.union(t,e):e.unshift(t)),l&&(___default.default.isArray(l)?e=___default.default.union(e,l):e.push(l)),o=e}}return{type:"service",className:"",id:"service_"+s,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:o}}const getGlobalData=e=>{var t=getSteedosAuth();return{mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,layout:i="normal",labelAlign:r,defaults:s}=t,l=___default.default.values(e.fields),s=s&&s.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,l),initApi:null,initFetch:null,body:[defaultsDeep({},s,{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,l),initFetch:"new"!=a,body:await getFormBody(l,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"steedos-record-related-list-"+e.name,actionType:"setValue",args:{value:{$count:void 0}}},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{actionType:"custom",script:`
|
|
228
228
|
const { recordId, listViewId } = context.props.data;
|
|
229
229
|
const data = event.data;
|
|
230
230
|
const appId = data.appId;
|
|
@@ -254,7 +254,7 @@
|
|
|
254
254
|
"actionType": "link"
|
|
255
255
|
});
|
|
256
256
|
}
|
|
257
|
-
`}]}}})]};return s.id&&(i.id="service-"+s.id),i}async function getObjectDetail(e,t,a){var{
|
|
257
|
+
`}]}}})]};return s.id&&(i.id="service-"+s.id),i}async function getObjectDetail(e,t,a){var{layout:i="normal",labelAlign:r,formInitProps:s}=a,l=___default.default.values(e.fields);return{type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,l,s),body:[{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(_$1.map(l,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white",actions:[],hiddenOn:"${recordLoaded != true}"}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}},{actionType:"setValue",args:{value:{recordLoaded:!0}}}]}}}}const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?___namespace.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":___namespace.includes(AmisFormInputs,e)?"input-"+e:e}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType$1(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
|
|
258
258
|
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
259
259
|
<% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
|
|
260
260
|
<% fileData.forEach(function(item) { %>
|
|
@@ -272,10 +272,10 @@
|
|
|
272
272
|
}
|
|
273
273
|
}
|
|
274
274
|
return payload;
|
|
275
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else{var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"min-w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null})}else a.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${r.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
275
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else{var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"min-w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null})}else a.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${r.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getMobileLinesByFieldTpls(e){var t=[];return t.push({type:"wrapper",body:[{type:"tpl",tpl:e[0].tpl,className:"truncate text-sm font-medium text-indigo-600"},{type:"tpl",tpl:e[1].tpl,className:"ml-2 flex flex-shrink-0"}],size:"none",className:"flex items-center justify-between"}),t.push({type:"wrapper",body:[{type:"tpl",tpl:e[2].tpl,className:"truncate text-sm font-medium text-indigo-600"},{type:"tpl",tpl:e[3].tpl,className:"ml-2 flex flex-shrink-0"}],size:"none",className:"flex items-center justify-between"}),t}async function getMobileTableColumns(e,t){var a=[];let i={};var r=[];for(const l of e){let e="";l.is_name||l.name===t.labelFieldName?(i=l,e=getTextTpl(l)):"avatar"!==l.type&&"image"!==l.type&&"file"!==l.type&&(e=await getFieldTpl(l,t)),l.hidden||l.extra||r.push({field:l,tpl:e})}var e=getNameTplUrl(i,t),s=getMobileLinesByFieldTpls(r);return a.push({name:i.name,label:i.label,sortable:i.sortable,type:"link",blank:!1,href:e,className:"block hover:bg-gray-50",body:{type:"wrapper",body:s,size:"none",className:"px-4 py-4 sm:px-6"}}),a}function getDefaultParams(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
276
276
|
payload.recordPermissions = payload;
|
|
277
277
|
return payload;
|
|
278
|
-
`}}]}}async function getTableSchema$1(e,t){
|
|
278
|
+
`}}]}}async function getTableSchema$1(e,t){let a=[];return"SMALL"===(t=t||{}).formFactor?a=await getMobileTableColumns(e,t):(a=await getTableColumns(e,t)).push(await getTableOperation(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 bg-gray-100 border-solid border-b",className:"",draggable:!1,defaultParams:getDefaultParams(t),columns:a,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:s,filtersFunction:l,sort:o,top:n,setDataToComponentId:d=""}=a,c=(s=(s=___namespace.isArray(s)?___namespace.map(s,function(e){return e.operation?[e.field,e.operation,e.value]:e}):s)||[],null);_$1.isEmpty(r)||_$1.isEmpty(s)?r?c=r:s&&(c=s):c=[r,"and",s],___namespace.each(t,function(e){e.searchable&&i.push(e.name)});const p={},m=[];t.forEach(e=>{___namespace.includes(["image","avatar","file"],e.type)&&(m.push(e.name),p[e.name]={name:e.name,type:e.type,multiple:e.multiple})});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.data.loaded="${loaded}",t.data.listViewId="${listViewId}",t.requestAdaptor=`
|
|
279
279
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
280
280
|
try{
|
|
281
281
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
@@ -299,7 +299,18 @@
|
|
|
299
299
|
catch(ex){
|
|
300
300
|
console.error("本地存储中crud参数解析异常:", ex);
|
|
301
301
|
}
|
|
302
|
-
${
|
|
302
|
+
${c?`var systemFilters = ${JSON.stringify(c)};`:"var systemFilters = [];"}
|
|
303
|
+
const filtersFunction = ${l};
|
|
304
|
+
if(filtersFunction){
|
|
305
|
+
const _filters = filtersFunction(systemFilters, selfData);
|
|
306
|
+
if(_filters && _filters.length > 0){
|
|
307
|
+
if(_.isEmpty(systemFilters)){
|
|
308
|
+
systemFilters = _filters || [];
|
|
309
|
+
}else{
|
|
310
|
+
systemFilters = [systemFilters, 'and', _filters];
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
303
314
|
let userFilters =[];
|
|
304
315
|
|
|
305
316
|
if(_.isEmpty(systemFilters)){
|
|
@@ -315,7 +326,7 @@
|
|
|
315
326
|
var orderBy = api.data.orderBy || '';
|
|
316
327
|
var orderDir = api.data.orderDir || '';
|
|
317
328
|
var sort = orderBy + ' ' + orderDir;
|
|
318
|
-
sort = orderBy ? sort : "${
|
|
329
|
+
sort = orderBy ? sort : "${o}";
|
|
319
330
|
var allowSearchFields = ${JSON.stringify(i)};
|
|
320
331
|
if(api.data.$term){
|
|
321
332
|
userFilters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
@@ -398,7 +409,7 @@
|
|
|
398
409
|
})
|
|
399
410
|
}
|
|
400
411
|
window.postMessage(Object.assign({type: "listview.loaded"}), "*");
|
|
401
|
-
let fileFields = ${JSON.stringify(
|
|
412
|
+
let fileFields = ${JSON.stringify(p)};
|
|
402
413
|
_.each(payload.data.rows, function(item, index){
|
|
403
414
|
_.each(fileFields , (field, key)=>{
|
|
404
415
|
if(item[key] && item._display && item._display [key]){
|
|
@@ -480,7 +491,7 @@
|
|
|
480
491
|
// 标记加载过,后续优先从本地存储中加载相关参数
|
|
481
492
|
payload.data.loaded= true;
|
|
482
493
|
|
|
483
|
-
const setDataToComponentId = "${
|
|
494
|
+
const setDataToComponentId = "${d}";
|
|
484
495
|
if(setDataToComponentId){
|
|
485
496
|
SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
|
|
486
497
|
}
|
|
@@ -708,41 +719,7 @@
|
|
|
708
719
|
`,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
|
|
709
720
|
payload.data.options = eval(${e._optionsFunction})(api.data);
|
|
710
721
|
return payload;
|
|
711
|
-
`);s={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,source:r,autoComplete:r,searchable:!0};let o=e.defaultValue;return!___namespace.has(e,"defaultValue")||___namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(___namespace.isString(o)&&o.startsWith("{{")&&(o="$"+o.substring(1,o.length-1)),s.value=o),e.multiple&&(s.multiple=!0,s.extractValue=!0),t&&(s.tpl=await getLookupTpl(e,a)),s}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:!e.reference_to||___namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup&&___namespace.isEmpty(e.depend_on)?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const getMarkdownFieldSchema=(e,t,a)=>t?{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:e.name,language:"markdown"},{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]},getHtmlFieldSchema=(e,t,a)=>t?{type:"html",name:e.name}:{type:"input-rich-text",name:e.name},OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getPermissionFields(e,t){const a=[],i=[];return ___namespace.each(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t),i.push(e)}),___namespace.each(___namespace.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return ___namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value})}}),a}async function convertSFieldToAmisField(a,i,r){if(!___namespace.includes(OMIT_FIELDS,a.name)||1==r.showSystemFields){var s,l={name:r.fieldNamePrefix?""+r.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(___namespace.has(r,"required")?r:a).required};let t={};switch(a.type){case"text":t.type=getAmisStaticFieldType("text",i);break;case"textarea":t.type=getAmisStaticFieldType("textarea",i),t.tpl=`<b><%=data.${a.name}%></b>`;break;case"html":t=getHtmlFieldSchema(a,i);break;case"markdown":t=getMarkdownFieldSchema(a,i);break;case"select":t={type:getAmisStaticFieldType("select",i),joinValues:!1,options:getSelectFieldOptions(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:i?getSelectTpl(a):null};let e=a.defaultValue;!___namespace.has(a,"defaultValue")||___namespace.isString(a.defaultValue)&&a.defaultValue.startsWith("{")||(___namespace.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),s=a.data_type||"text",null!=e&&("text"===s?t.value=String(e):"number"===s?t.value=Number(e):"boolean"===s&&(t.value="false"!==e))),a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:getAmisStaticFieldType("checkbox",i),tpl:i?getSwitchTpl(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null,joinValues:!1};break;case"date":t={type:getAmisStaticFieldType("date",i),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:getAmisStaticFieldType("datetime",i),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null,joinValues:!1};break;case"time":t={type:getAmisStaticFieldType("time",i),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null};break;case"currency":case"number":t=i?{type:"static-tpl",tpl:getNumberTpl(a)}:{type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,l);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:getAmisStaticFieldType("password",i),tpl:i?getPasswordTpl(a):null};break;case"lookup":case"master_detail":t=await lookupToAmis(a,i,r);break;case"autonumber":i&&(t={type:"static-text"});break;case"url":t={type:getAmisStaticFieldType("url",i)};break;case"email":t={type:getAmisStaticFieldType("email",i)};break;case"avatar":case"image":case"file":t=getAmisFileSchema(a,i);break;case"formula":case"summary":i&&(t.type=getAmisStaticFieldType(a.data_type,i));break;case"code":t={type:"editor",language:a.language,value:a.defaultValue||""};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:i};break;case"grid":t={type:"input-table",strictMode:!1,affixHeader:!1,editable:!i,addable:!i,removable:!i,draggable:!i,columns:[]};for(const d of a.subFields){var o=d.name.replace(a.name+".$.","").replace(a.name+".",""),n=await convertSFieldToAmisField(Object.assign({},d,{name:o}),i,r);n&&(delete n.name,delete n.label,t.columns.push({name:o,label:d.label,quickEdit:!i&&n}))}}return ___namespace.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",i&&(t.className=t.className+" md:border-b"),i&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},l,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},l,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,s=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=_$1.cloneDeep(r),t=(_$1.includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,s+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,s+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,s+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,s+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:s,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,s=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&s.push(r));_$1.map(s,"name"),a.enableSearchableFieldsVisibleOn&&s.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`});return{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",data:{"&":"${filterFormValues || {}}",...a.initData},body:s,onEvent:{broadcastSearchableFieldsChange:{actions:[{actionType:"custom",script:`
|
|
712
|
-
const data = event.data;
|
|
713
|
-
const listViewId = data.listViewId;
|
|
714
|
-
const searchableFields = data.fields;
|
|
715
|
-
const preSearchableFields = data.__super.__super.fields;
|
|
716
|
-
const removedFields = _.difference(preSearchableFields, searchableFields);
|
|
717
|
-
const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
718
|
-
let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
719
|
-
if(localListViewProps){
|
|
720
|
-
// 当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
|
|
721
|
-
localListViewProps = JSON.parse(localListViewProps);
|
|
722
|
-
let removedKeys = [];
|
|
723
|
-
_.each(localListViewProps, function(n,k){
|
|
724
|
-
// __searchable__开头的不在searchableFields范围则清除其值
|
|
725
|
-
let isRemoved = !!removedFields.find(function(fieldName){
|
|
726
|
-
return new RegExp("__searchable__.*" + fieldName + "$").test(k);
|
|
727
|
-
});
|
|
728
|
-
if(isRemoved){
|
|
729
|
-
removedKeys.push(k);
|
|
730
|
-
}
|
|
731
|
-
});
|
|
732
|
-
const removedValues = {};
|
|
733
|
-
removedKeys.forEach(function(key){
|
|
734
|
-
delete localListViewProps[key];
|
|
735
|
-
removedValues[key] = "";
|
|
736
|
-
});
|
|
737
|
-
doAction({
|
|
738
|
-
actionType: 'setValue',
|
|
739
|
-
args: {
|
|
740
|
-
value: removedValues
|
|
741
|
-
}
|
|
742
|
-
});
|
|
743
|
-
localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
744
|
-
}
|
|
745
|
-
`}]}}}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
722
|
+
`);s={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,source:r,autoComplete:r,searchable:!0};let o=e.defaultValue;return!___namespace.has(e,"defaultValue")||___namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(___namespace.isString(o)&&o.startsWith("{{")&&(o="$"+o.substring(1,o.length-1)),s.value=o),e.multiple&&(s.multiple=!0,s.extractValue=!0),t&&(s.tpl=await getLookupTpl(e,a)),s}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:!e.reference_to||___namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup&&___namespace.isEmpty(e.depend_on)?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const getMarkdownFieldSchema=(e,t,a)=>t?{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:e.name,language:"markdown"},{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]},getHtmlFieldSchema=(e,t,a)=>t?{type:"html",name:e.name}:{type:"input-rich-text",name:e.name},OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getPermissionFields(e,t){const a=[],i=[];return ___namespace.each(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t),i.push(e)}),___namespace.each(___namespace.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return ___namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value})}}),a}async function convertSFieldToAmisField(a,i,r){if(!___namespace.includes(OMIT_FIELDS,a.name)||1==r.showSystemFields){var s,l={name:r.fieldNamePrefix?""+r.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(___namespace.has(r,"required")?r:a).required};let t={};switch(a.type){case"text":t.type=getAmisStaticFieldType("text",i);break;case"textarea":t.type=getAmisStaticFieldType("textarea",i),t.tpl=`<%=(data.${a.name} || "").split("\\n").join('<br>')%>`;break;case"html":t=getHtmlFieldSchema(a,i);break;case"markdown":t=getMarkdownFieldSchema(a,i);break;case"select":t={type:getAmisStaticFieldType("select",i),joinValues:!1,options:getSelectFieldOptions(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:i?getSelectTpl(a):null};let e=a.defaultValue;!___namespace.has(a,"defaultValue")||___namespace.isString(a.defaultValue)&&a.defaultValue.startsWith("{")||(___namespace.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),s=a.data_type||"text",null!=e&&("text"===s?t.value=String(e):"number"===s?t.value=Number(e):"boolean"===s&&(t.value="false"!==e))),a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:getAmisStaticFieldType("checkbox",i),tpl:i?getSwitchTpl(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null,joinValues:!1};break;case"date":t={type:getAmisStaticFieldType("date",i),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:getAmisStaticFieldType("datetime",i),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null,joinValues:!1};break;case"time":t={type:getAmisStaticFieldType("time",i),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null};break;case"currency":case"number":t=i?{type:"static-tpl",tpl:getNumberTpl(a)}:{type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,l);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:getAmisStaticFieldType("password",i),tpl:i?getPasswordTpl(a):null};break;case"lookup":case"master_detail":t=await lookupToAmis(a,i,r);break;case"autonumber":i&&(t={type:"static-text"});break;case"url":t={type:getAmisStaticFieldType("url",i)};break;case"email":t={type:getAmisStaticFieldType("email",i)};break;case"avatar":case"image":case"file":t=getAmisFileSchema(a,i);break;case"formula":case"summary":i&&(t.type=getAmisStaticFieldType(a.data_type,i));break;case"code":t={type:"editor",language:a.language,value:a.defaultValue||""};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:i};break;case"grid":t={type:"input-table",strictMode:!1,affixHeader:!1,editable:!i,addable:!i,removable:!i,draggable:!i,columns:[]};for(const d of a.subFields){var o=d.name.replace(a.name+".$.","").replace(a.name+".",""),n=await convertSFieldToAmisField(Object.assign({},d,{name:o}),i,r);n&&(delete n.name,delete n.label,t.columns.push({name:o,label:d.label,quickEdit:!i&&n}))}}return ___namespace.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",i&&(t.className=t.className+" md:border-b"),i&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},l,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},l,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,s=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=_$1.cloneDeep(r),t=(_$1.includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,s+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,s+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,s+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,s+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:s,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,s=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&s.push(r));return _$1.map(s,"name"),a.enableSearchableFieldsVisibleOn&&s.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`}),{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",data:{"&":"${filterFormValues || {}}",...a.initData},body:s}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",name:"service_listview_filter_form",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
746
723
|
const objectName = data.objectName;
|
|
747
724
|
const isLookup = data.isLookup;
|
|
748
725
|
const listViewId = data.listViewId;
|
|
@@ -806,7 +783,15 @@
|
|
|
806
783
|
var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
807
784
|
return n.props.type === "crud";
|
|
808
785
|
});
|
|
809
|
-
|
|
786
|
+
const removedValues = {};
|
|
787
|
+
// 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中
|
|
788
|
+
// 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中
|
|
789
|
+
for(var k in filterFormValues){
|
|
790
|
+
if(filterFormValues[k] === "" && !filterFormValues.hasOwnProperty(k)){
|
|
791
|
+
removedValues[k] = "";
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
|
|
810
795
|
`}]}}},{type:"button",label:"设置搜索项",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",size:"md",title:"设置搜索项",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:null,requestAdaptor:"",adaptor:""},options:[],required:!0,placeholder:"-",className:"col-span-2 m-0",checkAll:!1,searchable:!0,sortable:!0,joinValues:!1,extractValue:!0,multiple:!0}],id:"u:e5ac506d5683",mode:"normal",persistData:!1,promptPageLeave:!0,name:"form",debug:!1,actions:[],panelClassName:"m-0",bodyClassName:"p-4",className:"steedos-amis-form"}],id:"u:ca99fa9fe1b1",actions:[{type:"button",label:"取消",onEvent:{click:{actions:[{componentId:"",args:{},actionType:"closeDialog"}]}},id:"u:4e447b5ca72a"},{type:"button",label:"确认",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
811
796
|
const data = context.props.data;
|
|
812
797
|
const listName = data.listName;
|
|
@@ -815,6 +800,7 @@
|
|
|
815
800
|
const listViewId = data.listViewId;
|
|
816
801
|
const value = data.fields;
|
|
817
802
|
const scope = event.context.scoped;
|
|
803
|
+
// 这里的filterForm不是name为"listview-filter-form"的内部form,而是crud自带的filter form
|
|
818
804
|
const filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
819
805
|
return n.props.type === "form";
|
|
820
806
|
});
|
|
@@ -830,7 +816,74 @@
|
|
|
830
816
|
searchableFieldsStoreKey += listViewId;
|
|
831
817
|
}
|
|
832
818
|
localStorage.setItem(searchableFieldsStoreKey, value);
|
|
833
|
-
|
|
819
|
+
|
|
820
|
+
// ===START===:当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
|
|
821
|
+
const searchableFields = data.fields;
|
|
822
|
+
let preSearchableFields = data.__super.fields;
|
|
823
|
+
if(typeof preSearchableFields === "string"){
|
|
824
|
+
preSearchableFields = preSearchableFields.split(",");
|
|
825
|
+
}
|
|
826
|
+
const removedFields = _.difference(preSearchableFields, searchableFields);
|
|
827
|
+
|
|
828
|
+
// const getClosestAmisComponentByType = function (scope, type, name) {
|
|
829
|
+
// // 递归children找到listview-filter-form
|
|
830
|
+
// let re = scope.getComponents().find(function (n) {
|
|
831
|
+
// return n.props.type === type && n.props.name === name;
|
|
832
|
+
// });
|
|
833
|
+
// if (re) {
|
|
834
|
+
// return re;
|
|
835
|
+
// }
|
|
836
|
+
// else {
|
|
837
|
+
// if (scope.children && scope.children.length) {
|
|
838
|
+
// for (let i = 0; i < scope.children.length; i++) {
|
|
839
|
+
// re = getClosestAmisComponentByType(scope.children[i], type, name);
|
|
840
|
+
// if (re) {
|
|
841
|
+
// break;
|
|
842
|
+
// }
|
|
843
|
+
// }
|
|
844
|
+
// return re;
|
|
845
|
+
// }
|
|
846
|
+
|
|
847
|
+
// }
|
|
848
|
+
// }
|
|
849
|
+
// // 这里第二层form才是真正要提交到crud过滤条件的form
|
|
850
|
+
// filterInnerForm = getClosestAmisComponentByType(filterForm.context, "form", "listview-filter-form");
|
|
851
|
+
|
|
852
|
+
const filterFormValues = filterForm.getValues();
|
|
853
|
+
let removedKeys = [];
|
|
854
|
+
_.each(filterFormValues, function(n,k){
|
|
855
|
+
// __searchable__开头的不在searchableFields范围则清除其值
|
|
856
|
+
let isRemoved = !!removedFields.find(function(fieldName){
|
|
857
|
+
return new RegExp("__searchable__.*" + fieldName + "$").test(k);
|
|
858
|
+
});
|
|
859
|
+
if(isRemoved){
|
|
860
|
+
removedKeys.push(k);
|
|
861
|
+
}
|
|
862
|
+
});
|
|
863
|
+
const removedValues = {};
|
|
864
|
+
removedKeys.forEach(function(key){
|
|
865
|
+
removedValues[key] = "";
|
|
866
|
+
});
|
|
867
|
+
filterForm.setValues(removedValues);//这里使用filterInnerForm也可以
|
|
868
|
+
|
|
869
|
+
if(isLookup){
|
|
870
|
+
return;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
// 列表视图crud支持本地缓存,所以需要进一步清除浏览器本地缓存里面用户在可搜索项中移除的字段值
|
|
874
|
+
const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
875
|
+
let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
876
|
+
if(localListViewProps){
|
|
877
|
+
localListViewProps = JSON.parse(localListViewProps);
|
|
878
|
+
// const removedValues = {};
|
|
879
|
+
removedKeys.forEach(function(key){
|
|
880
|
+
delete localListViewProps[key];
|
|
881
|
+
// removedValues[key] = "";
|
|
882
|
+
});
|
|
883
|
+
localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
884
|
+
}
|
|
885
|
+
// ===END===
|
|
886
|
+
`},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,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 "+(!a.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function getCalendarApi(e,t,a){var i=(a=a||{}).calendarOptions;const r=[];let{globalFilter:s,filter:l,sort:o,top:n,setDataToComponentId:d=""}=a;n=n||200,l=(l=___default.default.isArray(l)?___default.default.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],___default.default.each(t,function(e){e.searchable&&r.push(e.name)});var a=e.idFieldName||"_id",c=e.key_field||"_id",e=await getApi$1(e,null,t,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return e.data.$term="$term",e.data.$self="$$",e.data.filter="$filter",e.data.pageSize=n||10,e.requestAdaptor=`
|
|
834
887
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
835
888
|
${s?`var filters = ${JSON.stringify(s)};`:"var filters = [];"}
|
|
836
889
|
if(_.isEmpty(filters)){
|
|
@@ -1046,7 +1099,7 @@
|
|
|
1046
1099
|
{
|
|
1047
1100
|
${a.join(",")}
|
|
1048
1101
|
}
|
|
1049
|
-
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}function getListViewFilter(t){if(t){var a=getUserId();let e=t.filters;return"mine"===t.filter_scope&&(___default.default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns)})}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!s)return{uiSchema:r};if(s.enable_amis_schema&&s.amis_schema){const u=_$1.isString(s.amis_schema)?JSON.parse(s.amis_schema):s.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:u}}var l=getListViewColumns(s,i.formFactor),o=getListViewSort(s),n=getListViewFilter(s);if("calendar"===s.type){const u={type:"steedos-object-calendar",objectApiName:t,filters:n,sort:o,...s.options};return{uiSchema:r,isCalendar:!0,amisSchema:u}}var d=i.defaults||{};!d.headerSchema&&i.showHeader&&(d.headerSchema=await getObjectListHeader(r)),i.showHeader||(d.headerSchema=null);try{var c,p=location.pathname+"/crud/"+i.listViewId,m=localStorage.getItem(p);m&&(m=JSON.parse(m),c={},m.orderBy&&(c.orderBy=m.orderBy),m.orderDir&&(c.orderDir=m.orderDir),m.perPage&&(c.defaultParams={perPage:m.perPage}),d.listSchema=_$1.defaultsDeep({},c,d.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=d;const u={type:"steedos-object-table",objectApiName:t,columns:l,extraColumns:s.extra_columns,filters:n,sort:o,ctx:i};return{uiSchema:r,amisSchema:u}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let s=i.sort;s||(o=i.sortField,n=i.sortOrder,o&&(s=o+" "+n||"asc"));let l=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?l.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&l.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=i.extraColumns,n=(o&&_$1.each(o,function(e){_$1.isString(e)?l.push({extra:!0,name:e}):_$1.isObject(e)&&l.push({extra:!0,name:e.field})}),await getObjectList(r,l,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:s,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:n}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const m of[].concat(e.details||[])){var o=m.split("."),n=await getUISchema(o[0]);if(n){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],s.push({masterObjectName:i,object_name:o[0],foreign_key:o[1],schema:await getListSchema(t,o[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(n,{isMobile:!1})})})}}else for(const u of l){var c=u.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!_$1.isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];_$1.forEach(u.field_names,t=>{var e=_$1.find(f.fields,e=>e.name===t);e&&a.push(e)}),s.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],label:u.label,schema:{uiSchema:f,amisSchema:await getObjectList(f,a,{tabId:i,appId:t,objectName:c[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(f,{isMobile:!1})})}})}}}return s}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:s}){let l=null;var o=await getField(a,i),o=(l=o._reference_to||o.reference_to&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:l,formFactor:s}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=_$1.find(a.fields,e=>i===e?.name);return _$1.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const u of[].concat(e.details||[])){var o,n,d=u.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!_$1.isString(o.reference_to))&&d[1],d[1],n=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:getRelatedFieldValue(i,a,o.uiSchema,d[1])}}}]},s.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of l){var p=f.related_field_fullname.split(".");let e=null;var m=await getField(p[0],p[1]);if(m){e=m._reference_to||m.reference_to&&!_$1.isString(m.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e)}),s.push({masterObjectName:i,object_name:p[0],foreign_key:p[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:p[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}})}}}return s}async function getRecordDetailRelatedListSchema(t,e,a,i,r,s,l,o,n){var d=await getUISchema(a),{list_views:c,label:p,fields:m}=d,p=(n=n||p,_$1.keys(c)[0]);let u=null;c=await getField(a,i=i||_$1.findKey(m,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));let f=e;c.reference_to_field&&"_id"!=c.reference_to_field&&(m=await getRecord(t,e,[c.reference_to_field]),f=m[c.reference_to_field]),u=c._reference_to||c.reference_to&&!_$1.isString(c.reference_to)?[[i+"/o","=",t],[i+"/ids","=",f]]:[""+i,"=",f];e=await getObjectRecordDetailRelatedListHeader(d,n),m="steedos-record-related-list-"+a,c=(await getListSchema(null,a,p,{globalFilter:u,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:r,perPage:s,setDataToComponentId:m,tableHiddenOn:l?"this.$count === 0":null,appId:o})).amisSchema;return{uiSchema:d,amisSchema:{type:"service",id:m,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,f,d,i)}}}]}}}async function getFormPageInitSchema(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"},t=_$1.map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===a);let l={};if(s){var o=getListViewColumns(s,i.formFactor),s=getListViewSort(s),n=i.defaults||{};n.headerSchema||(r=await getObjectListHeader(r),n.headerSchema=r),i.defaults=n;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,o,{sort:s,...i,setDataToComponentId:e});delete(l=r.amisSchema).data.$master,delete l.data._id,delete l.data.recordPermissions,delete l.data.uiSchema}return l}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
1102
|
+
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}function getListViewFilter(t){if(t){var a=getUserId();let e=t.filters;return"mine"===t.filter_scope&&(___default.default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns)})}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!s)return{uiSchema:r};if(s.enable_amis_schema&&s.amis_schema){const f=_$1.isString(s.amis_schema)?JSON.parse(s.amis_schema):s.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:f}}var l=getListViewColumns(s,i.formFactor),o=getListViewSort(s),n=getListViewFilter(s),d=s&&s._filters;if("calendar"===s.type){const f={type:"steedos-object-calendar",objectApiName:t,filters:n,filtersFunction:d,sort:o,...s.options};return{uiSchema:r,isCalendar:!0,amisSchema:f}}var c=i.defaults||{};!c.headerSchema&&i.showHeader&&(c.headerSchema=await getObjectListHeader(r)),i.showHeader||(c.headerSchema=null);try{var p,m=location.pathname+"/crud/"+i.listViewId,u=localStorage.getItem(m);u&&(u=JSON.parse(u),p={},u.orderBy&&(p.orderBy=u.orderBy),u.orderDir&&(p.orderDir=u.orderDir),u.perPage&&(p.defaultParams={perPage:u.perPage}),c.listSchema=_$1.defaultsDeep({},p,c.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=c;const f={type:"steedos-object-table",objectApiName:t,columns:l,extraColumns:s.extra_columns,filters:n,filtersFunction:d,sort:o,ctx:i};return{uiSchema:r,amisSchema:f}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let s=i.sort;s||(o=i.sortField,n=i.sortOrder,o&&(s=o+" "+n||"asc"));let l=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?l.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&l.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=i.extraColumns,n=(o&&_$1.each(o,function(e){_$1.isString(e)?l.push({extra:!0,name:e}):_$1.isObject(e)&&l.push({extra:!0,name:e.field})}),await getObjectList(r,l,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:s,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:n}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const m of[].concat(e.details||[])){var o=m.split("."),n=await getUISchema(o[0]);if(n){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],s.push({masterObjectName:i,object_name:o[0],foreign_key:o[1],schema:await getListSchema(t,o[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(n,{isMobile:!1})})})}}else for(const u of l){var c=u.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!_$1.isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];_$1.forEach(u.field_names,t=>{var e=_$1.find(f.fields,e=>e.name===t);e&&a.push(e)}),s.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],label:u.label,schema:{uiSchema:f,amisSchema:await getObjectList(f,a,{tabId:i,appId:t,objectName:c[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(f,{isMobile:!1})})}})}}}return s}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:s}){let l=null;var o=await getField(a,i),o=(l=o._reference_to||o.reference_to&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:l,formFactor:s}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=_$1.find(a.fields,e=>i===e?.name);return _$1.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const u of[].concat(e.details||[])){var o,n,d=u.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!_$1.isString(o.reference_to))&&d[1],d[1],n=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:getRelatedFieldValue(i,a,o.uiSchema,d[1])}}}]},s.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of l){var p=f.related_field_fullname.split(".");let e=null;var m=await getField(p[0],p[1]);if(m){e=m._reference_to||m.reference_to&&!_$1.isString(m.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e)}),s.push({masterObjectName:i,object_name:p[0],foreign_key:p[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:p[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}})}}}return s}async function getRecordDetailRelatedListSchema(t,e,a,i,r,s,l,o,n){var d=await getUISchema(a),{list_views:c,label:p,fields:m}=d,p=(n=n||p,_$1.keys(c)[0]);let u=null;c=await getField(a,i=i||_$1.findKey(m,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));let f=e;c.reference_to_field&&"_id"!=c.reference_to_field&&(m=await getRecord(t,e,[c.reference_to_field]),f=m[c.reference_to_field]),u=c._reference_to||c.reference_to&&!_$1.isString(c.reference_to)?[[i+"/o","=",t],[i+"/ids","=",f]]:[""+i,"=",f];e=await getObjectRecordDetailRelatedListHeader(d,n),m="steedos-record-related-list-"+a,c=(await getListSchema(null,a,p,{globalFilter:u,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:r,perPage:s,setDataToComponentId:m,tableHiddenOn:l?"this.$count === 0":null,appId:o})).amisSchema;return{uiSchema:d,amisSchema:{type:"service",id:m,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,f,d,i)}}}]}}}async function getFormPageInitSchema(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"},t=_$1.map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===a);let l={};if(s){var o=getListViewColumns(s,i.formFactor),s=getListViewSort(s),n=i.defaults||{};n.headerSchema||(r=await getObjectListHeader(r),n.headerSchema=r),i.defaults=n;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,o,{sort:s,...i,setDataToComponentId:e});delete(l=r.amisSchema).data.$master,delete l.data._id,delete l.data.recordPermissions,delete l.data.uiSchema}return l}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
1050
1103
|
{
|
|
1051
1104
|
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
1052
1105
|
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|