@steedos-widgets/amis-object 0.0.16 → 0.0.18

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.
@@ -366,7 +366,32 @@ function isPlainObject(value) {
366
366
 
367
367
  var isPlainObject_1 = isPlainObject;
368
368
 
369
- const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var l,n=t.pathname.split("/");for(n.pop();l=/^\.\.?\//.exec(r);)"../"===l[0]&&n.pop(),r=r.substring(l[0].length);r=n.concat(r).join("/");}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href));},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t);},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0);},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e);}}),registerRenders=e=>{if(!_$1.isEmpty(e)&&_$1.isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let n=amisRequire("react");_$1.each(e,t=>{if(!_$1.find(RegisterRenders,e=>e===t.componentName)){let l=Builder.components.find(e=>e.name===t.componentName),e=l.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=n.useState(null);return n.useEffect(()=>{var e=l.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e);}):r(e);},[]),n.createElement(n.Fragment,null,n.createElement(n.Fragment,null,i&&a?a("body",i):""),n.createElement(n.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName);}});}},amisRender=(e,t,a={},i={},r)=>{var l=amisRequire("amis/embed"),{router:r,assets:n}=r;return registerRenders(n),l.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e);};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return (window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e);}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e);}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e);}}function absoluteUrl(e){return ""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){_$1.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e);}const getSteedosAuth=()=>_$1.cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1__namespace.isArray(e)?e:_$1__namespace.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),i.push(""+l.name)),_$1.includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),_$1.includes(["time","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1__namespace.uniq(i),a=_$1__namespace.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}async function getFindOneQuery$1(e,t,a,i){let r="",l=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await getFieldsTemplate(a)}}}`}}function getSaveQuery(e,t,a,i){return {objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`);}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
369
+ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var l,o=t.pathname.split("/");for(o.pop();l=/^\.\.?\//.exec(r);)"../"===l[0]&&o.pop(),r=r.substring(l[0].length);r=o.concat(r).join("/");}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href));},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t);},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0);},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e);}}),registerRenders=e=>{if(!_$1.isEmpty(e)&&_$1.isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let o=amisRequire("react");_$1.each(e,t=>{if(!_$1.find(RegisterRenders,e=>e===t.componentName)){let l=Builder.components.find(e=>e.name===t.componentName),e=l.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=o.useState(null);return o.useEffect(()=>{var e=l.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e);}):r(e);},[]),o.createElement(o.Fragment,null,o.createElement(o.Fragment,null,i&&a?a("body",i):""),o.createElement(o.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName);}});}},amisRender=(e,t,a={},i={},r)=>{var l=amisRequire("amis/embed"),{router:r,assets:o}=r;return registerRenders(o),l.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e);};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return (window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e);}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e);}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e);}}function absoluteUrl(e){return ""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){_$1.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e);}const getSteedosAuth=()=>_$1.cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1__namespace.isArray(e)?e:_$1__namespace.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),i.push(""+l.name)),_$1.includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),_$1.includes(["time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1__namespace.uniq(i),a=_$1__namespace.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}function getRecordPermissionsTemplate(){return `
370
+ recordPermissions: _permissions{
371
+ allowCreate,
372
+ allowCreateFiles,
373
+ allowDelete,
374
+ allowDeleteFiles,
375
+ allowEdit,
376
+ allowEditFiles,
377
+ allowRead,
378
+ allowReadFiles,
379
+ disabled_actions,
380
+ disabled_list_views,
381
+ field_permissions,
382
+ modifyAllFiles,
383
+ modifyAllRecords,
384
+ modifyAssignCompanysRecords,
385
+ modifyCompanyRecords,
386
+ uneditable_fields,
387
+ unreadable_fields,
388
+ unrelated_objects,
389
+ viewAllFiles,
390
+ viewAllRecords,
391
+ viewAssignCompanysRecords,
392
+ viewCompanyRecords,
393
+ }
394
+ `}async function getFindOneQuery$1(e,t,a,i){let r="",l=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await getFieldsTemplate(a)}, ${getRecordPermissionsTemplate()}}}`}}function getSaveQuery(e,t,a,i){return {objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`);}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
370
395
  let imgFieldsKeys = ${JSON.stringify(t)};
371
396
  let imgFields = ${JSON.stringify(a)};
372
397
  imgFieldsKeys.forEach((item)=>{
@@ -436,7 +461,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
436
461
  ${getSaveDataTpl(e)}
437
462
  api.data = {query: query.replace('{__saveData}', __saveData)};
438
463
  return api;
439
- `}async function getFindQuery(e,t,a,i){var r=i.limit||10;let l=`(top: ${r})`,n=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(n=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`));t="",e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(t=",parent,children"),r="";return "cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}${r}},count:${e.name}__count(filters:{__filters})}`}}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({appId:e,objectName:t,recordId:a,listViewName:i}){return "instances"===t?`/workflow/space/\${context.tenantId}/${i}/`+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 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>`}async function getRefObjectNameFieldName(e){return (await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return `<div>\${_display.${e.name}}</div>`}function getNameTpl(e,t){return "cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:t.appId,objectName:t.objectName,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
464
+ `}async function getFindQuery(e,t,a,i){var r=i.limit||10;let l=`(top: ${r})`,o=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(o=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`));t="",e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(t=",parent,children"),r="";return "cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${o}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}${r}},count:${e.name}__count(filters:{__filters})}`}}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({appId:e,objectName:t,recordId:a,listViewName:i}){return "instances"===t?`/workflow/space/\${context.tenantId}/${i}/`+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 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 getNameTpl(e,t){return "cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:t.appId,objectName:t.objectName,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
440
465
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
441
466
  `):`<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%>"}),`
442
467
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
@@ -448,7 +473,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
448
473
  </span>
449
474
  <% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
450
475
  <span>······</span>
451
- <% } %>`}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)}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=_$1__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 _$1__namespace.each(t,function(e){var t;_$1__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;`);}),`
476
+ <% } %>`}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=_$1__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 _$1__namespace.each(t,function(e){var t;_$1__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;`);}),`
452
477
  if(payload.data.data){
453
478
  var data = payload.data.data[0];
454
479
  try{
@@ -544,7 +569,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
544
569
  })
545
570
  api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
546
571
  return api;
547
- `,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,_$1__namespace.forEach(e.fields,(e,t)=>{_$1__namespace.has(e,"name")||(e.name=t);}),_$1__namespace.forEach(_$1__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=_$1__namespace.filter(e,{group:a});if(e.length!=_$1__namespace.filter(e,["hidden",!0]).length){var r,l=[];for(const n of e){let e=n;"grid"===n.type?e=await getGridFieldSubFields(n,t):"object"===n.type&&(e=await getObjectFieldSubFields(n,t)),e.name.indexOf(".")<0&&((r=await convertSFieldToAmisField(e,e.readonly,i))&&l.push(r));}return {type:"fieldSet",title:a,collapsable:!0,body:l}}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const n in _$1__namespace.groupBy(i,"group")){var l=await getSection(e,i,n,a);0<l.body.length&&r.push(l);}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||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};function getBulkActions(e){return [{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",id:"batchDelete",api:getBatchDelete(e.name)}]}function getHeaderToolbar(e,t){return "SMALL"===t?["bulkActions",{type:"reload",align:"right"},{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]:["filter-toggler","bulkActions",{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]}function getToolbar(){return []}function footerToolbar(){return ["statistics","pagination"]}async function getObjectList(e,t,a){var i=getBulkActions(e),i={toolbar:getToolbar(),footerToolbar:footerToolbar(),headerToolbar:getHeaderToolbar(e,a.formFactor),bulkActions:0!=a.bulkActions&&i,bodyClassName:""};let r=null;var l="listview_"+e.name,n=(r="SMALL"===a.formFactor?(delete i.bulkActions,delete i.headerToolbar,delete i.footerToolbar,n=await getCardSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a,{actions:!1})),Object.assign({},n,{type:"crud",primaryField:"_id",id:l,name:l,keepItemSelectionOnPageChange:!1,api:await getTableApi(e,t,a)},i)):(delete(n=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a))).mode,Object.assign({},n,{type:"crud",primaryField:"_id",affixHeader:!1,id:l,name:l,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a)},i)),a.defaults);return n&&(t=n.listSchema||{},r=defaultsDeep({},t,r),i=n.headerSchema,a=n.footerSchema,(i||a)&&(t=[r],i&&t.unshift(i),a&&t.push(a),r=t)),{type:"service",className:"mb-2",id:"service_"+l,name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:r}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,defaults:l}=t,n=_$1__default["default"].values(e.fields),l=l&&l.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,n),initApi:null,initFetch:null,body:[defaultsDeep({},l,{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,n),initFetch:"new"!=a,body:await getFormBody(n,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{componentId:"detail_"+a,actionType:"reload",expression:"!!!listViewId"}]}}})]};return l.id&&(i.id="service-"+l.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,formInitProps:l}=a,n=_$1__default["default"].values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,n,l),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(n,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white pt-2 px-2",actions:[]}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}}]}}}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_$1__namespace.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":_$1__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=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
572
+ `,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,_$1__namespace.forEach(e.fields,(e,t)=>{_$1__namespace.has(e,"name")||(e.name=t);}),_$1__namespace.forEach(_$1__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=_$1__namespace.filter(e,{group:a});if(e.length!=_$1__namespace.filter(e,["hidden",!0]).length){var r,l=[];for(const o of e){let e=o;"grid"===o.type?e=await getGridFieldSubFields(o,t):"object"===o.type&&(e=await getObjectFieldSubFields(o,t)),e.name.indexOf(".")<0&&((r=await convertSFieldToAmisField(e,e.readonly,i))&&l.push(r));}return {type:"fieldSet",title:a,collapsable:!0,body:l}}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const o in _$1__namespace.groupBy(i,"group")){var l=await getSection(e,i,o,a);0<l.body.length&&r.push(l);}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||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};function getBulkActions(e){return [{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",id:"batchDelete",api:getBatchDelete(e.name)}]}function getHeaderToolbar(e,t){return "SMALL"===t?["bulkActions",{type:"reload",align:"right"},{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]:["filter-toggler","bulkActions",{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]}function getToolbar(){return []}function footerToolbar(){return ["statistics","pagination"]}async function getObjectList(e,t,a){var i=getBulkActions(e),i={toolbar:getToolbar(),footerToolbar:footerToolbar(),headerToolbar:getHeaderToolbar(e,a.formFactor),bulkActions:0!=a.bulkActions&&i,bodyClassName:""};let r=null;var l="listview_"+e.name,o=(r="SMALL"===a.formFactor?(delete i.bulkActions,delete i.headerToolbar,delete i.footerToolbar,o=await getCardSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a,{actions:!1})),Object.assign({},o,{type:"crud",primaryField:"_id",id:l,name:l,keepItemSelectionOnPageChange:!1,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn},i)):(delete(o=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a))).mode,Object.assign({},o,{type:"crud",primaryField:"_id",affixHeader:!1,id:l,name:l,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn},i)),a.defaults);return o&&(t=o.listSchema||{},r=defaultsDeep({},t,r),i=o.headerSchema,a=o.footerSchema,(i||a)&&(t=[r],i&&t.unshift(i),a&&t.push(a),r=t)),{type:"service",className:"mb-2",id:"service_"+l,name:"page",data:{$master:"$$",context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:r}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,defaults:l}=t,o=_$1__default["default"].values(e.fields),l=l&&l.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),initApi:null,initFetch:null,body:[defaultsDeep({},l,{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,o),initFetch:"new"!=a,body:await getFormBody(o,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{componentId:"detail_"+a,actionType:"reload",expression:"!!!listViewId"}]}}})]};return l.id&&(i.id="service-"+l.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,formInitProps:l}=a,o=_$1__default["default"].values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,o,l),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(o,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white pt-2 px-2",actions:[]}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}}]}}}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_$1__namespace.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":_$1__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=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
548
573
  <% let fileData = data.${e.name}; if (fileData) { %>
549
574
  <% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
550
575
  <% fileData.forEach(function(item) { %>
@@ -562,34 +587,32 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
562
587
  }
563
588
  }
564
589
  return payload;
565
- `,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?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:""+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||config.listView.perPage}}function getButtonVisibleOn$1(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$1(e),className:"antd-Button--default"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomLeft",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:`
590
+ `,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?"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||config.listView.perPage}}function getButtonVisibleOn$1(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$1(e),className:"antd-Button--default"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomLeft",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:`
566
591
  payload.recordPermissions = payload;
567
592
  return payload;
568
- `}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:n,top:o}=a;l=(l=_$1__namespace.isArray(l)?_$1__namespace.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1__namespace.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1__namespace.includes(["image","avatar","file"],e.type)&&(d.push(e.name),s[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:o,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.requestAdaptor=`
593
+ `}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:o,top:n,setDataToComponentId:s=""}=a;l=(l=_$1__namespace.isArray(l)?_$1__namespace.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1__namespace.each(t,function(e){e.searchable&&i.push(e.name);});const d={},c=[];t.forEach(e=>{_$1__namespace.includes(["image","avatar","file"],e.type)&&(c.push(e.name),d[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=`
569
594
  let selfData = JSON.parse(JSON.stringify(api.data.$self));
570
- if(!api.data.loaded){
571
- // 只有第一次加载组件,比如刷新浏览器时才需要从本地存储中合并过滤条件等参数
572
- // 否则翻页页码会因为刷新浏览器时api.data.pageNo始终有默认值为1无法生效
573
- try{
574
- // TODO: 不应该直接在这里取localStorage,应该从外面传入
575
- const selfSupperData = api.data.$self.__super.__super;
576
- const listViewId = selfSupperData.listViewId;
577
- const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
578
- let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
579
- localSearchableFilter = JSON.parse(localSearchableFilter);
580
- if(localSearchableFilter){
581
- selfData = Object.assign({}, selfData, localSearchableFilter);
582
- api.data.filter = localSearchableFilter.filter;
583
- api.data.pageNo = localSearchableFilter.page;
584
- // TODO:翻页在这里无效,因为刷新浏览器时api.data.pageNo始终有默认值为1
585
- // if(!api.data.pageNo){
586
- // api.data.pageNo = localSearchableFilter.page;
587
- // }
595
+ try{
596
+ // TODO: 不应该直接在这里取localStorage,应该从外面传入
597
+ const listViewId = api.data.listViewId;
598
+ const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
599
+ let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
600
+ if(localListViewProps){
601
+ localListViewProps = JSON.parse(localListViewProps);
602
+ selfData = Object.assign({}, localListViewProps, selfData);
603
+ if(!api.data.filter){
604
+ api.data.filter = localListViewProps.filter;
605
+ }
606
+ if(!api.data.loaded){
607
+ // 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1
608
+ // 所以会把localSearchableFilter中已经存过的页码覆盖
609
+ // 如果是第一次加载组件始终让翻页页码从本地存储中取值
610
+ api.data.pageNo = localListViewProps.page || 1;
588
611
  }
589
612
  }
590
- catch(ex){
591
- console.error("本地存储中crud参数解析异常:", ex);
592
- }
613
+ }
614
+ catch(ex){
615
+ console.error("本地存储中crud参数解析异常:", ex);
593
616
  }
594
617
  ${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
595
618
  if(_.isEmpty(filters)){
@@ -603,7 +626,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
603
626
  var orderBy = api.data.orderBy || '';
604
627
  var orderDir = api.data.orderDir || '';
605
628
  var sort = orderBy + ' ' + orderDir;
606
- sort = orderBy ? sort : "${n}";
629
+ sort = orderBy ? sort : "${o}";
607
630
  var allowSearchFields = ${JSON.stringify(i)};
608
631
  if(api.data.$term){
609
632
  filters = [["name", "contains", "'+ api.data.$term +'"]];
@@ -667,7 +690,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
667
690
  })
668
691
  }
669
692
  window.postMessage(Object.assign({type: "listview.loaded"}), "*");
670
- let fileFields = ${JSON.stringify(s)};
693
+ let fileFields = ${JSON.stringify(d)};
671
694
  _.each(payload.data.rows, function(item, index){
672
695
  _.each(fileFields , (field, key)=>{
673
696
  if(item[key] && item._display && item._display [key]){
@@ -713,22 +736,33 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
713
736
 
714
737
  try{
715
738
  // TODO: 不应该直接在这里取localStorage,应该从外面传入
716
- const selfSupperData = api.data.$self.__super.__super;
717
- const listViewId = selfSupperData.listViewId;
718
- const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
719
- let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
739
+ const listViewId = api.data.listViewId;
740
+ const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
741
+ /**
742
+ * localListViewProps规范来自crud请求api中api.data.$self参数值的。
743
+ * 比如:{"perPage":20,"page":1,"__searchable__name":"7","__searchable__between__n1__c":[null,null],"filter":[["name","contains","a"]]}
744
+ * __searchable__...:顶部放大镜搜索条件
745
+ * filter:右侧过滤器
746
+ * perPage:每页条数
747
+ * page:当前页码
748
+ * orderBy:排序字段
749
+ * orderDir:排序方向
750
+ */
751
+ let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
720
752
  let selfData = JSON.parse(JSON.stringify(api.data.$self));
721
- if(localSearchableFilter){
722
- if(api.data.loaded){
723
- selfData = Object.assign({}, JSON.parse(localSearchableFilter), selfData);
724
- }
725
- else{
726
- selfData = Object.assign({}, selfData, JSON.parse(localSearchableFilter));
753
+ if(localListViewProps){
754
+ localListViewProps = JSON.parse(localListViewProps);
755
+ selfData = Object.assign({}, localListViewProps, selfData, { filter: api.data.filter });
756
+ if(!api.data.loaded){
757
+ // 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1
758
+ // 所以会把localSearchableFilter中已经存过的页码覆盖
759
+ // 如果是第一次加载组件始终让翻页页码从本地存储中取值
760
+ selfData.page = localListViewProps.page || 1;
727
761
  }
728
762
  }
729
763
  delete selfData.context;
730
764
  delete selfData.global;
731
- localStorage.setItem(searchableFilterStoreKey, JSON.stringify(selfData));
765
+ localStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));
732
766
  // 返回页码到UI界面
733
767
  payload.data.page= selfData.page;
734
768
  }
@@ -737,6 +771,12 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
737
771
  }
738
772
  // 标记加载过,后续优先从本地存储中加载相关参数
739
773
  payload.data.loaded= true;
774
+
775
+ const setDataToComponentId = "${s}";
776
+ if(setDataToComponentId){
777
+ SteedosUI.getRef(api.body.$self.scopeId).getComponentById(setDataToComponentId).setData({$count: payload.data.count})
778
+ }
779
+
740
780
  return payload;
741
781
  `,t}async function getApi$1(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 getSource(e){var t=await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"}),a=(t.query=t.query.replace(/,count\:.+/,"}"),await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),await getFindQuery({name:"space_users"},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),t.$value="$"+e.name,`
742
782
  var filters = [['parent', '=', null]];
@@ -824,7 +864,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
824
864
  }
825
865
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
826
866
  return api;
827
- `;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,l){var n=await getReferenceTo(i);if(n){const s=await getUISchema(n.objectName),d=[];let e=0;const c=[],p=[];var o=_$1__namespace.find(s.list_views,(e,t)=>"all"===t);o&&o.columns?_$1__namespace.each(o.columns,function(e){_$1__namespace.isString(e)&&s.fields[e]?p.push(s.fields[e]):_$1__namespace.isObject(e)&&s.fields[e.field]&&p.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1__namespace.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),p.push(e));}),_$1__namespace.each(_$1__namespace.sortBy(p,"sort_no"),function(t){e<5&&(_$1__namespace.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));});const m={[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField};_$1__namespace.each(d,e=>{e.hidden||(m[e.name]=e);});o=await getApi(s,null,m,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
867
+ `;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,l){var o=await getReferenceTo(i);if(o){const s=await getUISchema(o.objectName),d=[];let e=0;const c=[],p=[];var n=_$1__namespace.find(s.list_views,(e,t)=>"all"===t);n&&n.columns?_$1__namespace.each(n.columns,function(e){_$1__namespace.isString(e)&&s.fields[e]?p.push(s.fields[e]):_$1__namespace.isObject(e)&&s.fields[e.field]&&p.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1__namespace.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),p.push(e));}),_$1__namespace.each(_$1__namespace.sortBy(p,"sort_no"),function(t){e<5&&(_$1__namespace.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));});const m={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};_$1__namespace.each(d,e=>{e.hidden||(m[e.name]=e);});n=await getApi(s,null,m,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});n.data.$term="$term",n.data.$self="$$",n.requestAdaptor=`
828
868
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
829
869
  var filters = [];
830
870
  var pageSize = api.data.pageSize || 10;
@@ -838,9 +878,9 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
838
878
  filters = [["name", "contains", "'+ api.data.$term +'"]];
839
879
  }else if(selfData.op === 'loadOptions' && selfData.value){
840
880
  if(selfData.value?.indexOf(',') > 0){
841
- filters = [["${n.valueField.name}", "=", selfData.value.split(',')]];
881
+ filters = [["${o.valueField.name}", "=", selfData.value.split(',')]];
842
882
  }else{
843
- filters = [["${n.valueField.name}", "=", selfData.value]];
883
+ filters = [["${o.valueField.name}", "=", selfData.value]];
844
884
  }
845
885
  }
846
886
  if(allowSearchFields){
@@ -863,7 +903,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
863
903
 
864
904
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
865
905
  return api;
866
- `,o.adaptor=`
906
+ `,n.adaptor=`
867
907
  const enable_tree = ${s.enable_tree};
868
908
  if(enable_tree){
869
909
  const records = payload.data.rows;
@@ -891,7 +931,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
891
931
  payload.data.rows = treeRecords;
892
932
  }
893
933
  return payload;
894
- `;let t=20,a=(s.paging&&!1===s.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{labelFieldName:s.NAME_FIELD_KEY,top:t,...l});n={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:o,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(n.multiple=!0,n.extractValue=!0),r&&(n.tpl=await getLookupTpl(i,l)),n}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e);let r;(r=i?await getApi({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),_$1__namespace.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
934
+ `;let t=20,a=(s.paging&&!1===s.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{labelFieldName:s.NAME_FIELD_KEY,top:t,...l});o={type:getAmisStaticFieldType("picker",r),labelField:o.labelField.name,valueField:o.valueField.name,modalMode:"dialog",source:n,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(o.multiple=!0,o.extractValue=!0),r&&(o.tpl=await getLookupTpl(i,l)),o}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e);let r;(r=i?await getApi({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),_$1__namespace.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
895
935
  var filters = '[]';
896
936
  var top = 10;
897
937
  if(api.data.$term){
@@ -904,11 +944,70 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
904
944
  `,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
905
945
  payload.data.options = eval(${e._optionsFunction})(api.data);
906
946
  return payload;
907
- `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}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)}:_$1__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?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__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=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1__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(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=_$1.cloneDeep(i),t=(_$1.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.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,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.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:r,required:!1,showSystemFields:!0})));if(t)return t}}async function getObjectFieldsFilterButtonSchema(e){return {type:"button",label:"",icon:"fa fa-search",className:"bg-transparent p-0 ml-1",onEvent:{click:{actions:[{actionType:"setValue",args:{value:{showFieldsFilter:"${!showFieldsFilter}"}},componentId:"service_"+("listview_"+e.name)}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];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,{}))&&l.push(r));var n=_$1.map(l,"name");return a.enableSearchableFieldsVisibleOn&&l.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",persistData:"crud:${id}",persistDataKeys:n,body:l}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return {type:"service",id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
908
- const supperData = data.__super;
909
- const searchableFieldsStoreKey = \`\${supperData.objectName}_\${supperData.listName}_searchable_fields\`;
947
+ `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}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)}:_$1__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?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__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=_$1__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1__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(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=_$1.cloneDeep(i),t=(_$1.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.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,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.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:r,required:!1,showSystemFields:!0})));if(t)return t}}async function getObjectFieldsFilterButtonSchema(e){return {type:"button",label:"",icon:"fa fa-search",className:"bg-transparent p-2 ml-1",onEvent:{click:{actions:[{actionType:"setValue",args:{value:{showFieldsFilter:"${!showFieldsFilter}"}},componentId:"service_"+("listview_"+e.name)}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];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,{}))&&l.push(r));_$1.map(l,"name"),a.enableSearchableFieldsVisibleOn&&l.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:l,onEvent:{broadcastSearchableFieldsChange:{actions:[{actionType:"custom",script:`
948
+ const data = event.data;
949
+ const listViewId = data.listViewId;
950
+ const searchableFields = data.fields;
951
+ const preSearchableFields = data.__super.__super.fields;
952
+ const removedFields = _.difference(preSearchableFields, searchableFields);
953
+ const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
954
+ let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
955
+ if(localListViewProps){
956
+ localListViewProps = JSON.parse(localListViewProps);
957
+ let removedKeys = [];
958
+ _.each(localListViewProps, function(n,k){
959
+ // __searchable__开头的不在searchableFields范围则清除其值
960
+ let isRemoved = !!removedFields.find(function(fieldName){
961
+ return new RegExp("__searchable__.*" + fieldName + "$").test(k);
962
+ });
963
+ if(isRemoved){
964
+ removedKeys.push(k);
965
+ }
966
+ });
967
+ const removedValues = {};
968
+ removedKeys.forEach(function(key){
969
+ delete localListViewProps[key];
970
+ removedValues[key] = "";
971
+ });
972
+ doAction({
973
+ actionType: 'setValue',
974
+ args: {
975
+ value: removedValues
976
+ }
977
+ });
978
+ localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
979
+ }
980
+ `}]}}}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return {type:"service",data:{listViewId:"${listViewId}"},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
981
+ const searchableFieldsStoreKey = location.pathname + "/searchable_fields/" + data.listViewId ;
910
982
  let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);
983
+ if(!defaultSearchableFields && data.uiSchema){
984
+ let listView = data.uiSchema.list_views[data.listName];
985
+ defaultSearchableFields = listView && listView.searchable_fields;
986
+ if(defaultSearchableFields && defaultSearchableFields.length){
987
+ defaultSearchableFields = _.map(defaultSearchableFields, 'field');
988
+ }
989
+ }
990
+ if(_.isEmpty(defaultSearchableFields) && data.uiSchema){
991
+ defaultSearchableFields = _.map(
992
+ _.filter(_.values(data.uiSchema.fields), (field) => {
993
+ return field.searchable;
994
+ }),
995
+ "name"
996
+ );
997
+ }
911
998
  setData({ filterFormSearchableFields: defaultSearchableFields });
999
+
1000
+ const listViewPropsStoreKey = location.pathname + "/crud/" + data.listViewId ;
1001
+ let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
1002
+ if(localListViewProps){
1003
+ localListViewProps = JSON.parse(localListViewProps);
1004
+ let filterFormValues = _.pickBy(localListViewProps, function(n,k){
1005
+ return /^__searchable__/g.test(k);
1006
+ });
1007
+ if(!_.isEmpty(filterFormValues)){
1008
+ setData({ filterFormValues });
1009
+ }
1010
+ }
912
1011
  `},body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[t],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:`
913
1012
  const appId = event.data.appId;
914
1013
  const objectName = event.data.objectName;
@@ -918,20 +1017,65 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
918
1017
  var filterFormValues = filterForm.getValues();
919
1018
  var listView = scope.getComponentById("listview_" + objectName);
920
1019
  listView.handleFilterSubmit(filterFormValues);
921
- `}]}}},{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:"const listName = context.props.data.listName;const objectName = context.props.data.objectName;\ndoAction({\n actionType: 'setValue',\n args: {\n value: {filterFormSearchableFields: context.props.data.fields}\n },\n componentId: \"service_listview_filter_form_\" + objectName,\n})\n; const searchableFieldsStoreKey = `${objectName}_${listName}_searchable_fields`; localStorage.setItem(searchableFieldsStoreKey, context.props.data.fields);"},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",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 slds-grid slds-grid_vertical slds-nowrap"},visibleOn:"this.showFieldsFilter",className:"px-1 py-1 bg-white b-b"}}const 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 l,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
922
- var $user=${JSON.stringify(r)}; return `+l.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(n));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:l="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+l);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:"horizontal"};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",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",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:"p-0",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:`
1020
+ `}]}}},{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:`
1021
+ const data = context.props.data;
1022
+ const listName = data.listName;
1023
+ const objectName = data.objectName;
1024
+ const value = data.fields;
1025
+ doAction({
1026
+ actionType: 'setValue',
1027
+ args: {
1028
+ value: { filterFormSearchableFields: value }
1029
+ },
1030
+ componentId: "service_listview_filter_form_" + objectName,
1031
+ });
1032
+ const searchableFieldsStoreKey = location.pathname + "/searchable_fields/" + data.listViewId;
1033
+ localStorage.setItem(searchableFieldsStoreKey, value);
1034
+ `},{actionType:"broadcast",eventName:"broadcastSearchableFieldsChange",args:{eventName:"broadcastSearchableFieldsChange"},data:{fields:"${event.data.fields}"}},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",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 slds-grid slds-grid_vertical slds-nowrap"},visibleOn:"this.showFieldsFilter",className:"px-1 py-1 bg-white b-b"}}function resetLocalListViewPropsWithSearchableFields(e,t){"string"==typeof t&&(t=t.split(","));e=location.pathname+"/crud/"+e;let a=localStorage.getItem(e);if(a){var i,r=[];for(i in a=JSON.parse(a))new RegExp("__searchable__.*").test(i)&&!t.find(function(e){return new RegExp("__searchable__.*"+e+"$").test(i)})&&r.push(i);r.forEach(function(e){delete a[e];}),localStorage.setItem(e,JSON.stringify(a));}}const 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 l,o;if(void 0===e&&(e={}),o=getParentPath(a),o=getValueByPath(e,o)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
1035
+ var $user=${JSON.stringify(r)}; return `+l.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(o));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:l="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+l);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:"horizontal"};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}",objectName:"${objectName}",context:"${context}",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:"p-0",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:`
923
1036
  if(payload.errors){
924
1037
  payload.status = 2;
925
1038
  payload.msg = payload.errors[0].message;
926
1039
  }
927
1040
  return payload;
928
- `},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"markdown",className:"whitespace-nowrap",html:!0},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}),getSchema$5=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"amis_button"}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$5()})},getGlobalData=()=>({now:new Date});function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1__default["default"].isBoolean(t)?t.toString():t)return 0<t.indexOf("Meteor.")||0<t.indexOf("Creator.")||0<t.indexOf("Session.")?(console.warn("无效的visible",t),"false"):t.trim().startsWith("function")?t+`.apply({
1041
+ `},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"markdown",className:"whitespace-nowrap",html:!0},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}),getSchema$5=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=SteedosUI?.getRef(`amis-${e}-${t}-listview`).getComponentById("listview_"+a.name);console.log("listViewRef",e),_.isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$5()})},getGlobalData=()=>({now:new Date});function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1__default["default"].isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
929
1042
  object: uiSchema
930
- }, [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}}const getButtonVisible=(t,e)=>{if(t._visible&&(_$1__default["default"].startsWith(_$1__default["default"].trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default["default"].isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default["default"].isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=_$1__default["default"].sortBy(_$1__default["default"].values(t.actions),"sort");return _$1__default["default"].has(t,"allow_customActions")&&(e=_$1__default["default"].filter(e,e=>_$1__default["default"].include(t.allow_customActions,e.name))),_$1__default["default"].has(t,"exclude_actions")&&(e=_$1__default["default"].filter(e,e=>!_$1__default["default"].include(t.exclude_actions,e.name))),_$1__default["default"].each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default["default"].map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default["default"].filter(e,e=>_$1__default["default"].indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default["default"].sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default["default"].sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>{if("cms_files"!==e.objectName)return "standard_new"==e.name})},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=_$1__default["default"].find(r,e=>e.name===t);if(r)return "standard_edit"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:r}},execute=(e,t)=>{if(e.todo)return _$1__default["default"].isString(e.todo)&&_$1__default["default"].startsWith(_$1__default["default"].trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default["default"].isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;async function getObjectListHeader(a,e,t){t=t||{};var{icon:i,label:r}=a;const l=[];_$1.each(a.list_views,(e,t)=>{l.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t});});var n=getListViewButtons(a,{}),n=_$1.map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),o=new RegExp("_","g"),o=i&&i.replace(o,"-"),s="listview_"+a.name,o={type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon slds-icon_container slds-icon-standard-${o} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}},{type:"dropdown-button",className:"leading-none",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",hideCaret:!0,btnClassName:"bg-transparent border-none text-lg font-bold p-0",buttons:l}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:n,md:"auto"}],align:"between"},i={type:"grid",align:"between",columns:[{body:[],md:"auto"},{body:[await getObjectFieldsFilterButtonSchema(a),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:s,className:"bg-transparent p-0 ml-1"},{type:"button",label:"",icon:"fa fa-filter",actionType:"custom",className:"bg-transparent p-0 ml-1",id:"u:c20cb87d96c9",onEvent:{click:{actions:[{actionType:"custom",script:'const eventData = event.data;\nconst uiSchema = eventData.uiSchema;\nconst listview_id = eventData.listName;\nvar selectedListView = uiSchema.list_views[listview_id]\nvar filter = eventData.filter;\n\nSteedosUI.ListView.showFilter(uiSchema.name, {\n listView: selectedListView,\n data: {\n filters: SteedosUI.ListView.getVisibleFilter(selectedListView, filter),\n },\n onFilterChange: (filter) => {\n doAction({\n componentId: `service_listview_${uiSchema.name}`,\n actionType: \'setValue\',\n "args": {\n "value": {\n filter: filter\n }\n }\n });\n doAction({\n componentId: `listview_${uiSchema.name}`,\n actionType: \'reload\',\n "args": {\n filter: filter\n }\n });\n }\n});'}],weight:0}}}],md:"auto"}],className:"-mt-3"};let d=[o,i];t.onlyFirstLine?d=[o]:t.onlySecordLine&&(d=[i]);r=[{type:"wrapper",body:d,size:"xs",className:"p-t-sm p-b-sm p-l pr-4 border-b py-4"}],n=_$1.keys(a.fields),s=_$1.sortBy(_$1.compact(_$1.map(n,e=>a.fields[e])),"sort_no"),o=await getObjectFieldsFilterBarSchema(a,s,{isListviewInit:t.isListviewInit});return r.push(o),r}async function getObjectRecordDetailHeader(e,t){var{name:a,label:i,icon:r}=e,l=getObjectDetailButtons(e,{}),n=getObjectDetailMoreButtons(e,{recordId:t,objectName:a}),l=_$1.map(l,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),n=_$1.map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e)})),n=(l.push({type:"steedos-dropdown-button",label:"",buttons:n,className:"slds-icon"}),new RegExp("_","g")),n=[{type:"service",body:[{type:"panel",title:"标题",body:[],header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${r&&r.replace(n,"-")}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${r}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:13},className:"leading-none"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:20,fontWeight:"bold",textAlign:"left"},className:"leading-none"}]}]}],md:"auto"},{body:l,md:"auto"}],align:"between"}],size:"xs"},affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}],messages:{}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:a,_id:t,recordPermissions:e.permissions,uiSchema:e},body:n}}async function getObjectRecordDetailRelatedListHeader(e){var{icon:t,label:a}=e,e=await getObjectRelatedListButtons(e,{}),e=_$1.map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),i=new RegExp("_","g");return {type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${t&&t.replace(i,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${t}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+a,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:e,md:"auto"}],align:"between"}],size:"xs",className:"bg-white p-t-sm p-b-sm px-4 border-b"}}async function getObjectRelatedListHeader(e,t,a){}const getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),_$1.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,a)=>{e=e.replace(/\./g,"_");a=getGraphqlFieldsQuery(a);let i="";t=[`id: "${t}"`];return `{record:${e}__findOne${i=0<t.length?`(${t.join(",")})`:i}{${a}}}`},getRecord=async(e,t,a)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,a)})})).data.record},getRelatedsCount=async(t,e)=>{const a=[];_$1.each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`);});e=`
1043
+ }, [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}}const getButtonVisible=(t,e)=>{if(t._visible&&(_$1__default["default"].startsWith(_$1__default["default"].trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default["default"].isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default["default"].isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=_$1__default["default"].sortBy(_$1__default["default"].values(t.actions),"sort");return _$1__default["default"].has(t,"allow_customActions")&&(e=_$1__default["default"].filter(e,e=>_$1__default["default"].include(t.allow_customActions,e.name))),_$1__default["default"].has(t,"exclude_actions")&&(e=_$1__default["default"].filter(e,e=>!_$1__default["default"].include(t.exclude_actions,e.name))),_$1__default["default"].each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default["default"].map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default["default"].filter(e,e=>_$1__default["default"].indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default["default"].sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default["default"].sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"list"==e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=_$1__default["default"].find(r,e=>e.name===t);if(r)return "standard_edit"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:"standard_delete_many"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDeleteMany(i,a)}:r}},execute=(e,t)=>{if(e.todo)return _$1__default["default"].isString(e.todo)&&_$1__default["default"].startsWith(_$1__default["default"].trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default["default"].isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;async function getObjectListHeader(a,e,t){t=t||{};var{icon:i,label:r}=a;const l=[];_$1.each(a.list_views,(e,t)=>{l.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t});});var o=getListViewButtons(a,{}),o=_$1.map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),n=new RegExp("_","g"),n=i&&i.replace(n,"-"),s="listview_"+a.name,n={type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon slds-icon_container slds-icon-standard-${n} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}},{type:"dropdown-button",className:"leading-none",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",hideCaret:!0,btnClassName:"bg-transparent border-none text-lg font-bold p-0",buttons:l}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:o,md:"auto"}],align:"between"},i={type:"grid",align:"between",columns:[{body:[],md:"auto"},{body:[await getObjectFieldsFilterButtonSchema(a),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:s,className:"bg-transparent p-2 ml-1"},{type:"button",label:"",icon:"fa fa-filter",actionType:"custom",className:"bg-transparent p-2 ml-1",id:"u:c20cb87d96c9",onEvent:{click:{actions:[{actionType:"custom",script:`
1044
+ const eventData = event.data;
1045
+ const uiSchema = eventData.uiSchema;
1046
+ const listName = eventData.listName;
1047
+ const listViewId = eventData.listViewId;
1048
+ var selectedListView = uiSchema.list_views[listName]
1049
+ var filter = eventData.filter;
1050
+ SteedosUI.ListView.showFilter(uiSchema.name, {
1051
+ listView: selectedListView,
1052
+ data: {
1053
+ filters: SteedosUI.ListView.getVisibleFilter(selectedListView, filter, { listViewId }),
1054
+ },
1055
+ onFilterChange: (filter) => {
1056
+ doAction({
1057
+ componentId: \`service_listview_\${uiSchema.name}\`,
1058
+ actionType: 'setValue',
1059
+ "args": {
1060
+ "value": {
1061
+ filter: filter
1062
+ }
1063
+ }
1064
+ });
1065
+ doAction({
1066
+ componentId: \`listview_\${uiSchema.name}\`,
1067
+ actionType: 'reload',
1068
+ "args": {
1069
+ filter: filter
1070
+ }
1071
+ });
1072
+ }
1073
+ });
1074
+ `}],weight:0}}}],md:"auto"}],className:"-mt-3"};let d=[n,i];t.onlyFirstLine?d=[n]:t.onlySecordLine&&(d=[i]);r=[{type:"wrapper",body:d,size:"xs",className:"p-t-sm p-b-sm p-l pr-4 border-b py-4"}],o=_$1.keys(a.fields),s=_$1.sortBy(_$1.compact(_$1.map(o,e=>a.fields[e])),"sort_no"),n=await getObjectFieldsFilterBarSchema(a,s,{isListviewInit:t.isListviewInit});return r.push(n),r}async function getObjectRecordDetailHeader(e,t){var{name:a,label:i,icon:r}=e,l=getObjectDetailButtons(e,{}),o=getObjectDetailMoreButtons(e,{recordId:t,objectName:a}),l=_$1.map(l,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),o=_$1.map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e)})),o=(l.push({type:"steedos-dropdown-button",label:"",buttons:o,className:"slds-icon ml-1 border-gray-200 rounded-none"}),new RegExp("_","g")),o=[{type:"service",body:[{type:"panel",title:"标题",body:[],header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${r&&r.replace(o,"-")}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${r}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:13},className:"leading-none"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:20,fontWeight:"bold",textAlign:"left"},className:"leading-none"}]}]}],md:"auto"},{body:l,md:"auto"}],align:"between"}],size:"xs"},affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}],messages:{}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:a,_id:t,recordPermissions:e.permissions,uiSchema:e},body:o}}async function getObjectRecordDetailRelatedListHeader(e){var{icon:t,label:a}=e,e=await getObjectRelatedListButtons(e,{}),e=_$1.map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),i=new RegExp("_","g");return {type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${t&&t.replace(i,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${t}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:`<a href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${a}(\${$count})</a>`,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:e,md:"auto"}],align:"between"}],size:"xs",className:"bg-white p-t-sm p-b-sm px-4 border-b"}}async function getObjectRelatedListHeader(e,t,a){}const getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),_$1.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,a)=>{e=e.replace(/\./g,"_");a=getGraphqlFieldsQuery(a);let i="";t=[`id: "${t}"`];return `{record:${e}__findOne${i=0<t.length?`(${t.join(",")})`:i}{${a}}}`},getRecord=async(e,t,a)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,a)})})).data.record},getRelatedsCount=async(t,e)=>{const a=[];_$1.each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`);});e=`
931
1075
  {
932
1076
  ${a.join(",")}
933
1077
  }
934
- `;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){return "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}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),l=_$1.find(r.list_views,(e,t)=>t===(a=a||t));if(!l)return {uiSchema:r};if(l.enable_amis_schema&&l.amis_schema)return {uiSchema:r,isCustom:!0,amisSchema:_$1.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema};var n=getListViewColumns(l,i.formFactor),o=getListViewSort(l),s=i.defaults||{};!s.headerSchema&&i.showHeader&&(s.headerSchema=await getObjectListHeader(r)),i.showHeader||(s.headerSchema=null);try{var d,c=location.pathname+"/crud/"+i.listViewId,p=localStorage.getItem(c);p&&(p=JSON.parse(p),d={},p.orderBy&&(d.orderBy=p.orderBy),p.orderDir&&(d.orderDir=p.orderDir),p.perPage&&(d.defaultParams={perPage:p.perPage}),s.listSchema=_$1.defaultsDeep({},d,s.listSchema||{}));}catch(e){console.error("本地存储中crud参数解析异常:",e);}return i.defaults=s,{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:n,extraColumns:l.extra_columns,filters:l.filters,sort:o,ctx:i}}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l=i.sort;l||(o=i.sortField,s=i.sortOrder,o&&(l=o+" "+s||"asc"));let n=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?n.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});var o=i.extraColumns,s=(o&&_$1.each(o,function(e){_$1.isString(e)?n.push({extra:!0,name:e}):_$1.isObject(e)&&n.push({extra:!0,name:e.field});}),await getObjectList(r,n,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l,buttons:await getListViewItemButtons(r,i)}));return {uiSchema:r,amisSchema:s}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,fields:l}=i;return {uiSchema:i,amisSchema:(await getListSchema(null,a,_$1.keys(r)[0],{globalFilter:[_$1.findKey(l,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e],defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:await getObjectRecordDetailRelatedListHeader(i)},showHeader:!0})).amisSchema}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(_$1.isEmpty(n))for(const m of [].concat(e.details||[])){var o=m.split("."),s=await getUISchema(o[0]);if(s){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],l.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(s,{isMobile:!1})})});}}else for(const u of n){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);}),l.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],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 l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let n=null;var o=await getField(a,i),o=(n=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:n,formFactor:l}),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),l=[],n=[].concat(e.related_lists||[]);if(_$1.isEmpty(n))for(const u of [].concat(e.details||[])){var o,s,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],s=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),s.headerSchema=c,s.headerToolbar=[],s.columnsTogglable=!1,s.globalFilter=s.filters,delete s.ctx,o.amisSchema={type:"service",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...s,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",[d[1]]:getRelatedFieldValue(i,"${recordId}",o.uiSchema,d[1])}}]},l.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}));}else for(const f of n){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);}),l.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 l}async function getFormPageInitSchema(e){return {type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){var i=await getUISchema(e),i=(_$1.first(_$1.keys(i.list_views)),await getObjectListHeader(i));return {type:"page",bodyClassName:"p-0",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,headerSchema:i}]}}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:"reload",data:{name:"${record.name}"}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"bg-white mb-4",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(e,a,t){t=t||{};var i,r=await getUISchema(e),l=_$1.find(r.list_views,(e,t)=>t===a);let n={};return l&&(t=getListViewColumns(l,t.formFactor),i=getListViewSort(l),r=await getObjectListHeader(r,a,{onlySecordLine:!0,isListviewInit:!0}),n={type:"steedos-object-table",objectApiName:e,columns:t,extraColumns:l.extra_columns,filters:l.filters,sort:i,headerSchema:r}),{type:"page",bodyClassName:"p-0",regions:["body"],body:[n],data:{listName:a}}}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=`
1078
+ `;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){return "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}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),l=_$1.find(r.list_views,(e,t)=>t===(a=a||t));if(!l)return {uiSchema:r};if(l.enable_amis_schema&&l.amis_schema)return {uiSchema:r,isCustom:!0,amisSchema:_$1.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema};var o=getListViewColumns(l,i.formFactor),n=getListViewSort(l),s=i.defaults||{};!s.headerSchema&&i.showHeader&&(s.headerSchema=await getObjectListHeader(r)),i.showHeader||(s.headerSchema=null);try{var d,c=location.pathname+"/crud/"+i.listViewId,p=localStorage.getItem(c);p&&(p=JSON.parse(p),d={},p.orderBy&&(d.orderBy=p.orderBy),p.orderDir&&(d.orderDir=p.orderDir),p.perPage&&(d.defaultParams={perPage:p.perPage}),s.listSchema=_$1.defaultsDeep({},d,s.listSchema||{}));}catch(e){console.error("本地存储中crud参数解析异常:",e);}return i.defaults=s,{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:o,extraColumns:l.extra_columns,filters:l.filters,sort:n,ctx:i}}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l=i.sort;l||(n=i.sortField,s=i.sortOrder,n&&(l=n+" "+s||"asc"));let o=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?o.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&o.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});var n=i.extraColumns,s=(n&&_$1.each(n,function(e){_$1.isString(e)?o.push({extra:!0,name:e}):_$1.isObject(e)&&o.push({extra:!0,name:e.field});}),await getObjectList(r,o,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l,buttons:await getListViewItemButtons(r,i)}));return {uiSchema:r,amisSchema:s}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t)}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],o=[].concat(e.related_lists||[]);if(_$1.isEmpty(o))for(const m of [].concat(e.details||[])){var n=m.split("."),s=await getUISchema(n[0]);if(s){let e=null;var d=await getField(n[0],n[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[n[1]+"/o","=",i],[n[1]+"/ids","=",a]]:[""+n[1],"=",a],l.push({masterObjectName:i,object_name:n[0],foreign_key:n[1],schema:await getListSchema(t,n[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(s,{isMobile:!1})})});}}else for(const u of o){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);}),l.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],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 l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let o=null;var n=await getField(a,i),n=(o=n._reference_to||n.reference_to&&!_$1.isString(n.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:o,formFactor:l}),record:await getRecord(t,r,[n.NAME_FIELD_KEY]),masterObjectUISchema:n}}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),l=[],o=[].concat(e.related_lists||[]);if(_$1.isEmpty(o))for(const u of [].concat(e.details||[])){var n,s,d=u.split("."),c=await getUISchema(d[0]);c&&(((n=await getField(d[0],d[1]))._reference_to||n.reference_to&&!_$1.isString(n.reference_to))&&d[1],d[1],s=(n=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),s.headerSchema=c,s.headerToolbar=[],s.columnsTogglable=!1,s.globalFilter=s.filters,delete s.ctx,n.amisSchema={type:"service",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...s,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:getRelatedFieldValue(i,"${recordId}",n.uiSchema,d[1])}}}]},l.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:n}));}else for(const f of o){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);}),l.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 l}async function getRecordDetailRelatedListSchema(t,e,a,i,r,l){var o=await getUISchema(a),{list_views:n,fields:s}=o,n=_$1.keys(n)[0];let d=null;s=await getField(a,i=i||_$1.findKey(s,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t})),d=s._reference_to||s.reference_to&&!_$1.isString(s.reference_to)?[[i+"/o","=",t],[i+"/ids","=",e]]:[""+i,"=",e],s=await getObjectRecordDetailRelatedListHeader(o),e="steedos-record-related-list-"+a,n=(await getListSchema(null,a,n,{globalFilter:d,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:s},showHeader:!0,top:r,setDataToComponentId:e,tableHiddenOn:l?"this.$count === 0":null})).amisSchema;return {uiSchema:o,amisSchema:{type:"service",id:e,className:"steedos-record-related-list bg-white mb-1 border",data:{masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...n,data:{relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,"${recordId}",o,i)}}}]}}}async function getFormPageInitSchema(e){return {type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){var i=await getUISchema(e),i=(_$1.first(_$1.keys(i.list_views)),await getObjectListHeader(i));return {type:"page",bodyClassName:"p-0",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,headerSchema:i}]}}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:"reload",data:{name:"${record.name}"}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"bg-white mb-4",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(e,a,t){t=t||{};var i,r=await getUISchema(e),l=_$1.find(r.list_views,(e,t)=>t===a);let o={};return l&&(t=getListViewColumns(l,t.formFactor),i=getListViewSort(l),r=await getObjectListHeader(r,a,{onlySecordLine:!0,isListviewInit:!0}),o={type:"steedos-object-table",objectApiName:e,columns:t,extraColumns:l.extra_columns,filters:l.filters,sort:i,headerSchema:r}),{type:"page",bodyClassName:"p-0",regions:["body"],body:[o],data:{listName:a}}}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=`
935
1079
  {
936
1080
  notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
937
1081
  _id,name,body,related_to,related_name,url,owner,is_read,from,created
@@ -999,6 +1143,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
999
1143
  getRecordDetailRelatedListSchema: getRecordDetailRelatedListSchema,
1000
1144
  getRecordPageInitSchema: getRecordPageInitSchema,
1001
1145
  getRecordPermissions: getRecordPermissions,
1146
+ getRelatedFieldValue: getRelatedFieldValue,
1002
1147
  getRelatedsCount: getRelatedsCount,
1003
1148
  getRootUrl: getRootUrl,
1004
1149
  getSearchableFieldsFilterSchema: getSearchableFieldsFilterSchema,
@@ -1020,6 +1165,7 @@ var index_esm = /*#__PURE__*/Object.freeze({
1020
1165
  parseSingleExpression: parseSingleExpression,
1021
1166
  registerRemoteAssets: registerRemoteAssets,
1022
1167
  registerRenders: registerRenders,
1168
+ resetLocalListViewPropsWithSearchableFields: resetLocalListViewPropsWithSearchableFields,
1023
1169
  setEnv: setEnv,
1024
1170
  setEnvs: setEnvs,
1025
1171
  setRootUrl: setRootUrl,
@@ -1387,11 +1533,11 @@ var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0,
1387
1533
  }); };
1388
1534
 
1389
1535
  var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, void 0, void 0, function () {
1390
- var objectApiName, recordId, relatedObjectApiName;
1536
+ var objectApiName, recordId, relatedObjectApiName, relatedKey, top, hiddenEmptyTable, schema;
1391
1537
  return __generator(this, function (_a) {
1392
1538
  switch (_a.label) {
1393
1539
  case 0:
1394
- objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data;
1540
+ objectApiName = props.objectApiName, recordId = props.recordId, relatedObjectApiName = props.relatedObjectApiName, props.data, relatedKey = props.relatedKey, top = props.top, hiddenEmptyTable = props.hiddenEmptyTable;
1395
1541
  if (!objectApiName || !relatedObjectApiName) {
1396
1542
  return [2 /*return*/, {
1397
1543
  "type": "alert",
@@ -1401,18 +1547,20 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
1401
1547
  "className": "mb-3"
1402
1548
  }];
1403
1549
  }
1404
- return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName)];
1405
- case 1: return [2 /*return*/, (_a.sent()).amisSchema];
1550
+ return [4 /*yield*/, getRecordDetailRelatedListSchema(objectApiName, recordId, relatedObjectApiName, relatedKey, top, hiddenEmptyTable)];
1551
+ case 1:
1552
+ schema = (_a.sent()).amisSchema;
1553
+ return [2 /*return*/, schema];
1406
1554
  }
1407
1555
  });
1408
1556
  }); };
1409
1557
 
1410
1558
  var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
1411
- var objectApiName, recordId, appId, formFactor, relatedLists;
1412
- return __generator(this, function (_a) {
1413
- switch (_a.label) {
1559
+ var objectApiName, recordId, appId, formFactor, _a, top, relatedLists;
1560
+ return __generator(this, function (_b) {
1561
+ switch (_b.label) {
1414
1562
  case 0:
1415
- objectApiName = props.objectApiName, recordId = props.recordId, appId = props.appId, props.data, formFactor = props.formFactor;
1563
+ objectApiName = props.objectApiName, recordId = props.recordId, appId = props.appId, props.data, formFactor = props.formFactor, _a = props.top, top = _a === void 0 ? 5 : _a;
1416
1564
  if (!objectApiName) {
1417
1565
  return [2 /*return*/, {
1418
1566
  "type": "alert",
@@ -1424,7 +1572,7 @@ var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, v
1424
1572
  }
1425
1573
  return [4 /*yield*/, getObjectRelatedList(appId, objectApiName, recordId, formFactor)];
1426
1574
  case 1:
1427
- relatedLists = _a.sent();
1575
+ relatedLists = _b.sent();
1428
1576
  return [2 /*return*/, {
1429
1577
  type: 'service',
1430
1578
  body: _$1.map(relatedLists, function (item) {
@@ -1434,6 +1582,9 @@ var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, v
1434
1582
  recordId: recordId,
1435
1583
  relatedObjectApiName: item.object_name,
1436
1584
  foreign_key: item.foreign_key,
1585
+ relatedKey: item.foreign_key,
1586
+ top: top,
1587
+ hiddenEmptyTable: true
1437
1588
  };
1438
1589
  })
1439
1590
  }];