@steedos-widgets/amis-object 0.0.6 → 0.0.7

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.
@@ -155,7 +155,7 @@
155
155
  /** Used to infer the `Object` constructor. */
156
156
  funcToString.call(Object);
157
157
 
158
- const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.settings;async function fetchAPI(e,t={credentials:"include"}){const a={"Content-Type":"application/json"};var i=getAuthorization();i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include";const r=await fetch(""+getRootUrl()+e,t);if(401===r.status)throw new Error(401);i=await r.json();if(i.errors)throw console.error(i.errors),new Error("Failed to fetch API");return i}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}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)),"date"!==l.type&&"datetime"!=l.type&&"boolean"!=l.type||a.push(""+l.name),"date"!==l.type&&"datetime"!=l.type&&"boolean"!=l.type&&"select"!=l.type&&"file"!=l.type||i.push(""+l.name));return i=_$1__namespace.uniq(i),a=_$1__namespace.uniq(a),0<i.length?`${a.join(",")},_display{${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=>{"image"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
158
+ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.settings;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 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}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"],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?`
159
159
  let imgFieldsKeys = ${JSON.stringify(t)};
160
160
  let imgFields = ${JSON.stringify(a)};
161
161
  imgFieldsKeys.forEach((item)=>{
@@ -225,7 +225,7 @@
225
225
  ${getSaveDataTpl(e)}
226
226
  api.data = {query: query.replace('{__saveData}', __saveData)};
227
227
  return api;
228
- `}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="";return e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(t=",parent,children"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}},count:${e.name}__count(filters:{__filters})}`}}function getApi$2(e){if(!e)return "${context.rootUrl}/graphql"}const Router={getAppPath({formFactor:e,appId:t}){return `/${"SMALL"===e?"mapp":"app"}/`+t},getPagePath(){},getObjectListViewPath({formFactor:e,appId:t,objectName:a,listViewName:i}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/grid/`+i},getObjectDetailPath({formFactor:e,appId:t,objectName:a,recordId:i,listViewName:r}){return "instances"===a?`/workflow/space/\${context.tenantId}/${r}/`+i:`/${"SMALL"===e?"mapp":"app"}/${t}/${a}/view/`+i},getObjectRelatedViewPath({formFactor:e,appId:t,masterObjectName:a,masterRecordId:i,objectName:r,foreignKey:l}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/${i}/${r}/grid?related_field_name=`+l}};function getDateTpl(e){return `<div>\${_display.${e.name}}</div>`}function getDateTimeTpl(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.tabId,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
228
+ `}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="";return e.enable_tree&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(t=",parent,children"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}},count:${e.name}__count(filters:{__filters})}`}}function getApi$2(e){if(!e)return "${context.rootUrl}/graphql"}const Router={getAppPath({formFactor:e,appId:t}){return `/${"SMALL"===e?"mapp":"app"}/`+t},getPagePath(){},getObjectListViewPath({formFactor:e,appId:t,objectName:a,listViewName:i}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/grid/`+i},getObjectDetailPath({formFactor:e,appId:t,objectName:a,recordId:i,listViewName:r}){return "instances"===a?`/workflow/space/\${context.tenantId}/${r}/`+i:`/${"SMALL"===e?"mapp":"app"}/${t}/${a}/view/`+i},getObjectRelatedViewPath({formFactor:e,appId:t,masterObjectName:a,masterRecordId:i,objectName:r,foreignKey:l}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/${i}/${r}/grid?related_field_name=`+l}};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>`}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.tabId,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
229
229
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
230
230
  `):`<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%>"}),`
231
231
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
@@ -237,7 +237,7 @@
237
237
  </span>
238
238
  <% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
239
239
  <span>······</span>
240
- <% } %>`}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"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t)}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function getTableColumns(e,t){const 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){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});}else a.push({type:"button",label:`\${${r.name}}`,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$1(e){return {perPage:e.top||config.listView.perPage}}async function getTableSchema(e,t){e=await getTableColumns(e,t=t||{});return {mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(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);});a=e.key_field||"_id";const s=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return s.data.$term="$term",s.data.$self="$$",s.data.filter="$filter",s.requestAdaptor=`
240
+ <% } %>`}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)}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};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});else {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});}else a.push({type:"button",label:`\${${r.name}}`,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$1(e){return {perPage:e.top||config.listView.perPage}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return {mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(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);});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.requestAdaptor=`
241
241
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
242
242
  ${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
243
243
  if(_.isEmpty(filters)){
@@ -307,7 +307,7 @@
307
307
  }
308
308
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
309
309
  return api;
310
- `,s.adaptor=`
310
+ `,t.adaptor=`
311
311
  const enable_tree = ${e.enable_tree};
312
312
  if(!enable_tree){
313
313
  _.each(payload.data.rows, function(item, index){
@@ -342,7 +342,7 @@
342
342
  payload.data.rows = treeRecords;
343
343
  }
344
344
  return payload;
345
- `,s}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 getListBody(e,t){const 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(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(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)),e=i.columns;return {mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...e]}}}async function getSource(e){const 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}"})),i=(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}"}));i.query=i.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+i.query.replace(/{(.+)}/,"$1}")),t.$value="$"+e.name;var r=`
345
+ `,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 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(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(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)),e=i.columns;return {mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...e]}}}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,`
346
346
  var filters = [['parent', '=', null]];
347
347
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
348
348
  var defaultValue = api.data.$value;
@@ -353,7 +353,7 @@
353
353
  }
354
354
  api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));
355
355
  return api;
356
- `;return {method:"post",url:getApi$2()+"?_id=${_id}",requestAdaptor:r,adaptor:`
356
+ `);return {method:"post",url:getApi$2()+"?_id=${_id}",requestAdaptor:a,adaptor:`
357
357
  const data = payload.data;
358
358
  data.children = data.children.map(function (child) {
359
359
  // child.defer = !!(child.children && child.children.length);
@@ -371,7 +371,7 @@
371
371
  delete data.defaultValueOptions;
372
372
  payload.data = { options: [data] };
373
373
  return payload;
374
- `,data:t,sendOn:"!!this._id || !!!this."+e.name,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getDeferApi(e){const t=await getFindQuery({name:"{__object_name}"},null,[],{alias:"options",filters:"{__filters}"});let a=e.filters;"function"==typeof(a="string"==typeof a?(a=new Function("return "+a))():a)&&(a=a(e)),t.query=t.query.replace(/,count\:.+/,"}"),t.query=t.query.replace("{_id}","{{__fields}}");e=`
374
+ `,data:t,sendOn:"!!this._id || !!!this."+e.name,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getDeferApi(e){var t=await getFindQuery({name:"{__object_name}"},null,[],{alias:"options",filters:"{__filters}"});let a=e.filters;"function"==typeof(a="string"==typeof a?(a=new Function("return "+a))():a)&&(a=a(e)),t.query=t.query.replace(/,count\:.+/,"}"),t.query=t.query.replace("{_id}","{{__fields}}");e=`
375
375
  var dep = api.query.dep;
376
376
  var ref = api.query.ref;
377
377
  var term = api.query.term;
@@ -408,7 +408,7 @@
408
408
  payload.data = data;
409
409
  }
410
410
  return payload;
411
- `,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSearchApi(e){const t=await getFindQuery({name:"space_users"},null,[{name:"user"},{name:"name"},{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",filters:"{__filters}"});t.query=t.query.replace(/,count\:.+/,"}");e=e.filters,e=`
411
+ `,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSearchApi(e){var t=await getFindQuery({name:"space_users"},null,[{name:"user"},{name:"name"},{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",filters:"{__filters}"}),e=(t.query=t.query.replace(/,count\:.+/,"}"),e.filters),e=`
412
412
  var term = api.query.term;
413
413
  var filters;
414
414
  if (term) {
@@ -428,7 +428,7 @@
428
428
  }
429
429
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
430
430
  return api;
431
- `;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||{};const 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){var o=await getUISchema(n.objectName);const s=[];let e=0;const d=[],c=[],u=(_$1__namespace.each(o.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),c.push(e));}),_$1__namespace.each(_$1__namespace.sortBy(c,"sort_no"),function(t){e<5&&(_$1__namespace.find(s,function(e){return e.name===t.name})||(e++,s.push(t),t.searchable&&d.push(t.name)));}),{[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField}),p=(_$1__namespace.each(s,e=>{e.hidden||(u[e.name]=e);}),await getApi({name:n.objectName},null,u,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'}));p.data.$term="$term",p.data.$self="$$",p.requestAdaptor=`
431
+ `;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){var o=await getUISchema(n.objectName);const d=[];let e=0;const c=[],u=[],p=(_$1__namespace.each(o.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),u.push(e));}),_$1__namespace.each(_$1__namespace.sortBy(u,"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)));}),{[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField});_$1__namespace.each(d,e=>{e.hidden||(p[e.name]=e);});var s=await getApi(o,null,p,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});s.data.$term="$term",s.data.$self="$$",s.requestAdaptor=`
432
432
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
433
433
  var filters = [];
434
434
  var pageSize = api.data.pageSize || 10;
@@ -437,7 +437,7 @@
437
437
  var orderBy = api.data.orderBy || '';
438
438
  var orderDir = api.data.orderDir || '';
439
439
  var sort = orderBy + ' ' + orderDir;
440
- var allowSearchFields = ${JSON.stringify(d)};
440
+ var allowSearchFields = ${JSON.stringify(c)};
441
441
  if(api.data.$term){
442
442
  filters = [["name", "contains", "'+ api.data.$term +'"]];
443
443
  }else if(selfData.op === 'loadOptions' && selfData.value){
@@ -457,9 +457,9 @@
457
457
  }
458
458
 
459
459
  const filtersFunction = ${i._filtersFunction};
460
-
460
+
461
461
  if(filtersFunction){
462
- const _filters = filtersFunction();
462
+ const _filters = filtersFunction(filters, api.data.$self.__super.__super);
463
463
  if(_filters && _filters.length > 0){
464
464
  filters.push(_filters);
465
465
  }
@@ -467,7 +467,35 @@
467
467
 
468
468
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
469
469
  return api;
470
- `;let t=20,a=(o.paging&&!1===o.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(s,{top:t,...l,actions:!1}):await getTableSchema(s,{top:t,...l});const m={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:p,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(m.multiple=!0,m.extractValue=!0),r&&(m.tpl=await getLookupTpl(i,l)),m}}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=`
470
+ `,s.adaptor=`
471
+ const enable_tree = ${o.enable_tree};
472
+ if(enable_tree){
473
+ const records = payload.data.rows;
474
+ const treeRecords = [];
475
+ const getChildren = (records, childrenIds)=>{
476
+ if(!childrenIds){
477
+ return;
478
+ }
479
+ const children = _.filter(records, (record)=>{
480
+ return _.includes(childrenIds, record._id)
481
+ });
482
+ _.each(children, (item)=>{
483
+ if(item.children){
484
+ item.children = getChildren(records, item.children)
485
+ }
486
+ })
487
+ return children;
488
+ }
489
+
490
+ _.each(records, (record)=>{
491
+ if(!record.parent){
492
+ treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));
493
+ }
494
+ });
495
+ payload.data.rows = treeRecords;
496
+ }
497
+ return payload;
498
+ `;let t=20,a=(o.paging&&!1===o.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{top:t,...l});o={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:s,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=`
471
499
  var filters = '[]';
472
500
  var top = 10;
473
501
  if(api.data.$term){
@@ -480,20 +508,8 @@
480
508
  `,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
481
509
  payload.data.options = eval(${e._optionsFunction})(api.data);
482
510
  return payload;
483
- `);const l={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(l.value=e.defaultValue),e.multiple&&(l.multiple=!0,l.extractValue=!0),t&&(l.tpl=await getLookupTpl(e,a)),l}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"],AmisFormInputs=["text","date","file","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t){return t?_$1__namespace.includes(["text"],e)?"static-"+e:"static":_$1__namespace.includes(AmisFormInputs,e)?"input-"+e:e}function getObjectFieldSubFields(t,e){const 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){const 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){let t=null;if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var a,n={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("{")||(a=r.data_type||"text",null!=r.defaultValue&&("text"===a?i.value=String(r.defaultValue):"number"===a?i.value=Number(r.defaultValue):"boolean"===a&&(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"number":case"currency":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,n);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":break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"image":t=absoluteUrl("/api/files/images/"),i={type:getAmisStaticFieldType("image",l),receiver:{method:"post",url:"${context.rootUrl}/s3/images",adaptor:`
484
- var rootUrl = ${JSON.stringify(t)};
485
- payload = {
486
- status: response.status == 200 ? 0 : response.status,
487
- msg: response.statusText,
488
- data: {
489
- value: payload._id,
490
- filename: payload.original.name,
491
- url: rootUrl + payload._id,
492
- }
493
- }
494
- return payload;
495
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},r.multiple&&(i.multiple=!0,i.joinValues=!1,i.extractValue=!0);break;case"file":t=absoluteUrl("/api/files/files/"),i={type:getAmisStaticFieldType("file",l),receiver:{method:"post",url:"${context.rootUrl}/s3/files",adaptor:`
496
- var rootUrl = ${JSON.stringify(t)};
511
+ `);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"],AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t){return t?_$1__namespace.includes(["text","image"],e)?"static-"+e:"static":_$1__namespace.includes(AmisFormInputs,e)?"input-"+e:e}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}function convertSFieldToAmisFilesField(e,t){var a=e.type;let i,r=a,l=("avatar"===a?(i="avatars",r="image"):"image"===a?i="images":"file"===a&&(i="files"),getAmisStaticFieldType(r,t));_$1__namespace.includes(["avatar","image"],a)&&e.multiple&&t&&(l="static-images");var n=absoluteUrl(`/api/files/${i}/`);let o={type:l,receiver:{method:"post",url:"${context.rootUrl}/s3/"+i,adaptor:`
512
+ var rootUrl = ${JSON.stringify(n)};
497
513
  payload = {
498
514
  status: response.status == 200 ? 0 : response.status,
499
515
  msg: response.statusText,
@@ -504,15 +520,22 @@ payload = {
504
520
  }
505
521
  }
506
522
  return payload;
507
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},r.multiple&&(i.multiple=!0,i.joinValues=!1,i.extractValue=!0);break;case"formula":case"summary":break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch"};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+".","");const 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+" slds-form-element_readonly"),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({},n,i,{clearValueOnHidden:!0}))}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";e=_$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(e,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.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;`);}),`
523
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return "file"===a&&t&&(o={type:l,tpl:`
524
+ <% let fileData = data.${e.name}; if (fileData) { %>
525
+ <% if(${!e.multiple}){ fileData = [fileData]} %>
526
+ <% fileData.forEach(function(item) { %>
527
+ <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
528
+ <% });} %>`}),e.multiple&&(o.multiple=!0,o.joinValues=!1,o.extractValue=!0),_$1__namespace.includes(["avatar","image"],a)&&(o.enlargeAble=!0,o.showToolbar=!0),o}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"number":case"currency":i={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":break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=convertSFieldToAmisFilesField(r,l);break;case"formula":case"summary":break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i=l?{type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null}:{type:"switch"};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+" slds-form-element_readonly"),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}))}}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.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;`);}),`
508
529
  if(payload.data.data){
509
530
  var data = payload.data.data[0];
510
531
  ${a}
532
+ ${getScriptForAddUrlPrefixForImgFields(e)}
533
+ ${getScriptForRewriteValueForFileFields(e)}
511
534
  payload.data = data;
512
535
  window.postMessage(Object.assign({type: "record.loaded"}, {record: data}), "*")
513
536
  }
514
537
  return payload;
515
- `}async function getReadonlyFormInitApi(e,t,a,i){return {method:"post",url:getApi$2()+"?rf="+(new Date).getTime(),cache:API_CACHE,adaptor:getReadonlyFormAdaptor(a),data:await getFindOneQuery$1(e,t,a,i),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getScriptForAddUrlPrefixForImgFields(e){let t=[],a={};var i=absoluteUrl("/api/files/images/");return e.forEach(e=>{"image"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
538
+ `}async function getReadonlyFormInitApi(e,t,a,i){return {method:"post",url:getApi$2()+"?rf="+(new Date).getTime(),cache:API_CACHE,adaptor:getReadonlyFormAdaptor(a),data:await getFindOneQuery$1(e,t,a,i),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getScriptForAddUrlPrefixForImgFields(e){let t=[],a={};var i=absoluteUrl("/api/files/");return e.forEach(e=>{_$1__namespace.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,type:e.type,multiple:e.multiple});}),t.length?`
516
539
  // image字段值添加URL前缀
517
540
  let imgFieldsKeys = ${JSON.stringify(t)};
518
541
  let imgFields = ${JSON.stringify(a)};
@@ -520,12 +543,19 @@ return payload;
520
543
  imgFieldsKeys.forEach((item)=>{
521
544
  let imgFieldValue = data[item];
522
545
  if(imgFieldValue && imgFieldValue.length){
523
- if(imgFields[item].multiple){
546
+ let fieldProps = imgFields[item];
547
+ let table_name;
548
+ if(fieldProps.type === 'image'){
549
+ table_name = 'images';
550
+ }else{
551
+ table_name = 'avatars';
552
+ }
553
+ if(fieldProps.multiple){
524
554
  if(imgFieldValue instanceof Array){
525
- data[item] = imgFieldValue.map((value)=>{ return rootUrl + value});
555
+ data[item] = imgFieldValue.map((value)=>{ return rootUrl + table_name + '/' + value});
526
556
  }
527
557
  }else{
528
- data[item] = rootUrl + imgFieldValue;
558
+ data[item] = rootUrl + table_name + '/' + imgFieldValue;
529
559
  }
530
560
  }
531
561
  })
@@ -586,7 +616,7 @@ return payload;
586
616
  })
587
617
  api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
588
618
  return api;
589
- `,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)=>{var r,e=_$1__namespace.filter(e,{group:a});if(e.length!=_$1__namespace.filter(e,["hidden",!0]).length){const 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);const 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)}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);const r={toolbar:getToolbar(),footerToolbar:footerToolbar(),headerToolbar:getHeaderToolbar(e,a.formFactor),bulkActions:0!=a.bulkActions&&i,bodyClassName:""};let l=null;i="listview_"+e.name;if("SMALL"===a.formFactor){delete r.bulkActions,delete r.headerToolbar,delete r.footerToolbar;var n=await getCardSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a,{actions:!1}));l=Object.assign({},n,{type:"crud",primaryField:"_id",id:i,name:i,keepItemSelectionOnPageChange:!1,api:await getTableApi(e,t,a)},r);}else {const o=await getTableSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a));delete o.mode,l=Object.assign({},o,{type:"crud",primaryField:"_id",id:i,name:i,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a)},r);}n=a.defaults,i=n&&n.listSchema||{};return l=defaultsDeep({},i,l),{type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:l}}async function getRecordDetailHeaderAmisSchema(e,t){var{name:e,label:a,icon:i}=e,i=[{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-${i}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+a,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:9},{body:[]}]}],size:"xs"},affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}],messages:{},api:{method:"post",url:"${context.rootUrl}/graphql",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:`{rows:${e}(filters: ["_id","=","${t}"]){_id, name} }`},sendOn:""+!!t,requestAdaptor:"",adaptor:`
619
+ `,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)}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",id:l,name:l,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a)},i)),a.defaults),l=n&&n.listSchema||{};return r=defaultsDeep({},l,r),{type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:r}}async function getRecordDetailHeaderAmisSchema(e,t){var{name:e,label:a,icon:i}=e,i=[{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-${i}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+a,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:9},{body:[]}]}],size:"xs"},affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}],messages:{},api:{method:"post",url:"${context.rootUrl}/graphql",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:`{rows:${e}(filters: ["_id","=","${t}"]){_id, name} }`},sendOn:""+!!t,requestAdaptor:"",adaptor:`
590
620
  const rows = payload.data.rows;
591
621
  let label = null;
592
622
  if (rows.length) {
@@ -598,7 +628,7 @@ return payload;
598
628
  name: label
599
629
  }
600
630
  return payload;
601
- `}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:i}}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:r,labelAlign:l,defaults:n}=t,o=_$1__default["default"].values(e.fields),n=n&&n.formSchema||{};const s={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),data:{global:getGlobalData$1("edit"),recordId:a,objectName:e.name,context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},initApi:null,initFetch:null,body:[defaultsDeep({},n,{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,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:"p-4 sm:p-0 steedos-amis-form"})]};return n.id&&(s.id="service-"+n.id),s}async function getObjectDetail(e,t,a){var{formFactor:i,layout:r,labelAlign:l,formInitProps:n}=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,n),body:[{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,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,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form",actions:[]}]}}const UI_SCHEMA_CACHE={},setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t;},getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns};async function getUISchema(objectName,force){if(objectName){if(!hasUISchemaCache(objectName)||force){const url=`/service/api/@${objectName.replace(/\./g,"_")}/uiSchema`;let uiSchema=null;try{if(uiSchema=await fetchAPI(url,{method:"get"}),!uiSchema)return;setUISchemaCache(objectName,uiSchema);for(const fieldName in uiSchema.fields)if(uiSchema.fields){const field=uiSchema.fields[fieldName];if(("lookup"===field.type||"master_detail"===field.type)&&field.reference_to){let refTo=null;if(_$1.isFunction(field.reference_to))try{refTo=eval(field.reference_to)();}catch(error){console.error(error);}_$1.isString(field.reference_to)?refTo=[field.reference_to]:_$1.isArray(field.reference_to)&&(refTo=field.reference_to);for(const item of refTo){const refUiSchema=await getUISchema(item);refUiSchema||delete uiSchema.fields[fieldName];}}}_$1.each(uiSchema.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=uiSchema.list_views.all.columns);});}catch(error){console.error("getUISchema",objectName,error),setUISchemaCache(objectName,null);}}return getUISchemaCache(objectName)}}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={}){const r=await getUISchema(t);var l=_$1.find(r.list_views,(e,t)=>t===a);if(!l)return {uiSchema:r};r.fields;const n=[];var o=getListViewColumns(l,i.formFactor);let s="";l&&l.sort&&l.sort.length&&_$1.each(l.sort,function(t,a){if(_$1.isArray(t)){let e=t[0]+" "+(t[1]||"");e=0<a?","+e:e,s+=e;}else {let e=t.field_name+" "+t.order;e=0<a?","+e:e,s+=e;}}),l&&o&&_$1.each(o,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}));}),l&&l.extra_columns&&_$1.each(l.extra_columns,function(e){_$1.isString(e)?n.push({extra:!0,name:e}):_$1.isObject(e)&&n.push({extra:!0,name:e.field});});o=n,o=await getObjectList(r,o,{tabId:t,appId:e,objectName:t,listViewName:a,...i,filter:l.filters,sort:s});return {uiSchema:r,amisSchema:o}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getRecordDetailHeaderAmisSchema(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,label:l,icon:n,fields:o}=i;let s=(await getListSchema(null,a,_$1.keys(r)[0],{globalFilter:[_$1.findKey(o,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e]})).amisSchema.body;a=s.api,delete s.api,r=Object.assign({},s,{bulkActions:[],headerToolbar:[],columnsTogglable:!1,source:"${rows}"}),o=[{type:"panel",title:"子表标题",header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon_small slds-icon_container slds-icon-standard-${n}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${n}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:l+"(${count ? count : 0})",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:9},{body:[]}]}],size:"xs"},body:r,affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}];return {uiSchema:i,amisSchema:{type:"service",bodyClassName:"",name:"relatedObject",api:a,data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:o}}}var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}
631
+ `}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:i}}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:r,labelAlign:l,defaults:n}=t,o=_$1__default["default"].values(e.fields),n=n&&n.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),data:{global:getGlobalData$1("edit"),recordId:a,objectName:e.name,context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},initApi:null,initFetch:null,body:[defaultsDeep({},n,{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,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:"p-4 sm:p-0 steedos-amis-form"})]};return n.id&&(i.id="service-"+n.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:r,labelAlign:l,formInitProps:n}=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,n),body:[{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,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,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form",actions:[]}]}}const UI_SCHEMA_CACHE={},setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t;},getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns};async function getUISchema(objectName,force){if(objectName){if(!hasUISchemaCache(objectName)||force){const url=`/service/api/@${objectName.replace(/\./g,"_")}/uiSchema`;let uiSchema=null;try{if(uiSchema=await fetchAPI(url,{method:"get"}),!uiSchema)return;setUISchemaCache(objectName,uiSchema);for(const fieldName in uiSchema.fields)if(uiSchema.fields){const field=uiSchema.fields[fieldName];if(("lookup"===field.type||"master_detail"===field.type)&&field.reference_to){let refTo=null;if(_$1.isFunction(field.reference_to))try{refTo=eval(field.reference_to)();}catch(error){console.error(error);}_$1.isString(field.reference_to)?refTo=[field.reference_to]:_$1.isArray(field.reference_to)&&(refTo=field.reference_to);for(const item of refTo){const refUiSchema=await getUISchema(item);refUiSchema||delete uiSchema.fields[fieldName];}}}_$1.each(uiSchema.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=uiSchema.list_views.all.columns);});}catch(error){console.error("getUISchema",objectName,error),setUISchemaCache(objectName,null);}}return getUISchemaCache(objectName)}}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={}){const r=await getUISchema(t);var l=_$1.find(r.list_views,(e,t)=>t===a);if(!l)return {uiSchema:r};r.fields;const n=[];var o=getListViewColumns(l,i.formFactor);let s="";l&&l.sort&&l.sort.length&&_$1.each(l.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,s+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,s+=a);}),l&&o&&_$1.each(o,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}));}),l&&l.extra_columns&&_$1.each(l.extra_columns,function(e){_$1.isString(e)?n.push({extra:!0,name:e}):_$1.isObject(e)&&n.push({extra:!0,name:e.field});});o=n,o=await getObjectList(r,o,{tabId:t,appId:e,objectName:t,listViewName:a,...i,filter:l.filters,sort:s});return {uiSchema:r,amisSchema:o}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l="";var n=i.sortField,o=i.sortOrder;n&&(l=n+" "+o||"asc");let s=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?s.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&s.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});n=await getObjectList(r,s,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l});return {uiSchema:r,amisSchema:n}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getRecordDetailHeaderAmisSchema(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,label:l,icon:n,fields:o}=i,a=(await getListSchema(null,a,_$1.keys(r)[0],{globalFilter:[_$1.findKey(o,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e]})).amisSchema.body,r=a.api,o=(delete a.api,Object.assign({},a,{bulkActions:[],headerToolbar:[],columnsTogglable:!1,source:"${rows}"})),e=[{type:"panel",title:"子表标题",header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon_small slds-icon_container slds-icon-standard-${n}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${n}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:l+"(${count ? count : 0})",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:9},{body:[]}]}],size:"xs"},body:o,affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}];return {uiSchema:i,amisSchema:{type:"service",bodyClassName:"",name:"relatedObject",api:r,data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:e}}}var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}
602
632
 
603
633
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
604
634
  var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
@@ -779,6 +809,25 @@ return payload;
779
809
  });
780
810
  }); };
781
811
 
812
+ var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
813
+ var $schema, filters, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, defaults;
814
+ return __generator(this, function (_a) {
815
+ switch (_a.label) {
816
+ case 0:
817
+ $schema = props.$schema, filters = props.filters, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
818
+ columns = props.columns || [];
819
+ objectApiName = props.objectApiName || "space_users";
820
+ schemaKeys = _$1.difference(_$1.keys($schema), ["type", "objectApiName", "columns"]);
821
+ listSchema = _$1.pick(props, schemaKeys);
822
+ defaults = {
823
+ listSchema: listSchema
824
+ };
825
+ return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: filters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
826
+ case 1: return [2 /*return*/, (_a.sent()).amisSchema];
827
+ }
828
+ });
829
+ }); };
830
+
782
831
  var AmisRecordDetailHeader = function (props) { return __awaiter(void 0, void 0, void 0, function () {
783
832
  var recordId, objectApiName;
784
833
  return __generator(this, function (_a) {
@@ -847,6 +896,7 @@ return payload;
847
896
  exports.AmisObjectFieldLookup = AmisObjectFieldLookup;
848
897
  exports.AmisObjectForm = AmisObjectForm;
849
898
  exports.AmisObjectListView = AmisObjectListView;
899
+ exports.AmisObjectTable = AmisObjectTable;
850
900
  exports.AmisProvider = AmisProvider;
851
901
  exports.AmisRecordDetailHeader = AmisRecordDetailHeader;
852
902
  exports.AmisRecordDetailRelatedList = AmisRecordDetailRelatedList;
@@ -3,8 +3,8 @@
3
3
  {
4
4
  "package": "@steedos-widgets/amis-object",
5
5
  "urls": [
6
- "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us71.gitpod.io/@steedos-widgets/amis-object/dist/amis-object.umd.js",
7
- "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us71.gitpod.io/@steedos-widgets/amis-object/dist/amis-object.umd.css"
6
+ "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us72.gitpod.io/@steedos-widgets/amis-object/dist/amis-object.umd.js",
7
+ "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us72.gitpod.io/@steedos-widgets/amis-object/dist/amis-object.umd.css"
8
8
  ],
9
9
  "library": "BuilderAmisObject"
10
10
  }
@@ -15,10 +15,10 @@
15
15
  "npm": {
16
16
  "package": "@steedos-widgets/amis-object"
17
17
  },
18
- "url": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us71.gitpod.io/@steedos-widgets/amis-object/dist/meta.js",
18
+ "url": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us72.gitpod.io/@steedos-widgets/amis-object/dist/meta.js",
19
19
  "urls": {
20
- "default": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us71.gitpod.io/@steedos-widgets/amis-object/dist/meta.js",
21
- "design": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us71.gitpod.io/@steedos-widgets/amis-object/dist/meta.js"
20
+ "default": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us72.gitpod.io/@steedos-widgets/amis-object/dist/meta.js",
21
+ "design": "https://8080-steedos-steedoswebappne-pm96cp6i82c.ws-us72.gitpod.io/@steedos-widgets/amis-object/dist/meta.js"
22
22
  }
23
23
  }
24
24
  ]
package/dist/assets.json CHANGED
@@ -3,8 +3,8 @@
3
3
  {
4
4
  "package": "@steedos-widgets/amis-object",
5
5
  "urls": [
6
- "https://unpkg.com/@steedos-widgets/amis-object@0.0.6/dist/amis-object.umd.js",
7
- "https://unpkg.com/@steedos-widgets/amis-object@0.0.6/dist/amis-object.umd.css"
6
+ "https://unpkg.com/@steedos-widgets/amis-object@0.0.7/dist/amis-object.umd.js",
7
+ "https://unpkg.com/@steedos-widgets/amis-object@0.0.7/dist/amis-object.umd.css"
8
8
  ],
9
9
  "library": "BuilderAmisObject"
10
10
  }
@@ -15,10 +15,10 @@
15
15
  "npm": {
16
16
  "package": "@steedos-widgets/amis-object"
17
17
  },
18
- "url": "https://unpkg.com/@steedos-widgets/amis-object@0.0.6/dist/meta.js",
18
+ "url": "https://unpkg.com/@steedos-widgets/amis-object@0.0.7/dist/meta.js",
19
19
  "urls": {
20
- "default": "https://unpkg.com/@steedos-widgets/amis-object@0.0.6/dist/meta.js",
21
- "design": "https://unpkg.com/@steedos-widgets/amis-object@0.0.6/dist/meta.js"
20
+ "default": "https://unpkg.com/@steedos-widgets/amis-object@0.0.7/dist/meta.js",
21
+ "design": "https://unpkg.com/@steedos-widgets/amis-object@0.0.7/dist/meta.js"
22
22
  }
23
23
  }
24
24
  ]