@steedos-widgets/amis-object 0.0.7 → 0.0.8

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.
@@ -1,6 +1,7 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import * as _$1 from 'lodash';
3
- import _$1__default, { isFunction, isString, isArray, each, has, find, isObject as isObject$1, findKey, keys, map, cloneDeep, isEmpty, slice, includes, toArray, mergeWith, compact, difference, pick } from 'lodash';
3
+ import _$1__default, { each, has, cloneDeep, find, isArray, isString, isObject as isObject$1, findKey, keys, map, isEmpty, slice, includes, isBoolean, toArray, mergeWith, compact, defaultsDeep as defaultsDeep$1, difference, pick } from 'lodash';
4
+ import { Dropdown, Menu } from 'antd';
4
5
 
5
6
  /******************************************************************************
6
7
  Copyright (c) Microsoft Corporation.
@@ -128,7 +129,7 @@ var funcToString = funcProto.toString;
128
129
  /** Used to infer the `Object` constructor. */
129
130
  funcToString.call(Object);
130
131
 
131
- 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=()=>cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1.isArray(e)?e:_$1.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)),includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),includes(["time","date","datetime","boolean","number","currency","select","file"],l.type)&&i.push(""+l.name));return i=_$1.uniq(i),a=_$1.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=>{includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
132
+ 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=()=>cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1.isArray(e)?e:_$1.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)),includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),includes(["time","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1.uniq(i),a=_$1.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=>{includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
132
133
  let imgFieldsKeys = ${JSON.stringify(t)};
133
134
  let imgFields = ${JSON.stringify(a)};
134
135
  imgFieldsKeys.forEach((item)=>{
@@ -198,7 +199,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
198
199
  ${getSaveDataTpl(e)}
199
200
  api.data = {query: query.replace('{__saveData}', __saveData)};
200
201
  return api;
201
- `}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.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.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%>"}),`
202
+ `}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.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.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({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.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%>"}),`
202
203
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
203
204
  `):`<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%>"}),`
204
205
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
@@ -210,7 +211,28 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
210
211
  </span>
211
212
  <% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
212
213
  <span>······</span>
213
- <% } %>`}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.isArray(l)?_$1.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1.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=`
214
+ <% } %>`}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}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":_.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:`
215
+ <% let fileData = data.${e.name}; if (fileData) { %>
216
+ <% if(${!e.multiple}){ fileData = [fileData]} %>
217
+ <% fileData.forEach(function(item) { %>
218
+ <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
219
+ <% });} %>`}:void 0},getAmisFileEditSchema=e=>{var t=getFileTableName(e),t={type:getAmisFieldType(e,!1),useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/"+t,data:{$:"$$",context:"${context}"},adaptor:`
220
+ const { context } = api.body;
221
+ var rootUrl = context.rootUrl + "/api/files/${t}/";
222
+ payload = {
223
+ status: response.status == 200 ? 0 : response.status,
224
+ msg: response.statusText,
225
+ data: {
226
+ value: payload._id,
227
+ name: payload.original.name,
228
+ url: rootUrl + payload._id,
229
+ }
230
+ }
231
+ return payload;
232
+ `,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.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}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=isBoolean(t)?t.toString():t)return 0<t.indexOf("Meteor.")||0<t.indexOf("Creator.")||0<t.indexOf("Session.")?(console.warn("无效的visible",t),"false"):t.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(each(e,e=>{isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:"border-none antd-Button--link text-left w-full"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center",buttons:[{type:"steedos-dropdown-button",label:"",buttons:t,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:`
233
+ payload.recordPermissions = payload;
234
+ return payload;
235
+ `}}]}}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$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.isArray(l)?_$1.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1.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.requestAdaptor=`
214
236
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
215
237
  ${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
216
238
  if(_.isEmpty(filters)){
@@ -287,7 +309,23 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
287
309
  item._index = index + 1;
288
310
  })
289
311
  }
290
- window.postMessage(Object.assign({type: "listview.loaded"}), "*")
312
+ window.postMessage(Object.assign({type: "listview.loaded"}), "*");
313
+ let fileFields = ${JSON.stringify(s)};
314
+ _.each(payload.data.rows, function(item, index){
315
+ _.each(fileFields , (field, key)=>{
316
+ if(item[key] && item._display && item._display [key]){
317
+ let value = item._display[key];
318
+ if(!_.isArray(value)){
319
+ value = [value]
320
+ };
321
+ if(field.type === 'file'){
322
+ item[key] = value
323
+ }else{
324
+ item[key] = _.map(value, 'url')
325
+ }
326
+ }
327
+ })
328
+ })
291
329
 
292
330
  if(enable_tree){
293
331
  const records = payload.data.rows;
@@ -401,7 +439,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
401
439
  }
402
440
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
403
441
  return api;
404
- `;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.each(o.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),u.push(e));}),_$1.each(_$1.sortBy(u,"sort_no"),function(t){e<5&&(_$1.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.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=`
442
+ `;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.find(s.list_views,(e,t)=>"all"===t);o&&o.columns?_$1.each(o.columns,function(e){_$1.isString(e)&&s.fields[e]?p.push(s.fields[e]):_$1.isObject(e)&&s.fields[e.field]&&p.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),p.push(e));}),_$1.each(_$1.sortBy(p,"sort_no"),function(t){e<5&&(_$1.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));});const u={[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField};_$1.each(d,e=>{e.hidden||(u[e.name]=e);});o=await getApi(s,null,u,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
405
443
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
406
444
  var filters = [];
407
445
  var pageSize = api.data.pageSize || 10;
@@ -440,8 +478,8 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
440
478
 
441
479
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
442
480
  return api;
443
- `,s.adaptor=`
444
- const enable_tree = ${o.enable_tree};
481
+ `,o.adaptor=`
482
+ const enable_tree = ${s.enable_tree};
445
483
  if(enable_tree){
446
484
  const records = payload.data.rows;
447
485
  const treeRecords = [];
@@ -468,7 +506,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
468
506
  payload.data.rows = treeRecords;
469
507
  }
470
508
  return payload;
471
- `;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.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
509
+ `;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.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
472
510
  var filters = '[]';
473
511
  var top = 10;
474
512
  if(api.data.$term){
@@ -481,24 +519,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
481
519
  `,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
482
520
  payload.data.options = eval(${e._optionsFunction})(api.data);
483
521
  return payload;
484
- `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.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.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.includes(["text","image"],e)?"static-"+e:"static":_$1.includes(AmisFormInputs,e)?"input-"+e:e}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.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.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.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.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:`
485
- var rootUrl = ${JSON.stringify(n)};
486
- payload = {
487
- status: response.status == 200 ? 0 : response.status,
488
- msg: response.statusText,
489
- data: {
490
- value: payload._id,
491
- name: payload.original.name,
492
- url: rootUrl + payload._id,
493
- }
494
- }
495
- return payload;
496
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return "file"===a&&t&&(o={type:l,tpl:`
497
- <% let fileData = data.${e.name}; if (fileData) { %>
498
- <% if(${!e.multiple}){ fileData = [fileData]} %>
499
- <% fileData.forEach(function(item) { %>
500
- <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
501
- <% });} %>`}),e.multiple&&(o.multiple=!0,o.joinValues=!1,o.extractValue=!0),_$1.includes(["avatar","image"],a)&&(o.enlargeAble=!0,o.showToolbar=!0),o}async function convertSFieldToAmisField(r,l,e){if(!_$1.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.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.has(r,"defaultValue")||_$1.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.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.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.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.each(t,function(e){var t;_$1.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;`);}),`
522
+ `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.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.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.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.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.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.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.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.has(r,"defaultValue")||_$1.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.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.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.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.each(t,function(e){var t;_$1.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;`);}),`
502
523
  if(payload.data.data){
503
524
  var data = payload.data.data[0];
504
525
  ${a}
@@ -540,7 +561,7 @@ return payload;
540
561
  fileFieldsKeys.forEach((item)=>{
541
562
  let fileFieldValue = data[item];
542
563
  if(fileFieldValue && fileFieldValue.length){
543
- const fileFieldNames = data._display[item].split(',');
564
+ const fileFieldNames = _.map(_.isArray(data._display[item]) ? data._display[item] : [data._display[item]], 'name');
544
565
  if(fileFields[item].multiple){
545
566
  if(fileFieldValue instanceof Array){
546
567
  data[item] = fileFieldValue.map((value, index)=>{
@@ -601,7 +622,12 @@ return payload;
601
622
  name: label
602
623
  }
603
624
  return payload;
604
- `}}];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.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.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(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=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?isEmpty(e.mobile_columns)?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(isFunction(field.reference_to))try{refTo=eval(field.reference_to)();}catch(error){console.error(error);}isString(field.reference_to)?refTo=[field.reference_to]:isArray(field.reference_to)&&(refTo=field.reference_to);for(const item of refTo){const refUiSchema=await getUISchema(item);refUiSchema||delete uiSchema.fields[fieldName];}}}each(uiSchema.list_views,(e,t)=>{e.name=t,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=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&&each(l.sort,function(e,t){var a;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&&each(o,function(e){isString(e)&&r.fields[e]?n.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));}),l&&l.extra_columns&&each(l.extra_columns,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(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=[];each(a,function(e){isString(e)&&r.fields[e]?s.push(r.fields[e]):isObject$1(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,keys(r)[0],{globalFilter:[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)}
625
+ `}}];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.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.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(map(o,e=>{e.readonly=!0;}),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form",actions:[]}]}}const standardButtonsTodo={standard_new:function(){const{object:e,record:t,appId:a,listViewId:i,formFactor:r,router:l}=this;var n=config.listView.newRecordMode;SteedosUI?.Object.newRecord({onSubmitted:()=>{SteedosUI.getRef(i).getComponentByName("page.listview_"+e.name).handleAction({},{actionType:"reload"});},onCancel:()=>{SteedosUI.getRef(i).getComponentByName("page.listview_"+e.name).handleAction({},{actionType:"reload"});},appId:a,formFactor:r,name:SteedosUI.getRefId({type:n+"-form"}),title:"新建 "+e.label,objectName:e.name,data:t,recordId:"new",type:n,router:l});},standard_edit:function(){var e=config.listView.newRecordMode;const{object:t,recordId:a,appId:i,listViewId:r,formFactor:l,router:n}=this;SteedosUI?.Object.editRecord({appId:i,name:SteedosUI.getRefId({type:e+"-form"}),title:"编辑 "+t.label,objectName:t.name,recordId:a,type:e,options:"SMALL"===l?{props:{width:"100%",style:{width:"100%"},bodyStyle:{padding:"0px",paddingTop:"0px"}}}:null,router:n,formFactor:l,onSubmitted:()=>{var e=SteedosUI.getRef(SteedosUI.getRefId({type:"detail",appId:i,name:t.name}));e&&e.getComponentById("detail_"+a)?e.getComponentById("detail_"+a).reload():SteedosUI.getRef(r).getComponentByName("page.listview_"+t.name).handleAction({},{actionType:"reload"});}});},standard_delete:function(){},standard_delete_many:function(){var{listViewId:e,object:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__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.disabled_actions;let e=_$1__default.sortBy(_$1__default.values(t.actions),"sort");return _$1__default.has(t,"allow_customActions")&&(e=_$1__default.filter(e,e=>_$1__default.include(t.allow_customActions,e.name))),_$1__default.has(t,"exclude_actions")&&(e=_$1__default.filter(e,e=>!_$1__default.include(t.exclude_actions,e.name))),_$1__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.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default.filter(e,e=>_$1__default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e),r=a["props"];if(i){i=await getButtons(i,a),i=_$1__default.find(i,e=>e.name===t);if(i)return "standard_edit"==i.name&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:i.label,name:i.name,on:i.on,type:i.type,todo:standardButtonsTodo.standard_edit}:"cms_files"!=e&&"standard_new"==i.name&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:i.label,name:i.name,on:i.on,type:i.type,todo:e=>standardButtonsTodo.standard_new}:"standard_delete"==i.name&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:i.label,name:i.name,on:i.on,type:"amis_button",sort:i.sort,amis_schema:{type:"service",bodyClassName:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",className:r.className,onEvent:{click:{actions:[{args:{api:{method:"post",url:getApi$2(),requestAdaptor:`
626
+ var deleteArray = [];
627
+ deleteArray.push(\`delete:${a.objectName}__delete(id: "${a.recordId}")\`);
628
+ api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
629
+ return api;
630
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:`/app/${a.appId}/`+a.objectName,blank:!1},actionType:"url"}]}}}],regions:["body"]}}:i}},execute=(e,t)=>{if(e.todo)return _$1__default.isString(e.todo)&&_$1__default.startsWith(_$1__default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__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;let UI_SCHEMA_CACHE={};"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE);const setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t;},getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?isEmpty(e.mobile_columns)?slice(e.columns,0,4):e.mobile_columns:e.columns};async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){e=`/service/api/@${t.replace(/\./g,"_")}/uiSchema`;let a;try{if(!(a=await fetchAPI(e,{method:"get"})))return;setUISchemaCache(t,a),each(a.list_views,(e,t)=>{e.name=t,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 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=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&&each(l.sort,function(e,t){var a;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&&each(o,function(e){isString(e)&&r.fields[e]?n.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));}),l&&l.extra_columns&&each(l.extra_columns,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(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,buttons:await getListViewItemButtons(r,i)});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=[];each(a,function(e){isString(e)&&r.fields[e]?s.push(r.fields[e]):isObject$1(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,keys(r)[0],{globalFilter:[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}",className:"b-t"})),e=[{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",className:"bg-white p-t-sm p-b-sm p-l"},o];return {uiSchema:i,amisSchema:{type:"service",className:"r b-a",name:"relatedObject",api:r,data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:e}}}const opMaps={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},isGroup=e=>_.has(e,"conjunction"),conditionGroupToFilters=e=>{const a=[],{conjunction:i,children:t}=e;return i&&t&&t.forEach(e=>{var t;0<a.length&&a.push(i),isGroup(e)?(t=conditionGroupToFilters(e))&&0<t.length&&a.push(t):(t=conditionItemToFilters(e))&&a.push(t);}),a},conditionItemToFilters=e=>{var t,{left:e,op:a,right:i}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=i?[e.field,opMaps[a],i]:void 0},conditionsToFilters=e=>conditionGroupToFilters(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)}
605
631
 
606
632
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
607
633
  var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
@@ -729,6 +755,111 @@ var AmisObjectFieldLookup = function (props) {
729
755
  }))) : null));
730
756
  };
731
757
 
758
+ var AmisObjectButton = function (props) {
759
+ var objectName = props.objectName, name = props.name, data = props.data, render = props.render, className = props.className, listViewId = props.listViewId;
760
+ var _a = __read(useState(), 2), button = _a[0], setButton = _a[1];
761
+ var _b = __read(useState(), 2), uiSchema = _b[0], setUiSchema = _b[1];
762
+ //TODO 处理上下文参数
763
+ var appId = data.appId;
764
+ var formFactor = data.formFactor;
765
+ useEffect(function () {
766
+ if (objectName) {
767
+ getUISchema(objectName, false).then(function (uiSchema) {
768
+ getButton(objectName, name, {
769
+ objectName: objectName,
770
+ recordId: data._id,
771
+ appId: appId,
772
+ uiSchema: uiSchema,
773
+ formFactor: formFactor,
774
+ router: null,
775
+ listViewId: data.listViewId,
776
+ props: {
777
+ className: "antd-Button antd-Button--link"
778
+ }
779
+ }).then(function (result) {
780
+ setButton(result);
781
+ setUiSchema(uiSchema);
782
+ });
783
+ });
784
+ }
785
+ }, [objectName, name]);
786
+ var buttonClick = function () {
787
+ var dataComponentId = data.dataComponentId;
788
+ //Object.assign({}, data , {scope: (window as any).SteedosUI.getRef(dataComponentId)})
789
+ return executeButton(button, {
790
+ objectName: objectName,
791
+ listViewId: listViewId || data.listViewId,
792
+ uiSchema: uiSchema,
793
+ record: data,
794
+ recordId: data._id,
795
+ appId: appId,
796
+ formFactor: formFactor,
797
+ scope: window.SteedosUI.getRef(dataComponentId)
798
+ });
799
+ };
800
+ if (!button) {
801
+ return (React.createElement(React.Fragment, null, "loading..."));
802
+ }
803
+ if (button.type === "amis_button") {
804
+ var amisSchema = button.amis_schema;
805
+ var schema = isString(amisSchema) ? JSON.parse(amisSchema) : amisSchema;
806
+ if (schema && schema.body.length > 0) {
807
+ delete schema.body[0]['visibleOn'];
808
+ }
809
+ return (React.createElement("div", { className: className }, button && amisSchema ? (React.createElement("div", { className: "container" }, render('body', schema, {
810
+ // 这里的信息会作为 props 传递给子组件,一般情况下都不需要这个
811
+ onChange: function () {
812
+ console.log("change....");
813
+ }
814
+ }))) : null));
815
+ }
816
+ else {
817
+ return (React.createElement("button", { onClick: buttonClick, className: "antd-Button ".concat(className ? className : '') }, button.label));
818
+ }
819
+ };
820
+
821
+ var getMenu = function (render, buttons, props) {
822
+ return React.createElement(Menu, { items: map(buttons, function (button) {
823
+ button.className = button.className ? "".concat(button.className, " steedos-dropdown-button-item py-1 text-left w-full") : 'steedos-dropdown-button-item py-1 text-left w-full';
824
+ return {
825
+ key: button.name,
826
+ className: 'py-0 min-w-40',
827
+ label: (React.createElement(React.Fragment, null, render('body', button, props)))
828
+ };
829
+ }) });
830
+ };
831
+ var SteedosDropdownButton = function (props) {
832
+ var data = props.data, render = props.render; props.className; var buttons = props.buttons; props.placement; var onOpenApi = props.onOpenApi; props.store; var env = props.env;
833
+ var _a = __read(useState(React.createElement(React.Fragment, null)), 2), menu = _a[0], setMenu = _a[1];
834
+ var onOpenChange = function (open) {
835
+ if (open) {
836
+ if (onOpenApi) {
837
+ try {
838
+ env.fetcher(onOpenApi, createObject(data, {})).then(function (result) {
839
+ var openData = (result === null || result === void 0 ? void 0 : result.hasOwnProperty('ok')) ? result.data : result;
840
+ setMenu(getMenu(render, buttons, {
841
+ data: createObject(data, defaultsDeep$1(openData, data))
842
+ }));
843
+ }).catch(function (e) {
844
+ console.error(e);
845
+ });
846
+ }
847
+ catch (error) {
848
+ console.error(error);
849
+ }
850
+ }
851
+ else {
852
+ setMenu(getMenu(render, buttons, {
853
+ data: data
854
+ }));
855
+ }
856
+ }
857
+ };
858
+ return (React.createElement(Dropdown, { overlay: menu, trigger: ['click'], onOpenChange: onOpenChange },
859
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-5 h-5" },
860
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }))));
861
+ };
862
+
732
863
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
733
864
  var $schema, recordId, mode, layout, labelAlign, objectApiName, schemaKeys, formSchema, defaults, options;
734
865
  return __generator(this, function (_a) {
@@ -736,7 +867,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
736
867
  case 0:
737
868
  $schema = props.$schema, recordId = props.recordId, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign;
738
869
  objectApiName = props.objectApiName || "space_users";
739
- schemaKeys = difference(keys($schema), ["type"]);
870
+ schemaKeys = difference(keys($schema), ["type", "mode", "layout"]);
740
871
  formSchema = pick(props, schemaKeys);
741
872
  defaults = {
742
873
  formSchema: formSchema
@@ -783,19 +914,21 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
783
914
  }); };
784
915
 
785
916
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
786
- var $schema, filters, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, defaults;
917
+ var $schema, filters, amisCondition, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, amisFilters, tableFilters, defaults;
787
918
  return __generator(this, function (_a) {
788
919
  switch (_a.label) {
789
920
  case 0:
790
- $schema = props.$schema, filters = props.filters, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
921
+ $schema = props.$schema, filters = props.filters, amisCondition = props.amisCondition, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
791
922
  columns = props.columns || [];
792
923
  objectApiName = props.objectApiName || "space_users";
793
924
  schemaKeys = difference(keys($schema), ["type", "objectApiName", "columns"]);
794
925
  listSchema = pick(props, schemaKeys);
926
+ amisFilters = amisCondition && conditionsToFilters(amisCondition);
927
+ tableFilters = filters || amisFilters;
795
928
  defaults = {
796
929
  listSchema: listSchema
797
930
  };
798
- return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: filters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
931
+ return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: tableFilters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
799
932
  case 1: return [2 /*return*/, (_a.sent()).amisSchema];
800
933
  }
801
934
  });
@@ -866,5 +999,5 @@ var AmisProvider = function (props) { return __awaiter(void 0, void 0, void 0, f
866
999
  });
867
1000
  }); };
868
1001
 
869
- export { AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisSelectUser };
1002
+ export { AmisObjectButton, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisSelectUser, SteedosDropdownButton };
870
1003
  //# sourceMappingURL=amis-object.esm.js.map