@steedos-widgets/amis-object 0.0.13 → 0.0.15
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/amis/AmisObjectForm.d.ts +1 -0
- package/dist/amis/AmisRecordDetailRelatedLists.d.ts +18 -0
- package/dist/amis/index.d.ts +1 -0
- package/dist/amis-object.cjs.js +208 -119
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +209 -121
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +208 -119
- package/dist/amis-object.umd.js.map +1 -1
- package/dist/assets.json +5 -5
- package/dist/meta.js +193 -87
- package/dist/metas/AmisRecordDetailRelatedLists.d.ts +2 -0
- package/package.json +2 -2
package/dist/amis-object.esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import * as _$1 from 'lodash';
|
|
3
|
-
import _$1__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, toArray, mergeWith, slice, has, isString, isObject as isObject$1, findKey,
|
|
3
|
+
import _$1__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, toArray, mergeWith, includes, map, keys, sortBy, compact, slice, has, isString, defaultsDeep as defaultsDeep$1, isObject as isObject$1, findKey, forEach, first, filter, get, isBoolean, startsWith, difference, pick } from 'lodash';
|
|
4
4
|
import { Dropdown, Menu } from 'antd';
|
|
5
5
|
|
|
6
6
|
/******************************************************************************
|
|
@@ -339,7 +339,7 @@ function isPlainObject(value) {
|
|
|
339
339
|
|
|
340
340
|
var isPlainObject_1 = isPlainObject;
|
|
341
341
|
|
|
342
|
-
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 n
|
|
342
|
+
const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var l,n=t.pathname.split("/");for(n.pop();l=/^\.\.?\//.exec(r);)"../"===l[0]&&n.pop(),r=r.substring(l[0].length);r=n.concat(r).join("/");}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href));},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t);},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0);},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e);}}),registerRenders=e=>{if(!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 l=Builder.components.find(e=>e.name===t.componentName),e=l.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=n.useState(null);return n.useEffect(()=>{var e=l.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e);}):r(e);},[]),n.createElement(n.Fragment,null,n.createElement(n.Fragment,null,i&&a?a("body",i):""),n.createElement(n.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName);}});}},amisRender=(e,t,a={},i={},r)=>{var l=amisRequire("amis/embed"),{router:r,assets:n}=r;return registerRenders(n),l.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e);};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return (window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e);}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e);}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e);}}function absoluteUrl(e){return ""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e);}const getSteedosAuth=()=>cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1.isArray(e)?e:_$1.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),i.push(""+l.name)),includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),includes(["time","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1.uniq(i),a=_$1.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}async function getFindOneQuery$1(e,t,a,i){let r="",l=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await getFieldsTemplate(a)}}}`}}function getSaveQuery(e,t,a,i){return {objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`);}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
|
|
343
343
|
let imgFieldsKeys = ${JSON.stringify(t)};
|
|
344
344
|
let imgFields = ${JSON.stringify(a)};
|
|
345
345
|
imgFieldsKeys.forEach((item)=>{
|
|
@@ -409,7 +409,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
409
409
|
${getSaveDataTpl(e)}
|
|
410
410
|
api.data = {query: query.replace('{__saveData}', __saveData)};
|
|
411
411
|
return api;
|
|
412
|
-
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let
|
|
412
|
+
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let l=`(top: ${r})`,n=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(n=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`));t="",e.enable_tree&&_$1.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.keys(e.fields),"children")&&(t=",parent,children"),r="";return "cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}${r}},count:${e.name}__count(filters:{__filters})}`}}function getApi$2(e){if(!e)return "${context.rootUrl}/graphql"}const Router={getAppPath({appId:e}){return "/app/"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:a}){return `/app/${e}/${t}/grid/`+a},getObjectDetailPath({appId:e,objectName:t,recordId:a,listViewName:i}){return "instances"===t?`/workflow/space/\${context.tenantId}/${i}/`+a:`/app/${e}/${t}/view/`+a},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:a,objectName:i,foreignKey:r}){return `/app/${e}/${t}/${a}/${i}/grid?related_field_name=`+r}};function getNumberTpl(e){return `<div>\${_display.${e.name}}</div>`}function getTimeTpl(e){return `<div>\${_display.${e.name}}</div>`}function getDateTpl(e){return `<div>\${_display.${e.name}}</div>`}function getDateTimeTpl(e){return `<div>\${_display.${e.name}}</div>`}function getUiFieldTpl(e){return `<div>\${_display.${e.name}}</div>`}async function getRefObjectNameFieldName(e){return (await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return `<div>\${_display.${e.name}}</div>`}function getNameTpl(e,t){return "cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:t.appId,objectName:t.objectName,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
|
|
413
413
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
414
414
|
`):`<a href="${Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:`\${_display.${e.name}.objectName}`,recordId:`\${_display.${e.name}.value}`})}">\${_display.${e.name}.label}</a>`:(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
|
|
415
415
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
@@ -421,7 +421,103 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
421
421
|
</span>
|
|
422
422
|
<% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
|
|
423
423
|
<span>······</span>
|
|
424
|
-
<% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e);case"formula":case"summary":return getUiFieldTpl(e)}}
|
|
424
|
+
<% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e);case"formula":case"summary":return getUiFieldTpl(e)}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=_$1.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return _$1.each(t,function(e){var t;_$1.includes(OMIT_FIELDS,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction?a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`:e._optionsFunction&&(a+=`var ${e.name}Options = eval(${e._optionsFunction})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`);}),`
|
|
425
|
+
if(payload.data.data){
|
|
426
|
+
var data = payload.data.data[0];
|
|
427
|
+
try{
|
|
428
|
+
${a}
|
|
429
|
+
${getScriptForAddUrlPrefixForImgFields(e)}
|
|
430
|
+
${getScriptForRewriteValueForFileFields(e)}
|
|
431
|
+
}catch(e){
|
|
432
|
+
console.error(e)
|
|
433
|
+
}
|
|
434
|
+
payload.data = data;
|
|
435
|
+
window.postMessage(Object.assign({type: "record.loaded"}, {record: data}), "*")
|
|
436
|
+
}
|
|
437
|
+
if(payload.errors){
|
|
438
|
+
payload.status = 2;
|
|
439
|
+
payload.msg = payload.errors[0].message;
|
|
440
|
+
}
|
|
441
|
+
return payload;
|
|
442
|
+
`}async function getReadonlyFormInitApi(e,t,a,i){return {method:"post",url:getApi$2()+"?rf="+(new Date).getTime(),cache:API_CACHE,adaptor:getReadonlyFormAdaptor(a),data:await getFindOneQuery$1(e,t,a,i),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getScriptForAddUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,type:e.type,multiple:e.multiple});}),t.length?`
|
|
443
|
+
// image字段值添加URL前缀
|
|
444
|
+
let imgFieldsKeys = ${JSON.stringify(t)};
|
|
445
|
+
let imgFields = ${JSON.stringify(a)};
|
|
446
|
+
imgFieldsKeys.forEach((item)=>{
|
|
447
|
+
let imgFieldValue = data[item];
|
|
448
|
+
let imgFieldDisplayValue = data._display && data._display[item];
|
|
449
|
+
if(imgFieldValue && imgFieldValue.length){
|
|
450
|
+
let fieldProps = imgFields[item];
|
|
451
|
+
if(fieldProps.multiple){
|
|
452
|
+
if(imgFieldDisplayValue instanceof Array){
|
|
453
|
+
data[item] = imgFieldDisplayValue.map((i)=>{ return i.url });
|
|
454
|
+
}
|
|
455
|
+
}else{
|
|
456
|
+
data[item] = imgFieldDisplayValue && imgFieldDisplayValue.url;
|
|
457
|
+
}
|
|
458
|
+
}
|
|
459
|
+
})
|
|
460
|
+
`:""}function getScriptForRewriteValueForFileFields(e){let t=[],a={};return e.forEach(e=>{"file"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
|
|
461
|
+
// file字段值重写以便编辑时正常显示附件名、点击附件名正常下载附件
|
|
462
|
+
let fileFieldsKeys = ${JSON.stringify(t)};
|
|
463
|
+
let fileFields = ${JSON.stringify(a)};
|
|
464
|
+
fileFieldsKeys.forEach((item)=>{
|
|
465
|
+
let fileFieldValue = data[item];
|
|
466
|
+
let fileFieldDisplayValue = data._display && data._display[item];
|
|
467
|
+
if(fileFieldValue && fileFieldValue.length){
|
|
468
|
+
if(fileFields[item].multiple){
|
|
469
|
+
if(fileFieldDisplayValue instanceof Array){
|
|
470
|
+
data[item] = fileFieldDisplayValue.map((item, index)=>{
|
|
471
|
+
return {
|
|
472
|
+
value: fileFieldValue[index],
|
|
473
|
+
name: item.name,
|
|
474
|
+
url: item.url + "?download=true",
|
|
475
|
+
state: "uploaded"
|
|
476
|
+
}
|
|
477
|
+
});
|
|
478
|
+
}
|
|
479
|
+
}else{
|
|
480
|
+
data[item] = {
|
|
481
|
+
value: fileFieldValue,
|
|
482
|
+
name: fileFieldDisplayValue.name,
|
|
483
|
+
url: fileFieldDisplayValue.url + "?download=true",
|
|
484
|
+
state: "uploaded"
|
|
485
|
+
};
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
})
|
|
489
|
+
`:""}async function getEditFormInitApi(e,t,a){return {method:"post",url:getApi$2(),sendOn:"!!this.recordId",cache:API_CACHE,adaptor:`
|
|
490
|
+
if(payload.data.data){
|
|
491
|
+
var data = payload.data.data[0];
|
|
492
|
+
if(data){
|
|
493
|
+
${getScriptForAddUrlPrefixForImgFields(a)}
|
|
494
|
+
${getScriptForRewriteValueForFileFields(a)}
|
|
495
|
+
//初始化接口返回的字段移除字段值为null的字段
|
|
496
|
+
for (key in data){
|
|
497
|
+
if(data[key] === null){
|
|
498
|
+
delete data[key];
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
};
|
|
502
|
+
payload.data = data;
|
|
503
|
+
delete payload.extensions;
|
|
504
|
+
}
|
|
505
|
+
return payload;
|
|
506
|
+
`,data:await getFindOneQuery$1(e,t,a),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getSaveApi(e,t,a,i){return {method:"post",url:getApi$2(),data:getSaveQuery(),requestAdaptor:getSaveRequestAdaptor(a),responseData:{recordId:"${record._id}"},adaptor:`
|
|
507
|
+
if(payload.errors){
|
|
508
|
+
payload.status = 2;
|
|
509
|
+
payload.msg = payload.errors[0].message;
|
|
510
|
+
}
|
|
511
|
+
return payload;
|
|
512
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getBatchDelete(e){return {method:"post",url:getApi$2(),requestAdaptor:`
|
|
513
|
+
var ids = api.data.ids.split(",");
|
|
514
|
+
var deleteArray = [];
|
|
515
|
+
ids.forEach((id,index)=>{
|
|
516
|
+
deleteArray.push(\`delete__\${index}:${e}__delete(id: "\${id}")\`);
|
|
517
|
+
})
|
|
518
|
+
api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
|
|
519
|
+
return api;
|
|
520
|
+
`,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,l=[];for(const n of e){let e=n;"grid"===n.type?e=await getGridFieldSubFields(n,t):"object"===n.type&&(e=await getObjectFieldSubFields(n,t)),e.name.indexOf(".")<0&&((r=await convertSFieldToAmisField(e,e.readonly,i))&&l.push(r));}return {type:"fieldSet",title:a,collapsable:!0,body:l}}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const n in _$1.groupBy(i,"group")){var l=await getSection(e,i,n,a);0<l.body.length&&r.push(l);}return r};async function getFormBody(e,t,a){return getSections(e,t,a)}async function getListBody(e,t){var a=[];for(const r of e){var i=await getFieldTpl(r,t);let e=i?"tpl":"text";r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled});}return {type:"hbox",columns:a}}function getDefaultParams$1(e){return {perPage:e.top||10}}async function getListSchema$1(e,t){e=(await getListBody(e,t)).columns;return {mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...e],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]}}}async function getCardSchema(e,t){let a=null;var i=_.find(e,e=>e.name===t.labelFieldName),i=(i&&(a=await getFieldTpl(i,t)),await getListBody(_.filter(e,e=>e.name!=t.labelFieldName),t));return {mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...i.columns]}}}const defaultsDeep=(...e)=>{let t={};return toArray(e).reverse().forEach(e=>{mergeWith(t,e,(e,t)=>isArray(t)?t:void 0);}),t};function getBulkActions(e){return [{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",id:"batchDelete",api:getBatchDelete(e.name)}]}function getHeaderToolbar(e,t){return "SMALL"===t?["bulkActions",{type:"reload",align:"right"},{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]:["filter-toggler","bulkActions",{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]}function getToolbar(){return []}function footerToolbar(){return ["statistics","pagination"]}async function getObjectList(e,t,a){var i=getBulkActions(e),i={toolbar:getToolbar(),footerToolbar:footerToolbar(),headerToolbar:getHeaderToolbar(e,a.formFactor),bulkActions:0!=a.bulkActions&&i,bodyClassName:""};let r=null;var l="listview_"+e.name,n=(r="SMALL"===a.formFactor?(delete i.bulkActions,delete i.headerToolbar,delete i.footerToolbar,n=await getCardSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a,{actions:!1})),Object.assign({},n,{type:"crud",primaryField:"_id",id:l,name:l,keepItemSelectionOnPageChange:!1,api:await getTableApi(e,t,a)},i)):(delete(n=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a))).mode,Object.assign({},n,{type:"crud",primaryField:"_id",affixHeader:!1,id:l,name:l,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a)},i)),a.defaults);return n&&(t=n.listSchema||{},r=defaultsDeep({},t,r),i=n.headerSchema,a=n.footerSchema,(i||a)&&(t=[r],i&&t.unshift(i),a&&t.push(a),r=t)),{type:"service",className:"mb-2",id:"service_"+l,name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e},body:r}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,defaults:l}=t,n=_$1__default.values(e.fields),l=l&&l.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,n),initApi:null,initFetch:null,body:[defaultsDeep({},l,{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,n),initFetch:"new"!=a,body:await getFormBody(n,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{componentId:"detail_"+a,actionType:"reload",expression:"!!!listViewId"}]}}})]};return l.id&&(i.id="service-"+l.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,formInitProps:l}=a,n=_$1__default.values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,n,l),body:[{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(map(n,e=>{e.readonly=!0;}),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white pt-2 px-2",actions:[]}],onEvent:{fetchInited:{weight:0,actions:[{componentId:`page_${e.name}_record_detail`,actionType:"setValue",args:{value:{record:"${event.data}",uiSchema:e}}}]}}}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_$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=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
|
|
425
521
|
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
426
522
|
<% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
|
|
427
523
|
<% fileData.forEach(function(item) { %>
|
|
@@ -439,16 +535,16 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
439
535
|
}
|
|
440
536
|
}
|
|
441
537
|
return payload;
|
|
442
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else {var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams
|
|
538
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else {var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return {perPage:e.top||config.listView.perPage}}function getButtonVisibleOn$1(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$1(e),className:"antd-Button--default"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomLeft",id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
443
539
|
payload.recordPermissions = payload;
|
|
444
540
|
return payload;
|
|
445
|
-
`}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams
|
|
446
|
-
|
|
541
|
+
`}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:n,top:o}=a;l=(l=_$1.isArray(l)?_$1.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1.includes(["image","avatar","file"],e.type)&&(d.push(e.name),s[e.name]={name:e.name,type:e.type,multiple:e.multiple});});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.requestAdaptor=`
|
|
542
|
+
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
447
543
|
${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
|
|
448
544
|
if(_.isEmpty(filters)){
|
|
449
|
-
filters = api.data.filter || [${JSON.stringify(
|
|
545
|
+
filters = api.data.filter || [${JSON.stringify(l)}];
|
|
450
546
|
}else{
|
|
451
|
-
filters = [filters, 'and', api.data.filter || [${JSON.stringify(
|
|
547
|
+
filters = [filters, 'and', api.data.filter || [${JSON.stringify(l)}]]
|
|
452
548
|
}
|
|
453
549
|
var pageSize = api.data.pageSize || 10;
|
|
454
550
|
var pageNo = api.data.pageNo || 1;
|
|
@@ -456,7 +552,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
456
552
|
var orderBy = api.data.orderBy || '';
|
|
457
553
|
var orderDir = api.data.orderDir || '';
|
|
458
554
|
var sort = orderBy + ' ' + orderDir;
|
|
459
|
-
sort = orderBy ? sort : "${
|
|
555
|
+
sort = orderBy ? sort : "${n}";
|
|
460
556
|
var allowSearchFields = ${JSON.stringify(i)};
|
|
461
557
|
if(api.data.$term){
|
|
462
558
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
@@ -464,6 +560,20 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
464
560
|
filters = [["${a.name}", "=", selfData.value]];
|
|
465
561
|
}
|
|
466
562
|
var searchableFilter = [];
|
|
563
|
+
try{
|
|
564
|
+
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
565
|
+
const selfSupperData = api.data.$self.__super.__super;
|
|
566
|
+
const listViewId = selfSupperData.listViewId;
|
|
567
|
+
const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
568
|
+
let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
|
|
569
|
+
if(localSearchableFilter){
|
|
570
|
+
selfData = Object.assign({}, JSON.parse(localSearchableFilter), selfData);
|
|
571
|
+
}
|
|
572
|
+
}
|
|
573
|
+
catch(ex){
|
|
574
|
+
console.error("本地存储中crud参数解析异常:", ex);
|
|
575
|
+
}
|
|
576
|
+
|
|
467
577
|
_.each(selfData, (value, key)=>{
|
|
468
578
|
if(!_.isEmpty(value) || _.isBoolean(value)){
|
|
469
579
|
if(_.startsWith(key, '__searchable__between__')){
|
|
@@ -562,8 +672,27 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
562
672
|
});
|
|
563
673
|
payload.data.rows = treeRecords;
|
|
564
674
|
}
|
|
675
|
+
|
|
676
|
+
|
|
677
|
+
try{
|
|
678
|
+
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
679
|
+
const selfSupperData = api.data.$self.__super.__super;
|
|
680
|
+
const listViewId = selfSupperData.listViewId;
|
|
681
|
+
const searchableFilterStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
682
|
+
let localSearchableFilter = localStorage.getItem(searchableFilterStoreKey);
|
|
683
|
+
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
684
|
+
if(localSearchableFilter){
|
|
685
|
+
selfData = Object.assign({}, JSON.parse(localSearchableFilter), selfData);
|
|
686
|
+
}
|
|
687
|
+
delete selfData.context;
|
|
688
|
+
delete selfData.global;
|
|
689
|
+
localStorage.setItem(searchableFilterStoreKey, JSON.stringify(selfData));
|
|
690
|
+
}
|
|
691
|
+
catch(ex){
|
|
692
|
+
console.error("本地存储中crud参数解析异常:", ex);
|
|
693
|
+
}
|
|
565
694
|
return payload;
|
|
566
|
-
`,t}async function getApi$1(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function
|
|
695
|
+
`,t}async function getApi$1(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSource(e){var t=await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"}),a=(t.query=t.query.replace(/,count\:.+/,"}"),await getFindQuery({name:"organizations"},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),await getFindQuery({name:"space_users"},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"})),a=(a.query=a.query.replace(/,count\:.+/,"}"),t.query=t.query.replace(/}$/,","+a.query.replace(/{(.+)}/,"$1}")),t.$value="$"+e.name,`
|
|
567
696
|
var filters = [['parent', '=', null]];
|
|
568
697
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
569
698
|
var defaultValue = api.data.$value;
|
|
@@ -649,7 +778,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
649
778
|
}
|
|
650
779
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
651
780
|
return api;
|
|
652
|
-
`;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,
|
|
781
|
+
`;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,l){var n=await getReferenceTo(i);if(n){const s=await getUISchema(n.objectName),d=[];let e=0;const c=[],p=[];var o=_$1.find(s.list_views,(e,t)=>"all"===t);o&&o.columns?_$1.each(o.columns,function(e){_$1.isString(e)&&s.fields[e]?p.push(s.fields[e]):_$1.isObject(e)&&s.fields[e.field]&&p.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),p.push(e));}),_$1.each(_$1.sortBy(p,"sort_no"),function(t){e<5&&(_$1.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));});const m={[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField};_$1.each(d,e=>{e.hidden||(m[e.name]=e);});o=await getApi(s,null,m,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
|
|
653
782
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
654
783
|
var filters = [];
|
|
655
784
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -663,9 +792,9 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
663
792
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
664
793
|
}else if(selfData.op === 'loadOptions' && selfData.value){
|
|
665
794
|
if(selfData.value?.indexOf(',') > 0){
|
|
666
|
-
filters = [["${
|
|
795
|
+
filters = [["${n.valueField.name}", "=", selfData.value.split(',')]];
|
|
667
796
|
}else{
|
|
668
|
-
filters = [["${
|
|
797
|
+
filters = [["${n.valueField.name}", "=", selfData.value]];
|
|
669
798
|
}
|
|
670
799
|
}
|
|
671
800
|
if(allowSearchFields){
|
|
@@ -716,7 +845,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
716
845
|
payload.data.rows = treeRecords;
|
|
717
846
|
}
|
|
718
847
|
return payload;
|
|
719
|
-
`;let t=20,a=(s.paging&&!1===s.paging.enabled&&(t=1e3),null);a="SMALL"===
|
|
848
|
+
`;let t=20,a=(s.paging&&!1===s.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{labelFieldName:s.NAME_FIELD_KEY,top:t,...l});n={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:o,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(n.multiple=!0,n.extractValue=!0),r&&(n.tpl=await getLookupTpl(i,l)),n}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e);let r;(r=i?await getApi({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),_$1.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
|
|
720
849
|
var filters = '[]';
|
|
721
850
|
var top = 10;
|
|
722
851
|
if(api.data.$term){
|
|
@@ -729,104 +858,22 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
729
858
|
`,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
|
|
730
859
|
payload.data.options = eval(${e._optionsFunction})(api.data);
|
|
731
860
|
return payload;
|
|
732
|
-
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,
|
|
733
|
-
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
}
|
|
749
|
-
return payload;
|
|
750
|
-
`}async function getReadonlyFormInitApi(e,t,a,i){return {method:"post",url:getApi$2()+"?rf="+(new Date).getTime(),cache:API_CACHE,adaptor:getReadonlyFormAdaptor(a),data:await getFindOneQuery$1(e,t,a,i),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getScriptForAddUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,type:e.type,multiple:e.multiple});}),t.length?`
|
|
751
|
-
// image字段值添加URL前缀
|
|
752
|
-
let imgFieldsKeys = ${JSON.stringify(t)};
|
|
753
|
-
let imgFields = ${JSON.stringify(a)};
|
|
754
|
-
imgFieldsKeys.forEach((item)=>{
|
|
755
|
-
let imgFieldValue = data[item];
|
|
756
|
-
let imgFieldDisplayValue = data._display && data._display[item];
|
|
757
|
-
if(imgFieldValue && imgFieldValue.length){
|
|
758
|
-
let fieldProps = imgFields[item];
|
|
759
|
-
if(fieldProps.multiple){
|
|
760
|
-
if(imgFieldDisplayValue instanceof Array){
|
|
761
|
-
data[item] = imgFieldDisplayValue.map((i)=>{ return i.url });
|
|
762
|
-
}
|
|
763
|
-
}else{
|
|
764
|
-
data[item] = imgFieldDisplayValue && imgFieldDisplayValue.url;
|
|
765
|
-
}
|
|
766
|
-
}
|
|
767
|
-
})
|
|
768
|
-
`:""}function getScriptForRewriteValueForFileFields(e){let t=[],a={};return e.forEach(e=>{"file"===e.type&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
|
|
769
|
-
// file字段值重写以便编辑时正常显示附件名、点击附件名正常下载附件
|
|
770
|
-
let fileFieldsKeys = ${JSON.stringify(t)};
|
|
771
|
-
let fileFields = ${JSON.stringify(a)};
|
|
772
|
-
fileFieldsKeys.forEach((item)=>{
|
|
773
|
-
let fileFieldValue = data[item];
|
|
774
|
-
let fileFieldDisplayValue = data._display && data._display[item];
|
|
775
|
-
if(fileFieldValue && fileFieldValue.length){
|
|
776
|
-
if(fileFields[item].multiple){
|
|
777
|
-
if(fileFieldDisplayValue instanceof Array){
|
|
778
|
-
data[item] = fileFieldDisplayValue.map((item, index)=>{
|
|
779
|
-
return {
|
|
780
|
-
value: fileFieldValue[index],
|
|
781
|
-
name: item.name,
|
|
782
|
-
url: item.url + "?download=true",
|
|
783
|
-
state: "uploaded"
|
|
784
|
-
}
|
|
785
|
-
});
|
|
786
|
-
}
|
|
787
|
-
}else{
|
|
788
|
-
data[item] = {
|
|
789
|
-
value: fileFieldValue,
|
|
790
|
-
name: fileFieldDisplayValue.name,
|
|
791
|
-
url: fileFieldDisplayValue.url + "?download=true",
|
|
792
|
-
state: "uploaded"
|
|
793
|
-
};
|
|
794
|
-
}
|
|
795
|
-
}
|
|
796
|
-
})
|
|
797
|
-
`:""}async function getEditFormInitApi(e,t,a){return {method:"post",url:getApi$2(),sendOn:"!!this.recordId",cache:API_CACHE,adaptor:`
|
|
798
|
-
if(payload.data.data){
|
|
799
|
-
var data = payload.data.data[0];
|
|
800
|
-
if(data){
|
|
801
|
-
${getScriptForAddUrlPrefixForImgFields(a)}
|
|
802
|
-
${getScriptForRewriteValueForFileFields(a)}
|
|
803
|
-
//初始化接口返回的字段移除字段值为null的字段
|
|
804
|
-
for (key in data){
|
|
805
|
-
if(data[key] === null){
|
|
806
|
-
delete data[key];
|
|
807
|
-
}
|
|
808
|
-
}
|
|
809
|
-
};
|
|
810
|
-
payload.data = data;
|
|
811
|
-
delete payload.extensions;
|
|
812
|
-
}
|
|
813
|
-
return payload;
|
|
814
|
-
`,data:await getFindOneQuery$1(e,t,a),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getSaveApi(e,t,a,i){return {method:"post",url:getApi$2(),data:getSaveQuery(),requestAdaptor:getSaveRequestAdaptor(a),responseData:{recordId:"${record._id}"},adaptor:`
|
|
815
|
-
if(payload.errors){
|
|
816
|
-
payload.status = 2;
|
|
817
|
-
payload.msg = payload.errors[0].message;
|
|
818
|
-
}
|
|
819
|
-
return payload;
|
|
820
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getBatchDelete(e){return {method:"post",url:getApi$2(),requestAdaptor:`
|
|
821
|
-
var ids = api.data.ids.split(",");
|
|
822
|
-
var deleteArray = [];
|
|
823
|
-
ids.forEach((id,index)=>{
|
|
824
|
-
deleteArray.push(\`delete__\${index}:${e}__delete(id: "\${id}")\`);
|
|
825
|
-
})
|
|
826
|
-
api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
|
|
827
|
-
return api;
|
|
828
|
-
`,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,n=[];for(const l of e){let e=l;"grid"===l.type?e=await getGridFieldSubFields(l,t):"object"===l.type&&(e=await getObjectFieldSubFields(l,t)),e.name.indexOf(".")<0&&((r=await convertSFieldToAmisField(e,e.readonly,i))&&n.push(r));}return {type:"fieldSet",title:a,collapsable:!0,body:n}}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const l in _$1.groupBy(i,"group")){var n=await getSection(e,i,l,a);0<n.body.length&&r.push(n);}return r};async function getFormBody(e,t,a){return getSections(e,t,a)}const defaultsDeep=(...e)=>{let t={};return toArray(e).reverse().forEach(e=>{mergeWith(t,e,(e,t)=>isArray(t)?t:void 0);}),t};function getBulkActions(e){return [{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",id:"batchDelete",api:getBatchDelete(e.name)}]}function getHeaderToolbar(e,t){return "SMALL"===t?["bulkActions",{type:"reload",align:"right"},{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]:["filter-toggler","bulkActions",{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]}function getToolbar(){return []}function footerToolbar(){return ["statistics","pagination"]}async function getObjectList(e,t,a){var i=getBulkActions(e),i={toolbar:getToolbar(),footerToolbar:footerToolbar(),headerToolbar:getHeaderToolbar(e,a.formFactor),bulkActions:0!=a.bulkActions&&i,bodyClassName:""};let r=null;var n="listview_"+e.name,l=(r="SMALL"===a.formFactor?(delete i.bulkActions,delete i.headerToolbar,delete i.footerToolbar,l=await getCardSchema(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a,{actions:!1})),Object.assign({},l,{type:"crud",primaryField:"_id",id:n,name:n,keepItemSelectionOnPageChange:!1,api:await getTableApi(e,t,a)},i)):(delete(l=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a))).mode,Object.assign({},l,{type:"crud",primaryField:"_id",affixHeader:!1,id:n,name:n,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a)},i)),a.defaults);return l&&(t=l.listSchema||{},r=defaultsDeep({},t,r),i=l.headerSchema,a=l.footerSchema,(i||a)&&(t=[r],i&&t.unshift(i),a&&t.push(a),r=t)),{type:"service",className:"border mb-2",id:"service_"+n,name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e},body:r}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,defaults:n}=t,l=_$1__default.values(e.fields),n=n&&n.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,l),initApi:null,initFetch:null,body:[defaultsDeep({},n,{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,l),initFetch:"new"!=a,body:await getFormBody(l,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{componentId:"detail_"+a,actionType:"reload",expression:"!!!listViewId"}]}}})]};return n.id&&(i.id="service-"+n.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,formInitProps:n}=a,l=_$1__default.values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,l,n),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(l,e=>{e.readonly=!0;}),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white pt-2 px-2",actions:[]}],onEvent:{fetchInited:{weight:0,actions:[{componentId:`page_${e.name}_record_detail`,actionType:"setValue",args:{value:{record:"${event.data}",uiSchema:e}}}]}}}}const globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return "#"!==t&&t?"string"==typeof t?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 n,l;if(void 0===e&&(e={}),l=getParentPath(a),l=getValueByPath(e,l)||{},"string"!=typeof t)return t;n=t.substring(2,t.length-2),r=`
|
|
829
|
-
var $user=${JSON.stringify(r)}; return `+n.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(l));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:n="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+n);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:aef99d937b10"}},getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:3c5cbc0429bb"}},getSchema$2=e=>({type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
861
|
+
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,l,e){if(!_$1.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1.has(r,"defaultValue")||_$1.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=cloneDeep(i),t=(includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:r,required:!1,showSystemFields:!0})));if(t)return t}}async function getObjectFieldsFilterButtonSchema(e){return {type:"button",label:"",icon:"fa fa-search",className:"bg-transparent p-0 ml-1",onEvent:{click:{actions:[{actionType:"setValue",args:{value:{showFieldsFilter:"${!showFieldsFilter}"}},componentId:"service_"+("listview_"+e.name)}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];for(i of t)includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,{}))&&l.push(r));var n=map(l,"name");return a.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`;}),{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",persistData:"crud:${id}",persistDataKeys:n,body:l}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return {type:"service",id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
862
|
+
const supperData = data.__super;
|
|
863
|
+
const searchableFieldsStoreKey = \`\${supperData.objectName}_\${supperData.listName}_searchable_fields\`;
|
|
864
|
+
let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);
|
|
865
|
+
setData({ filterFormSearchableFields: defaultSearchableFields });
|
|
866
|
+
`},body:{type:"wrapper",body:{type:"wrapper",body:[{type:"wrapper",body:[t],size:"xs",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",className:"slds-filters__body p-0"},{type:"wrapper",body:{type:"wrapper",body:[{type:"button",label:"搜索",icon:"fa fa-search",visibleOn:"this.filterFormSearchableFields && this.filterFormSearchableFields.length",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
867
|
+
const appId = event.data.appId;
|
|
868
|
+
const objectName = event.data.objectName;
|
|
869
|
+
const scopeId = event.data.scopeId;
|
|
870
|
+
const scope = SteedosUI.getRef(scopeId);
|
|
871
|
+
var filterForm = scope.getComponentById("listview_filter_form_" + objectName);
|
|
872
|
+
var filterFormValues = filterForm.getValues();
|
|
873
|
+
var listView = scope.getComponentById("listview_" + objectName);
|
|
874
|
+
listView.handleFilterSubmit(filterFormValues);
|
|
875
|
+
`}]}}},{type:"button",label:"设置搜索项",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",size:"md",title:"设置搜索项",body:[{type:"form",title:"",body:[{label:"",type:"transfer",name:"fields",id:"u:92c0b3cccca0",source:{method:"get",url:"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:null,requestAdaptor:"",adaptor:""},options:[],required:!0,placeholder:"-",className:"col-span-2 m-0",checkAll:!1,searchable:!0,sortable:!0,joinValues:!1,extractValue:!0,multiple:!0}],id:"u:e5ac506d5683",mode:"normal",persistData:!1,promptPageLeave:!0,name:"form",debug:!1,actions:[],panelClassName:"m-0",bodyClassName:"p-4",className:"steedos-amis-form"}],id:"u:ca99fa9fe1b1",actions:[{type:"button",label:"取消",onEvent:{click:{actions:[{componentId:"",args:{},actionType:"closeDialog"}]}},id:"u:4e447b5ca72a"},{type:"button",label:"确认",onEvent:{click:{actions:[{actionType:"custom",script:"const listName = context.props.data.listName;const objectName = context.props.data.objectName;\ndoAction({\n actionType: 'setValue',\n args: {\n value: {filterFormSearchableFields: context.props.data.fields}\n },\n componentId: \"service_listview_filter_form_\" + objectName,\n})\n; const searchableFieldsStoreKey = `${objectName}_${listName}_searchable_fields`; localStorage.setItem(searchableFieldsStoreKey, context.props.data.fields);"},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray slds-grid slds-grid_vertical slds-nowrap"},visibleOn:"this.showFieldsFilter",className:"px-1 py-1 bg-white b-b"}}const globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return "#"!==t&&t?"string"==typeof t?get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return "string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var l,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
|
|
876
|
+
var $user=${JSON.stringify(r)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:l="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+l);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:aef99d937b10"}},getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return {type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0",id:"u:3c5cbc0429bb"}},getSchema$2=e=>({type:"service",className:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",onEvent:{click:{actions:[{args:{api:{method:"post",url:"${context.rootUrl}/graphql",data:{"&":"$$",recordId:"${recordId}",objectName:"${objectName}"},requestAdaptor:"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \"${recordId}\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
830
877
|
if(payload.errors){
|
|
831
878
|
payload.status = 2;
|
|
832
879
|
payload.msg = payload.errors[0].message;
|
|
@@ -834,7 +881,7 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
834
881
|
return payload;
|
|
835
882
|
`},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"markdown",className:"whitespace-nowrap",html:!0},null],syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,autoFillHeight:!1},joinValues:!1,extractValue:!0,className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,id:"u:401df27113e0"},{name:"file",label:"Excel文件",required:!0,type:"input-file",className:"m-1",labelClassName:"text-left",clearValueOnHidden:!0,useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/files",data:{$:"$$",context:"${context}"},adaptor:'\n const { context } = api.body; \n var rootUrl = context.rootUrl + "/api/files/files/";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: payload._id,\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n ',headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},id:"u:0213f2cc365b"}],id:"u:4899c260d667"}],panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",label:"对象表单",objectApiName:"queue_import_history",id:"u:e4ef598eed61",onEvent:{submitSucc:{weight:0,actions:[{args:{api:{url:"${context.rootUrl}/api/data/initiateImport",method:"post",data:{eventData:"${event.data}"},dataType:"json",requestAdaptor:"\napi.data = {\n importObjectHistoryId: api.body.eventData.result.data.recordId\n}\nreturn api;",adaptor:"payload.status = payload.status === 'success' ? 0 : payload.status;\nconsole.log(\"payload ssss==>\", payload)\nreturn payload;",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"已开始导入...",failed:"导入失败"}},actionType:"ajax",expression:"event.data.result"}]}},closeDialogOnSubmit:!0}],id:"u:dc05498d3bd4",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}},level:"default"}],regions:["body"],className:"p-0",id:"u:bd2f9c4e986f"}),getSchema$5=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"amis_button"}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$5()})},getGlobalData=()=>({now:new Date});function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1__default.isBoolean(t)?t.toString():t)return 0<t.indexOf("Meteor.")||0<t.indexOf("Creator.")||0<t.indexOf("Session.")?(console.warn("无效的visible",t),"false"):t.trim().startsWith("function")?t+`.apply({
|
|
836
883
|
object: uiSchema
|
|
837
|
-
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(_$1__default.startsWith(_$1__default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default.isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=_$1__default.sortBy(_$1__default.values(t.actions),"sort");return _$1__default.has(t,"allow_customActions")&&(e=_$1__default.filter(e,e=>_$1__default.include(t.allow_customActions,e.name))),_$1__default.has(t,"exclude_actions")&&(e=_$1__default.filter(e,e=>!_$1__default.include(t.exclude_actions,e.name))),_$1__default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default.filter(e,e=>_$1__default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>{if("cms_files"!==e.objectName)return "standard_new"==e.name})},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=_$1__default.find(r,e=>e.name===t);if(r)return "standard_edit"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:r}},execute=(e,t)=>{if(e.todo)return _$1__default.isString(e.todo)&&_$1__default.startsWith(_$1__default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default.isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;async function getObjectListHeader(a,e){var{icon:
|
|
884
|
+
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(_$1__default.startsWith(_$1__default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default.isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=_$1__default.sortBy(_$1__default.values(t.actions),"sort");return _$1__default.has(t,"allow_customActions")&&(e=_$1__default.filter(e,e=>_$1__default.include(t.allow_customActions,e.name))),_$1__default.has(t,"exclude_actions")&&(e=_$1__default.filter(e,e=>!_$1__default.include(t.exclude_actions,e.name))),_$1__default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default.filter(e,e=>_$1__default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>{if("cms_files"!==e.objectName)return "standard_new"==e.name})},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=_$1__default.find(r,e=>e.name===t);if(r)return "standard_edit"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:r}},execute=(e,t)=>{if(e.todo)return _$1__default.isString(e.todo)&&_$1__default.startsWith(_$1__default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default.isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;async function getObjectListHeader(a,e,t){t=t||{};var{icon:i,label:r}=a;const l=[];each(a.list_views,(e,t)=>{l.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t});});var n=getListViewButtons(a,{}),n=map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),o=new RegExp("_","g"),o=i&&i.replace(o,"-"),s="listview_"+a.name,o={type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon slds-icon_container slds-icon-standard-${o} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}},{type:"dropdown-button",className:"leading-none",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",hideCaret:!0,btnClassName:"bg-transparent border-none text-lg font-bold p-0",buttons:l}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:n,md:"auto"}],align:"between"},i={type:"grid",align:"between",columns:[{body:[],md:"auto"},{body:[await getObjectFieldsFilterButtonSchema(a),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:s,className:"bg-transparent p-0 ml-1"},{type:"button",label:"",icon:"fa fa-filter",actionType:"custom",className:"bg-transparent p-0 ml-1",id:"u:c20cb87d96c9",onEvent:{click:{actions:[{actionType:"custom",script:'const eventData = event.data;\nconst uiSchema = eventData.uiSchema;\nconst listview_id = eventData.listName;\nvar selectedListView = uiSchema.list_views[listview_id]\nvar filter = eventData.filter;\n\nSteedosUI.ListView.showFilter(uiSchema.name, {\n listView: selectedListView,\n data: {\n filters: SteedosUI.ListView.getVisibleFilter(selectedListView, filter),\n },\n onFilterChange: (filter) => {\n doAction({\n componentId: `service_listview_${uiSchema.name}`,\n actionType: \'setValue\',\n "args": {\n "value": {\n filter: filter\n }\n }\n });\n doAction({\n componentId: `listview_${uiSchema.name}`,\n actionType: \'reload\',\n "args": {\n filter: filter\n }\n });\n }\n});'}],weight:0}}}],md:"auto"}],className:"-mt-3"};let d=[o,i];t.onlyFirstLine?d=[o]:t.onlySecordLine&&(d=[i]);r=[{type:"wrapper",body:d,size:"xs",className:"p-t-sm p-b-sm p-l pr-4 border-b py-4"}],n=keys(a.fields),s=sortBy(compact(map(n,e=>a.fields[e])),"sort_no"),o=await getObjectFieldsFilterBarSchema(a,s,{isListviewInit:t.isListviewInit});return r.push(o),r}async function getObjectRecordDetailHeader(e,t){var{name:a,label:i,icon:r,NAME_FIELD_KEY:l}=e,n=getObjectDetailButtons(e,{}),o=getObjectDetailMoreButtons(e,{recordId:t,objectName:a}),n=map(n,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),o=map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e)})),o=(n.push({type:"steedos-dropdown-button",label:"",buttons:o,className:"slds-icon"}),new RegExp("_","g")),o=[{type:"service",body:[{type:"panel",title:"标题",body:[],header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${r&&r.replace(o,"-")}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${r}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+i,inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:13},className:"leading-none"},{type:"tpl",tpl:"${(record && uiSchema && record[uiSchema.NAME_FIELD_KEY]) || name}",inline:!1,wrapperComponent:"",style:{fontFamily:"",fontSize:20,fontWeight:"bold",textAlign:"left"},className:"leading-none"}]}]}],md:"auto"},{body:n,md:"auto"}],align:"between"}],size:"xs"},affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}],messages:{},api:{method:"post",url:"${context.rootUrl}/graphql",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},data:{query:`{rows:${a}(filters: ["_id","=","${t}"]){_id, ${l||"name"}} }`},sendOn:""+!!t,requestAdaptor:"",adaptor:`
|
|
838
885
|
const rows = payload.data.rows;
|
|
839
886
|
let label = null;
|
|
840
887
|
if (rows.length) {
|
|
@@ -846,18 +893,18 @@ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===
|
|
|
846
893
|
name: label
|
|
847
894
|
}
|
|
848
895
|
return payload;
|
|
849
|
-
`}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:a,_id:t,recordPermissions:e.permissions,uiSchema:e},body:o}}async function getObjectRecordDetailRelatedListHeader(e){var{icon:t,label:a}=e,e=await getObjectRelatedListButtons(e,{}),e=map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),i=new RegExp("_","g");return {type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${t&&t.replace(i,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${t}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+a,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:e,md:"auto"}],align:"between"}],size:"xs",className:"bg-white p-t-sm p-b-sm px-4 border-b"}}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=`
|
|
896
|
+
`}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()},objectName:a,_id:t,recordPermissions:e.permissions,uiSchema:e},body:o}}async function getObjectRecordDetailRelatedListHeader(e){var{icon:t,label:a}=e,e=await getObjectRelatedListButtons(e,{}),e=map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:`button_${e.name} border-gray-200 inline-block ml-1`})),i=new RegExp("_","g");return {type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${t&&t.replace(i,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${t}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+a,inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:e,md:"auto"}],align:"between"}],size:"xs",className:"bg-white p-t-sm p-b-sm px-4 border-b"}}async function getObjectRelatedListHeader(e,t,a){}const getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),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=`
|
|
850
897
|
{
|
|
851
898
|
${a.join(",")}
|
|
852
899
|
}
|
|
853
|
-
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e;},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t;}),getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){return "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}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),each(a.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function 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
|
|
900
|
+
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e;},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t;}),getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){return "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}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),each(a.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function getField(e,t){return (await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),l=find(r.list_views,(e,t)=>t===(a=a||t));if(!l)return {uiSchema:r};if(l.enable_amis_schema&&l.amis_schema)return {uiSchema:r,isCustom:!0,amisSchema:isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema};var n=getListViewColumns(l,i.formFactor),o=getListViewSort(l),s=i.defaults||{};!s.headerSchema&&i.showHeader&&(s.headerSchema=await getObjectListHeader(r)),i.showHeader||(s.headerSchema=null);try{var d,c=location.pathname+"/crud/"+i.listViewId,p=localStorage.getItem(c);p&&(p=JSON.parse(p),d={},p.orderBy&&(d.orderBy=p.orderBy),p.orderDir&&(d.orderDir=p.orderDir),p.perPage&&(d.defaultParams={perPage:p.perPage}),p.page&&(d.defaultParams=Object.assign({},d.defaultParams,{page:p.page})),s.listSchema=defaultsDeep$1({},d,s.listSchema||{}));}catch(e){console.error("本地存储中crud参数解析异常:",e);}return i.defaults=s,{uiSchema:r,amisSchema:{type:"steedos-object-table",objectApiName:t,columns:n,extraColumns:l.extra_columns,filters:l.filters,sort:o,ctx:i}}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l=i.sort;l||(o=i.sortField,s=i.sortOrder,o&&(l=o+" "+s||"asc"));let n=[];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 o=i.extraColumns,s=(o&&each(o,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(e)&&n.push({extra:!0,name:e.field});}),await getObjectList(r,n,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l,buttons:await getListViewItemButtons(r,i)}));return {uiSchema:r,amisSchema:s}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,fields:l}=i;return {uiSchema:i,amisSchema:(await getListSchema(null,a,keys(r)[0],{globalFilter:[findKey(l,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e],defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:await getObjectRecordDetailRelatedListHeader(i)},showHeader:!0})).amisSchema}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(isEmpty(n))for(const m of [].concat(e.details||[])){var o=m.split("."),s=await getUISchema(o[0]);if(s){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],l.push({masterObjectName:i,object_name:o[0],foreign_key:o[1],schema:await getListSchema(t,o[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(s,{isMobile:!1})})});}}else for(const u of n){var c=u.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];forEach(u.field_names,t=>{var e=find(f.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],schema:{uiSchema:f,amisSchema:await getObjectList(f,a,{tabId:i,appId:t,objectName:c[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(f,{isMobile:!1})})}});}}}return l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let n=null;var o=await getField(a,i),o=(n=o._reference_to||o.reference_to&&!isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return {masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:n,formFactor:l}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=find(a.fields,e=>i===e?.name);return isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(isEmpty(n))for(const u of [].concat(e.details||[])){var o,s,d=u.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!isString(o.reference_to))&&d[1],d[1],s=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),s.headerSchema=c,s.headerToolbar=[],s.columnsTogglable=!1,s.globalFilter=s.filters,delete s.ctx,o.amisSchema={type:"service",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...s,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",[d[1]]:getRelatedFieldValue(i,"${recordId}",o.uiSchema,d[1])}}]},l.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}));}else for(const f of n){var p=f.related_field_fullname.split(".");let e=null;var m=await getField(p[0],p[1]);if(m){e=m._reference_to||m.reference_to&&!isString(m.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];forEach(f.field_names,t=>{var e=find(g.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name:p[0],foreign_key:p[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:p[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}});}}}return l}async function getFormPageInitSchema(e){return {type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){var i=await getUISchema(e),i=(first(keys(i.list_views)),await getObjectListHeader(i));return {type:"page",bodyClassName:"p-0",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0,headerSchema:i}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}"}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"bg-white mb-4",linksClassName:"pl-4 pt-2"},t=map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(e,a,t){t=t||{};var i,r=await getUISchema(e),l=find(r.list_views,(e,t)=>t===a);let n={};return l&&(t=getListViewColumns(l,t.formFactor),i=getListViewSort(l),r=await getObjectListHeader(r,a,{onlySecordLine:!0,isListviewInit:!0}),n={type:"steedos-object-table",objectApiName:e,columns:t,extraColumns:l.extra_columns,filters:l.filters,sort:i,headerSchema:r}),{type:"page",bodyClassName:"p-0",regions:["body"],body:[n],data:{listName:a}}}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
854
901
|
{
|
|
855
902
|
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
856
903
|
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|
|
857
904
|
},
|
|
858
905
|
unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
|
|
859
906
|
}
|
|
860
|
-
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},markReadAll=async()=>fetchAPI("/api/v4/notifications/all/markReadAll",{method:"POST"}),PUBLIC_ENV={},setEnv=(e,t)=>{PUBLIC_ENV[e]=t;},getEnv=e=>PUBLIC_ENV[e],setEnvs=e=>{map(e,(e,t)=>{PUBLIC_ENV[t]=e;});},getEnvs=()=>PUBLIC_ENV;async function getSpaceUsersPickerAmisSchema(e,t,a){return {type:"picker",label:"人员",name:t,id:a.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},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 = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\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 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 "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}async function getSpaceUsersPickerSchema(e,t){var a=await getUISchema("space_users");return {uiSchema:a,amisSchema:await getSpaceUsersPickerAmisSchema(a,e,t)}}const DATE_DATETIME_BETWEEN_VALUES=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],opMaps={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},isGroup=e=>_.has(e,"conjunction"),conditionGroupToFilters=e=>{const a=[],{conjunction:i,children:t}=e;return i&&t&&t.forEach(e=>{var t;0<a.length&&a.push(i),isGroup(e)?(t=conditionGroupToFilters(e))&&0<t.length&&a.push(t):(t=conditionItemToFilters(e))&&a.push(t);}),a},conditionItemToFilters=e=>{var t,{left:e,op:a,right:i}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=i?[e.field,opMaps[a],i]:void 0},filterToConditionItem=t=>{var e;if(3===t.length)return "between"===(e=_$1__default.findKey(opMaps,e=>e===t[1]))&&_$1__default.includes(DATE_DATETIME_BETWEEN_VALUES,t[2])?{left:{type:"field",field:t[0]},op:e+":"+t[2]}:{left:{type:"field",field:t[0]},op:e,right:t[2]};console.warn("无效的filter:"+JSON.stringify(t));},filterObjectToArray=e=>!_$1__default.isArray(e)&&_$1__default.isObject(e)?[e.field,e.operation,e.value]:e,filtersToConditionGroup=e=>{e=filterObjectToArray(e);const t={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=filterObjectToArray(e))||"and"===e?t.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?t.children.push(filterToConditionItem(e)):t.children.push(filtersToConditionGroup(e));}),t},conditionsToFilters=e=>conditionGroupToFilters(e),filtersToConditions=e=>filtersToConditionGroup(e),getSelectOptions=e=>{const a=[];return each(e.options.split("\n"),e=>{var t=e.split(":");2==t.length?a.push({label:t[0],value:t[1]}):a.push({label:e,value:e});}),a},getTdInputTpl=(e,t)=>{const a={label:!0===t&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?a.type="textarea":a.type="input-text";break;case"number":a.type="input-number";break;case"date":a.type="input-date";break;case"dateTime":a.type="input-datetime";break;case"checkbox":a.type="checkbox";break;case"email":a.type="input-email",a.validations={isEmail:!0};break;case"url":a.type="input-url",a.validations={isUrl:!0};break;case"password":a.type="input-password",a.showCounter=!0;break;case"select":a.type="select",a.options=getSelectOptions(e);break;case"user":case"group":a.type="input-text";break;case"radio":a.type="radios",a.options=getSelectOptions(e);break;case"multiSelect":a.type="checkboxes",a.options=getSelectOptions(e);break;case"odata":var i=e.formula.substr(1,e.formula.length-2);a.type="select",a.multiple=e.is_multiselect,a.labelField=i,a.valueField="$$",a.source={url:startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":a.type="html";break;case"table":a.type="input-table",a.addable="readonly"!=e.permission,a.editable=a.addable,a.copyable=a.addable,a.columns=[],each(e.sfields,e=>{"hidden"!=e.type&&a.columns.push(getTdInputTpl(e,!0));});break;case"section":a.type="input-text";}return a},getTdField=(e,t)=>({background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(t-1),align:"left",className:"td-field",body:[getTdInputTpl(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}),getTdTitle=e=>({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),getTds=t=>{const a=[];return each(t,e=>{"table"!=e.type&&a.push(getTdTitle(e)),"section"!=e.type&&a.push(getTdField(e,t.length));}),a},getFormTrs=a=>{const t=[],i=[];let r=[];return each(a.fields,(e,t)=>{e.is_wide?(0!=r.length&&i.push(r),"table"==e.type&&i.push([Object.assign({},e,{type:"section"})]),(r=[]).push(e),i.push(r),r=[]):(r.push(e),2!=r.length&&t!==a.fields.length-1||(i.push(r),r=[]));}),each(i,e=>{t.push({background:"#F7F7F7",tds:getTds(e)});}),t},getFormTableView=e=>({type:"table-view",trs:getFormTrs(e),id:"u:047f3669468b"}),getFlowFormSchema=e=>({type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},getFormTableView(e)],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}),registerRemoteAssets=async t=>{if(t&&0<t.length){let e=t;isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return map(t,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return []};var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},keyToPath=function(e){var r=[];return e.charCodeAt(0)===".".charCodeAt(0)&&r.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,t,a,i){return a?e=i.replace(/\\(\\)?/g,"$1"):t&&(e=t.trim()),r.push(e),""}),r};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function extendObject(e,t,a){var i=cloneObject(e,a=void 0===a?!0:a);return t&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}function setVariable(e,t,a,i){if(t in(e=e||{}))e[t]=a;else {for(var r=!1!==i?keyToPath(t):[t],i=r.pop();r.length;){var
|
|
907
|
+
`;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},markReadAll=async()=>fetchAPI("/api/v4/notifications/all/markReadAll",{method:"POST"}),PUBLIC_ENV={},setEnv=(e,t)=>{PUBLIC_ENV[e]=t;},getEnv=e=>PUBLIC_ENV[e],setEnvs=e=>{map(e,(e,t)=>{PUBLIC_ENV[t]=e;});},getEnvs=()=>PUBLIC_ENV;async function getSpaceUsersPickerAmisSchema(e,t,a){return {type:"picker",label:"人员",name:t,id:a.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},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 = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\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 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 "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}async function getSpaceUsersPickerSchema(e,t){var a=await getUISchema("space_users");return {uiSchema:a,amisSchema:await getSpaceUsersPickerAmisSchema(a,e,t)}}const DATE_DATETIME_BETWEEN_VALUES=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],opMaps={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},isGroup=e=>_.has(e,"conjunction"),conditionGroupToFilters=e=>{const a=[],{conjunction:i,children:t}=e;return i&&t&&t.forEach(e=>{var t;0<a.length&&a.push(i),isGroup(e)?(t=conditionGroupToFilters(e))&&0<t.length&&a.push(t):(t=conditionItemToFilters(e))&&a.push(t);}),a},conditionItemToFilters=e=>{var t,{left:e,op:a,right:i}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=i?[e.field,opMaps[a],i]:void 0},filterToConditionItem=t=>{var e;if(3===t.length)return "between"===(e=_$1__default.findKey(opMaps,e=>e===t[1]))&&_$1__default.includes(DATE_DATETIME_BETWEEN_VALUES,t[2])?{left:{type:"field",field:t[0]},op:e+":"+t[2]}:{left:{type:"field",field:t[0]},op:e,right:t[2]};console.warn("无效的filter:"+JSON.stringify(t));},filterObjectToArray=e=>!_$1__default.isArray(e)&&_$1__default.isObject(e)?[e.field,e.operation,e.value]:e,filtersToConditionGroup=e=>{e=filterObjectToArray(e);const t={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=filterObjectToArray(e))||"and"===e?t.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?t.children.push(filterToConditionItem(e)):t.children.push(filtersToConditionGroup(e));}),t},conditionsToFilters=e=>conditionGroupToFilters(e),filtersToConditions=e=>filtersToConditionGroup(e),getSelectOptions=e=>{const a=[];return each(e.options.split("\n"),e=>{var t=e.split(":");2==t.length?a.push({label:t[0],value:t[1]}):a.push({label:e,value:e});}),a},getTdInputTpl=(e,t)=>{const a={label:!0===t&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?a.type="textarea":a.type="input-text";break;case"number":a.type="input-number";break;case"date":a.type="input-date";break;case"dateTime":a.type="input-datetime";break;case"checkbox":a.type="checkbox";break;case"email":a.type="input-email",a.validations={isEmail:!0};break;case"url":a.type="input-url",a.validations={isUrl:!0};break;case"password":a.type="input-password",a.showCounter=!0;break;case"select":a.type="select",a.options=getSelectOptions(e);break;case"user":case"group":a.type="input-text";break;case"radio":a.type="radios",a.options=getSelectOptions(e);break;case"multiSelect":a.type="checkboxes",a.options=getSelectOptions(e);break;case"odata":var i=e.formula.substr(1,e.formula.length-2);a.type="select",a.multiple=e.is_multiselect,a.labelField=i,a.valueField="$$",a.source={url:startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":a.type="html";break;case"table":a.type="input-table",a.addable="readonly"!=e.permission,a.editable=a.addable,a.copyable=a.addable,a.columns=[],each(e.sfields,e=>{"hidden"!=e.type&&a.columns.push(getTdInputTpl(e,!0));});break;case"section":a.type="input-text";}return a},getTdField=(e,t)=>({background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(t-1),align:"left",className:"td-field",body:[getTdInputTpl(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}),getTdTitle=e=>({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),getTds=t=>{const a=[];return each(t,e=>{"table"!=e.type&&a.push(getTdTitle(e)),"section"!=e.type&&a.push(getTdField(e,t.length));}),a},getFormTrs=a=>{const t=[],i=[];let r=[];return each(a.fields,(e,t)=>{e.is_wide?(0!=r.length&&i.push(r),"table"==e.type&&i.push([Object.assign({},e,{type:"section"})]),(r=[]).push(e),i.push(r),r=[]):(r.push(e),2!=r.length&&t!==a.fields.length-1||(i.push(r),r=[]));}),each(i,e=>{t.push({background:"#F7F7F7",tds:getTds(e)});}),t},getFormTableView=e=>({type:"table-view",trs:getFormTrs(e),id:"u:047f3669468b"}),getFlowFormSchema=e=>({type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},getFormTableView(e)],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}),registerRemoteAssets=async t=>{if(t&&0<t.length){let e=t;isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return map(t,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return []};var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},keyToPath=function(e){var r=[];return e.charCodeAt(0)===".".charCodeAt(0)&&r.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,t,a,i){return a?e=i.replace(/\\(\\)?/g,"$1"):t&&(e=t.trim()),r.push(e),""}),r};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function extendObject(e,t,a){var i=cloneObject(e,a=void 0===a?!0:a);return t&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}function setVariable(e,t,a,i){if(t in(e=e||{}))e[t]=a;else {for(var r=!1!==i?keyToPath(t):[t],i=r.pop();r.length;){var l=r.shift();e=isPlainObject_1(e[l])?e[l]=__assign({},e[l]):(Array.isArray(e[l])?e[l]=e[l].concat():(e[l],e[l]={}),e[l]);}e[i]=a;}}function deleteVariable(e,t){if(e)if(e.hasOwnProperty(t))delete e[t];else {for(var a=keyToPath(t),t=a.pop();a.length;){var i=a.shift();if(!isPlainObject_1(e[i])){if(e[i])throw new Error("目标路径不是纯对象,不能修改");break}e=e[i]=__assign({},e[i]);}e&&e.hasOwnProperty&&e.hasOwnProperty(t)&&delete e[t];}}
|
|
861
908
|
|
|
862
909
|
var index_esm = /*#__PURE__*/Object.freeze({
|
|
863
910
|
__proto__: null,
|
|
@@ -902,9 +949,16 @@ var index_esm = /*#__PURE__*/Object.freeze({
|
|
|
902
949
|
getNotifications: getNotifications,
|
|
903
950
|
getObjectDetailButtons: getObjectDetailButtons,
|
|
904
951
|
getObjectDetailMoreButtons: getObjectDetailMoreButtons,
|
|
952
|
+
getObjectFieldsFilterBarSchema: getObjectFieldsFilterBarSchema,
|
|
953
|
+
getObjectFieldsFilterButtonSchema: getObjectFieldsFilterButtonSchema,
|
|
954
|
+
getObjectFieldsFilterFormSchema: getObjectFieldsFilterFormSchema,
|
|
955
|
+
getObjectListHeader: getObjectListHeader,
|
|
956
|
+
getObjectRecordDetailHeader: getObjectRecordDetailHeader,
|
|
957
|
+
getObjectRecordDetailRelatedListHeader: getObjectRecordDetailRelatedListHeader,
|
|
905
958
|
getObjectRelated: getObjectRelated,
|
|
906
959
|
getObjectRelatedList: getObjectRelatedList,
|
|
907
960
|
getObjectRelatedListButtons: getObjectRelatedListButtons,
|
|
961
|
+
getObjectRelatedListHeader: getObjectRelatedListHeader,
|
|
908
962
|
getPage: getPage,
|
|
909
963
|
getRecord: getRecord,
|
|
910
964
|
getRecordDetailHeaderSchema: getRecordDetailHeaderSchema,
|
|
@@ -1219,14 +1273,14 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
|
|
|
1219
1273
|
}); };
|
|
1220
1274
|
|
|
1221
1275
|
var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1222
|
-
var $schema, top, showHeader, headerSchema, ctx, data, defaultData, urlListNameMatchs, urlListName, listName, defaults, objectApiName, schemaKeys, listSchema, amisSchemaData, amisSchema;
|
|
1276
|
+
var $schema, top, showHeader, headerSchema, ctx, data, defaultData, urlListNameMatchs, urlListName, listName, defaults, objectApiName, schemaKeys, listSchema, amisSchemaData, listViewId, amisSchema;
|
|
1223
1277
|
return __generator(this, function (_a) {
|
|
1224
1278
|
switch (_a.label) {
|
|
1225
1279
|
case 0:
|
|
1226
1280
|
$schema = props.$schema, top = props.top, showHeader = props.showHeader, headerSchema = props.headerSchema, ctx = props.ctx, data = props.data, defaultData = props.defaultData;
|
|
1227
1281
|
urlListNameMatchs = location.pathname.match(/grid\/(\w+)/);
|
|
1228
1282
|
urlListName = urlListNameMatchs && urlListNameMatchs[1];
|
|
1229
|
-
listName = props.listName
|
|
1283
|
+
listName = urlListName || props.listName;
|
|
1230
1284
|
defaults = {};
|
|
1231
1285
|
objectApiName = props.objectApiName || "space_users";
|
|
1232
1286
|
if (!(ctx && ctx.defaults)) {
|
|
@@ -1241,7 +1295,8 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
|
|
|
1241
1295
|
defaults.headerSchema = headerSchema;
|
|
1242
1296
|
}
|
|
1243
1297
|
amisSchemaData = Object.assign({}, data, defaultData);
|
|
1244
|
-
|
|
1298
|
+
listViewId = (ctx === null || ctx === void 0 ? void 0 : ctx.listViewId) || amisSchemaData.listViewId;
|
|
1299
|
+
return [4 /*yield*/, getListSchema(amisSchemaData.appId, objectApiName, listName, __assign$1(__assign$1({ top: top, showHeader: showHeader, defaults: defaults }, ctx), { listViewId: listViewId }))];
|
|
1245
1300
|
case 1:
|
|
1246
1301
|
amisSchema = (_a.sent()).amisSchema;
|
|
1247
1302
|
amisSchema.data = Object.assign({}, amisSchema.data, amisSchemaData, { listName: listName });
|
|
@@ -1316,6 +1371,39 @@ var AmisRecordDetailRelatedList = function (props) { return __awaiter(void 0, vo
|
|
|
1316
1371
|
});
|
|
1317
1372
|
}); };
|
|
1318
1373
|
|
|
1374
|
+
var AmisRecordDetailRelatedLists = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1375
|
+
var objectApiName, recordId, appId, formFactor, relatedLists;
|
|
1376
|
+
return __generator(this, function (_a) {
|
|
1377
|
+
switch (_a.label) {
|
|
1378
|
+
case 0:
|
|
1379
|
+
objectApiName = props.objectApiName, recordId = props.recordId, appId = props.appId, props.data, formFactor = props.formFactor;
|
|
1380
|
+
if (!objectApiName) {
|
|
1381
|
+
return [2 /*return*/, {
|
|
1382
|
+
"type": "alert",
|
|
1383
|
+
"body": "缺少父级对象",
|
|
1384
|
+
"level": "warning",
|
|
1385
|
+
"showIcon": true,
|
|
1386
|
+
"className": "mb-3"
|
|
1387
|
+
}];
|
|
1388
|
+
}
|
|
1389
|
+
return [4 /*yield*/, getObjectRelatedList(appId, objectApiName, recordId, formFactor)];
|
|
1390
|
+
case 1:
|
|
1391
|
+
relatedLists = _a.sent();
|
|
1392
|
+
return [2 /*return*/, {
|
|
1393
|
+
type: 'service',
|
|
1394
|
+
body: map(relatedLists, function (item) {
|
|
1395
|
+
return {
|
|
1396
|
+
type: 'steedos-object-related-listview',
|
|
1397
|
+
objectApiName: objectApiName,
|
|
1398
|
+
relatedObjectApiName: item.object_name,
|
|
1399
|
+
foreign_key: item.foreign_key,
|
|
1400
|
+
};
|
|
1401
|
+
})
|
|
1402
|
+
}];
|
|
1403
|
+
}
|
|
1404
|
+
});
|
|
1405
|
+
}); };
|
|
1406
|
+
|
|
1319
1407
|
var AmisSelectUser = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
1320
1408
|
var $schema, amisSchema;
|
|
1321
1409
|
return __generator(this, function (_a) {
|
|
@@ -1347,5 +1435,5 @@ var AmisProvider = function (props) { return __awaiter(void 0, void 0, void 0, f
|
|
|
1347
1435
|
});
|
|
1348
1436
|
}); };
|
|
1349
1437
|
|
|
1350
|
-
export { index_esm as AmisLib, AmisObjectButton, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisSelectUser, SteedosDropdownButton };
|
|
1438
|
+
export { index_esm as AmisLib, AmisObjectButton, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisRecordDetailRelatedLists, AmisSelectUser, SteedosDropdownButton };
|
|
1351
1439
|
//# sourceMappingURL=amis-object.esm.js.map
|