@steedos-widgets/amis-lib 1.0.25 → 1.0.26
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +18 -13
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +38 -33
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +18 -13
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/toolbar.d.ts +10 -9
- package/dist/types/schema/standard_new.amis.d.ts +2 -29
- package/dist/types/standard/button.d.ts +2 -29
- package/package.json +2 -2
package/dist/index.esm.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith,cloneDeep,includes,toArray,mergeWith,get,map,keys,sortBy,compact,isBoolean,omitBy,isNil,isString,findKey,slice,defaultsDeep as defaultsDeep$1,isObject as isObject$1,has,filter,startsWith}from"lodash";import isPlainObject from"lodash/isPlainObject";import{lookupToAmisPicker as lookupToAmisPicker$1,Router as Router$1,getSteedosAuth as getSteedosAuth$1,lookupToAmis as lookupToAmis$1,fetchAPI as fetchAPI$1}from"@steedos-widgets/amis-lib";const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var s,
|
|
1
|
+
import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith,cloneDeep,includes,toArray,mergeWith,get,map,keys,sortBy,compact,isBoolean,omitBy,isNil,isString,findKey,slice,defaultsDeep as defaultsDeep$1,isObject as isObject$1,has,filter,startsWith}from"lodash";import isPlainObject from"lodash/isPlainObject";import{lookupToAmisPicker as lookupToAmisPicker$1,Router as Router$1,getSteedosAuth as getSteedosAuth$1,lookupToAmis as lookupToAmis$1,fetchAPI as fetchAPI$1}from"@steedos-widgets/amis-lib";const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var s,n=t.pathname.split("/");for(n.pop();s=/^\.\.?\//.exec(r);)"../"===s[0]&&n.pop(),r=r.substring(s[0].length);r=n.concat(r).join("/")}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href))},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t)},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0)},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!0===t.blank?window.open(e):a.push(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e)}}),registerRenders=e=>{if(!isEmpty(e)&&isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let n=amisRequire("react");each(e,t=>{if(!find(RegisterRenders,e=>e===t.componentName)){let s=Builder.components.find(e=>e.name===t.componentName),e=s.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=n.useState(null);return n.useEffect(()=>{var e=s.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e)}):r(e)},[]),n.createElement(n.Fragment,null,n.createElement(n.Fragment,null,i&&a?a("body",i):""),n.createElement(n.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName)}})}},amisRender=(e,t,a={},i={},r)=>{var s=amisRequire("amis/embed"),{router:r,assets:n}=r;return registerRenders(n),s.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e)};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return(window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e)}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e)}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e)}}function getUserId(){try{var e=getBuilderContext().userId;return e?e:null}catch(e){console.error(e)}}function absoluteUrl(e){return""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e)}const getSteedosAuth=()=>Object.assign({},cloneDeep(STEEDOS_AUTH)||{},getBuilderContext()||{});async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[],r=[];for(const s of r=_$1.isArray(e)?e:_$1.values(e))s.name.indexOf(".")<0&&(!t||"lookup"!=s.type&&"master_detail"!=s.type?a.push(s.alias?s.alias+":"+s.name:s.name):(a.push(""+s.name),i.push(""+s.name)),includes(["time","date","datetime","boolean","number","currency"],s.type)&&a.push(""+s.name),includes(["time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary","object","grid"],s.type)&&i.push(""+s.name));return i=_$1.uniq(i),a=_$1.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}function getRecordPermissionsTemplate(){return`
|
|
2
2
|
recordPermissions: _permissions{
|
|
3
3
|
allowCreate,
|
|
4
4
|
allowCreateFiles,
|
|
@@ -80,6 +80,8 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
80
80
|
delete formData.modified;
|
|
81
81
|
delete formData.modified_by;
|
|
82
82
|
delete formData._display;
|
|
83
|
+
delete formData.initialValues;
|
|
84
|
+
delete formData.editFormInited;
|
|
83
85
|
${getScriptForReadonlyFields(e)}
|
|
84
86
|
${getScriptForRemoveUrlPrefixForImgFields(e)}
|
|
85
87
|
${getScriptForSimplifiedValueForFileFields(e)}
|
|
@@ -93,7 +95,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
93
95
|
${getSaveDataTpl(e)}
|
|
94
96
|
api.data = {query: query.replace('{__saveData}', __saveData)};
|
|
95
97
|
return api;
|
|
96
|
-
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let s=`(top: ${r})`,
|
|
98
|
+
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let s=`(top: ${r})`,n=(t&&(s=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(n=i.alias),i.filters&&(s=`(filters:${i.filters})`),i.queryOptions&&(s=`(${i.queryOptions})`));var t="",r=(e.enable_tree&&_$1.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.keys(e.fields),"children")&&(t=",parent,children"),""),l=("cms_files"===e.name&&(r=",versions"),!1===i.count?"":`,count:${e.name}__count(filters:{__filters})`),o=i.moreQueries?.length?","+i.moreQueries.map(function(e){return e.replace(/^{/,"").replace(/}$/,"")}).join(","):"";return{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${s}{${await getFieldsTemplate(a,i.expand)}${t}${r}}${l}${o}}`}}function getRecordPermissionsQuery(e,t,a){let i="",r=(t&&(i=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data"),s=(a&&(a.alias&&(r=a.alias),a.filters&&(i=`(filters:${a.filters})`),a.queryOptions&&(i=`(${a.queryOptions})`)),getRecordPermissionsTemplate());return a?.fields&&a.fields.length&&(s=`
|
|
97
99
|
recordPermissions: _permissions{
|
|
98
100
|
${a.fields.join(",")}
|
|
99
101
|
}
|
|
@@ -194,6 +196,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
194
196
|
return api;
|
|
195
197
|
`,adaptor:`
|
|
196
198
|
const recordId = api.body.recordId;
|
|
199
|
+
let initialValues={};
|
|
197
200
|
if(recordId && payload.data.data){
|
|
198
201
|
var data = payload.data.data[0];
|
|
199
202
|
const dataKeys = _.keys(data);
|
|
@@ -215,7 +218,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
215
218
|
}
|
|
216
219
|
}
|
|
217
220
|
};
|
|
218
|
-
|
|
221
|
+
initialValues = data;
|
|
219
222
|
}
|
|
220
223
|
else{
|
|
221
224
|
var uiSchema = api.body.uiSchema;
|
|
@@ -230,10 +233,12 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
230
233
|
if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){
|
|
231
234
|
defaultValues = Object.assign({}, defaultValues, defaultData)
|
|
232
235
|
}
|
|
233
|
-
|
|
236
|
+
initialValues = defaultValues;
|
|
237
|
+
}
|
|
238
|
+
payload.data = {
|
|
239
|
+
initialValues,
|
|
240
|
+
editFormInited: true
|
|
234
241
|
}
|
|
235
|
-
payload.data.editFormInited = true;
|
|
236
|
-
delete payload.extensions;
|
|
237
242
|
return payload;
|
|
238
243
|
`,data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getSaveApi(e,t,a,i){return{method:"post",url:getApi$2(),data:getSaveQuery(e,t),requestAdaptor:getSaveRequestAdaptor(a),responseData:{recordId:"${record._id}"},adaptor:`
|
|
239
244
|
if(payload.errors){
|
|
@@ -249,22 +254,22 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
249
254
|
})
|
|
250
255
|
api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
|
|
251
256
|
return api;
|
|
252
|
-
`,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,_$1.forEach(e.fields,(e,t)=>{_$1.has(e,"name")||(e.name=t)}),_$1.forEach(_$1.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.filter(e,{group:a});if(e.length!=_$1.filter(e,["hidden",!0]).length){var r,s=[];for(const
|
|
253
|
-
var $user=${JSON.stringify(r)}; return `+s.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(
|
|
257
|
+
`,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,_$1.forEach(e.fields,(e,t)=>{_$1.has(e,"name")||(e.name=t)}),_$1.forEach(_$1.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.filter(e,{group:a});if(e.length!=_$1.filter(e,["hidden",!0]).length){var r,s=[];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&&(i.__permissionFields=t,(r=await convertSFieldToAmisField(e,e.readonly,i))&&s.push(r))}e=_$1.map(_$1.compact(_$1.map(s,"visibleOn")),e=>e),a={type:"fieldSet",title:a,collapsable:!0,body:s};return 0<e.length&&s.length===e.length&&(a.visibleOn=""+e.join(" || ")),a}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const n in _$1.groupBy(i,"group")){var s=await getSection(e,i,n,a);0<s.body.length&&r.push(s)}return r};async function getFormBody(e,t,a){return getSections(e,t,a)}async function getListBody(e,t){var a=[];for(const r of e){var i=await getFieldTpl(r,t);let e=i?"tpl":"text";r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled})}return{type:"hbox",columns:a}}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||10}}async function getListSchema$1(e,t){e=(await getListBody(e,t)).columns;return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...e],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]}}}async function getCardSchema(e,t){let a=null;var i=_.find(e,e=>e.name===t.labelFieldName),i=(i&&(a=await getFieldTpl(i,t)),await getListBody(_.filter(e,e=>e.name!=t.labelFieldName),t));return{mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...i.columns]}}}const defaultsDeep=(...e)=>{let t={};return toArray(e).reverse().forEach(e=>{mergeWith(t,e,(e,t)=>isArray(t)?t:void 0)}),t},globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return"#"!==t&&t?"string"==typeof t?get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return"string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var s,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;s=t.substring(2,t.length-2),r=`
|
|
258
|
+
var $user=${JSON.stringify(r)}; return `+s.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:s="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+s);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>({type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"custom",script:"SteedosUI.openNewRecordDialog(context.props.data, doAction)"}],weight:0}},className:""}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}),getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"",id:"u:3c5cbc0429bb"}},getSchema$2=e=>({type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
254
259
|
if(payload.errors){
|
|
255
260
|
payload.status = 2;
|
|
256
261
|
payload.msg = payload.errors[0].message;
|
|
257
262
|
}
|
|
258
263
|
return payload;
|
|
259
|
-
`},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{data:{"&":"$$",object_name:"${objectName}"},type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"tpl",className:"whitespace-nowrap"},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}),getSchema=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=this.scopeId||`amis-${e}-${t}-listview`,t=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+a.name);_.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema()})},getGlobalData$1=()=>({now:new Date});function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=___default.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
|
|
264
|
+
`},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{data:{"&":"$$",object_name:"${objectName}"},type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"tpl",className:"whitespace-nowrap"},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}),getSchema=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4()}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=this.scopeId||`amis-${e}-${t}-listview`,t=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+a.name);_.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema()})},getGlobalData$1=()=>({now:new Date});function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=___default.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
|
|
260
265
|
object: uiSchema
|
|
261
|
-
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(___default.startsWith(___default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData$1(),e.userSession)})),!___default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t,scopeId:a}=this,a=SteedosUI?.getRef(a||e).getComponentById("listview_"+t.name);___default.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=___default.sortBy(___default.values(t.actions),"sort");return ___default.has(t,"allow_customActions")&&(e=___default.filter(e,e=>___default.include(t.allow_customActions,e.name))),___default.has(t,"exclude_actions")&&(e=___default.filter(e,e=>!___default.include(t.exclude_actions,e.name))),___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)&&___default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),___default.filter(e,e=>___default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=___default.filter(e,e=>"record"==e.on||"record_only"==e.on);return ___default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=___default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return ___default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"list"==e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=___default.find(r,e=>e.name===t);if(r)return"standard_edit"==r.name&&"standard_edit"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&"standard_new"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&"standard_delete"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:"standard_delete_many"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDeleteMany(i,a)}:r}},execute=(e,t)=>{if(e.todo)return ___default.isString(e.todo)&&___default.startsWith(___default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),___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;function getObjectListHeaderFirstLine(a,e,t){var{icon:i,label:r}=a;const s=[];each(a.list_views,(e,t)=>{s.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t})});var
|
|
266
|
+
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(___default.startsWith(___default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData$1(),e.userSession)})),!___default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t,scopeId:a}=this,a=SteedosUI?.getRef(a||e).getComponentById("listview_"+t.name);___default.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=___default.sortBy(___default.values(t.actions),"sort");return ___default.has(t,"allow_customActions")&&(e=___default.filter(e,e=>___default.include(t.allow_customActions,e.name))),___default.has(t,"exclude_actions")&&(e=___default.filter(e,e=>!___default.include(t.exclude_actions,e.name))),___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)&&___default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),___default.filter(e,e=>___default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=___default.filter(e,e=>"record"==e.on||"record_only"==e.on);return ___default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=___default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return ___default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return ___default.filter(e,e=>"list"==e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=___default.find(r,e=>e.name===t);if(r)return"standard_edit"==r.name&&"standard_edit"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&"standard_new"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&"standard_delete"===r.todo&&"amis_button"!=r.type?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:"standard_delete_many"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDeleteMany(i,a)}:r}},execute=(e,t)=>{if(e.todo)return ___default.isString(e.todo)&&___default.startsWith(___default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),___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;function getObjectListHeaderFirstLine(a,e,t){var{icon:i,label:r}=a;const s=[];each(a.list_views,(e,t)=>{s.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t})});var n=getListViewButtons(a,{}),n=map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),l=new RegExp("_","g");return{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<svg class="slds-icon slds-icon_container slds-icon-standard-${i&&i.replace(l,"-")} slds-page-header__icon" aria-hidden="true"><use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#${i}"></use></svg>`},md:"auto",className:"",columnClassName:"flex justify-center items-center",valign:"middle"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"text-md leading-none text-black"},{type:"dropdown-button",className:"",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",size:"sm",hideCaret:!0,btnClassName:"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none",buttons:s}],md:"",columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"},{body:{type:"flex",items:n},md:"auto",valign:"middle"}],className:"flex justify-between"}}async function getObjectListHeaderSecordLine(e,t,a){e="listview_"+e.name;return{type:"grid",columns:[{body:[{type:"tpl",tpl:"${$count} 个项目",visibleOn:"this.$count >= 0",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:14},id:"u:1661f8471235"}],md:"auto",columnClassName:"flex items-center"},{body:[await getObjectFieldsFilterButtonSchema(),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:e,className:"bg-white p-2 rounded border-gray-300 text-gray-500"}],md:"auto"}],className:"flex justify-between"}}async function getObjectListHeaderFieldsFilterBar(t,e,a){var i=keys(t.fields),i=sortBy(compact(map(i,e=>t.fields[e])),"sort_no");return await getObjectFieldsFilterBarSchema(t,i,a)}async function getObjectListHeader$1(e,t,a){return[{type:"wrapper",body:[getObjectListHeaderFirstLine(e)],className:"bg-gray-100 sm:rounded-tl sm:rounded-tr p-4 -mb-4"}]}async function getObjectRecordDetailHeader(e,t,a){var{showRecordTitle:a=!0}=a||{},{name:i,label:r,icon:s}=e,n=getObjectDetailButtons(e,{}),l=getObjectDetailMoreButtons(e,{recordId:t,objectName:i}),n=map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),l=map(l,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e)})),l=(n.push({type:"steedos-dropdown-button",label:"",buttons:l,className:"slds-icon"}),new RegExp("_","g")),l=s&&s.replace(l,"-"),o=[],l=(a&&o.push({body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<svg class="slds-icon slds-icon_container slds-icon-standard-${l} slds-page-header__icon" aria-hidden="true"><use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#${s}"></use></svg>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"leading-4 text-md"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",className:"leading-5 text-xl font-bold"}],columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"}),o.push({body:{type:"flex",items:n},md:"auto"}),[{type:"service",data:{"&":"$$",objectName:i,_id:t,recordPermissions:"${record.recordPermissions}",uiSchema:e},body:[{type:"grid",columns:o,className:"flex justify-between"}],messages:{},hiddenOn:"${recordLoaded != true}"}]);return a&&l.push({type:"service",body:[{type:"grid",columns:[o[0]],className:"flex justify-between"}],messages:{},hiddenOn:"${recordLoaded == true}"}),{type:"service",bodyClassName:"",name:"page",data:{"&":"$$",objectName:i,_id:t,recordPermissions:e.permissions,uiSchema:e,record:"${record}"},body:l,className:""}}async function getObjectRecordDetailRelatedListHeader(e,t){var a=e["icon"],e=await getObjectRelatedListButtons(e,{}),e=map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),i=new RegExp("_","g");return{type:"wrapper",body:[{type:"grid",valign:"middle",columns:[{body:[{type:"grid",valign:"middle",className:"flex justify-between",columns:[{body:{type:"tpl",className:"block",tpl:`<svg class="w-6 h-6 slds-icon slds-icon_container slds-icon-standard-${a&&a.replace(i,"-")}" aria-hidden="true"><use xlink:href="/assets/icons/standard-sprite/svg/symbols.svg#${a}"></use></svg>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:`<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${t}(\${$count})</a>`,inline:!1,wrapperComponent:"",className:""}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:{type:"flex",items:e},md:"auto"}],className:"flex justify-between"}],className:"p-3"}}async function getObjectRelatedListHeader(e,t,a){}const getDisplayAsButton=function(e){var t=[{type:"button",label:"表格",onClick:"const url = document.location.pathname + '?display=grid'; props.env.jumpTo(url);"},{type:"button",label:"分栏视图",onClick:"const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);"}];return 2<e&&t.push({type:"button",label:"三栏视图",onClick:"const url = document.location.pathname + '?display=split_three'; props.env.jumpTo(url);"}),{type:"dropdown-button",icon:"fa fa-table-columns",btnClassName:"antd-Button--iconOnly bg-white p-2 rounded border-gray-300 text-gray-500",align:"right",buttons:[{label:"显示为",children:t}]}};function getObjectHeaderToolbar(e,t,{showDisplayAs:a=!1,hiddenCount:i=!1}={}){return"SMALL"===t?[i?{}:{type:"tpl",tpl:"${count} 个项目"},{type:"button",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500",label:"",icon:"fa fa-sync",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
262
267
|
const scope = event.context.scoped;
|
|
263
268
|
var listView = scope.parent.getComponents().find(function(n){
|
|
264
269
|
return n.props.type === "crud";
|
|
265
270
|
});
|
|
266
271
|
listView.handleChangePage(1);
|
|
267
|
-
`}]}}},a?
|
|
272
|
+
`}]}}},a?getDisplayAsButton(a):{}]:["bulkActions",{type:"columns-toggler",className:"hidden"},i?{}:{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"},{label:"",icon:"fa fa-search",type:"button",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
268
273
|
const scope = event.context.scoped;
|
|
269
274
|
const filterForm = scope.getComponents().find(function(n){
|
|
270
275
|
return n.props.type === "form";
|
|
@@ -273,7 +278,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
273
278
|
return n.props.type === "service";
|
|
274
279
|
});
|
|
275
280
|
filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
276
|
-
`}]}}},a?
|
|
281
|
+
`}]}}},a?getDisplayAsButton(a):{}]}function getObjectFooterToolbar(e,t){return"SMALL"===t?["load-more"]:["statistics","pagination"]}async function getObjectFilter(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,a)]}}function getBulkActions(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:getBatchDelete(e.name)}]}async function getObjectCRUD(e,t,a){var{top:i,showDisplayAs:r=!1,crudClassName:s=""}=a,n=e.paging&&!1===e.paging.enabled,l=e.enable_tree,o=getBulkActions(e),d={headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",footerToolbar:getObjectFooterToolbar(e,a.formFactor,{disableStatistics:!1===a.queryCount})};"SMALL"!==a.formFactor&&Object.assign(d,{filter:!!a.filterVisible&&await getObjectFilter(e,t,a),bulkActions:0!=a.bulkActions&&o}),a.queryCount=!0,n||l?(a.top=5e4,d.footerToolbar=[],a.queryCount=!1):i&&(d.footerToolbar=[],a.queryCount=!1),d.headerToolbar=getObjectHeaderToolbar(e,a.formFactor,{showDisplayAs:r,hiddenCount:!1===a.queryCount});let c=null;o="listview_"+e.name,a.formFactor,n=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a)),delete n.mode,c=Object.assign({},n,{type:"crud",primaryField:"_id",affixHeader:!1,id:o,name:o,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn,autoFillHeight:!1,className:"flex-auto "+(s||""),crudClassName:s},d),l=a.defaults;if(l){i=l.listSchema||{},r=(c=defaultsDeep({},i,c),l.headerSchema),n=l.footerSchema,t=l.sideSchema;if(t&&(c={type:"wrapper",size:"none",className:"flex",body:[{type:"wrapper",size:"none",body:t},c]}),r||n){let e=[c];r&&(___default.isArray(r)?e=___default.union(r,e):e.unshift(r)),n&&(___default.isArray(n)?e=___default.union(e,n):e.push(n)),c=e}}return{type:"service",className:"",id:"service_"+o,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:c}}const getGlobalData=e=>{var t=getSteedosAuth();return{mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,layout:i="normal",labelAlign:r,defaults:s}=t,n=___default.values(e.fields),s=s&&s.formSchema||{},i=(___default.has(s,"className")&&(s.className="steedos-amis-form"),{type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,n),data:{editFormInited:!1},initApi:null,initFetch:null,body:[defaultsDeep({},s,{type:"form",mode:i,data:{"&":"${initialValues}"},labelAlign:r,persistData:!1,promptPageLeave:!0,canAccessSuperData:!1,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,n),initFetch:"new"!=a,body:await getFormBody(n,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",hiddenOn:"${editFormInited != true}",onEvent:{submitSucc:{weight:0,actions:[{componentId:"steedos-record-related-list-"+e.name,actionType:"setValue",args:{value:{$count:void 0}}},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{actionType:"custom",script:`
|
|
277
282
|
const { recordId, listViewId } = context.props.data;
|
|
278
283
|
const data = event.data;
|
|
279
284
|
const appId = data.appId;
|
|
@@ -303,7 +308,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
303
308
|
"actionType": "link"
|
|
304
309
|
});
|
|
305
310
|
}
|
|
306
|
-
`}]}}})]};return s.id&&(i.id="service-"+s.id),i}async function getObjectDetail(e,t,a){var{layout:i="normal",labelAlign:r,formInitProps:s}=a,
|
|
311
|
+
`}]}}})]});return s.id&&(i.id="service-"+s.id),i}async function getObjectDetail(e,t,a){var{layout:i="normal",labelAlign:r,formInitProps:s}=a,n=___default.values(e.fields);return{type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,n,s),body:[{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(map(n,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white",actions:[],hiddenOn:"${recordLoaded != true}"}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}},{actionType:"setValue",args:{value:{recordLoaded:!0}}}]}}}}const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_$1.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":_$1.includes(AmisFormInputs,e)?"input-"+e:e}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType$1(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
|
|
307
312
|
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
308
313
|
<% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
|
|
309
314
|
<% fileData.forEach(function(item) { %>
|
|
@@ -326,10 +331,10 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
326
331
|
var file_name = data.versions ? data.name : "${r.label}";
|
|
327
332
|
var file_id = data._id;
|
|
328
333
|
SteedosUI.previewFile && SteedosUI.previewFile({file_name, file_id});
|
|
329
|
-
`;a.push({type:"button",label:`<%=data.versions ? data.name : "${r.label}"%>`,className:"whitespace-nowrap",level:"link",onEvent:{click:{actions:[{args:{api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},actionType:"download",expression:"!!!window?.nw?.require"},{args:{},actionType:"custom",script:i,expression:"!!window?.nw?.require"}]}}})}return a}function getMobileLines(e){let t=[],a=[],i=!1,r=!0,s="",
|
|
334
|
+
`;a.push({type:"button",label:`<%=data.versions ? data.name : "${r.label}"%>`,className:"whitespace-nowrap",level:"link",onEvent:{click:{actions:[{args:{api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},actionType:"download",expression:"!!!window?.nw?.require"},{args:{},actionType:"custom",script:i,expression:"!!window?.nw?.require"}]}}})}return a}function getMobileLines(e){let t=[],a=[],i=!1,r=!0,s="",n="flex items-center justify-between h-[20px]";return e.forEach(function(e){i&&t.length<2&&(t.push({type:"wrapper",body:a,size:"none",className:n}),a=[]),r?(s="steedos-listview-item-left truncate",e.field.is_wide&&(s="steedos-listview-item-wide truncate"),0===t.length&&(s+=" font-bold text-gray-800")):s="steedos-listview-item-right truncate ml-2 flex flex-shrink-0",a.push({type:"tpl",tpl:e.tpl,className:s}),i=e.field.is_wide?r=!0:r=!r}),a.length&&t.length<2&&t.push({type:"wrapper",body:a,size:"none",className:n}),t}async function getMobileTableColumns(e,t){var a=[];let i={};var r=[];for(const n of e){let e="";e=(e=n.is_name||n.name===t.labelFieldName?(i=n,t.onlyDisplayLabel=!0,await getFieldTpl(n,t)):"avatar"===n.type||"image"===n.type||"file"===n.type?`\${_display.${n.name}.name}`:("lookup"!==n.type&&"master_detail"!==n.type||(t.onlyDisplayLabel=!0),await getFieldTpl(n,t)))||`\${${n.name}}`,n.hidden||n.extra||r.push({field:n,tpl:e})}var e=getNameTplUrl(i,t),s=getMobileLines(r);return a.push({name:i.name,label:i.label,sortable:i.sortable,type:"button",level:"link",actionType:"link",link:e,innerClassName:"steedos-listview-item block text-gray-500",body:{type:"wrapper",body:s,size:"none",className:"p-1"}}),a}function getDefaultParams(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(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:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
330
335
|
payload.recordPermissions = payload;
|
|
331
336
|
return payload;
|
|
332
|
-
`}}]}}async function getTableSchema$1(e,t){let a=[];return"SMALL"===(t=t||{}).formFactor?a=await getMobileTableColumns(e,t):(a=await getTableColumns(e,t)).push(await getTableOperation(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 bg-gray-100 border-solid border-b",className:"",draggable:!1,defaultParams:getDefaultParams(t),columns:a,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:s,filtersFunction:
|
|
337
|
+
`}}]}}async function getTableSchema$1(e,t){let a=[];return"SMALL"===(t=t||{}).formFactor?a=await getMobileTableColumns(e,t):(a=await getTableColumns(e,t)).push(await getTableOperation(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-2 border-gray-300 bg-gray-100 border-solid border-b",className:"",draggable:!1,defaultParams:getDefaultParams(t),columns:a,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1,columnsTogglable:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:s,filtersFunction:n,sort:l,top:o,setDataToComponentId:d=""}=a,c=(s=(s=_$1.isArray(s)?_$1.map(s,function(e){return e.operation?[e.field,e.operation,e.value]:e}):s)||[],null);isEmpty(r)||isEmpty(s)?r?c=r:s&&(c=s):c=[r,"and",s],_$1.each(t,function(e){e.searchable&&i.push(e.name)});const p={},u=[];t.forEach(e=>{_$1.includes(["image","avatar","file"],e.type)&&(u.push(e.name),p[e.name]={name:e.name,type:e.type,multiple:e.multiple})});var m=e.key_field||"_id",t=await getApi$1(e,null,t,{count:a.queryCount,alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.data.loaded="${loaded}",t.data.listViewId="${listViewId}",t.requestAdaptor=`
|
|
333
338
|
// selfData 中的数据由 CRUD 控制. selfData中,只能获取到 CRUD 给定的data. 无法从数据链中获取数据.
|
|
334
339
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
335
340
|
try{
|
|
@@ -357,7 +362,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
357
362
|
console.error("本地存储中crud参数解析异常:", ex);
|
|
358
363
|
}
|
|
359
364
|
${c?`var systemFilters = ${JSON.stringify(c)};`:"var systemFilters = [];"}
|
|
360
|
-
const filtersFunction = ${
|
|
365
|
+
const filtersFunction = ${n};
|
|
361
366
|
if(filtersFunction){
|
|
362
367
|
const _filters = filtersFunction(systemFilters, api.data.$self);
|
|
363
368
|
if(_filters && _filters.length > 0){
|
|
@@ -383,7 +388,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
383
388
|
var orderBy = api.data.orderBy || '';
|
|
384
389
|
var orderDir = api.data.orderDir || '';
|
|
385
390
|
var sort = orderBy + ' ' + orderDir;
|
|
386
|
-
sort = orderBy ? sort : "${
|
|
391
|
+
sort = orderBy ? sort : "${l||""}";
|
|
387
392
|
var allowSearchFields = ${JSON.stringify(i)};
|
|
388
393
|
if(api.data.$term){
|
|
389
394
|
userFilters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
@@ -702,7 +707,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
702
707
|
payload.data = data;
|
|
703
708
|
}
|
|
704
709
|
return payload;
|
|
705
|
-
`,data:i,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getRefListViewSort(e){e=_$1.find(e.list_views,(e,t)=>"all"===t);let t="";return t=e?getListViewSort(e):t}async function lookupToAmisTreeSelect(e,t,a){if(!e)return{};a=a||{};var i={type:getAmisStaticFieldType("tree-select",t)};return t?i.tpl=await getLookupTpl(e,a):(t=await getUISchema(a.objectName),a.sort=getRefListViewSort(t),Object.assign(i,{multiple:e.multiple,searchable:e.searchable,extractValue:!0,hideNodePathLabel:!0,clearable:!0,source:await getSource(e,a),deferApi:await getDeferApi(e,a)}),e.multiple&&Object.assign(i,{joinValues:!1}),"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);if(!r)return null;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"],NAME_FIELD_KEY:r.NAME_FIELD_KEY||"name"}}};async function lookupToAmisPicker(r,s,
|
|
710
|
+
`,data:i,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getRefListViewSort(e){e=_$1.find(e.list_views,(e,t)=>"all"===t);let t="";return t=e?getListViewSort(e):t}async function lookupToAmisTreeSelect(e,t,a){if(!e)return{};a=a||{};var i={type:getAmisStaticFieldType("tree-select",t)};return t?i.tpl=await getLookupTpl(e,a):(t=await getUISchema(a.objectName),a.sort=getRefListViewSort(t),Object.assign(i,{multiple:e.multiple,searchable:e.searchable,extractValue:!0,hideNodePathLabel:!0,clearable:!0,source:await getSource(e,a),deferApi:await getDeferApi(e,a)}),e.multiple&&Object.assign(i,{joinValues:!1}),"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);if(!r)return null;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"],NAME_FIELD_KEY:r.NAME_FIELD_KEY||"name"}}};async function lookupToAmisPicker(r,s,n){var l=await getReferenceTo(r);if(l){const c=await getUISchema(l.objectName),p=[];let e=0;const u=[],m=[];var o=_$1.find(c.list_views,(e,t)=>"all"===t);o&&o.columns?_$1.each(o.columns,function(e){_$1.isString(e)&&c.fields[e]?m.push(c.fields[e]):_$1.isObject(e)&&c.fields[e.field]&&m.push(Object.assign({},c.fields[e.field],{width:e.width,wrap:e.wrap}))}):_$1.each(c.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),m.push(e))}),_$1.each(_$1.sortBy(m,"sort_no"),function(t){e<5&&(_$1.find(p,function(e){return e.name===t.name})||(e++,p.push(t),t.searchable&&u.push(t.name)))});const f={[l.labelField.name]:l.labelField,[l.valueField.name]:l.valueField};_$1.each(p,e=>{e.hidden||(f[e.name]=e)});let t="";o&&(t=getListViewSort(o));o=await getApi(c,null,f,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});if(o.url){const g=[],y=[];_$1.each(r.depend_on,e=>{g.push(`depend_on_${e}=\${${e}}`),y.push("this."+e)}),0<g.length&&(o.url=o.url+"?"+g.join("&"),o.sendOn=""+y.join(" && "))}o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
|
|
706
711
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
707
712
|
var filters = [];
|
|
708
713
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -717,9 +722,9 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
717
722
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
718
723
|
}else if(selfData.op === 'loadOptions' && selfData.value){
|
|
719
724
|
if(selfData.value?.indexOf(',') > 0){
|
|
720
|
-
filters = [["${
|
|
725
|
+
filters = [["${l.valueField.name}", "=", selfData.value.split(',')]];
|
|
721
726
|
}else{
|
|
722
|
-
filters = [["${
|
|
727
|
+
filters = [["${l.valueField.name}", "=", selfData.value]];
|
|
723
728
|
}
|
|
724
729
|
}
|
|
725
730
|
|
|
@@ -799,7 +804,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
799
804
|
payload.data.rows = treeRecords;
|
|
800
805
|
}
|
|
801
806
|
return payload;
|
|
802
|
-
`;let a=20,i=(c.paging&&!1===c.paging.enabled&&(a=1e3),null);"SMALL"===
|
|
807
|
+
`;let a=20,i=(c.paging&&!1===c.paging.enabled&&(a=1e3),null);"SMALL"===n.formFactor?i=await getListSchema$1(p,{top:a,...n,actions:!1}):((i=await getTableSchema$1(p,{labelFieldName:c.NAME_FIELD_KEY,top:a,...n})).headerToolbar=getObjectHeaderToolbar(c,n.formFactor),c.permissions.allowCreate&&((d=await getSchema$4(c,{appId:n.appId,objectName:c.name,formFactor:n.formFactor})).align="right",i.headerToolbar.push(d)),i.footerToolbar=getObjectFooterToolbar(),!1!==n.filterVisible&&(d=n.filterLoopCount||0,d++,i.filter=await getObjectFilter(c,f,{isLookup:!0,...n,filterLoopCount:d})),i.data=Object.assign({},i.data,{"&":"$$",objectName:c.name,uiSchema:c,listName:"all",isLookup:!0}));var d={type:getAmisStaticFieldType("picker",s),labelField:l.labelField.name,valueField:l.valueField.name,modalMode:"dialog",source:o,size:"lg",pickerSchema:i,joinValues:!1,extractValue:!0};return r.multiple&&(d.multiple=!0,d.extractValue=!0),s&&(d.tpl=await getLookupTpl(r,n)),d}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e),r=i&&i.valueField?.name||"_id";let s;i?(n=await getFindQuery({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{alias:"defaultValueOptions",filters:"{__options_filters}",count:!1}),(s=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}, sort: "{__sort}"',moreQueries:[n.query]})).adaptor=`
|
|
803
808
|
const data = payload.data;
|
|
804
809
|
var defaultValueOptions = data.defaultValueOptions;
|
|
805
810
|
// 字段值下拉选项合并到options中
|
|
@@ -809,7 +814,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
809
814
|
delete data.defaultValueOptions;
|
|
810
815
|
payload.data.options = data.options;
|
|
811
816
|
return payload;
|
|
812
|
-
`):s={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}};var
|
|
817
|
+
`):s={method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}};var n=i&&await getUISchema(i.objectName),n=n&&_$1.find(n.list_views,(e,t)=>"all"===t);let l="";if(n&&(l=getListViewSort(n)),s.url){const o=[],d=[];_$1.each(e.depend_on,e=>{o.push(`depend_on_${e}=\${${e}}`),d.push("this."+e)}),0<o.length&&(s.url=s.url+"?"+o.join("&"),s.sendOn=""+d.join(" && "))}s.data.$term="$term",s.data.$value=a.isRefToMutiple?`$${e.name}.ids`:"$"+e.name,_$1.each(e.depend_on,function(e){s.data[e]="$"+e}),s.data.$="$$",s.data.rfield="${object_name}",s.requestAdaptor=`
|
|
813
818
|
var filters = [];
|
|
814
819
|
var top = 10;
|
|
815
820
|
if(api.data.$term){
|
|
@@ -832,7 +837,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
832
837
|
filters.push(_filters);
|
|
833
838
|
}
|
|
834
839
|
}
|
|
835
|
-
var sort = "${
|
|
840
|
+
var sort = "${l}";
|
|
836
841
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());
|
|
837
842
|
|
|
838
843
|
var defaultValue = api.data.$value;
|
|
@@ -847,7 +852,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
847
852
|
`,i&&i.labelField.name,i&&i.valueField.name,(e.optionsFunction||e._optionsFunction)&&(s.adaptor=`
|
|
848
853
|
payload.data.options = eval(${e.optionsFunction||e._optionsFunction})(api.data.$);
|
|
849
854
|
return payload;
|
|
850
|
-
`);l={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,source:s,autoComplete:s,searchable:!0};return l.menuTpl="${icon ? `<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='${context.rootUrl}/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>` : label}",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)}:!e.reference_to||_$1.isString(e.reference_to)||t?(i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName&&"user"===e.reference_to_field?lookupToAmisSelectUser(e,t,a):1==r.enable_enhanced_lookup&&_$1.isEmpty(e.depend_on)?lookupToAmisPicker(e,t,a):r.enable_tree?lookupToAmisTreeSelect(e,t,Object.assign({},a,{labelField:i.labelField?.name||"name",valueField:i.valueField?.name||"_id",objectName:i.objectName})):lookupToAmisSelect(e,t,a)):lookupToAmisSelect(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const getMarkdownFieldSchema=(e,t,a)=>t?{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:e.name,language:"markdown"},{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]},getHtmlFieldSchema=(e,t,a)=>t?{type:"html",name:e.name}:{type:"input-rich-text",name:e.name},OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(a,e){var t=Object.assign({subFields:[]},a),e=_$1.filter(e,function(e){var t=e.name.startsWith(a.name+".")&&_$1.split(e.name,".").length<3;return t&&(e._prefix=a.name+"."),t});return t.subFields=e,t}function getGridFieldSubFields(a,e){var t=Object.assign({subFields:[]},a),e=_$1.filter(e,function(e){var t=e.name.startsWith(a.name+".");return t&&(e._prefix=a.name+"."),t});return t.subFields=e,t}function getPermissionFields(e,t){const a=[],i=[];return _$1.each(e.fields,(e,t)=>{_$1.has(e,"name")||(e.name=t),i.push(e)}),_$1.each(_$1.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$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(a,i,r){if(!_$1.includes(OMIT_FIELDS,a.name)||1==r.showSystemFields){var e={name:r.fieldNamePrefix?""+r.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(_$1.has(r,"required")?r:a).required};let t={};switch(a.type){case"text":t.type=getAmisStaticFieldType("text",i);break;case"textarea":t.type=getAmisStaticFieldType("textarea",i),t.tpl=`<%=(data.${a.name} || "").split("\\n").join('<br>')%>`;break;case"html":t=getHtmlFieldSchema(a,i);break;case"markdown":t=getMarkdownFieldSchema(a,i);break;case"select":t={type:getAmisStaticFieldType("select",i),joinValues:!1,options:getSelectFieldOptions(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:i?getSelectTpl(a):null},a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:getAmisStaticFieldType("checkbox",i),tpl:i?getSwitchTpl(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null,joinValues:!1};break;case"date":t={type:getAmisStaticFieldType("date",i),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:getAmisStaticFieldType("datetime",i),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null,joinValues:!1};break;case"time":t={type:getAmisStaticFieldType("time",i),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null};break;case"currency":case"number":t=i?{type:"static-tpl",tpl:getNumberTpl(a)}:{type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,e);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:getAmisStaticFieldType("password",i),tpl:i?getPasswordTpl(a):null};break;case"lookup":case"master_detail":t=await lookupToAmis(a,i,r);break;case"autonumber":i&&(t={type:"static-text"});break;case"url":t={type:getAmisStaticFieldType("url",i)};break;case"email":t={type:getAmisStaticFieldType("email",i)};break;case"avatar":case"image":case"file":t=getAmisFileSchema(a,i);break;case"formula":case"summary":i&&(t.type=getAmisStaticFieldType(a.data_type,i));break;case"code":t={type:"editor",language:a.language};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:i};break;case"grid":if(a.subFields){t={type:"input-table",showIndex:!0,columnsTogglable:!1,strictMode:!1,affixHeader:!1,editable:!i,addable:!i,removable:!i,draggable:!i,columns:[]};for(const d of a.subFields){var s=d.name.replace(`${a._prefix||""}${a.name}.$.`,"").replace(a.name+".",""),l=await convertSFieldToAmisField(Object.assign({},d,{name:s}),i,r);l&&(delete l.name,delete l.label,t.columns.push({name:s,label:d.label,quickEdit:!i&&l}))}}break;case"object":if(a.subFields){t={type:"combo",items:[]};for(var n of a.subFields){let e=n.name.replace(a.name+".$.","").replace(a.name+".","");"grid"===n.type?n=await getGridFieldSubFields(n,r.__permissionFields):i&&(e=a.name+"."+e);var o=await convertSFieldToAmisField(Object.assign({},n,{name:e}),i,r);o&&(delete o.name,delete o.label,t.items.push(Object.assign({},o,{name:e,label:n.label})))}}}return _$1.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",i&&(t.className=t.className+" md:border-b"),i&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},e,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},e,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,s=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=cloneDeep(r),t=(includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,s+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,s+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,s+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,s+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:s,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,s=[];for(i of t)includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&s.push(r));return map(s,"name"),a.enableSearchableFieldsVisibleOn&&s.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`}),s}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",name:"service_listview_filter_form",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
855
|
+
`);n={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,source:s,autoComplete:s,searchable:!0};return n.menuTpl="${icon ? `<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='${context.rootUrl}/assets/icons/standard-sprite/svg/symbols.svg#${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>${label}</span>\n </span>` : label}",e.multiple&&(n.multiple=!0,n.extractValue=!0),t&&(n.tpl=await getLookupTpl(e,a)),n}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:!e.reference_to||_$1.isString(e.reference_to)||t?(i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName&&"user"===e.reference_to_field?lookupToAmisSelectUser(e,t,a):1==r.enable_enhanced_lookup&&_$1.isEmpty(e.depend_on)?lookupToAmisPicker(e,t,a):r.enable_tree?lookupToAmisTreeSelect(e,t,Object.assign({},a,{labelField:i.labelField?.name||"name",valueField:i.valueField?.name||"_id",objectName:i.objectName})):lookupToAmisSelect(e,t,a)):lookupToAmisSelect(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const getMarkdownFieldSchema=(e,t,a)=>t?{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:e.name,language:"markdown"},{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]},getHtmlFieldSchema=(e,t,a)=>t?{type:"html",name:e.name}:{type:"input-rich-text",name:e.name},OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(a,e){var t=Object.assign({subFields:[]},a),e=_$1.filter(e,function(e){var t=e.name.startsWith(a.name+".")&&_$1.split(e.name,".").length<3;return t&&(e._prefix=a.name+"."),t});return t.subFields=e,t}function getGridFieldSubFields(a,e){var t=Object.assign({subFields:[]},a),e=_$1.filter(e,function(e){var t=e.name.startsWith(a.name+".");return t&&(e._prefix=a.name+"."),t});return t.subFields=e,t}function getPermissionFields(e,t){const a=[],i=[];return _$1.each(e.fields,(e,t)=>{_$1.has(e,"name")||(e.name=t),i.push(e)}),_$1.each(_$1.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$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(a,i,r){if(!_$1.includes(OMIT_FIELDS,a.name)||1==r.showSystemFields){var e={name:r.fieldNamePrefix?""+r.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(_$1.has(r,"required")?r:a).required};let t={};switch(a.type){case"text":t.type=getAmisStaticFieldType("text",i);break;case"textarea":t.type=getAmisStaticFieldType("textarea",i),t.tpl=`<%=(data.${a.name} || "").split("\\n").join('<br>')%>`;break;case"html":t=getHtmlFieldSchema(a,i);break;case"markdown":t=getMarkdownFieldSchema(a,i);break;case"select":t={type:getAmisStaticFieldType("select",i),joinValues:!1,options:getSelectFieldOptions(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:i?getSelectTpl(a):null},a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:getAmisStaticFieldType("checkbox",i),tpl:i?getSwitchTpl(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null,joinValues:!1};break;case"date":t={type:getAmisStaticFieldType("date",i),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:getAmisStaticFieldType("datetime",i),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null,joinValues:!1};break;case"time":t={type:getAmisStaticFieldType("time",i),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null};break;case"currency":case"number":t=i?{type:"static-tpl",tpl:getNumberTpl(a)}:{type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,e);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:getAmisStaticFieldType("password",i),tpl:i?getPasswordTpl(a):null};break;case"lookup":case"master_detail":t=await lookupToAmis(a,i,r);break;case"autonumber":i&&(t={type:"static-text"});break;case"url":t={type:getAmisStaticFieldType("url",i)};break;case"email":t={type:getAmisStaticFieldType("email",i)};break;case"avatar":case"image":case"file":t=getAmisFileSchema(a,i);break;case"formula":case"summary":i&&(t.type=getAmisStaticFieldType(a.data_type,i));break;case"code":t={type:"editor",language:a.language};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:i};break;case"grid":if(a.subFields){t={type:"input-table",showIndex:!0,columnsTogglable:!1,strictMode:!1,affixHeader:!1,editable:!i,addable:!i,removable:!i,draggable:!i,columns:[]};for(const d of a.subFields){var s=d.name.replace(`${a._prefix||""}${a.name}.$.`,"").replace(a.name+".",""),n=await convertSFieldToAmisField(Object.assign({},d,{name:s}),i,r);n&&(delete n.name,delete n.label,t.columns.push({name:s,label:d.label,quickEdit:!i&&n}))}}break;case"object":if(a.subFields){t={type:"combo",items:[]};for(var l of a.subFields){let e=l.name.replace(a.name+".$.","").replace(a.name+".","");"grid"===l.type?l=await getGridFieldSubFields(l,r.__permissionFields):i&&(e=a.name+"."+e);var o=await convertSFieldToAmisField(Object.assign({},l,{name:e}),i,r);o&&(delete o.name,delete o.label,t.items.push(Object.assign({},o,{name:e,label:l.label})))}}}return _$1.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",i&&(t.className=t.className+" md:border-b"),i&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},e,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},e,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,s=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=cloneDeep(r),t=(includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,s+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,s+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,s+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,s+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:s,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,s=[];for(i of t)includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&s.push(r));return map(s,"name"),a.enableSearchableFieldsVisibleOn&&s.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`}),s}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",name:"service_listview_filter_form",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
851
856
|
const objectName = data.objectName;
|
|
852
857
|
const isLookup = data.isLookup;
|
|
853
858
|
const listViewId = data.listViewId;
|
|
@@ -1012,13 +1017,13 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1012
1017
|
localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
1013
1018
|
}
|
|
1014
1019
|
// ===END===
|
|
1015
|
-
`},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap "+(!a.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function getCalendarApi(e,t,a){var i=(a=a||{}).calendarOptions;const r=[];let{globalFilter:s,filter:
|
|
1020
|
+
`},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap "+(!a.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function getCalendarApi(e,t,a){var i=(a=a||{}).calendarOptions;const r=[];let{globalFilter:s,filter:n,sort:l,top:o,setDataToComponentId:d=""}=a;o=o||200,n=(n=___default.isArray(n)?___default.map(n,function(e){return e.operation?[e.field,e.operation,e.value]:e}):n)||[],___default.each(t,function(e){e.searchable&&r.push(e.name)});var a=e.idFieldName||"_id",c=e.key_field||"_id",e=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return e.data.$term="$term",e.data.$self="$$",e.data.filter="$filter",e.data.pageSize=o||10,e.requestAdaptor=`
|
|
1016
1021
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
1017
1022
|
${s?`var filters = ${JSON.stringify(s)};`:"var filters = [];"}
|
|
1018
1023
|
if(_.isEmpty(filters)){
|
|
1019
|
-
filters = api.data.filter || ${JSON.stringify(
|
|
1024
|
+
filters = api.data.filter || ${JSON.stringify(n)};
|
|
1020
1025
|
}else{
|
|
1021
|
-
filters = [filters, 'and', api.data.filter || ${JSON.stringify(
|
|
1026
|
+
filters = [filters, 'and', api.data.filter || ${JSON.stringify(n)}]
|
|
1022
1027
|
}
|
|
1023
1028
|
const eventFetchInfo = selfData.fetchInfo;
|
|
1024
1029
|
const startDateExpr = "${i.startDateExpr}";
|
|
@@ -1035,7 +1040,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1035
1040
|
var orderBy = api.data.orderBy || '';
|
|
1036
1041
|
var orderDir = api.data.orderDir || '';
|
|
1037
1042
|
var sort = orderBy + ' ' + orderDir;
|
|
1038
|
-
sort = orderBy ? sort : "${
|
|
1043
|
+
sort = orderBy ? sort : "${l}";
|
|
1039
1044
|
var allowSearchFields = ${JSON.stringify(r)};
|
|
1040
1045
|
if(api.data.$term){
|
|
1041
1046
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
@@ -1148,7 +1153,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1148
1153
|
revert && revert();
|
|
1149
1154
|
}
|
|
1150
1155
|
return payload;
|
|
1151
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getObjectCalendar(t,e,a){var i=t.permissions,r=(a=a||{},(e=Object.assign({},DEFAULT_CALENDAR_OPTIONS,omitBy(e,isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let s=[],
|
|
1156
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getObjectCalendar(t,e,a){var i=t.permissions,r=(a=a||{},(e=Object.assign({},DEFAULT_CALENDAR_OPTIONS,omitBy(e,isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let s=[],n=(each(r,function(e){t.fields[e]&&s.push(t.fields[e])}),t.fields[e.allDayExpr]&&s.push(t.fields[e.allDayExpr]),a.sort||(r=a.sortField,a.sortOrder,r&&0),e.currentView);if(n)switch(n){case"day":n="timeGridDay";break;case"week":n="timeGridWeek";break;case"month":n="dayGridMonth";break;case"agenda":n="timeGridDay"}else n="timeGridWeek";a.calendarOptions=e;var r=await getCalendarApi(t,s,a),a=`
|
|
1152
1157
|
const api = ${JSON.stringify(r)};
|
|
1153
1158
|
event.data.calendarOptions = ${JSON.stringify(e)};
|
|
1154
1159
|
doAction({
|
|
@@ -1199,7 +1204,7 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1199
1204
|
"size": "lg"
|
|
1200
1205
|
}
|
|
1201
1206
|
});
|
|
1202
|
-
`,
|
|
1207
|
+
`,l=getCalendarRecordPermissionsApi(t,"${event.id}"),o=getCalendarRecordSaveApi(t,e),d={daysOfWeek:[1,2,3,4,5],startTime:"08:00",endTime:"18:00"},e=(isEmpty(e.startDayHour)||(d.startTime=e.startDayHour+":00"),isEmpty(e.endDayHour)||(d.endTime=e.endDayHour+":00"),{type:"steedos-fullcalendar",label:"",name:"fullcalendar",editable:i.allowEdit,selectable:i.allowCreate,selectMirror:i.allowCreate,initialView:n,businessHours:d,onEvent:{getEvents:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:a}]},select:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:r}]},eventClick:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:`
|
|
1203
1208
|
const data = event.data;
|
|
1204
1209
|
const eventData = data.event;
|
|
1205
1210
|
const appId = data.appId;
|
|
@@ -1224,11 +1229,11 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1224
1229
|
"actions": []
|
|
1225
1230
|
}
|
|
1226
1231
|
});
|
|
1227
|
-
`}]},eventAdd:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventAdd'); console.log(event);"}]},eventChange:{weight:0,actions:[{actionType:"ajax",args:{api:
|
|
1232
|
+
`}]},eventAdd:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventAdd'); console.log(event);"}]},eventChange:{weight:0,actions:[{actionType:"ajax",args:{api:l}},{actionType:"toast",expression:"!event.data.editable",args:{msgType:"error",msg:"您没有编辑该记录的权限!",position:"top-center"}},{actionType:"ajax",expression:"event.data.editable",args:{api:o,messages:{success:t.label+"修改成功",failed:t.label+"修改失败!"}}}]},eventRemove:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventRemove'); console.log(event);"}]},eventsSet:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:"console.log('eventsSet'); console.log(event);"}]}}});return e}const getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e)}),""+t.join(" ")},getFindOneQuery=(e,t,a)=>{e=e.replace(/\./g,"_");a=getGraphqlFieldsQuery(a);let i="";t=[`id: "${t}"`];return`{record:${e}__findOne${i=0<t.length?`(${t.join(",")})`:i}{${a}}}`},getRecord=async(e,t,a)=>{return(await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,a)})})).data.record},getRelatedsCount=async(t,e)=>{const a=[];each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`)});e=`
|
|
1228
1233
|
{
|
|
1229
1234
|
${a.join(",")}
|
|
1230
1235
|
}
|
|
1231
|
-
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})},getRelatedFieldValue=(e,t,a,i)=>{a=find(a.fields,e=>i===e?.name);return isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getObjectRelatedList(e,t,a){var i=await getUISchema(e),r=[],s=[].concat(i.related_lists||[]);if(isEmpty(s))for(const o of[].concat(i.details||[])){var l=o.split(".");r.push({masterObjectName:e,object_name:l[0],foreign_key:l[1]})}else for(const d of s){var n=d.related_field_fullname.split(".");r.push({masterObjectName:e,object_name:n[0],foreign_key:n[1],label:d.label,columns:d.field_names,sort:d.sort,filters:d.filters,visible_on:d.visible_on,page_size:d.page_size})}return r}async function getRecordDetailRelatedListSchema(t,e,a,i,r){let{top:s,perPage:l,hiddenEmptyTable:n,appId:o,relatedLabel:d,className:c}=r;var p=await getUISchema(a),{label:u,fields:m}=p;d=d||u;let f=null;u=await getField(a,i=i||findKey(m,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));if(!u)return{uiSchema:p,amisSchema:{type:"alert",body:`未找到与相关列表对象${a}关联的相关表字段`,level:"warning",showIcon:!0,className:"mb-3"}};let g=e;u.reference_to_field&&"_id"!=u.reference_to_field&&(m=await getRecord(t,e,[u.reference_to_field]),g=m[u.reference_to_field]),f=u._reference_to||u.reference_to&&!isString(u.reference_to)?[[i+"/o","=",t],[i+"/ids","=",g]]:[""+i,"=",g];e=await getObjectRecordDetailRelatedListHeader(p,d),m="steedos-record-related-list-"+a,u=(await getRelatedListSchema(a,"all",{globalFilter:f,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:s,perPage:l,setDataToComponentId:m,tableHiddenOn:n?"this.$count === 0":null,appId:o,crudClassName:"border-t border-slate-300",...r})).amisSchema;return u?{uiSchema:p,amisSchema:{type:"service",id:m,className:"steedos-record-related-list rounded border border-slate-300 bg-gray-100 mb-4 "+c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...u,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,g,p,i)}}}]}}:void 0}function getDefaultRelatedListProps(e,a,t){var i=find(e.list_views,(e,t)=>"calendar"!==e.type&&t===(a=a||t));let r=[],s="",l=null,n=null;return i?(r=getListViewColumns(i,t.formFactor),s=getListViewSort(i),l=getListViewFilter(i),n=i&&i._filters):(t=find(e.fields,(e,t)=>e.is_name),r=t?[t.name]:["name"]),{columns:r,sort:s,filter:l,filtersFunction:n}}function getRelatedListProps(e,t,a){if(a.columns){var i=getListViewSort(a.sort);let e=a.filters?[e,a.globalFilter]:a.globalFilter;return{columns:a.columns,sort:i,filter:e,filtersFunction:a.filtersFunction}}return getDefaultRelatedListProps(e,t,a)}async function getRelatedListSchema(e,t,a){var i=await getUISchema(e),r=i.list_views,{columns:s,sort:l,filter:n,filtersFunction:o}=getRelatedListProps(i,t,a),d=a.defaults||{},t=(!d.headerSchema&&a.showHeader&&(d.headerSchema=await getObjectListHeader(i,t)),a.showHeader||(d.headerSchema=null),a.defaults=d,{type:"steedos-object-table",objectApiName:e,columns:s,extraColumns:r.extra_columns,filters:n,filtersFunction:o,sort:l,ctx:a});return{uiSchema:i,amisSchema:t}}let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?isEmpty(e.mobile_columns)?slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&each(e.sort,function(e,t){var a;isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}function getListViewFilter(t){if(t){var a=getUserId();let e=t.filters;return"mine"===t.filter_scope&&(___default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema),each(uiSchema.fields,field=>{try{"lookup"===field.type&&field._reference_to&&___default.isString(field._reference_to)&&(field.reference_to=eval(`(${field._reference_to})`)())}catch(exception){field.reference_to=void 0,console.error(exception)}}),each(uiSchema.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=uiSchema.list_views.all.columns)})}async function getUISchema(t,a){if(t){if(!hasUISchemaCache(t)||a){let e=null;try{if(!(e=UISchemaFunction?await UISchemaFunction(t,a):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;formatUISchemaCache(t,e)}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}function getUISchemaSync(t,e){if(t){if(!hasUISchemaCache(t)||e)try{var a,i=`/service/api/@${t.replace(/\./g,"_")}/uiSchema`;if(!(a=Steedos.authRequest(i,{type:"GET",async:!1})))return;formatUISchemaCache(t,a)}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),s=find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!s)return{uiSchema:r};if(s.enable_amis_schema&&s.amis_schema){const f=isString(s.amis_schema)?JSON.parse(s.amis_schema):s.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:f}}var l=getListViewColumns(s,i.formFactor),n=getListViewSort(s),o=getListViewFilter(s),d=s&&s._filters;if("calendar"===s.type){const f={type:"steedos-object-calendar",objectApiName:t,filters:o,filtersFunction:d,sort:n,...s.options};return{uiSchema:r,isCalendar:!0,amisSchema:f}}var c=i.defaults||{};!c.headerSchema&&i.showHeader&&(c.headerSchema=await getObjectListHeader$1(r)),i.showHeader||(c.headerSchema=null);try{var p,u=location.pathname+"/crud/"+i.listViewId,m=localStorage.getItem(u);m&&(m=JSON.parse(m),p={},m.orderBy&&(p.orderBy=m.orderBy),m.orderDir&&(p.orderDir=m.orderDir),m.perPage&&(p.defaultParams={perPage:m.perPage}),c.listSchema=defaultsDeep$1({},p,c.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=c;const f={type:"steedos-object-table",objectApiName:t,columns:l,extraColumns:s.extra_columns,filters:o,filtersFunction:d,sort:n,ctx:i,requestAdaptor:s.requestAdaptor,adaptor:s.adaptor};return{uiSchema:r,amisSchema:f}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let s=i.sort;s||(n=i.sortField,o=i.sortOrder,n&&(s=n+" "+o||"asc"));let l=[];each(a,function(e){isString(e)&&r.fields[e]?l.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&l.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))});var n=i.extraColumns,o=(n&&each(n,function(e){isString(e)?l.push({extra:!0,name:e}):isObject$1(e)&&l.push({extra:!0,name:e.field})}),await getObjectCRUD(r,l,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:s,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:o}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){var a=await getUISchema(e),i={type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"}],id:"u:a649e4094a12"};return(await getObjectRelatedList(e)).length&&i.tabs.push({title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}),{uiSchema:a,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${a?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},i]}}}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:s}){let l=null;var n=await getField(a,i),n=(l=n._reference_to||n.reference_to&&!isString(n.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:l,formFactor:s}),record:await getRecord(t,r,[n.NAME_FIELD_KEY]),masterObjectUISchema:n}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}function getScopeId(e,t){return`page_${e}_`+t}async function getFormPageInitSchema(e){var t=await getFormSchema(e,{recordId:"${recordId}"});return{type:"page",name:getScopeId(e,"form"),bodyClassName:"",regions:["body"],body:[t.amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",name:getScopeId(e,"list"),bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,className:"sm:border bg-white sm:shadow sm:rounded border-slate-300 border-solid"}]}}async function getRecordPageInitSchema(e){var t=await getObjectRelatedList(e),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"};return t.length&&i.tabs.push({title:"相关",body:{type:"steedos-object-related-lists",label:"所有相关表",objectApiName:"${objectName}",recordId:"${recordId}"}}),a.push(i),{type:"page",id:`page_${e}_record_detail`,name:getScopeId(e,"record_detail"),bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),s=find(r.list_views,(e,t)=>t===a);let l={};if(s){var n=getListViewColumns(s,i.formFactor),s=getListViewSort(s),o=i.defaults||{};o.headerSchema||(r=await getObjectListHeader$1(r),o.headerSchema=r),i.defaults=o;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,n,{sort:s,...i,setDataToComponentId:e});delete(l=r.amisSchema).data.$master,delete l.data._id,delete l.data.recordPermissions,delete l.data.uiSchema}return l}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}"undefined"!=typeof window&&(window.getUISchema=getUISchema,window.getUISchemaSync=getUISchemaSync);const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
1236
|
+
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})},getRelatedFieldValue=(e,t,a,i)=>{a=find(a.fields,e=>i===e?.name);return isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getObjectRelatedList(e,t,a){var i=await getUISchema(e),r=[],s=[].concat(i.related_lists||[]);if(isEmpty(s))for(const o of[].concat(i.details||[])){var n=o.split(".");r.push({masterObjectName:e,object_name:n[0],foreign_key:n[1]})}else for(const d of s){var l=d.related_field_fullname.split(".");r.push({masterObjectName:e,object_name:l[0],foreign_key:l[1],label:d.label,columns:d.field_names,sort:d.sort,filters:d.filters,visible_on:d.visible_on,page_size:d.page_size})}return r}async function getRecordDetailRelatedListSchema(t,e,a,i,r){let{top:s,perPage:n,hiddenEmptyTable:l,appId:o,relatedLabel:d,className:c}=r;var p=await getUISchema(a),{label:u,fields:m}=p;d=d||u;let f=null;u=await getField(a,i=i||findKey(m,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));if(!u)return{uiSchema:p,amisSchema:{type:"alert",body:`未找到与相关列表对象${a}关联的相关表字段`,level:"warning",showIcon:!0,className:"mb-3"}};let g=e;u.reference_to_field&&"_id"!=u.reference_to_field&&(m=await getRecord(t,e,[u.reference_to_field]),g=m[u.reference_to_field]),f=u._reference_to||u.reference_to&&!isString(u.reference_to)?[[i+"/o","=",t],[i+"/ids","=",g]]:[""+i,"=",g];e=await getObjectRecordDetailRelatedListHeader(p,d),m="steedos-record-related-list-"+a,u=(await getRelatedListSchema(a,"all",{globalFilter:f,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:s,perPage:n,setDataToComponentId:m,tableHiddenOn:l?"this.$count === 0":null,appId:o,crudClassName:"border-t border-slate-300",...r})).amisSchema;return u?{uiSchema:p,amisSchema:{type:"service",id:m,className:"steedos-record-related-list rounded border border-slate-300 bg-gray-100 mb-4 "+c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...u,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,g,p,i)}}}]}}:void 0}function getDefaultRelatedListProps(e,a,t){var i=find(e.list_views,(e,t)=>"calendar"!==e.type&&t===(a=a||t));let r=[],s="",n=null,l=null;return i?(r=getListViewColumns(i,t.formFactor),s=getListViewSort(i),n=getListViewFilter(i),l=i&&i._filters):(t=find(e.fields,(e,t)=>e.is_name),r=t?[t.name]:["name"]),{columns:r,sort:s,filter:n,filtersFunction:l}}function getRelatedListProps(e,t,a){if(a.columns){var i=getListViewSort(a.sort);let e=a.filters?[e,a.globalFilter]:a.globalFilter;return{columns:a.columns,sort:i,filter:e,filtersFunction:a.filtersFunction}}return getDefaultRelatedListProps(e,t,a)}async function getRelatedListSchema(e,t,a){var i=await getUISchema(e),r=i.list_views,{columns:s,sort:n,filter:l,filtersFunction:o}=getRelatedListProps(i,t,a),d=a.defaults||{},t=(!d.headerSchema&&a.showHeader&&(d.headerSchema=await getObjectListHeader(i,t)),a.showHeader||(d.headerSchema=null),a.defaults=d,{type:"steedos-object-table",objectApiName:e,columns:s,extraColumns:r.extra_columns,filters:l,filtersFunction:o,sort:n,ctx:a});return{uiSchema:i,amisSchema:t}}let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?isEmpty(e.mobile_columns)?slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&each(e.sort,function(e,t){var a;isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}function getListViewFilter(t){if(t){var a=getUserId();let e=t.filters;return"mine"===t.filter_scope&&(___default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}function formatUISchemaCache(objectName,uiSchema){setUISchemaCache(objectName,uiSchema),each(uiSchema.fields,field=>{try{"lookup"===field.type&&field._reference_to&&___default.isString(field._reference_to)&&(field.reference_to=eval(`(${field._reference_to})`)())}catch(exception){field.reference_to=void 0,console.error(exception)}}),each(uiSchema.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=uiSchema.list_views.all.columns)})}async function getUISchema(t,a){if(t){if(!hasUISchemaCache(t)||a){let e=null;try{if(!(e=UISchemaFunction?await UISchemaFunction(t,a):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;formatUISchemaCache(t,e)}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}function getUISchemaSync(t,e){if(t){if(!hasUISchemaCache(t)||e)try{var a,i=`/service/api/@${t.replace(/\./g,"_")}/uiSchema`;if(!(a=Steedos.authRequest(i,{type:"GET",async:!1})))return;formatUISchemaCache(t,a)}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),s=find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!s)return{uiSchema:r};if(s.enable_amis_schema&&s.amis_schema){const f=isString(s.amis_schema)?JSON.parse(s.amis_schema):s.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:f}}var n=getListViewColumns(s,i.formFactor),l=getListViewSort(s),o=getListViewFilter(s),d=s&&s._filters;if("calendar"===s.type){const f={type:"steedos-object-calendar",objectApiName:t,filters:o,filtersFunction:d,sort:l,...s.options};return{uiSchema:r,isCalendar:!0,amisSchema:f}}var c=i.defaults||{};!c.headerSchema&&i.showHeader&&(c.headerSchema=await getObjectListHeader$1(r)),i.showHeader||(c.headerSchema=null);try{var p,u=location.pathname+"/crud/"+i.listViewId,m=localStorage.getItem(u);m&&(m=JSON.parse(m),p={},m.orderBy&&(p.orderBy=m.orderBy),m.orderDir&&(p.orderDir=m.orderDir),c.listSchema=defaultsDeep$1({},p,c.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=c;const f={type:"steedos-object-table",objectApiName:t,columns:n,extraColumns:s.extra_columns,filters:o,filtersFunction:d,sort:l,ctx:i,requestAdaptor:s.requestAdaptor,adaptor:s.adaptor};return{uiSchema:r,amisSchema:f}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let s=i.sort;s||(l=i.sortField,o=i.sortOrder,l&&(s=l+" "+o||"asc"));let n=[];each(a,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}))});var l=i.extraColumns,o=(l&&each(l,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(e)&&n.push({extra:!0,name:e.field})}),await getObjectCRUD(r,n,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:s,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:o}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){var a=await getUISchema(e),i={type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"}],id:"u:a649e4094a12"};return(await getObjectRelatedList(e)).length&&i.tabs.push({title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}),{uiSchema:a,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${a?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},i]}}}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:s}){let n=null;var l=await getField(a,i),l=(n=l._reference_to||l.reference_to&&!isString(l.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:n,formFactor:s}),record:await getRecord(t,r,[l.NAME_FIELD_KEY]),masterObjectUISchema:l}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}function getScopeId(e,t){return`page_${e}_`+t}async function getFormPageInitSchema(e){var t=await getFormSchema(e,{recordId:"${recordId}"});return{type:"page",name:getScopeId(e,"form"),bodyClassName:"",regions:["body"],body:[t.amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",name:getScopeId(e,"list"),bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,className:"sm:border bg-white sm:shadow sm:rounded border-slate-300 border-solid"}]}}async function getRecordPageInitSchema(e){var t=await getObjectRelatedList(e),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"};return t.length&&i.tabs.push({title:"相关",body:{type:"steedos-object-related-lists",label:"所有相关表",objectApiName:"${objectName}",recordId:"${recordId}"}}),a.push(i),{type:"page",id:`page_${e}_record_detail`,name:getScopeId(e,"record_detail"),bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),s=find(r.list_views,(e,t)=>t===a);let n={};if(s){var l=getListViewColumns(s,i.formFactor),s=getListViewSort(s),o=i.defaults||{};o.headerSchema||(r=await getObjectListHeader$1(r),o.headerSchema=r),i.defaults=o;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,l,{sort:s,...i,setDataToComponentId:e});delete(n=r.amisSchema).data.$master,delete n.data._id,delete n.data.recordPermissions,delete n.data.uiSchema}return n}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}"undefined"!=typeof window&&(window.getUISchema=getUISchema,window.getUISchemaSync=getUISchemaSync);const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
1232
1237
|
{
|
|
1233
1238
|
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
1234
1239
|
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|
|
@@ -1396,5 +1401,5 @@ import*as _$1 from"lodash";import ___default,{isEmpty,isArray,each,find,endsWith
|
|
|
1396
1401
|
}
|
|
1397
1402
|
}
|
|
1398
1403
|
}
|
|
1399
|
-
`})});let r=null,s=null,
|
|
1404
|
+
`})});let r=null,s=null,n=null;var l,o,d,i=i.data.instance;if(i)return"inbox"!==t&&"draft"!==t||(r=getUserApprove({instance:i,userId:a})),l=getFlowVersion(i),o=getFormVersion(i),r&&(s=getTrace({instance:i,traceId:r.trace}),n=getStep({flowVersion:l,stepId:s.step})),a=getLastCCStep(i,a),d=getApproveValues({instance:i,trace:s,step:n,approve:r,box:t}),{box:t,_id:e,space:i.space,flow:i.flow,form:i.form,applicant:i.applicant,applicant_name:i.applicant_name,submitter:i.submitter,submit_date:i.submit_date?amisRequire("moment")(i.submit_date).format("YYYY-MM-DD"):"",state:i.state,approveValues:d,title:i.name||i.form.name,name:i.name||i.form.name,fields:___default.map(o.fields,e=>Object.assign({},e,{permission:"cc"!=r?.type&&(n?.permissions[e.code]||(isCurrentStepOpinionField(e,n)?"editable":""))})),flowVersion:l,formVersion:o,step:n,lastCCStep:a,trace:s,approve:r,record_ids:i.record_ids,related_instances:i.related_instances,forward_from_instance:i.forward_from_instance,cc_users:i.cc_users,traces:i.traces,historyApproves:___default.map(i.traces,e=>Object.assign({children:___default.map(e.approves,e=>{let t=e.finish_date,a=e.judge,i=e.user_name,r=e.description;switch("cc"===e.type&&(i+=" (传阅)",r=e.cc_description),t?t=amisRequire("moment")(t).format("YYYY-MM-DD HH:mm"):(t=e.is_read?"已读":"未处理",a=null),a){case"submitted":a="";break;case"returned":a="已退回";break;case"terminated":a="被取回";break;case"pending":a="审核中";break;case"approved":a="已核准";break;case"rejected":a="已驳回";break;case"finished":a="已完成";break;case"reassigned":a="转签核";break;case"inhand":a="处理中";break;case"relocated":a="重定位";break;case"readed":a="已阅"}return{name:"",user_name:i,finish_date:t,judge:a,opinion:r}})},{name:e.name,judge:""}))}};export{index as Field,Router,absoluteUrl,amisRender,amisRootClick,cloneObject,conditionsToFilters,createObject,defaultsDeep,deleteVariable,execute,executeButton,extendObject,fetchAPI,filtersToConditions,getApp,getApps,getAuthToken,getAuthorization,getButton,getButtonVisible,getButtonVisibleOn$1 as getButtonVisibleOn,getButtons,getCalendarSchema,getDefaultRenderData,getEnv,getEnvs,getEvn,getField,getFileSrc,getFlowFormSchema,getFormPageInitSchema,getFormSchema,getImageSrc,getInstanceInfo,getListPageInitSchema,getListSchema,getListViewButtons,getListViewColumns,getListViewFilter,getListViewItemButtons,getListViewSort,getListviewInitSchema,getNotifications,getObjectDetailButtons,getObjectDetailMoreButtons,getObjectFieldsFilterBarSchema,getObjectFieldsFilterButtonSchema,getObjectFieldsFilterFormSchema,getObjectListHeader$1 as getObjectListHeader,getObjectListHeaderFieldsFilterBar,getObjectListHeaderFirstLine,getObjectListHeaderSecordLine,getObjectRecordDetailHeader,getObjectRecordDetailRelatedListHeader,getObjectRelated,getObjectRelatedList,getObjectRelatedListButtons,getObjectRelatedListHeader,getPage,getRecord,getRecordDetailHeaderSchema,getRecordDetailRelatedListSchema,getRecordDetailSchema,getRecordPageInitSchema,getRecordPermissions,getRelatedFieldValue,getRelatedListSchema,getRelatedsCount,getRootUrl,getSearchableFieldsFilterSchema,getSelectUserSchema,getSpaceUsersPickerAmisSchema,getSpaceUsersPickerSchema,getSteedosAuth,getTableSchema,getTenantId,getUISchema,getUISchemaSync,getUserId,getViewSchema,isExpression,isObject,lookupToAmis,lookupToAmisPicker,lookupToAmisSelect,lookupToAmisSelectUser,markReadAll,parseSingleExpression,registerRemoteAssets,registerRenders,setEnv,setEnvs,setRootUrl,setSteedosAuth,setUISchemaFunction,setVariable,standardButtonsTodo};
|
|
1400
1405
|
//# sourceMappingURL=index.esm.js.map
|