@steedos-widgets/amis-lib 1.0.14 → 1.0.16
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +206 -99
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +196 -89
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +239 -132
- package/dist/index.umd.js.map +1 -1
- package/dist/types/lib/converter/amis/fields/editor.d.ts +33 -0
- package/dist/types/lib/converter/amis/fields/index.d.ts +1 -19
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +22 -0
- package/dist/types/lib/converter/amis/fields/sections.d.ts +2 -11
- package/dist/types/lib/converter/amis/fields/table.d.ts +7 -0
- package/dist/types/lib/converter/amis/fields_filter.d.ts +7 -57
- package/dist/types/lib/converter/amis/form.d.ts +2 -11
- package/dist/types/lib/converter/amis/header.d.ts +6 -44
- package/dist/types/lib/converter/amis/index.d.ts +2 -11
- package/dist/types/lib/converter/amis/toolbar.d.ts +14 -39
- package/dist/types/lib/objects.d.ts +20 -31
- package/dist/types/lib/objectsRelated.d.ts +2 -1
- package/dist/types/lib/steedos.client.d.ts +1 -0
- package/dist/types/schema/standard_import_data.amis.d.ts +4 -0
- package/dist/types/schema/standard_new.amis.d.ts +1 -0
- package/dist/types/standard/button.d.ts +5 -0
- package/package.json +2 -2
package/dist/index.cjs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _$1=require("lodash"),isPlainObject=require("lodash/isPlainObject");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(a){var i;return a&&a.__esModule?a:(i=Object.create(null),a&&Object.keys(a).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(a,e),Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:function(){return a[e]}}))}),i.default=a,Object.freeze(i))}var ___namespace=_interopNamespace(_$1),___default=_interopDefaultLegacy(_$1),isPlainObject__default=_interopDefaultLegacy(isPlainObject);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
|
|
1
|
+
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var _$1=require("lodash"),isPlainObject=require("lodash/isPlainObject");function _interopDefaultLegacy(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function _interopNamespace(a){var i;return a&&a.__esModule?a:(i=Object.create(null),a&&Object.keys(a).forEach(function(e){var t;"default"!==e&&(t=Object.getOwnPropertyDescriptor(a,e),Object.defineProperty(i,e,t.get?t:{enumerable:!0,get:function(){return a[e]}}))}),i.default=a,Object.freeze(i))}var ___namespace=_interopNamespace(_$1),___default=_interopDefaultLegacy(_$1),isPlainObject__default=_interopDefaultLegacy(isPlainObject);const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var s,l=t.pathname.split("/");for(l.pop();s=/^\.\.?\//.exec(r);)"../"===s[0]&&l.pop(),r=r.substring(s[0].length);r=l.concat(r).join("/")}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href))},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t)},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0)},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e)}}),registerRenders=e=>{if(!_$1.isEmpty(e)&&_$1.isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let l=amisRequire("react");_$1.each(e,t=>{if(!_$1.find(RegisterRenders,e=>e===t.componentName)){let s=Builder.components.find(e=>e.name===t.componentName),e=s.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=l.useState(null);return l.useEffect(()=>{var e=s.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e)}):r(e)},[]),l.createElement(l.Fragment,null,l.createElement(l.Fragment,null,i&&a?a("body",i):""),l.createElement(l.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName)}})}},amisRender=(e,t,a={},i={},r)=>{var s=amisRequire("amis/embed"),{router:r,assets:l}=r;return registerRenders(l),s.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>"undefined"==typeof window?{}:Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e)};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return(window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e)}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e)}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e)}}function getUserId(){try{var e=getBuilderContext().userId;return e?e:null}catch(e){console.error(e)}}function absoluteUrl(e){return""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){_$1.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e)}const getSteedosAuth=()=>_$1.cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[],r=[];for(const s of r=___namespace.isArray(e)?e:___namespace.values(e))s.name.indexOf(".")<0&&(!t||"lookup"!=s.type&&"master_detail"!=s.type?a.push(s.alias?s.alias+":"+s.name:s.name):(a.push(""+s.name),i.push(""+s.name)),_$1.includes(["time","date","datetime","boolean","number","currency"],s.type)&&a.push(""+s.name),_$1.includes(["time","filesize","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],s.type)&&i.push(""+s.name));return i=___namespace.uniq(i),a=___namespace.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}function getRecordPermissionsTemplate(){return`
|
|
2
2
|
recordPermissions: _permissions{
|
|
3
3
|
allowCreate,
|
|
4
4
|
allowCreateFiles,
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
viewAssignCompanysRecords,
|
|
24
24
|
viewCompanyRecords,
|
|
25
25
|
}
|
|
26
|
-
`}async function getFindOneQuery$1(e,t,a,i){let r="",
|
|
26
|
+
`}async function getFindOneQuery$1(e,t,a,i){let r="",s=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(s=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${s}:${e.name}${r}{${await getFieldsTemplate(a)}, ${getRecordPermissionsTemplate()}}}`}}function getSaveQuery(e,t,a,i){return{objectName:e.name,$:"$$",recordId:t,modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`)}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple})}),t.length?`
|
|
27
27
|
let imgFieldsKeys = ${JSON.stringify(t)};
|
|
28
28
|
let imgFields = ${JSON.stringify(a)};
|
|
29
29
|
imgFieldsKeys.forEach((item)=>{
|
|
@@ -88,16 +88,17 @@
|
|
|
88
88
|
query = \`mutation{record: \${objectName}__update(id: "\${formData._id}", doc: {__saveData}){_id}}\`;
|
|
89
89
|
};
|
|
90
90
|
delete formData._id;
|
|
91
|
+
delete formData.__selectUserLoaded__;//选人控件加载标志不应该保存到数据库中
|
|
91
92
|
let __saveData = JSON.stringify(JSON.stringify(formData));
|
|
92
93
|
`}function getSaveRequestAdaptor(e){return`
|
|
93
94
|
${getSaveDataTpl(e)}
|
|
94
95
|
api.data = {query: query.replace('{__saveData}', __saveData)};
|
|
95
96
|
return api;
|
|
96
|
-
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let
|
|
97
|
+
`}async function getFindQuery(e,t,a,i){var r=i.limit||10;let s=`(top: ${r})`,l=(t&&(s=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(l=i.alias),i.filters&&(s=`(filters:${i.filters})`),i.queryOptions&&(s=`(${i.queryOptions})`));t="",e.enable_tree&&___namespace.includes(___namespace.keys(e.fields),"parent")&&___namespace.includes(___namespace.keys(e.fields),"children")&&(t=",parent,children"),r="";return"cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${l}:${e.name}${s}{${await getFieldsTemplate(a,i.expand)}${t}${r}},count:${e.name}__count(filters:{__filters})}`}}function getRecordPermissionsQuery(e,t,a){let i="",r=(t&&(i=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data"),s=(a&&(a.alias&&(r=a.alias),a.filters&&(i=`(filters:${a.filters})`),a.queryOptions&&(i=`(${a.queryOptions})`)),getRecordPermissionsTemplate());return a?.fields&&a.fields.length&&(s=`
|
|
97
98
|
recordPermissions: _permissions{
|
|
98
99
|
${a.fields.join(",")}
|
|
99
100
|
}
|
|
100
|
-
`),{query:`{${r}:${e.name}${i}{${e.idFieldName},${
|
|
101
|
+
`),{query:`{${r}:${e.name}${i}{${e.idFieldName},${s}}}`}}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(e){var{appId:e,objectName:t,recordId:a}=e;return"instances"===t?"/workflow/space/${context.tenantId}/${listName}/"+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 getCreatedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${created_by._id}"})}'>\${_display.created_by.label}</a>\${_display.created}</div>`}function getModifiedInfoTpl(e){return`<div><a href='${Router.getObjectDetailPath({formFactor:e,appId:"admin",objectName:"users",recordId:"${modified_by._id}"})}'>\${_display.modified_by.label}</a>\${_display.modified}</div>`}function getNumberTpl(e){return`<div>\${_display.${e.name}}</div>`}function getTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTpl(e){return`<div>\${_display.${e.name}}</div>`}function getDateTimeTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFieldTpl(e){return`<div>\${_display.${e.name}}</div>`}function getUiFileSizeTpl(e){return`<div>\${_display.${e.name}}</div>`}async function getRefObjectNameFieldName(e){return(await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return`<div>\${_display.${e.name}}</div>`}function getNameTpl(e,t){return"cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:"${appId}",objectName:t.objectName||"${objectName}",recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){let a="";var i;return a=_.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
|
|
101
102
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
102
103
|
`):`<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%>"}),`
|
|
103
104
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
@@ -194,7 +195,7 @@
|
|
|
194
195
|
`,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(e,t),requestAdaptor:getSaveRequestAdaptor(a),responseData:{recordId:"${record._id}"},adaptor:`
|
|
195
196
|
if(payload.errors){
|
|
196
197
|
payload.status = 2;
|
|
197
|
-
payload.msg = payload.errors[0].message;
|
|
198
|
+
payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;
|
|
198
199
|
}
|
|
199
200
|
return payload;
|
|
200
201
|
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getBatchDelete(e){return{method:"post",url:getApi$2(),requestAdaptor:`
|
|
@@ -205,16 +206,16 @@
|
|
|
205
206
|
})
|
|
206
207
|
api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
|
|
207
208
|
return api;
|
|
208
|
-
`,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,___namespace.forEach(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t)}),___namespace.forEach(___namespace.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var t=e.name,a=/\w+\.\w+/.test(t);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),a||e.hidden||i.push(Object.assign({name:t},e,{permission:{allowEdit:!0}}))}),i},getSection=async(t,e,a,i)=>{e=___namespace.filter(e,{group:a});if(e.length!=___namespace.filter(e,["hidden",!0]).length){var r,
|
|
209
|
-
var $user=${JSON.stringify(r)}; return `+
|
|
209
|
+
`,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const getFieldSchemaArray=e=>{let i=[];return i.length=0,___namespace.forEach(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t)}),___namespace.forEach(___namespace.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var t=e.name,a=/\w+\.\w+/.test(t);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),a||e.hidden||i.push(Object.assign({name:t},e,{permission:{allowEdit:!0}}))}),i},getSection=async(t,e,a,i)=>{e=___namespace.filter(e,{group:a});if(e.length!=___namespace.filter(e,["hidden",!0]).length){var r,s=[];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))&&s.push(r))}e=___namespace.map(___namespace.compact(___namespace.map(s,"visibleOn")),e=>`(${e.substring(2,e.length-1)})`),a={type:"fieldSet",title:a,collapsable:!0,body:s};return 0<e.length&&s.length===e.length&&(a.visibleOn=`\${${e.join(" || ")}}`),a}},getSections=async(e,t,a)=>{var i=getFieldSchemaArray(t),r=[];for(const l in ___namespace.groupBy(i,"group")){var s=await getSection(e,i,l,a);0<s.body.length&&r.push(s)}return r};async function getFormBody(e,t,a){return getSections(e,t,a)}async function getListBody(e,t){var a=[];for(const r of e){var i=await getFieldTpl(r,t);let e=i?"tpl":"text";r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled})}return{type:"hbox",columns:a}}function getDefaultParams$1(e){return{perPage:e.top||e.perPage||10}}async function getListSchema$1(e,t){e=(await getListBody(e,t)).columns;return{mode:"list",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...e],actions:!1===t.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,listView:t.listView,recordId:"${_id}"})}]}}}async function getCardSchema(e,t){let a=null;var i=_.find(e,e=>e.name===t.labelFieldName),i=(i&&(a=await getFieldTpl(i,t)),await getListBody(_.filter(e,e=>e.name!=t.labelFieldName),t));return{mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:getDefaultParams$1(t),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,card:{type:"card",header:{title:a},body:[...i.columns]}}}const defaultsDeep=(...e)=>{let t={};return _$1.toArray(e).reverse().forEach(e=>{_$1.mergeWith(t,e,(e,t)=>_$1.isArray(t)?t:void 0)}),t},globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return"string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return"#"!==t&&t?"string"==typeof t?_$1.get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return"string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var s,l;if(void 0===e&&(e={}),l=getParentPath(a),l=getValueByPath(e,l)||{},"string"!=typeof t)return t;s=t.substring(2,t.length-2),r=`
|
|
210
|
+
var $user=${JSON.stringify(r)}; return `+s.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(l));try{return Function(r)()}catch(e){return console.log(e,t,a),t}};var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};async function getPage({type:e,pageId:t,appId:a,objectName:i="",recordId:r,formFactor:s="LARGE"}){e=await fetchAPI(`/api/pageSchema/${e}?app=${a}&objectApiName=${i=i||""}&recordId=${r=r||""}&pageId=${t=t||""}&formFactor=`+s);if(e&&e.schema)return e}const getSchema$4=async(e,t)=>{e="新建 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",data:{$master:"$$","&":"${defaultData}",appId:"${appId}",objectName:"${objectName}",context:"${context}",global:"${global}",listViewId:"${listViewId}"},title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"p-0 border-0",id:"u:aef99d937b10"}},getSchema$3=async(e,t)=>{e="编辑 "+e.label;let a={type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"};t=await getPage({type:"form",appId:t.appId,objectName:t.objectName,formFactor:t.formFactor});return{type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:e,bodyClassName:"",body:[a=t?_.isString(t.schema)?JSON.parse(t.schema):t.schema:a],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],className:"",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:`
|
|
210
211
|
if(payload.errors){
|
|
211
212
|
payload.status = 2;
|
|
212
213
|
payload.msg = payload.errors[0].message;
|
|
213
214
|
}
|
|
214
215
|
return payload;
|
|
215
|
-
`},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=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=this.scopeId||`amis-${e}-${t}-listview`,t=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+a.name);console.log("listViewRef",t),_.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema()})},getGlobalData$1=()=>({now:new Date});function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=___default.default.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
|
|
216
|
+
`},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"},{componentId:"",args:{url:"/app/${app_id}/${objectName}/grid/all",blank:!1},actionType:"link",expression:"!!!listViewId"},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"}]}}}],regions:["body"]}),getSchema$1=e=>({type:"service",body:[{type:"button",label:"导入数据",id:"u:import_data",onEvent:{click:{actions:[{actionType:"dialog",dialog:{data:{"&":"$$",object_name:"${objectName}"},type:"dialog",title:"导入数据",body:[{type:"form",mode:"edit",persistData:!1,promptPageLeave:!0,name:"form_edit_data_import",debug:!1,title:"",submitText:"",api:{method:"post",url:"${context.rootUrl}/graphql",data:{objectName:"queue_import_history",$:"$$"},requestAdaptor:"\n const formData = api.data.$;\n for (key in formData){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(formData[key] === ''){\n formData[key] = null;\n }\n }\n const objectName = api.data.objectName;\n const fieldsName = Object.keys(formData);\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n delete formData.success_count;\ndelete formData.failure_count;\ndelete formData.total_count;\ndelete formData.start_time;\ndelete formData.end_time;\ndelete formData.state;\ndelete formData.error;\ndelete formData.created;\ndelete formData.created_by;\ndelete formData.modified;\ndelete formData.modified_by;\n \n \n let fileFieldsKeys = [\"file\"];\n let fileFields = {\"file\":{\"name\":\"file\"}};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = formData[item];\n if(fileFieldValue){\n // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。\n if(fileFields[item].multiple){\n if(fileFieldValue instanceof Array && fileFieldValue.length){\n formData[item] = fileFieldValue.map((value)=>{ \n if(typeof value === 'object'){\n return value.value;\n }else{\n return value;\n }\n });\n }\n }else{\n formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;\n }\n }\n })\n \n let query = `mutation{record: ${objectName}__insert(doc: {__saveData}){_id}}`;\n if(formData.recordId && formData.recordId !='new'){\n query = `mutation{record: ${objectName}__update(id: \"${formData._id}\", doc: {__saveData}){_id}}`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = {query: query.replace('{__saveData}', __saveData)};\n return api;\n ",responseData:{recordId:"${record._id}"},adaptor:"console.log('payload', payload)\n return payload;\n ",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},dataType:"json"},initFetch:!0,body:[{type:"fieldSet",title:"通用",collapsable:!0,body:[{name:"object_name",label:"导入对象",required:!1,type:"select",joinValues:!1,extractValue:!0,autoComplete:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:"{options:objects(filters: {__filters}, top: {__top}){_id label:label value:name},count:objects__count(filters:{__filters})}",$term:"$term",$value:"$object_name.name",$:"$$",rfield:"${object_name}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n var filters = '[]';\n var top = 10;\n if(api.data.$term){\n filters = '[\"name\", \"contains\", \"'+ api.data.$term +'\"]';\n }else if(api.data.$value){\n filters = '[\"_id\", \"=\", \"'+ api.data.$value +'\"]';\n }\n api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);\n return api;\n "},className:"m-1",labelClassName:"text-left",clearValueOnHidden:!1,id:"u:04295fee3896",multiple:!1,hidden:!0},{name:"queue_import",label:"数据导入",required:!0,type:"picker",labelField:"description",valueField:"_id",modalMode:"dialog",source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:queue_import(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,description,object_name,encoding,template_url,_display:_ui{object_name,encoding}},count:queue_import__count(filters:{__filters})}',$term:"$term",$self:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"description\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value?.indexOf(',') > 0){\n filters = [[\"_id\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n\n const filtersFunction = function(filters, values){return ['object_name', '=', values.object_name]};\n\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$self.__super.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n ",adaptor:"\n const enable_tree = undefined;\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n const getChildren = (records, childrenIds)=>{\n if(!childrenIds){\n return;\n }\n const children = _.filter(records, (record)=>{\n return _.includes(childrenIds, record._id)\n });\n _.each(children, (item)=>{\n if(item.children){\n item.children = getChildren(records, item.children)\n }\n })\n return children;\n }\n\n _.each(records, (record)=>{\n if(!record.parent){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n return payload;\n "},size:"lg",pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:20},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"description",label:"导入描述",type:"tpl",tpl:'<a href="/app/undefined/undefined/view/${undefined}">${description}</a>',className:"whitespace-nowrap",html:null},{name:"object_name",label:"导入对象",type:"tpl",tpl:'<a href="/app/undefined/${_display.object_name.objectName}/view/${_display.object_name.value}">${_display.object_name.label}</a>',className:"whitespace-nowrap",html:null},{name:"encoding",label:"字符代码",type:"tpl",tpl:"<div>${_display.encoding}</div>",className:"whitespace-nowrap",html:null},{name:"template_url",label:"导入模板",type:"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=e=>({type:"service",className:"p-0",body:[{type:"button",label:"查看",className:"border-none",onEvent:{click:{actions:[{componentId:"",args:{blank:!1,url:"/app/${app_id}/${objectName}/view/${_id}"},actionType:"link"}]}},id:"u:ef35c9ae1d19"}],regions:["body"]}),StandardButtons={getStandardNew:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$4(e,t)}),getStandardEdit:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$3(e,t)}),getStandardDelete:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$2(e)}),getStandardDeleteMany:async(e,t)=>({type:"script",todo:function(){var{appId:e,objectName:t,uiSchema:a}=this,e=this.scopeId||`amis-${e}-${t}-listview`,t=(this.scope||SteedosUI?.getRef(e)).getComponentById("listview_"+a.name);console.log("listViewRef",t),_.isEmpty(t.props.store.toJSON().selectedItems)?t.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):t.handleBulkAction(t.props.store.toJSON().selectedItems,[],{},t.props.bulkActions[0])}}),getStandardImportData:async(e,t)=>({type:"amis_button",amis_schema:await getSchema$1()}),getStandardOpenView:async(e,t)=>({type:"amis_button",amis_schema:await getSchema()})},getGlobalData$1=()=>({now:new Date});function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=___default.default.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+`.apply({
|
|
216
217
|
object: uiSchema
|
|
217
|
-
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(___default.default.startsWith(___default.default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData$1(),e.userSession)})),!___default.default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t,scopeId:a}=this,a=SteedosUI?.getRef(a||e).getComponentById("listview_"+t.name);___default.default.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=___default.default.sortBy(___default.default.values(t.actions),"sort");return ___default.default.has(t,"allow_customActions")&&(e=___default.default.filter(e,e=>___default.default.include(t.allow_customActions,e.name))),___default.default.has(t,"exclude_actions")&&(e=___default.default.filter(e,e=>!___default.default.include(t.exclude_actions,e.name))),___default.default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more")}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&___default.default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),___default.default.filter(e,e=>___default.default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=___default.default.filter(e,e=>"record"==e.on||"record_only"==e.on);return ___default.default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=___default.default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return ___default.default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"list"==e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=___default.default.find(r,e=>e.name===t);if(r)return"standard_edit"==r.name?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name
|
|
218
|
+
}, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(___default.default.startsWith(___default.default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData$1(),e.userSession)})),!___default.default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t,scopeId:a}=this,a=SteedosUI?.getRef(a||e).getComponentById("listview_"+t.name);___default.default.isEmpty(a.props.store.toJSON().selectedItems)?a.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):a.handleBulkAction(a.props.store.toJSON().selectedItems,[],{},a.props.bulkActions[0])}},getButtons=(t,a)=>{const i=t.permissions&&t.permissions.disabled_actions;let e=___default.default.sortBy(___default.default.values(t.actions),"sort");return ___default.default.has(t,"allow_customActions")&&(e=___default.default.filter(e,e=>___default.default.include(t.allow_customActions,e.name))),___default.default.has(t,"exclude_actions")&&(e=___default.default.filter(e,e=>!___default.default.include(t.exclude_actions,e.name))),___default.default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more")}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&___default.default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),___default.default.filter(e,e=>___default.default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=___default.default.filter(e,e=>"record"==e.on||"record_only"==e.on);return ___default.default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=___default.default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return ___default.default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getObjectRelatedListButtons=async(e,t)=>{e=getButtons(e,t);return ___default.default.filter(e,e=>"list"==e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){var r=await getButtons(i,a),r=___default.default.find(r,e=>e.name===t);if(r)return"standard_edit"==r.name?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardEdit(i,a)}:"cms_files"!=e&&"standard_new"==r.name?{label:r.label,name:r.name,on:r.on,...await StandardButtons.getStandardNew(i,a)}:"standard_delete"==r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDelete(i,a)}:i.hasImportTemplates&&"standard_import_data"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardImportData(i,a)}:"standard_open_view"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardOpenView(i,a)}:"standard_delete_many"===r.name?{label:r.label,name:r.name,on:r.on,sort:r.sort,...await StandardButtons.getStandardDeleteMany(i,a)}:r}},execute=(e,t)=>{if(e.todo)return ___default.default.isString(e.todo)&&___default.default.startsWith(___default.default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),___default.default.isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;function getObjectListHeaderFirstLine(a,e,t){var{icon:i,label:r}=a;const s=[];_$1.each(a.list_views,(e,t)=>{s.push({type:"button",label:e.label,actionType:"link",link:`/app/\${appId}/${a.name}/grid/`+t})});var l=getListViewButtons(a,{}),l=_$1.map(l,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),o=new RegExp("_","g");return{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon slds-icon_container slds-icon-standard-${i&&i.replace(o,"-")} slds-page-header__icon" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${i}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center",valign:"middle"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"text-md leading-none text-black"},{type:"dropdown-button",className:"",label:"${uiSchema.list_views[listName].label}",rightIcon:"fa fa-caret-down",size:"sm",hideCaret:!0,btnClassName:"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none",buttons:s}],md:"",columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"},{body:{type:"flex",items:l},md:"auto",valign:"middle"}],className:"flex justify-between"}}async function getObjectListHeaderSecordLine(e,t,a){e="listview_"+e.name;return{type:"grid",columns:[{body:[{type:"tpl",tpl:"${$count} 个项目",visibleOn:"this.$count >= 0",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:14},id:"u:1661f8471235"}],md:"auto",columnClassName:"flex items-center"},{body:[await getObjectFieldsFilterButtonSchema(),{type:"button",label:"",icon:"fa fa-refresh",actionType:"reload",target:e,className:"bg-white p-2 rounded border-gray-300 text-gray-500"}],md:"auto"}],className:"flex justify-between"}}async function getObjectListHeaderFieldsFilterBar(t,e,a){var i=_$1.keys(t.fields),i=_$1.sortBy(_$1.compact(_$1.map(i,e=>t.fields[e])),"sort_no");return await getObjectFieldsFilterBarSchema(t,i,a)}async function getObjectListHeader(e,t,a){return[{type:"wrapper",body:[getObjectListHeaderFirstLine(e)],className:"bg-gray-100 sm:rounded-tl sm:rounded-tr p-4 -mb-4"}]}async function getObjectRecordDetailHeader(e,t,a){var{showRecordTitle:a=!0}=a||{},{name:i,label:r,icon:s}=e,l=getObjectDetailButtons(e,{}),o=getObjectDetailMoreButtons(e,{recordId:t,objectName:i}),l=_$1.map(l,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),o=_$1.map(o,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e)})),o=(l.push({type:"steedos-dropdown-button",label:"",buttons:o,className:"slds-icon"}),new RegExp("_","g")),o=s&&s.replace(o,"-"),n=[],a=(a&&n.push({body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<img class='slds-icon slds-icon_container slds-icon-standard-${o}' src='\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${s}.svg'>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:""+r,inline:!1,wrapperComponent:"",className:"leading-4 text-md"},{type:"tpl",tpl:"${name}",inline:!1,wrapperComponent:"",className:"leading-5 text-xl font-bold"}],columnClassName:"p-l-xs"}],className:"flex justify-between"}],md:"auto"}),n.push({body:{type:"flex",items:l},md:"auto"}),[{type:"service",body:[{type:"wrapper",className:"bg-gray-100 border-b sm:shadow sm:rounded sm:border border-slate-300 p-4",body:[{type:"grid",columns:n,className:"flex justify-between"}],size:"xs"}],messages:{},hiddenOn:"${recordLoaded != true}"}]);return{type:"service",bodyClassName:"",name:"page",data:{"&":"$$",objectName:i,_id:t,recordPermissions:e.permissions,uiSchema:e},body:a}}async function getObjectRecordDetailRelatedListHeader(e,t){var a=e["icon"],e=await getObjectRelatedListButtons(e,{}),e=_$1.map(e,e=>({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"button_"+e.name})),i=new RegExp("_","g");return{type:"wrapper",body:[{type:"grid",valign:"middle",columns:[{body:[{type:"grid",valign:"middle",className:"flex justify-between",columns:[{body:{type:"tpl",className:"block",tpl:`<img class="slds-icon_small slds-icon_container slds-icon-standard-${a&&a.replace(i,"-")}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${a}.svg" />`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:`<a class="text-black text-base font-bold" href="/app/\${appId}/\${masterObjectName}/\${masterRecordId}/\${objectName}/grid?related_field_name=\${relatedKey}">${t}(\${$count})</a>`,inline:!1,wrapperComponent:"",className:""}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:"auto"},{body:{type:"flex",items:e},md:"auto"}],className:"flex justify-between"}],className:"border-b border-gray-300 p-3"}}async function getObjectRelatedListHeader(e,t,a){}function getObjectHeaderToolbar(e,t){return"SMALL"===t?[{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"}]:["bulkActions",{type:"columns-toggler",className:"hidden"},{type:"tpl",tpl:"${count} 个项目"},{type:"reload",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500"},{label:"",icon:"fa fa-search",type:"button",align:"right",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"custom",script:`
|
|
218
219
|
const scope = event.context.scoped;
|
|
219
220
|
const filterForm = scope.getComponents().find(function(n){
|
|
220
221
|
return n.props.type === "form";
|
|
@@ -223,7 +224,7 @@
|
|
|
223
224
|
return n.props.type === "service";
|
|
224
225
|
});
|
|
225
226
|
filterService.setData({showFieldsFilter: !!!filterService.props.data.showFieldsFilter});
|
|
226
|
-
`}]}}}]}function getObjectFooterToolbar(){return["statistics","pagination"]}async function getObjectFilter(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,a)]}}function getBulkActions(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:getBatchDelete(e.name)}]}function getToolbar(){return[]}async function getObjectList(e,t,a){var
|
|
227
|
+
`}]}}}]}function getObjectFooterToolbar(){return["statistics","pagination"]}async function getObjectFilter(e,t,a){return{title:"",submitText:"",className:"",mode:"normal",wrapWithPanel:!1,body:[await getObjectListHeaderFieldsFilterBar(e,null,a)]}}function getBulkActions(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",className:"hidden",id:"batchDelete",api:getBatchDelete(e.name)}]}function getToolbar(){return[]}async function getObjectList(e,t,a){var i=a["top"],r=e.paging&&!1===e.paging.enabled,s=getBulkActions(e),l={toolbar:getToolbar(),bodyClassName:"",headerToolbar:getObjectHeaderToolbar(e,a.formFactor),headerToolbarClassName:"px-4 py-2 border-gray-300 bg-gray-100 border-solid border-b",className:""+(a.className||"")};"SMALL"!==a.formFactor&&Object.assign(l,{footerToolbar:getObjectFooterToolbar(),filter:!!a.filterVisible&&await getObjectFilter(e,t,a),bulkActions:0!=a.bulkActions&&s}),r?(a.top=1e3,l.footerToolbar=[]):i&&(l.footerToolbar=[]);let o=null;s="listview_"+e.name,a.formFactor,r=await getTableSchema$1(t,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},a)),delete r.mode,o=Object.assign({},r,{type:"crud",primaryField:"_id",affixHeader:!1,id:s,name:s,keepItemSelectionOnPageChange:!0,api:await getTableApi(e,t,a),hiddenOn:a.tableHiddenOn,autoFillHeight:!0},l),i=a.defaults;if(i){r=i.listSchema||{},t=(o=defaultsDeep({},r,o),i.headerSchema),l=i.footerSchema;if(t||l){let e=[o];t&&(___default.default.isArray(t)?e=___default.default.union(t,e):e.unshift(t)),l&&(___default.default.isArray(l)?e=___default.default.union(e,l):e.push(l)),o=e}}return{type:"service",className:"",id:"service_"+s,name:"page",data:{$master:"$$",objectName:e.name,_id:null,recordPermissions:e.permissions,uiSchema:e,loaded:!1},body:o}}const getGlobalData=e=>{var t=getSteedosAuth();return{mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,defaults:s}=t,l=___default.default.values(e.fields),s=s&&s.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,l),initApi:null,initFetch:null,body:[defaultsDeep({},s,{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:"steedos-record-related-list-"+e.name,actionType:"setValue",args:{value:{$count:void 0}}},{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{actionType:"custom",script:`
|
|
227
228
|
const { recordId, listViewId } = context.props.data;
|
|
228
229
|
const data = event.data;
|
|
229
230
|
const appId = data.appId;
|
|
@@ -253,7 +254,7 @@
|
|
|
253
254
|
"actionType": "link"
|
|
254
255
|
});
|
|
255
256
|
}
|
|
256
|
-
`}]}}})]};return
|
|
257
|
+
`}]}}})]};return s.id&&(i.id="service-"+s.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:i="SMALL"===i?"normal":"horizontal",labelAlign:r,formInitProps:s}=a,l=___default.default.values(e.fields);return{type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,l,s),body:[{type:"form",mode:i,labelAlign:r,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(_$1.map(l,e=>(e.readonly=!0,e)),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form bg-white",actions:[],hiddenOn:"${recordLoaded != true}"}],onEvent:{fetchInited:{weight:0,actions:[{actionType:"broadcast",eventName:"recordLoaded",args:{eventName:"recordLoaded"},data:{record:"${event.data}"}},{actionType:"setValue",args:{value:{recordLoaded:!0}}}]}}}}const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?___namespace.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":___namespace.includes(AmisFormInputs,e)?"input-"+e:e}const getFileTableName=e=>{switch(e.type){case"avatar":return"avatars";case"image":return"images";case"file":return"files"}},getAmisFieldType$1=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType$1(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
|
|
257
258
|
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
258
259
|
<% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
|
|
259
260
|
<% fileData.forEach(function(item) { %>
|
|
@@ -271,10 +272,10 @@
|
|
|
271
272
|
}
|
|
272
273
|
}
|
|
273
274
|
return payload;
|
|
274
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else{var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null})}else a.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${r.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
275
|
+
`,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?"min-w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null})}else a.push({type:"button",className:"whitespace-nowrap",label:`<%=data.versions ? data.name : "${r.label}"%>`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams(e){return{perPage:e.top||e.perPage||config.listView.perPage}}function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1.isBoolean(t)?t.toString():t)return t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn(e),className:"antd-Button--default"})}),!(t.length<1))return{type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center steedos-listview-operation w-20",buttons:[{type:"steedos-dropdown-button",label:"xxx",buttons:t,placement:"bottomRight",overlayClassName:"shadow !min-w-[160px]",trigger:["click"],id:"u:c2140a365019",onOpenApi:{url:"${context.rootUrl}/service/api/@${objectName}/recordPermissions/${_id}",method:"get",data:{$:"$$",objectName:"${objectName}",listViewId:"${listViewId}",appId:"${appId}",formFactor:"${formFactor}",context:"${context}"},responseData:{recordPermissions:"$$"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},adaptor:`
|
|
275
276
|
payload.recordPermissions = payload;
|
|
276
277
|
return payload;
|
|
277
|
-
`}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-0",className:"",draggable:!1,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:
|
|
278
|
+
`}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",headerToolbarClassName:"py-2 px-0",className:"",draggable:!1,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:s,filtersFunction:l,sort:o,top:n,setDataToComponentId:d=""}=a,c=(s=(s=___namespace.isArray(s)?___namespace.map(s,function(e){return e.operation?[e.field,e.operation,e.value]:e}):s)||[],null);_$1.isEmpty(r)||_$1.isEmpty(s)?r?c=r:s&&(c=s):c=[r,"and",s],___namespace.each(t,function(e){e.searchable&&i.push(e.name)});const p={},m=[];t.forEach(e=>{___namespace.includes(["image","avatar","file"],e.type)&&(m.push(e.name),p[e.name]={name:e.name,type:e.type,multiple:e.multiple})});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.data.loaded="${loaded}",t.data.listViewId="${listViewId}",t.requestAdaptor=`
|
|
278
279
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
279
280
|
try{
|
|
280
281
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
@@ -298,12 +299,25 @@
|
|
|
298
299
|
catch(ex){
|
|
299
300
|
console.error("本地存储中crud参数解析异常:", ex);
|
|
300
301
|
}
|
|
301
|
-
${
|
|
302
|
-
|
|
303
|
-
|
|
302
|
+
${c?`var systemFilters = ${JSON.stringify(c)};`:"var systemFilters = [];"}
|
|
303
|
+
const filtersFunction = ${l};
|
|
304
|
+
if(filtersFunction){
|
|
305
|
+
const _filters = filtersFunction(systemFilters, selfData);
|
|
306
|
+
if(_filters && _filters.length > 0){
|
|
307
|
+
if(_.isEmpty(systemFilters)){
|
|
308
|
+
systemFilters = _filters || [];
|
|
309
|
+
}else{
|
|
310
|
+
systemFilters = [systemFilters, 'and', _filters];
|
|
311
|
+
}
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
let userFilters =[];
|
|
315
|
+
|
|
316
|
+
if(_.isEmpty(systemFilters)){
|
|
317
|
+
systemFilters = api.data.filter || [];
|
|
304
318
|
}else{
|
|
305
319
|
if(!_.isEmpty(api.data.filter)){
|
|
306
|
-
|
|
320
|
+
systemFilters = [systemFilters, 'and', api.data.filter];
|
|
307
321
|
}
|
|
308
322
|
}
|
|
309
323
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -312,12 +326,12 @@
|
|
|
312
326
|
var orderBy = api.data.orderBy || '';
|
|
313
327
|
var orderDir = api.data.orderDir || '';
|
|
314
328
|
var sort = orderBy + ' ' + orderDir;
|
|
315
|
-
sort = orderBy ? sort : "${
|
|
329
|
+
sort = orderBy ? sort : "${o}";
|
|
316
330
|
var allowSearchFields = ${JSON.stringify(i)};
|
|
317
331
|
if(api.data.$term){
|
|
318
|
-
|
|
332
|
+
userFilters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
319
333
|
}else if(selfData.op === 'loadOptions' && selfData.value){
|
|
320
|
-
|
|
334
|
+
userFilters = [["${a.name}", "=", selfData.value]];
|
|
321
335
|
}
|
|
322
336
|
var searchableFilter = [];
|
|
323
337
|
_.each(selfData, (value, key)=>{
|
|
@@ -335,10 +349,10 @@
|
|
|
335
349
|
});
|
|
336
350
|
|
|
337
351
|
if(searchableFilter.length > 0){
|
|
338
|
-
if(
|
|
339
|
-
|
|
352
|
+
if(userFilters.length > 0 ){
|
|
353
|
+
userFilters = [userFilters, 'and', searchableFilter];
|
|
340
354
|
}else{
|
|
341
|
-
|
|
355
|
+
userFilters = searchableFilter;
|
|
342
356
|
}
|
|
343
357
|
}
|
|
344
358
|
|
|
@@ -346,9 +360,9 @@
|
|
|
346
360
|
allowSearchFields.forEach(function(key){
|
|
347
361
|
const keyValue = selfData[key];
|
|
348
362
|
if(_.isString(keyValue)){
|
|
349
|
-
|
|
363
|
+
userFilters.push([key, "contains", keyValue]);
|
|
350
364
|
}else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){
|
|
351
|
-
|
|
365
|
+
userFilters.push([key, "=", keyValue]);
|
|
352
366
|
}
|
|
353
367
|
})
|
|
354
368
|
}
|
|
@@ -364,19 +378,38 @@
|
|
|
364
378
|
}
|
|
365
379
|
}
|
|
366
380
|
})
|
|
367
|
-
|
|
381
|
+
userFilters.push(keywordsFilters);
|
|
382
|
+
};
|
|
383
|
+
|
|
384
|
+
let filters = [];
|
|
385
|
+
|
|
386
|
+
if(!_.isEmpty(systemFilters)){
|
|
387
|
+
filters = systemFilters;
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
if(!_.isEmpty(userFilters)){
|
|
391
|
+
if(_.isEmpty(filters)){
|
|
392
|
+
filters = userFilters;
|
|
393
|
+
}else{
|
|
394
|
+
filters.push('and');
|
|
395
|
+
filters.push(userFilters)
|
|
396
|
+
}
|
|
397
|
+
}
|
|
398
|
+
api.data = {
|
|
399
|
+
query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())
|
|
368
400
|
}
|
|
369
|
-
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
|
|
370
401
|
return api;
|
|
371
402
|
`,t.adaptor=`
|
|
372
403
|
const enable_tree = ${e.enable_tree};
|
|
373
404
|
if(!enable_tree){
|
|
374
405
|
_.each(payload.data.rows, function(item, index){
|
|
375
|
-
|
|
406
|
+
const {pageNo, pageSize} = api.body;
|
|
407
|
+
const skip = (pageNo - 1) * pageSize;
|
|
408
|
+
item._index = skip + index + 1;
|
|
376
409
|
})
|
|
377
410
|
}
|
|
378
411
|
window.postMessage(Object.assign({type: "listview.loaded"}), "*");
|
|
379
|
-
let fileFields = ${JSON.stringify(
|
|
412
|
+
let fileFields = ${JSON.stringify(p)};
|
|
380
413
|
_.each(payload.data.rows, function(item, index){
|
|
381
414
|
_.each(fileFields , (field, key)=>{
|
|
382
415
|
if(item[key] && item._display && item._display [key]){
|
|
@@ -422,7 +455,7 @@
|
|
|
422
455
|
|
|
423
456
|
try{
|
|
424
457
|
// TODO: 不应该直接在这里取localStorage,应该从外面传入
|
|
425
|
-
const listViewId = api.
|
|
458
|
+
const listViewId = api.body.listViewId;
|
|
426
459
|
const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
427
460
|
/**
|
|
428
461
|
* localListViewProps规范来自crud请求api中api.data.$self参数值的。
|
|
@@ -435,11 +468,11 @@
|
|
|
435
468
|
* orderDir:排序方向
|
|
436
469
|
*/
|
|
437
470
|
let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
438
|
-
let selfData = JSON.parse(JSON.stringify(api.
|
|
471
|
+
let selfData = JSON.parse(JSON.stringify(api.body.$self));
|
|
439
472
|
if(localListViewProps){
|
|
440
473
|
localListViewProps = JSON.parse(localListViewProps);
|
|
441
|
-
selfData = Object.assign({}, localListViewProps, selfData, { filter: api.
|
|
442
|
-
if(!api.
|
|
474
|
+
selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });
|
|
475
|
+
if(!api.body.loaded){
|
|
443
476
|
// 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1
|
|
444
477
|
// 所以会把localSearchableFilter中已经存过的页码覆盖
|
|
445
478
|
// 如果是第一次加载组件始终让翻页页码从本地存储中取值
|
|
@@ -458,13 +491,14 @@
|
|
|
458
491
|
// 标记加载过,后续优先从本地存储中加载相关参数
|
|
459
492
|
payload.data.loaded= true;
|
|
460
493
|
|
|
461
|
-
const setDataToComponentId = "${
|
|
494
|
+
const setDataToComponentId = "${d}";
|
|
462
495
|
if(setDataToComponentId){
|
|
463
496
|
SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})
|
|
464
497
|
}
|
|
465
498
|
|
|
466
499
|
return payload;
|
|
467
|
-
`,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}"}}}function getRecordPermissionsApi(e,t,a){e=getRecordPermissionsQuery(e,t,a);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSource(e){var
|
|
500
|
+
`,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}"}}}function getRecordPermissionsApi(e,t,a){e=getRecordPermissionsQuery(e,t,a);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const refUsersObjectName="space_users",refOrgsObjectName="organizations";async function getSource(e,t){var a=await getFindQuery({name:refOrgsObjectName},null,[{name:"_id",alias:"value"},{name:"name",alias:"label"},{name:"children"}],{alias:"leftOptions",filters:"{__filters}"}),i=(a.query=a.query.replace(/,count\:.+/,"}"),await getFindQuery({name:refOrgsObjectName},null,[{name:"_id",alias:"ref"}],{alias:"children",filters:"{__filters}"})),i=(i.query=i.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+i.query.replace(/{(.+)}/,"$1}")),await getFindQuery({name:refUsersObjectName},null,[{name:"user"},{name:"name"}],{alias:"defaultValueOptions",filters:"{__options_filters}"}));i.query=i.query.replace(/,count\:.+/,"}"),a.query=a.query.replace(/}$/,","+i.query.replace(/{(.+)}/,"$1}"));let r=""+e.name;t.fieldNamePrefix&&(r=""+t.fieldNamePrefix+e.name),a.$value="$"+r,a.__selectUserLoaded__="${__selectUserLoaded__}";i=`
|
|
501
|
+
console.log("select user field '${e.name}' requestAdaptor api:", api);
|
|
468
502
|
var filters = [['parent', '=', null]];
|
|
469
503
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
470
504
|
var defaultValue = api.data.$value;
|
|
@@ -475,7 +509,7 @@
|
|
|
475
509
|
}
|
|
476
510
|
api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));
|
|
477
511
|
return api;
|
|
478
|
-
|
|
512
|
+
`;return{method:"post",url:getApi$2()+`?value=\${${e.multiple?r+"|join":r}}`,requestAdaptor:i,adaptor:`
|
|
479
513
|
const data = payload.data;
|
|
480
514
|
data.children = data.children.map(function (child) {
|
|
481
515
|
// child.defer = !!(child.children && child.children.length);
|
|
@@ -493,30 +527,33 @@
|
|
|
493
527
|
delete data.defaultValueOptions;
|
|
494
528
|
payload.data = { options: [data] };
|
|
495
529
|
return payload;
|
|
496
|
-
`,data:
|
|
530
|
+
`,data:a,sendOn:"!this.__selectUserLoaded__",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getDeferApi(e,t){var a=await getFindQuery({name:"{__object_name}"},null,[],{alias:"options",queryOptions:'filters: {__filters}, sort: "{__sort}"'});let i=e.filters;"function"==typeof(i="string"==typeof i?(i=new Function("return "+i))():i)&&(i=i(e)),a.query=a.query.replace(/,count\:.+/,"}"),a.query=a.query.replace("{_id}","{{__fields}}");e=`
|
|
497
531
|
var dep = api.query.dep;
|
|
498
532
|
var ref = api.query.ref;
|
|
499
533
|
var term = api.query.term;
|
|
500
534
|
var filters;
|
|
501
535
|
var objectName;
|
|
502
536
|
var fields;
|
|
537
|
+
var sort = "";
|
|
503
538
|
if (dep) {
|
|
504
|
-
objectName = "
|
|
539
|
+
objectName = "${refOrgsObjectName}";
|
|
505
540
|
fields = "value:_id,label:name,children";
|
|
506
541
|
filters = [['parent', '=', dep]];
|
|
542
|
+
sort = "${t.orgsSort}";
|
|
507
543
|
}
|
|
508
544
|
else if (ref) {
|
|
509
|
-
objectName = "
|
|
545
|
+
objectName = "${refUsersObjectName}";
|
|
510
546
|
// 这里要额外把字段转为value和label是因为valueField和labelField在deferApi/searchApi中不生效,所以字段要取两次
|
|
511
547
|
fields = "user,name,value:user,label:name";
|
|
512
548
|
filters = [['user_accepted', '=', true]];
|
|
513
|
-
var defaultFilters = ${
|
|
549
|
+
var defaultFilters = ${i&&JSON.stringify(i)};
|
|
514
550
|
if(defaultFilters){
|
|
515
551
|
filters.push(defaultFilters);
|
|
516
552
|
}
|
|
517
553
|
filters.push(['organizations_parents', '=', ref]);
|
|
554
|
+
sort = "${t.usersSort}";
|
|
518
555
|
}
|
|
519
|
-
api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters));
|
|
556
|
+
api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());
|
|
520
557
|
return api;
|
|
521
558
|
`;return{method:"post",url:getApi$2()+"?ref=${ref}&dep=${value}",requestAdaptor:e,adaptor:`
|
|
522
559
|
if (api.query.dep) {
|
|
@@ -530,9 +567,10 @@
|
|
|
530
567
|
payload.data = data;
|
|
531
568
|
}
|
|
532
569
|
return payload;
|
|
533
|
-
`,data:
|
|
570
|
+
`,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSearchApi(e,t){var a=await getFindQuery({name:refUsersObjectName},null,[{name:"user"},{name:"name"},{name:"user",alias:"value"},{name:"name",alias:"label"}],{alias:"options",queryOptions:'filters: {__filters}, sort: "{__sort}"'}),e=(a.query=a.query.replace(/,count\:.+/,"}"),e.filters),e=`
|
|
534
571
|
var term = api.query.term;
|
|
535
572
|
var filters;
|
|
573
|
+
var sort = "";
|
|
536
574
|
if (term) {
|
|
537
575
|
filters = [['user_accepted', '=', true]];
|
|
538
576
|
var defaultFilters = ${e&&JSON.stringify(e)};
|
|
@@ -547,10 +585,26 @@
|
|
|
547
585
|
});
|
|
548
586
|
termFilters.pop();
|
|
549
587
|
filters.push(termFilters);
|
|
588
|
+
sort = "${t.usersSort}";
|
|
550
589
|
}
|
|
551
|
-
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
590
|
+
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());
|
|
552
591
|
return api;
|
|
553
|
-
`;return{method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:
|
|
592
|
+
`;return{method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:a,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function getRefListViewSort(e){e=___namespace.find(e.list_views,(e,t)=>"all"===t);let t="";return t=e?getListViewSort(e):t}async function getSelectUserSchema(t,a,i){if(!t)return{};i=i||{};var r={type:getAmisStaticFieldType("select",a)};if(a)r.tpl=await getLookupTpl(t,i);else{a=await getUISchema(refUsersObjectName),a=(i.usersSort=getRefListViewSort(a),await getUISchema(refOrgsObjectName));i.orgsSort=getRefListViewSort(a),Object.assign(r,{labelField:"name",valueField:"user",multiple:t.multiple,searchable:t.searchable,selectMode:"associated",leftMode:"tree",extractValue:!0,clearable:!0,source:await getSource(t,i),deferApi:await getDeferApi(t,i),searchApi:await getSearchApi(t,i)}),t.multiple&&Object.assign(r,{joinValues:!1});let e=t.defaultValue;!___namespace.has(t,"defaultValue")||___namespace.isString(e)&&e.startsWith("{")||(___namespace.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),r.value=e),"boolean"!=typeof r.searchable&&(r.searchable=!0);a=t.onEvent,i=(a&&(r.onEvent=a),{actionType:"custom",script:`
|
|
593
|
+
// 往上找到form,设置__selectUserLoaded__标记已经加载过选人字段不能再调用source接口初始化选人组件了
|
|
594
|
+
const getClosestAmisComponentByType = function(scope, type){
|
|
595
|
+
const re = scope.getComponents().find(function(n){
|
|
596
|
+
return n.props.type === type;
|
|
597
|
+
});
|
|
598
|
+
if(re){
|
|
599
|
+
return re;
|
|
600
|
+
}
|
|
601
|
+
else{
|
|
602
|
+
return getClosestAmisComponentByType(scope.parent, type);
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
const form = getClosestAmisComponentByType(event.context.scoped, "form");
|
|
606
|
+
form.setData({"__selectUserLoaded__":true});
|
|
607
|
+
`});r.onEvent?r.onEvent.change?.actions?.length?r.onEvent.change.actions.unshift(i):r.onEvent.change={weight:0,actions:[i]}:Object.assign(r,{onEvent:{change:{weight:0,actions:[i]}}})}return r}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"],NAME_FIELD_KEY:r.NAME_FIELD_KEY||"name"}}};async function lookupToAmisPicker(r,s,l){var o=await getReferenceTo(r);if(o){const c=await getUISchema(o.objectName),p=[];let e=0;const m=[],u=[];var n=___namespace.find(c.list_views,(e,t)=>"all"===t);n&&n.columns?___namespace.each(n.columns,function(e){___namespace.isString(e)&&c.fields[e]?u.push(c.fields[e]):___namespace.isObject(e)&&c.fields[e.field]&&u.push(Object.assign({},c.fields[e.field],{width:e.width,wrap:e.wrap}))}):___namespace.each(c.fields,(e,t)=>{"_id"==t||e.hidden||(___namespace.has(e,"name")||(e.name=t),u.push(e))}),___namespace.each(___namespace.sortBy(u,"sort_no"),function(t){e<5&&(___namespace.find(p,function(e){return e.name===t.name})||(e++,p.push(t),t.searchable&&m.push(t.name)))});const f={[o.labelField.name]:o.labelField,[o.valueField.name]:o.valueField};___namespace.each(p,e=>{e.hidden||(f[e.name]=e)});let t="";n&&(t=getListViewSort(n));n=await getApi(c,null,f,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});if(n.url){const g=[],_=[];___namespace.each(r.depend_on,e=>{g.push(`depend_on_${e}=\${${e}}`),_.push("this."+e)}),0<g.length&&(n.url=n.url+"?"+g.join("&"),n.sendOn=""+_.join(" && "))}n.data.$term="$term",n.data.$self="$$",n.requestAdaptor=`
|
|
554
608
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
555
609
|
var filters = [];
|
|
556
610
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -559,14 +613,15 @@
|
|
|
559
613
|
var orderBy = api.data.orderBy || '';
|
|
560
614
|
var orderDir = api.data.orderDir || '';
|
|
561
615
|
var sort = orderBy + ' ' + orderDir;
|
|
562
|
-
|
|
616
|
+
sort = orderBy ? sort : "${t}";
|
|
617
|
+
var allowSearchFields = ${JSON.stringify(m)};
|
|
563
618
|
if(api.data.$term){
|
|
564
619
|
filters = [["name", "contains", "'+ api.data.$term +'"]];
|
|
565
620
|
}else if(selfData.op === 'loadOptions' && selfData.value){
|
|
566
621
|
if(selfData.value?.indexOf(',') > 0){
|
|
567
|
-
filters = [["${
|
|
622
|
+
filters = [["${o.valueField.name}", "=", selfData.value.split(',')]];
|
|
568
623
|
}else{
|
|
569
|
-
filters = [["${
|
|
624
|
+
filters = [["${o.valueField.name}", "=", selfData.value]];
|
|
570
625
|
}
|
|
571
626
|
}
|
|
572
627
|
|
|
@@ -602,7 +657,7 @@
|
|
|
602
657
|
})
|
|
603
658
|
}
|
|
604
659
|
|
|
605
|
-
const filtersFunction = ${
|
|
660
|
+
const filtersFunction = ${r._filtersFunction};
|
|
606
661
|
|
|
607
662
|
if(filtersFunction){
|
|
608
663
|
const _filters = filtersFunction(filters, api.data.$self.__super.__super);
|
|
@@ -613,8 +668,8 @@
|
|
|
613
668
|
|
|
614
669
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
|
|
615
670
|
return api;
|
|
616
|
-
`,
|
|
617
|
-
const enable_tree = ${
|
|
671
|
+
`,n.adaptor=`
|
|
672
|
+
const enable_tree = ${c.enable_tree};
|
|
618
673
|
if(enable_tree){
|
|
619
674
|
const records = payload.data.rows;
|
|
620
675
|
const treeRecords = [];
|
|
@@ -641,54 +696,30 @@
|
|
|
641
696
|
payload.data.rows = treeRecords;
|
|
642
697
|
}
|
|
643
698
|
return payload;
|
|
644
|
-
`;let
|
|
645
|
-
var filters =
|
|
699
|
+
`;let a=20,i=(c.paging&&!1===c.paging.enabled&&(a=1e3),null);"SMALL"===l.formFactor?i=await getListSchema$1(p,{top:a,...l,actions:!1}):((i=await getTableSchema$1(p,{labelFieldName:c.NAME_FIELD_KEY,top:a,...l})).headerToolbar=getObjectHeaderToolbar(c,l.formFactor),i.footerToolbar=getObjectFooterToolbar(),!1!==l.filterVisible&&(d=l.filterLoopCount||0,d++,i.filter=await getObjectFilter(c,f,{isLookup:!0,...l,filterLoopCount:d})),i.data=Object.assign({},i.data,{"&":"$$",objectName:c.name,uiSchema:c,listName:"all",isLookup:!0}));var d={type:getAmisStaticFieldType("picker",s),labelField:o.labelField.name,valueField:o.valueField.name,modalMode:"dialog",source:n,size:"lg",pickerSchema:i,joinValues:!1,extractValue:!0};return r.multiple&&(d.multiple=!0,d.extractValue=!0),s&&(d.tpl=await getLookupTpl(r,l)),d}}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}, sort: "{__sort}"'}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}};var s=i&&await getUISchema(i.objectName),s=s&&___namespace.find(s.list_views,(e,t)=>"all"===t);let l="";if(s&&(l=getListViewSort(s)),r.url){const n=[],d=[];___namespace.each(e.depend_on,e=>{n.push(`depend_on_${e}=\${${e}}`),d.push("this."+e)}),0<n.length&&(r.url=r.url+"?"+n.join("&"),r.sendOn=""+d.join(" && "))}r.data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),___namespace.each(e.depend_on,function(e){r.data[e]="$"+e}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
|
|
700
|
+
var filters = [];
|
|
646
701
|
var top = 10;
|
|
647
702
|
if(api.data.$term){
|
|
648
|
-
filters =
|
|
703
|
+
filters = [["${i?.NAME_FIELD_KEY||"name"}", "contains", api.data.$term]];
|
|
649
704
|
}else if(api.data.$value){
|
|
650
|
-
filters =
|
|
705
|
+
filters = [["_id", "=", api.data.$value]];
|
|
651
706
|
}
|
|
652
|
-
|
|
707
|
+
|
|
708
|
+
const filtersFunction = ${e._filtersFunction};
|
|
709
|
+
|
|
710
|
+
if(filtersFunction){
|
|
711
|
+
const _filters = filtersFunction(filters, api.data.$);
|
|
712
|
+
if(_filters && _filters.length > 0){
|
|
713
|
+
filters.push(_filters);
|
|
714
|
+
}
|
|
715
|
+
}
|
|
716
|
+
var sort = "${l}";
|
|
717
|
+
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());
|
|
653
718
|
return api;
|
|
654
719
|
`,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
|
|
655
720
|
payload.data.options = eval(${e._optionsFunction})(api.data);
|
|
656
721
|
return payload;
|
|
657
|
-
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return!___namespace.has(e,"defaultValue")||___namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:!e.reference_to||___namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getPermissionFields(e,t){const a=[],i=[];return ___namespace.each(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t),i.push(e)}),___namespace.each(___namespace.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return ___namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value})}}),a}async function convertSFieldToAmisField(r,l,e){if(!___namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(___namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!___namespace.has(r,"defaultValue")||___namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},___namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}))})}return ___namespace.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" md:border-b"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},a,i,{clearValueOnHidden:!0,fieldName:r.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,l=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=_$1.cloneDeep(r),t=(_$1.includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,l+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,l+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,l+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,l+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:l,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,l=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&l.push(r));_$1.map(l,"name"),a.enableSearchableFieldsVisibleOn&&l.forEach(function(e){e.visibleOn=`this.filterFormSearchableFields && this.filterFormSearchableFields.indexOf("${e.fieldName}") > -1`});return{title:"",type:"form",name:"listview-filter-form",id:"listview_filter_form_"+e.name,mode:"normal",wrapWithPanel:!1,className:"sm:grid sm:gap-2 sm:grid-cols-4 mb-2",data:{"&":"${filterFormValues || {}}",...a.initData},body:l,onEvent:{broadcastSearchableFieldsChange:{actions:[{actionType:"custom",script:`
|
|
658
|
-
const data = event.data;
|
|
659
|
-
const listViewId = data.listViewId;
|
|
660
|
-
const searchableFields = data.fields;
|
|
661
|
-
const preSearchableFields = data.__super.__super.fields;
|
|
662
|
-
const removedFields = _.difference(preSearchableFields, searchableFields);
|
|
663
|
-
const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
664
|
-
let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
665
|
-
if(localListViewProps){
|
|
666
|
-
// 当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
|
|
667
|
-
localListViewProps = JSON.parse(localListViewProps);
|
|
668
|
-
let removedKeys = [];
|
|
669
|
-
_.each(localListViewProps, function(n,k){
|
|
670
|
-
// __searchable__开头的不在searchableFields范围则清除其值
|
|
671
|
-
let isRemoved = !!removedFields.find(function(fieldName){
|
|
672
|
-
return new RegExp("__searchable__.*" + fieldName + "$").test(k);
|
|
673
|
-
});
|
|
674
|
-
if(isRemoved){
|
|
675
|
-
removedKeys.push(k);
|
|
676
|
-
}
|
|
677
|
-
});
|
|
678
|
-
const removedValues = {};
|
|
679
|
-
removedKeys.forEach(function(key){
|
|
680
|
-
delete localListViewProps[key];
|
|
681
|
-
removedValues[key] = "";
|
|
682
|
-
});
|
|
683
|
-
doAction({
|
|
684
|
-
actionType: 'setValue',
|
|
685
|
-
args: {
|
|
686
|
-
value: removedValues
|
|
687
|
-
}
|
|
688
|
-
});
|
|
689
|
-
localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
690
|
-
}
|
|
691
|
-
`}]}}}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
722
|
+
`);s={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,source:r,autoComplete:r,searchable:!0};let o=e.defaultValue;return!___namespace.has(e,"defaultValue")||___namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(___namespace.isString(o)&&o.startsWith("{{")&&(o="$"+o.substring(1,o.length-1)),s.value=o),e.multiple&&(s.multiple=!0,s.extractValue=!0),t&&(s.tpl=await getLookupTpl(e,a)),s}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return{method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:!e.reference_to||___namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup&&___namespace.isEmpty(e.depend_on)?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const getMarkdownFieldSchema=(e,t,a)=>t?{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}:{type:"group",body:[{type:"editor",name:e.name,language:"markdown"},{type:"markdown",name:e.name,options:{linkify:!0,html:!0,breaks:!0}}]},getHtmlFieldSchema=(e,t,a)=>t?{type:"html",name:e.name}:{type:"input-rich-text",name:e.name},OMIT_FIELDS=["created","created_by","modified","modified_by"];function getBaseFields(e){let t="m-1";return[{name:"createdInfo",label:"创建人",type:"static",labelClassName:"text-left",className:t=e?""+t:t,tpl:getCreatedInfoTpl()},{name:"modifiedInfo",label:"修改人",type:"static",labelClassName:"text-left",className:t,tpl:getModifiedInfoTpl()}]}function getAmisFieldType(e){switch(e.type){case"text":return"text";case"textarea":return"textarea";case"html":return"html";case"markdown":return"markdown";case"select":return"select";case"boolean":return"checkbox";case"date":return"date";case"datetime":return"datetime";case"number":case"currency":case"percent":return"number";case"password":return"password";case"lookup":return"select";case"master_detail":return"picker";case"autonumber":return"text";case"url":return"url";case"email":return"email";case"image":return"image";case"formula":case"summary":break;case"grid":return"table";default:console.log("convertData default",e.type)}}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=___namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getPermissionFields(e,t){const a=[],i=[];return ___namespace.each(e.fields,(e,t)=>{___namespace.has(e,"name")||(e.name=t),i.push(e)}),___namespace.each(___namespace.sortBy(i,"sort_no"),function(e){e.hidden||a.push(Object.assign({},e,{permission:{allowEdit:!0}}))}),a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return ___namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value})}}),a}async function convertSFieldToAmisField(a,i,r){if(!___namespace.includes(OMIT_FIELDS,a.name)||1==r.showSystemFields){var s,l={name:r.fieldNamePrefix?""+r.fieldNamePrefix+a.name:a.name,label:a.label,labelRemark:a.inlineHelpText,required:(___namespace.has(r,"required")?r:a).required};let t={};switch(a.type){case"text":t.type=getAmisStaticFieldType("text",i);break;case"textarea":t.type=getAmisStaticFieldType("textarea",i),t.tpl=`<b><%=data.${a.name}%></b>`;break;case"html":t=getHtmlFieldSchema(a,i);break;case"markdown":t=getMarkdownFieldSchema(a,i);break;case"select":t={type:getAmisStaticFieldType("select",i),joinValues:!1,options:getSelectFieldOptions(a),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:i?getSelectTpl(a):null};let e=a.defaultValue;!___namespace.has(a,"defaultValue")||___namespace.isString(a.defaultValue)&&a.defaultValue.startsWith("{")||(___namespace.isString(e)&&e.startsWith("{{")&&(e="$"+e.substring(1,e.length-1)),s=a.data_type||"text",null!=e&&("text"===s?t.value=String(e):"number"===s?t.value=Number(e):"boolean"===s&&(t.value="false"!==e))),a.multiple&&(t.multiple=!0,t.extractValue=!0);break;case"boolean":t={type:getAmisStaticFieldType("checkbox",i),tpl:i?getSwitchTpl(a):null};break;case"input-date-range":t={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null,joinValues:!1};break;case"date":t={type:getAmisStaticFieldType("date",i),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:i?getDateTpl(a):null};break;case"input-datetime-range":t={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0,joinValues:!1};break;case"datetime":t={type:getAmisStaticFieldType("datetime",i),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSSZ",tpl:i?getDateTimeTpl(a):null,utc:!0};break;case"input-time-range":t={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null,joinValues:!1};break;case"time":t={type:getAmisStaticFieldType("time",i),inputFormat:"HH:mm",timeFormat:"HH:mm",format:"1970-01-01THH:mm:00.000[Z]",tpl:i?getDateTimeTpl(a):null};break;case"currency":case"number":t=i?{type:"static-tpl",tpl:getNumberTpl(a)}:{type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"input-array":t=Object.assign({},a,l);break;case"input-range":t={type:"input-range",min:a.min,max:a.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":t={type:getAmisStaticFieldType("number",i),min:a.min,max:a.max,precision:a.scale};break;case"password":t={type:getAmisStaticFieldType("password",i),tpl:i?getPasswordTpl(a):null};break;case"lookup":case"master_detail":t=await lookupToAmis(a,i,r);break;case"autonumber":i&&(t={type:"static-text"});break;case"url":t={type:getAmisStaticFieldType("url",i)};break;case"email":t={type:getAmisStaticFieldType("email",i)};break;case"avatar":case"image":case"file":t=getAmisFileSchema(a,i);break;case"formula":case"summary":i&&(t.type=getAmisStaticFieldType(a.data_type,i));break;case"code":t={type:"editor",language:a.language,value:a.defaultValue||""};break;case"toggle":t={type:"switch",name:a.name,label:a.label,width:a.width,toggled:a.toggled,disabled:i};break;case"grid":t={type:"input-table",strictMode:!1,affixHeader:!1,editable:!i,addable:!i,removable:!i,draggable:!i,columns:[]};for(const d of a.subFields){var o=d.name.replace(a.name+".$.","").replace(a.name+".",""),n=await convertSFieldToAmisField(Object.assign({},d,{name:o}),i,r);n&&(delete n.name,delete n.label,t.columns.push({name:o,label:d.label,quickEdit:!i&&n}))}}return ___namespace.isEmpty(t)?void 0:(a.is_wide||"group"===t.type?t.className="col-span-2 m-1":t.className="m-1",i&&(t.className=t.className+" md:border-b"),i&&(t.quickEdit=!1),a.visible_on&&(a.visible_on.startsWith("{{")?t.visibleOn=""+a.visible_on.substring(2,a.visible_on.length-2).replace(/formData./g,"data."):t.visibleOn=""+a.visible_on.replace(/formData./g,"data.")),"group"===t.type?(t.body[0]=Object.assign({},l,t.body[0],{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}),t):Object.assign({},l,t,{labelClassName:"text-left",clearValueOnHidden:!0,fieldName:a.name}))}}async function getFieldSearchable(e,t,a){var i=a.filterLoopCount||0;let r=e,s=("grid"===r.type?r=await getGridFieldSubFields(e,t):"object"===e.type&&(r=await getObjectFieldSubFields(e,t)),"__searchable__");if(r.name.indexOf(".")<0){e=_$1.cloneDeep(r),t=(_$1.includes(["textarea","html","code","autonumber"],r.type)&&(e.type="text"),"number"!==r.type&&"currency"!==r.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,s+="between__"),"date"===r.type&&(e.type="input-date-range",e.is_wide=!0,s+="between__"),"datetime"===r.type&&(e.type="input-datetime-range",e.is_wide=!0,s+="between__"),"time"===r.type&&(e.type="input-time-range",e.is_wide=!0,s+="between__"),"users"===r.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:s,required:!1,showSystemFields:!0,filterVisible:i<5})));if(t)return t}}var index=Object.freeze({__proto__:null,OMIT_FIELDS:OMIT_FIELDS,getBaseFields:getBaseFields,getAmisFieldType:getAmisFieldType,getObjectFieldSubFields:getObjectFieldSubFields,getGridFieldSubFields:getGridFieldSubFields,getPermissionFields:getPermissionFields,getSelectFieldOptions:getSelectFieldOptions,convertSFieldToAmisField:convertSFieldToAmisField,getFieldSearchable:getFieldSearchable,getAmisStaticFieldType:getAmisStaticFieldType});async function getObjectFieldsFilterButtonSchema(e){return{type:"button",label:"",icon:"fa fa-search",className:"bg-white p-2 rounded border-gray-300 text-gray-500",onEvent:{click:{actions:[{actionType:"broadcast",args:{eventName:"broadcast_toggle_fields_filter"}}]}}}}async function getObjectFieldsFilterFormSchema(e,t,a){a=a||{};var i,r,s=[];for(i of t)_$1.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],i.type)||(delete i.defaultValue,delete i.required,delete i.is_wide,delete i.readonly,delete i.hidden,delete i.omit,(r=await getFieldSearchable(i,t,a))&&s.push(r));return _$1.map(s,"name"),a.enableSearchableFieldsVisibleOn&&s.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",data:{"&":"${filterFormValues || {}}",...a.initData},body:s}}async function getObjectFieldsFilterBarSchema(e,t,a){a=a||{};t=await getObjectFieldsFilterFormSchema(e,t,Object.assign({},{enableSearchableFieldsVisibleOn:!0},a));return{type:"service",name:"service_listview_filter_form",data:{},id:"service_listview_filter_form_"+e.name,dataProvider:{inited:`
|
|
692
723
|
const objectName = data.objectName;
|
|
693
724
|
const isLookup = data.isLookup;
|
|
694
725
|
const listViewId = data.listViewId;
|
|
@@ -752,7 +783,15 @@
|
|
|
752
783
|
var listView = scope.parent.parent.parent.getComponents().find(function(n){
|
|
753
784
|
return n.props.type === "crud";
|
|
754
785
|
});
|
|
755
|
-
|
|
786
|
+
const removedValues = {};
|
|
787
|
+
// 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中
|
|
788
|
+
// 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中
|
|
789
|
+
for(var k in filterFormValues){
|
|
790
|
+
if(filterFormValues[k] === "" && !filterFormValues.hasOwnProperty(k)){
|
|
791
|
+
removedValues[k] = "";
|
|
792
|
+
}
|
|
793
|
+
}
|
|
794
|
+
listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));
|
|
756
795
|
`}]}}},{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:`
|
|
757
796
|
const data = context.props.data;
|
|
758
797
|
const listName = data.listName;
|
|
@@ -761,6 +800,7 @@
|
|
|
761
800
|
const listViewId = data.listViewId;
|
|
762
801
|
const value = data.fields;
|
|
763
802
|
const scope = event.context.scoped;
|
|
803
|
+
// 这里的filterForm不是name为"listview-filter-form"的内部form,而是crud自带的filter form
|
|
764
804
|
const filterForm = scope.parent.parent.getComponents().find(function(n){
|
|
765
805
|
return n.props.type === "form";
|
|
766
806
|
});
|
|
@@ -776,13 +816,80 @@
|
|
|
776
816
|
searchableFieldsStoreKey += listViewId;
|
|
777
817
|
}
|
|
778
818
|
localStorage.setItem(searchableFieldsStoreKey, value);
|
|
779
|
-
|
|
819
|
+
|
|
820
|
+
// ===START===:当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。
|
|
821
|
+
const searchableFields = data.fields;
|
|
822
|
+
let preSearchableFields = data.__super.fields;
|
|
823
|
+
if(typeof preSearchableFields === "string"){
|
|
824
|
+
preSearchableFields = preSearchableFields.split(",");
|
|
825
|
+
}
|
|
826
|
+
const removedFields = _.difference(preSearchableFields, searchableFields);
|
|
827
|
+
|
|
828
|
+
// const getClosestAmisComponentByType = function (scope, type, name) {
|
|
829
|
+
// // 递归children找到listview-filter-form
|
|
830
|
+
// let re = scope.getComponents().find(function (n) {
|
|
831
|
+
// return n.props.type === type && n.props.name === name;
|
|
832
|
+
// });
|
|
833
|
+
// if (re) {
|
|
834
|
+
// return re;
|
|
835
|
+
// }
|
|
836
|
+
// else {
|
|
837
|
+
// if (scope.children && scope.children.length) {
|
|
838
|
+
// for (let i = 0; i < scope.children.length; i++) {
|
|
839
|
+
// re = getClosestAmisComponentByType(scope.children[i], type, name);
|
|
840
|
+
// if (re) {
|
|
841
|
+
// break;
|
|
842
|
+
// }
|
|
843
|
+
// }
|
|
844
|
+
// return re;
|
|
845
|
+
// }
|
|
846
|
+
|
|
847
|
+
// }
|
|
848
|
+
// }
|
|
849
|
+
// // 这里第二层form才是真正要提交到crud过滤条件的form
|
|
850
|
+
// filterInnerForm = getClosestAmisComponentByType(filterForm.context, "form", "listview-filter-form");
|
|
851
|
+
|
|
852
|
+
const filterFormValues = filterForm.getValues();
|
|
853
|
+
let removedKeys = [];
|
|
854
|
+
_.each(filterFormValues, function(n,k){
|
|
855
|
+
// __searchable__开头的不在searchableFields范围则清除其值
|
|
856
|
+
let isRemoved = !!removedFields.find(function(fieldName){
|
|
857
|
+
return new RegExp("__searchable__.*" + fieldName + "$").test(k);
|
|
858
|
+
});
|
|
859
|
+
if(isRemoved){
|
|
860
|
+
removedKeys.push(k);
|
|
861
|
+
}
|
|
862
|
+
});
|
|
863
|
+
const removedValues = {};
|
|
864
|
+
removedKeys.forEach(function(key){
|
|
865
|
+
removedValues[key] = "";
|
|
866
|
+
});
|
|
867
|
+
filterForm.setValues(removedValues);//这里使用filterInnerForm也可以
|
|
868
|
+
|
|
869
|
+
if(isLookup){
|
|
870
|
+
return;
|
|
871
|
+
}
|
|
872
|
+
|
|
873
|
+
// 列表视图crud支持本地缓存,所以需要进一步清除浏览器本地缓存里面用户在可搜索项中移除的字段值
|
|
874
|
+
const listViewPropsStoreKey = location.pathname + "/crud/" + listViewId ;
|
|
875
|
+
let localListViewProps = localStorage.getItem(listViewPropsStoreKey);
|
|
876
|
+
if(localListViewProps){
|
|
877
|
+
localListViewProps = JSON.parse(localListViewProps);
|
|
878
|
+
// const removedValues = {};
|
|
879
|
+
removedKeys.forEach(function(key){
|
|
880
|
+
delete localListViewProps[key];
|
|
881
|
+
// removedValues[key] = "";
|
|
882
|
+
});
|
|
883
|
+
localStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));
|
|
884
|
+
}
|
|
885
|
+
// ===END===
|
|
886
|
+
`},{componentId:"",args:{},actionType:"closeDrawer"}]}},id:"u:14e7388fecd3",level:"primary"}],closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,data:{"&":"$$",objectName:"${objectName}",listName:"${listName}",listViewId:"${listViewId}",uiSchema:"${uiSchema}",isLookup:"${isLookup}",context:"${context}",fields:"${filterFormSearchableFields}"}}}]}},id:"u:b96d84868a5a",level:"link"}],size:"xs",className:"space-x-4"},size:"xs",className:"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0"}],size:"xs",className:"slds-filters"},size:"xs",className:"border-gray-300 border-y slds-grid slds-grid_vertical slds-nowrap "+(!a.isLookup&&"mt-2"),visibleOn:"this.showFieldsFilter"},className:"bg-white"}}const DEFAULT_CALENDAR_OPTIONS={startDateExpr:"start",endDateExpr:"end",allDayExpr:"is_all_day",textExpr:"name"};async function getCalendarApi(e,t,a){var i=(a=a||{}).calendarOptions;const r=[];let{globalFilter:s,filter:l,sort:o,top:n,setDataToComponentId:d=""}=a;n=n||200,l=(l=___default.default.isArray(l)?___default.default.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],___default.default.each(t,function(e){e.searchable&&r.push(e.name)});var a=e.idFieldName||"_id",c=e.key_field||"_id",e=await getApi$1(e,null,t,{alias:"rows",limit:n,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return e.data.$term="$term",e.data.$self="$$",e.data.filter="$filter",e.data.pageSize=n||10,e.requestAdaptor=`
|
|
780
887
|
let selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
781
|
-
${
|
|
888
|
+
${s?`var filters = ${JSON.stringify(s)};`:"var filters = [];"}
|
|
782
889
|
if(_.isEmpty(filters)){
|
|
783
|
-
filters = api.data.filter || ${JSON.stringify(
|
|
890
|
+
filters = api.data.filter || ${JSON.stringify(l)};
|
|
784
891
|
}else{
|
|
785
|
-
filters = [filters, 'and', api.data.filter || ${JSON.stringify(
|
|
892
|
+
filters = [filters, 'and', api.data.filter || ${JSON.stringify(l)}]
|
|
786
893
|
}
|
|
787
894
|
const eventFetchInfo = selfData.fetchInfo;
|
|
788
895
|
const startDateExpr = "${i.startDateExpr}";
|
|
@@ -912,7 +1019,7 @@
|
|
|
912
1019
|
revert && revert();
|
|
913
1020
|
}
|
|
914
1021
|
return payload;
|
|
915
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getObjectCalendar(t,e,a){var i=t.permissions,r=(a=a||{},(e=Object.assign({},DEFAULT_CALENDAR_OPTIONS,_$1.omitBy(e,_$1.isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let
|
|
1022
|
+
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getObjectCalendar(t,e,a){var i=t.permissions,r=(a=a||{},(e=Object.assign({},DEFAULT_CALENDAR_OPTIONS,_$1.omitBy(e,_$1.isNil))).title||[e.startDateExpr,e.endDateExpr,e.allDayExpr,e.textExpr]);let s=[],l=(_$1.each(r,function(e){t.fields[e]&&s.push(t.fields[e])}),t.fields[e.allDayExpr]&&s.push(t.fields[e.allDayExpr]),a.sort||(r=a.sortField,a.sortOrder,r&&0),e.currentView);if(l)switch(l){case"day":l="timeGridDay";break;case"week":l="timeGridWeek";break;case"month":l="dayGridMonth";break;case"agenda":l="timeGridDay"}else l="timeGridWeek";a.calendarOptions=e;var r=await getCalendarApi(t,s,a),a=`
|
|
916
1023
|
const api = ${JSON.stringify(r)};
|
|
917
1024
|
event.data.calendarOptions = ${JSON.stringify(e)};
|
|
918
1025
|
doAction({
|
|
@@ -963,7 +1070,7 @@
|
|
|
963
1070
|
"size": "lg"
|
|
964
1071
|
}
|
|
965
1072
|
});
|
|
966
|
-
`,o=getCalendarRecordPermissionsApi(t,"${event.id}"),n=getCalendarRecordSaveApi(t,e),d={daysOfWeek:[1,2,3,4,5],startTime:"08:00",endTime:"18:00"},e=(_$1.isEmpty(e.startDayHour)||(d.startTime=e.startDayHour+":00"),_$1.isEmpty(e.endDayHour)||(d.endTime=e.endDayHour+":00"),{type:"steedos-fullcalendar",label:"",name:"fullcalendar",editable:i.allowEdit,selectable:i.allowCreate,selectMirror:i.allowCreate,initialView:
|
|
1073
|
+
`,o=getCalendarRecordPermissionsApi(t,"${event.id}"),n=getCalendarRecordSaveApi(t,e),d={daysOfWeek:[1,2,3,4,5],startTime:"08:00",endTime:"18:00"},e=(_$1.isEmpty(e.startDayHour)||(d.startTime=e.startDayHour+":00"),_$1.isEmpty(e.endDayHour)||(d.endTime=e.endDayHour+":00"),{type:"steedos-fullcalendar",label:"",name:"fullcalendar",editable:i.allowEdit,selectable:i.allowCreate,selectMirror:i.allowCreate,initialView:l,businessHours:d,onEvent:{getEvents:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:a}]},select:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:r}]},eventClick:{weight:0,actions:[{componentId:"",args:{},actionType:"custom",script:`
|
|
967
1074
|
const data = event.data;
|
|
968
1075
|
const eventData = data.event;
|
|
969
1076
|
const appId = data.appId;
|
|
@@ -992,12 +1099,12 @@
|
|
|
992
1099
|
{
|
|
993
1100
|
${a.join(",")}
|
|
994
1101
|
}
|
|
995
|
-
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns)})}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),l=_$1.find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!l)return{uiSchema:r};if(l.enable_amis_schema&&l.amis_schema){const u=_$1.isString(l.amis_schema)?JSON.parse(l.amis_schema):l.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:u}}var s=getListViewColumns(l,i.formFactor),o=getListViewSort(l);if("calendar"===l.type){const u={type:"steedos-object-calendar",objectApiName:t,filters:l.filters,sort:o,...l.options};return{uiSchema:r,isCalendar:!0,amisSchema:u}}var n=i.defaults||{};!n.headerSchema&&i.showHeader&&(n.headerSchema=await getObjectListHeader(r)),i.showHeader||(n.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}),n.listSchema=_$1.defaultsDeep({},d,n.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=n;const u={type:"steedos-object-table",objectApiName:t,columns:s,extraColumns:l.extra_columns,filters:l.filters,sort:o,ctx:i};return{uiSchema:r,amisSchema:u}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l=i.sort;l||(o=i.sortField,n=i.sortOrder,o&&(l=o+" "+n||"asc"));let s=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?s.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&s.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=i.extraColumns,n=(o&&_$1.each(o,function(e){_$1.isString(e)?s.push({extra:!0,name:e}):_$1.isObject(e)&&s.push({extra:!0,name:e.field})}),await getObjectList(r,s,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:n}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],s=[].concat(e.related_lists||[]);if(_$1.isEmpty(s))for(const u of[].concat(e.details||[])){var o=u.split("."),n=await getUISchema(o[0]);if(n){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],l.push({masterObjectName:i,object_name:o[0],foreign_key:o[1],schema:await getListSchema(t,o[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(n,{isMobile:!1})})})}}else for(const m of s){var c=m.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!_$1.isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];_$1.forEach(m.field_names,t=>{var e=_$1.find(f.fields,e=>e.name===t);e&&a.push(e)}),l.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],schema:{uiSchema:f,amisSchema:await getObjectList(f,a,{tabId:i,appId:t,objectName:c[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(f,{isMobile:!1})})}})}}}return l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let s=null;var o=await getField(a,i),o=(s=o._reference_to||o.reference_to&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:s,formFactor:l}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=_$1.find(a.fields,e=>i===e?.name);return _$1.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],s=[].concat(e.related_lists||[]);if(_$1.isEmpty(s))for(const m of[].concat(e.details||[])){var o,n,d=m.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!_$1.isString(o.reference_to))&&d[1],d[1],n=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:getRelatedFieldValue(i,a,o.uiSchema,d[1])}}}]},l.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of s){var p=f.related_field_fullname.split(".");let e=null;var u=await getField(p[0],p[1]);if(u){e=u._reference_to||u.reference_to&&!_$1.isString(u.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e)}),l.push({masterObjectName:i,object_name:p[0],foreign_key:p[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:p[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}})}}}return l}async function getRecordDetailRelatedListSchema(t,e,a,i,r,l,s,o){var n=await getUISchema(a),{list_views:d,fields:c}=n,d=_$1.keys(d)[0];let p=null;c=await getField(a,i=i||_$1.findKey(c,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));let u=e;c.reference_to_field&&"_id"!=c.reference_to_field&&(e=await getRecord(t,e,[c.reference_to_field]),u=e[c.reference_to_field]),p=c._reference_to||c.reference_to&&!_$1.isString(c.reference_to)?[[i+"/o","=",t],[i+"/ids","=",u]]:[""+i,"=",u];e=await getObjectRecordDetailRelatedListHeader(n),c="steedos-record-related-list-"+a,d=(await getListSchema(null,a,d,{globalFilter:p,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:r,perPage:l,setDataToComponentId:c,tableHiddenOn:s?"this.$count === 0":null,appId:o})).amisSchema;return{uiSchema:n,amisSchema:{type:"service",id:c,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...d,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,u,n,i)}}}]}}}async function getFormPageInitSchema(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"},t=_$1.map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),l=_$1.find(r.list_views,(e,t)=>t===a);let s={};if(l){var o=getListViewColumns(l,i.formFactor),l=getListViewSort(l),n=i.defaults||{};n.headerSchema||(r=await getObjectListHeader(r),n.headerSchema=r),i.defaults=n;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,o,{sort:l,...i,setDataToComponentId:e});delete(s=r.amisSchema).data.$master,delete s.data._id,delete s.data.recordPermissions,delete s.data.uiSchema}return s}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=`
|
|
1102
|
+
`;return(await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},getRecordPermissions=async(e,t)=>{return await fetchAPI(`/service/api/@${e}/recordPermissions/`+t,{method:"GET"})};let UI_SCHEMA_CACHE={},UISchemaFunction;const setUISchemaFunction=function(e){UISchemaFunction=e},setUISchemaCache=("undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE),(e,t)=>{UI_SCHEMA_CACHE[e]=t}),getUISchemaCache=e=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e);function getListViewColumns(e,t){let a=[];return a="SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.slice(e.columns,0,4):e.mobile_columns:e.columns}function getListViewSort(e){let i="";return e&&e.sort&&e.sort.length&&_$1.each(e.sort,function(e,t){var a;_$1.isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,i+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,i+=a)}),i}function getListViewFilter(t){if(t){var a=getUserId();let e=t.filters;return"mine"===t.filter_scope&&(___default.default.isEmpty(e)?e=[["owner","=",a]]:e.push(["owner","=",a])),e}}async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){let a=null;try{if(!(a=UISchemaFunction?await UISchemaFunction(t,e):await fetchAPI(`/service/api/@${t.replace(/\./g,"_")}/uiSchema`,{method:"get"})))return;setUISchemaCache(t,a),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns)})}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null)}}return getUISchemaCache(t)}}async function getField(e,t){return(await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===(a=a||t)||e._id===a);if(!s)return{uiSchema:r};if(s.enable_amis_schema&&s.amis_schema){const f=_$1.isString(s.amis_schema)?JSON.parse(s.amis_schema):s.amis_schema;return{uiSchema:r,isCustomAmisSchema:!0,amisSchema:f}}var l=getListViewColumns(s,i.formFactor),o=getListViewSort(s),n=getListViewFilter(s),d=s&&s._filters;if("calendar"===s.type){const f={type:"steedos-object-calendar",objectApiName:t,filters:n,filtersFunction:d,sort:o,...s.options};return{uiSchema:r,isCalendar:!0,amisSchema:f}}var c=i.defaults||{};!c.headerSchema&&i.showHeader&&(c.headerSchema=await getObjectListHeader(r)),i.showHeader||(c.headerSchema=null);try{var p,m=location.pathname+"/crud/"+i.listViewId,u=localStorage.getItem(m);u&&(u=JSON.parse(u),p={},u.orderBy&&(p.orderBy=u.orderBy),u.orderDir&&(p.orderDir=u.orderDir),u.perPage&&(p.defaultParams={perPage:u.perPage}),c.listSchema=_$1.defaultsDeep({},p,c.listSchema||{}))}catch(e){console.error("本地存储中crud参数解析异常:",e)}i.defaults=c;const f={type:"steedos-object-table",objectApiName:t,columns:l,extraColumns:s.extra_columns,filters:n,filtersFunction:d,sort:o,ctx:i};return{uiSchema:r,amisSchema:f}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let s=i.sort;s||(o=i.sortField,n=i.sortOrder,o&&(s=o+" "+n||"asc"));let l=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?l.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&l.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))});var o=i.extraColumns,n=(o&&_$1.each(o,function(e){_$1.isString(e)?l.push({extra:!0,name:e}):_$1.isObject(e)&&l.push({extra:!0,name:e.field})}),await getObjectList(r,l,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:s,buttons:await getListViewItemButtons(r,i)}));return{uiSchema:r,amisSchema:n}}async function getCalendarSchema(e,t,a,i={}){var r=await getUISchema(t);return{uiSchema:r,amisSchema:await getObjectCalendar(r,a,{tabId:t,appId:e,objectName:t,...i})}}async function getRecordDetailHeaderSchema(e,t,a){e=await getUISchema(e);return{uiSchema:e,amisSchema:await getObjectRecordDetailHeader(e,t,a)}}async function getRecordDetailSchema(e,t){e=await getUISchema(e);return{uiSchema:e,amisSchema:{type:"service",body:[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:48d2c28eb755",onEvent:{recordLoaded:{actions:[{actionType:"reload",data:{name:`\${record.${e?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}},{type:"tabs",className:"sm:mt-3 bg-white sm:shadow sm:rounded sm:border border-slate-300 p-4",tabs:[{title:"详细",className:"px-0 py-4",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d4a495811d57",appId:t}],id:"u:5d4e7e3f6ecc"},{title:"相关",className:"px-0 pt-4",body:[{type:"steedos-object-related-lists",label:"相关列表",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:3b85b7b7a7f6",appId:t}],id:"u:1a0326aeec2b"}],id:"u:a649e4094a12"}]}}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const m of[].concat(e.details||[])){var o=m.split("."),n=await getUISchema(o[0]);if(n){let e=null;var d=await getField(o[0],o[1]);e=d._reference_to||d.reference_to&&!_$1.isString(d.reference_to)?[[o[1]+"/o","=",i],[o[1]+"/ids","=",a]]:[""+o[1],"=",a],s.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(n,{isMobile:!1})})})}}else for(const u of l){var c=u.related_field_fullname.split(".");let e=null;var p=await getField(c[0],c[1]);if(p){e=p._reference_to||p.reference_to&&!_$1.isString(p.reference_to)?[[c[1]+"/o","=",i],[c[1]+"/ids","=",a]]:[""+c[1],"=",a];const f=await getUISchema(c[0]);if(f){let a=[];_$1.forEach(u.field_names,t=>{var e=_$1.find(f.fields,e=>e.name===t);e&&a.push(e)}),s.push({masterObjectName:i,object_name:c[0],foreign_key:c[1],label:u.label,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 s}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:s}){let l=null;var o=await getField(a,i),o=(l=o._reference_to||o.reference_to&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return{masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:l,formFactor:s}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t,a){return getObjectFieldsFilterFormSchema(e,t,a)}const getRelatedFieldValue=(e,t,a,i)=>{a=_$1.find(a.fields,e=>i===e?.name);return _$1.isString(a.reference_to)?a.multiple?[t]:t:{o:e,ids:[t]}};async function getAmisObjectRelatedList(t,i,a,r){var e=await getUISchema(i),s=[],l=[].concat(e.related_lists||[]);if(_$1.isEmpty(l))for(const u of[].concat(e.details||[])){var o,n,d=u.split("."),c=await getUISchema(d[0]);c&&(((o=await getField(d[0],d[1]))._reference_to||o.reference_to&&!_$1.isString(o.reference_to))&&d[1],d[1],n=(o=await getListSchema(t,d[0],"all",{formFactor:r,buttons:await getListViewItemButtons(c,{isMobile:!1})})).amisSchema,c=await getObjectRecordDetailRelatedListHeader(c),n.headerSchema=c,n.headerToolbar=[],n.columnsTogglable=!1,delete n.ctx,o.amisSchema={type:"service",className:"b-a m-b",data:{masterObjectName:i,masterRecordId:"${recordId}",relatedKey:d[1],objectName:d[0],listViewId:`amis-\${appId}-${d[0]}-listview`},body:[{...n,data:{filter:["${relatedKey}","=","${masterRecordId}"],objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[d[1]]:getRelatedFieldValue(i,a,o.uiSchema,d[1])}}}]},s.push({masterObjectName:i,object_name:d[0],foreign_key:d[1],schema:o}))}else for(const f of l){var p=f.related_field_fullname.split(".");let e=null;var m=await getField(p[0],p[1]);if(m){e=m._reference_to||m.reference_to&&!_$1.isString(m.reference_to)?[[p[1]+"/o","=",i],[p[1]+"/ids","=",a]]:[""+p[1],"=",a];const g=await getUISchema(p[0]);if(g){let a=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e)}),s.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 s}async function getRecordDetailRelatedListSchema(t,e,a,i,r,s,l,o,n){var d=await getUISchema(a),{list_views:c,label:p,fields:m}=d,p=(n=n||p,_$1.keys(c)[0]);let u=null;c=await getField(a,i=i||_$1.findKey(m,function(e){return-1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}));let f=e;c.reference_to_field&&"_id"!=c.reference_to_field&&(m=await getRecord(t,e,[c.reference_to_field]),f=m[c.reference_to_field]),u=c._reference_to||c.reference_to&&!_$1.isString(c.reference_to)?[[i+"/o","=",t],[i+"/ids","=",f]]:[""+i,"=",f];e=await getObjectRecordDetailRelatedListHeader(d,n),m="steedos-record-related-list-"+a,c=(await getListSchema(null,a,p,{globalFilter:u,defaults:{listSchema:{headerToolbar:[],columnsTogglable:!1},headerSchema:e},showHeader:!0,top:r,perPage:s,setDataToComponentId:m,tableHiddenOn:l?"this.$count === 0":null,appId:o})).amisSchema;return{uiSchema:d,amisSchema:{type:"service",id:m,className:"steedos-record-related-list sm:rounded sm:border border-slate-300 bg-gray-100 mb-4",data:{"&":"$$",appId:"${appId}",app_id:"${appId}",masterObjectName:t,masterRecordId:"${recordId}",relatedKey:i,objectName:a,listViewId:`amis-\${appId}-${a}-listview`},body:[{...c,data:{"&":"$$",appId:"${appId}",app_id:"${appId}",relatedKey:i,objectName:"${objectName}",recordId:"${masterRecordId}",defaultData:{[i]:getRelatedFieldValue(t,f,d,i)}}}]}}}async function getFormPageInitSchema(e){return{type:"page",bodyClassName:"",regions:["body"],body:[(await getFormSchema(e,{recordId:"${recordId}"})).amisSchema]}}async function getListPageInitSchema(e,t,a){return{type:"page",bodyClassName:"",regions:["body"],body:[{type:"steedos-object-listview",objectApiName:e,columnsTogglable:!1,showHeader:!0}]}}async function getRecordPageInitSchema(e){var t=await getAmisObjectRelatedList(null,e,"${recordId}",null),a=[{type:"steedos-record-detail-header",label:"标题面板",objectApiName:"${objectName}",recordId:"${recordId}",onEvent:{recordLoaded:{actions:[{actionType:"setValue",args:{value:{recordLoaded:!0}}},{actionType:"reload",data:{name:`\${record.${(await getUISchema(e))?.NAME_FIELD_KEY||"name"}}`,record:"${record}",recordLoaded:!0}}]}}}],i={type:"tabs",tabs:[{title:"详情",body:[{type:"steedos-object-form",label:"对象表单",mode:"read",objectApiName:"${objectName}",recordId:"${recordId}",labelAlign:"left"}]}],className:"sm:mt-3 flex flex-col region-main bg-white sm:shadow sm:rounded sm:border border-slate-300",linksClassName:"pl-4 pt-2"},t=_$1.map(t,e=>e.schema.amisSchema);return t.length&&i.tabs.push({title:"相关",body:t}),a.push(i),{type:"page",id:`page_${e}_record_detail`,bodyClassName:"",regions:["body"],body:a}}async function getListviewInitSchema(t,a,i){i=i||{};var r=await getUISchema(t),s=_$1.find(r.list_views,(e,t)=>t===a);let l={};if(s){var o=getListViewColumns(s,i.formFactor),s=getListViewSort(s),n=i.defaults||{};n.headerSchema||(r=await getObjectListHeader(r),n.headerSchema=r),i.defaults=n;let e=i.setDataToComponentId;e=e||"service_listview_"+t;r=await getTableSchema(null,t,o,{sort:s,...i,setDataToComponentId:e});delete(l=r.amisSchema).data.$master,delete l.data._id,delete l.data.recordPermissions,delete l.data.uiSchema}return l}async function getApps(){return await fetchAPI("/service/api/apps/menus")}async function getApp(e){return await fetchAPI(`/service/api/apps/${e}/menus`)}const getNotifications=async()=>{var e=getSteedosAuth(),e=`
|
|
996
1103
|
{
|
|
997
1104
|
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
998
1105
|
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|
|
999
1106
|
},
|
|
1000
1107
|
unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
|
|
1001
1108
|
}
|
|
1002
|
-
`;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=>{_$1.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=___default.default.findKey(opMaps,e=>e===t[1]))&&___default.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=>!___default.default.isArray(e)&&___default.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 _$1.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:_$1.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=[],_$1.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 _$1.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 _$1.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=[]))}),_$1.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;_$1.isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=_$1.filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return _$1.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__default.default(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__default.default(e[i])){if(e[i])throw new Error("目标路径不是纯对象,不能修改");break}e=e[i]=__assign({},e[i])}e&&e.hasOwnProperty&&e.hasOwnProperty(t)&&delete e[t]}}var getDefaultRenderData=function(){var e=getSteedosAuth();return{context:{rootUrl:getRootUrl(),userId:e.userId,tenantId:e.spaceId,authToken:e.authToken,user:e},global:{userId:e.userId,spaceId:e.spaceId,user:e,now:new Date}}};exports.Field=index,exports.absoluteUrl=absoluteUrl,exports.amisRender=amisRender,exports.amisRootClick=amisRootClick,exports.cloneObject=cloneObject,exports.conditionsToFilters=conditionsToFilters,exports.createObject=createObject,exports.defaultsDeep=defaultsDeep,exports.deleteVariable=deleteVariable,exports.execute=execute,exports.executeButton=executeButton,exports.extendObject=extendObject,exports.fetchAPI=fetchAPI,exports.filtersToConditions=filtersToConditions,exports.getAmisObjectRelatedList=getAmisObjectRelatedList,exports.getApp=getApp,exports.getApps=getApps,exports.getAuthToken=getAuthToken,exports.getAuthorization=getAuthorization,exports.getButton=getButton,exports.getButtonVisible=getButtonVisible,exports.getButtonVisibleOn=getButtonVisibleOn$1,exports.getButtons=getButtons,exports.getCalendarSchema=getCalendarSchema,exports.getDefaultRenderData=getDefaultRenderData,exports.getEnv=getEnv,exports.getEnvs=getEnvs,exports.getEvn=getEvn,exports.getField=getField,exports.getFileSrc=getFileSrc,exports.getFlowFormSchema=getFlowFormSchema,exports.getFormPageInitSchema=getFormPageInitSchema,exports.getFormSchema=getFormSchema,exports.getImageSrc=getImageSrc,exports.getListPageInitSchema=getListPageInitSchema,exports.getListSchema=getListSchema,exports.getListViewButtons=getListViewButtons,exports.getListViewColumns=getListViewColumns,exports.getListViewItemButtons=getListViewItemButtons,exports.getListViewSort=getListViewSort,exports.getListviewInitSchema=getListviewInitSchema,exports.getNotifications=getNotifications,exports.getObjectDetailButtons=getObjectDetailButtons,exports.getObjectDetailMoreButtons=getObjectDetailMoreButtons,exports.getObjectFieldsFilterBarSchema=getObjectFieldsFilterBarSchema,exports.getObjectFieldsFilterButtonSchema=getObjectFieldsFilterButtonSchema,exports.getObjectFieldsFilterFormSchema=getObjectFieldsFilterFormSchema,exports.getObjectListHeader=getObjectListHeader,exports.getObjectListHeaderFieldsFilterBar=getObjectListHeaderFieldsFilterBar,exports.getObjectListHeaderFirstLine=getObjectListHeaderFirstLine,exports.getObjectListHeaderSecordLine=getObjectListHeaderSecordLine,exports.getObjectRecordDetailHeader=getObjectRecordDetailHeader,exports.getObjectRecordDetailRelatedListHeader=getObjectRecordDetailRelatedListHeader,exports.getObjectRelated=getObjectRelated,exports.getObjectRelatedList=getObjectRelatedList,exports.getObjectRelatedListButtons=getObjectRelatedListButtons,exports.getObjectRelatedListHeader=getObjectRelatedListHeader,exports.getPage=getPage,exports.getRecord=getRecord,exports.getRecordDetailHeaderSchema=getRecordDetailHeaderSchema,exports.getRecordDetailRelatedListSchema=getRecordDetailRelatedListSchema,exports.getRecordDetailSchema=getRecordDetailSchema,exports.getRecordPageInitSchema=getRecordPageInitSchema,exports.getRecordPermissions=getRecordPermissions,exports.getRelatedFieldValue=getRelatedFieldValue,exports.getRelatedsCount=getRelatedsCount,exports.getRootUrl=getRootUrl,exports.getSearchableFieldsFilterSchema=getSearchableFieldsFilterSchema,exports.getSelectUserSchema=getSelectUserSchema,exports.getSpaceUsersPickerAmisSchema=getSpaceUsersPickerAmisSchema,exports.getSpaceUsersPickerSchema=getSpaceUsersPickerSchema,exports.getSteedosAuth=getSteedosAuth,exports.getTableSchema=getTableSchema,exports.getTenantId=getTenantId,exports.getUISchema=getUISchema,exports.getViewSchema=getViewSchema,exports.isExpression=isExpression,exports.isObject=isObject,exports.lookupToAmis=lookupToAmis,exports.lookupToAmisPicker=lookupToAmisPicker,exports.lookupToAmisSelect=lookupToAmisSelect,exports.lookupToAmisSelectUser=lookupToAmisSelectUser,exports.markReadAll=markReadAll,exports.parseSingleExpression=parseSingleExpression,exports.registerRemoteAssets=registerRemoteAssets,exports.registerRenders=registerRenders,exports.setEnv=setEnv,exports.setEnvs=setEnvs,exports.setRootUrl=setRootUrl,exports.setSteedosAuth=setSteedosAuth,exports.setUISchemaFunction=setUISchemaFunction,exports.setVariable=setVariable,exports.standardButtonsTodo=standardButtonsTodo;
|
|
1109
|
+
`;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=>{_$1.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=___default.default.findKey(opMaps,e=>e===t[1]))&&___default.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=>!___default.default.isArray(e)&&___default.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 _$1.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:_$1.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=[],_$1.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 _$1.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 _$1.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=[]))}),_$1.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;_$1.isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=_$1.filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return _$1.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 s=r.shift();e=isPlainObject__default.default(e[s])?e[s]=__assign({},e[s]):(Array.isArray(e[s])?e[s]=e[s].concat():(e[s],e[s]={}),e[s])}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__default.default(e[i])){if(e[i])throw new Error("目标路径不是纯对象,不能修改");break}e=e[i]=__assign({},e[i])}e&&e.hasOwnProperty&&e.hasOwnProperty(t)&&delete e[t]}}var getDefaultRenderData=function(){var e=getSteedosAuth();return{context:{rootUrl:getRootUrl(),userId:e.userId,tenantId:e.spaceId,authToken:e.authToken,user:e},global:{userId:e.userId,spaceId:e.spaceId,user:e,now:new Date}}};exports.Field=index,exports.absoluteUrl=absoluteUrl,exports.amisRender=amisRender,exports.amisRootClick=amisRootClick,exports.cloneObject=cloneObject,exports.conditionsToFilters=conditionsToFilters,exports.createObject=createObject,exports.defaultsDeep=defaultsDeep,exports.deleteVariable=deleteVariable,exports.execute=execute,exports.executeButton=executeButton,exports.extendObject=extendObject,exports.fetchAPI=fetchAPI,exports.filtersToConditions=filtersToConditions,exports.getAmisObjectRelatedList=getAmisObjectRelatedList,exports.getApp=getApp,exports.getApps=getApps,exports.getAuthToken=getAuthToken,exports.getAuthorization=getAuthorization,exports.getButton=getButton,exports.getButtonVisible=getButtonVisible,exports.getButtonVisibleOn=getButtonVisibleOn$1,exports.getButtons=getButtons,exports.getCalendarSchema=getCalendarSchema,exports.getDefaultRenderData=getDefaultRenderData,exports.getEnv=getEnv,exports.getEnvs=getEnvs,exports.getEvn=getEvn,exports.getField=getField,exports.getFileSrc=getFileSrc,exports.getFlowFormSchema=getFlowFormSchema,exports.getFormPageInitSchema=getFormPageInitSchema,exports.getFormSchema=getFormSchema,exports.getImageSrc=getImageSrc,exports.getListPageInitSchema=getListPageInitSchema,exports.getListSchema=getListSchema,exports.getListViewButtons=getListViewButtons,exports.getListViewColumns=getListViewColumns,exports.getListViewFilter=getListViewFilter,exports.getListViewItemButtons=getListViewItemButtons,exports.getListViewSort=getListViewSort,exports.getListviewInitSchema=getListviewInitSchema,exports.getNotifications=getNotifications,exports.getObjectDetailButtons=getObjectDetailButtons,exports.getObjectDetailMoreButtons=getObjectDetailMoreButtons,exports.getObjectFieldsFilterBarSchema=getObjectFieldsFilterBarSchema,exports.getObjectFieldsFilterButtonSchema=getObjectFieldsFilterButtonSchema,exports.getObjectFieldsFilterFormSchema=getObjectFieldsFilterFormSchema,exports.getObjectListHeader=getObjectListHeader,exports.getObjectListHeaderFieldsFilterBar=getObjectListHeaderFieldsFilterBar,exports.getObjectListHeaderFirstLine=getObjectListHeaderFirstLine,exports.getObjectListHeaderSecordLine=getObjectListHeaderSecordLine,exports.getObjectRecordDetailHeader=getObjectRecordDetailHeader,exports.getObjectRecordDetailRelatedListHeader=getObjectRecordDetailRelatedListHeader,exports.getObjectRelated=getObjectRelated,exports.getObjectRelatedList=getObjectRelatedList,exports.getObjectRelatedListButtons=getObjectRelatedListButtons,exports.getObjectRelatedListHeader=getObjectRelatedListHeader,exports.getPage=getPage,exports.getRecord=getRecord,exports.getRecordDetailHeaderSchema=getRecordDetailHeaderSchema,exports.getRecordDetailRelatedListSchema=getRecordDetailRelatedListSchema,exports.getRecordDetailSchema=getRecordDetailSchema,exports.getRecordPageInitSchema=getRecordPageInitSchema,exports.getRecordPermissions=getRecordPermissions,exports.getRelatedFieldValue=getRelatedFieldValue,exports.getRelatedsCount=getRelatedsCount,exports.getRootUrl=getRootUrl,exports.getSearchableFieldsFilterSchema=getSearchableFieldsFilterSchema,exports.getSelectUserSchema=getSelectUserSchema,exports.getSpaceUsersPickerAmisSchema=getSpaceUsersPickerAmisSchema,exports.getSpaceUsersPickerSchema=getSpaceUsersPickerSchema,exports.getSteedosAuth=getSteedosAuth,exports.getTableSchema=getTableSchema,exports.getTenantId=getTenantId,exports.getUISchema=getUISchema,exports.getUserId=getUserId,exports.getViewSchema=getViewSchema,exports.isExpression=isExpression,exports.isObject=isObject,exports.lookupToAmis=lookupToAmis,exports.lookupToAmisPicker=lookupToAmisPicker,exports.lookupToAmisSelect=lookupToAmisSelect,exports.lookupToAmisSelectUser=lookupToAmisSelectUser,exports.markReadAll=markReadAll,exports.parseSingleExpression=parseSingleExpression,exports.registerRemoteAssets=registerRemoteAssets,exports.registerRenders=registerRenders,exports.setEnv=setEnv,exports.setEnvs=setEnvs,exports.setRootUrl=setRootUrl,exports.setSteedosAuth=setSteedosAuth,exports.setUISchemaFunction=setUISchemaFunction,exports.setVariable=setVariable,exports.standardButtonsTodo=standardButtonsTodo;
|
|
1003
1110
|
//# sourceMappingURL=index.cjs.js.map
|