@steedos-widgets/amis-lib 0.0.2 → 0.0.4

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.
Files changed (43) hide show
  1. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  2. package/dist/index.cjs.js +248 -54
  3. package/dist/index.cjs.js.map +1 -1
  4. package/dist/index.d.ts +9 -0
  5. package/dist/index.esm.js +248 -54
  6. package/dist/index.esm.js.map +1 -1
  7. package/dist/index.umd.js +508 -0
  8. package/dist/index.umd.min.js +508 -0
  9. package/dist/types/index.d.ts +9 -0
  10. package/dist/types/lib/assets.d.ts +1 -0
  11. package/dist/types/lib/buttons.d.ts +6 -4
  12. package/dist/types/lib/converter/amis/api.d.ts +1 -1
  13. package/dist/types/lib/converter/amis/fields/file.d.ts +57 -0
  14. package/dist/types/lib/converter/amis/fields/index.d.ts +6 -4
  15. package/dist/types/lib/converter/amis/fields/list.d.ts +22 -6
  16. package/dist/types/lib/converter/amis/fields/lookup.d.ts +11 -95
  17. package/dist/types/lib/converter/amis/fields/sections.d.ts +2 -1
  18. package/dist/types/lib/converter/amis/fields/table.d.ts +2 -2
  19. package/dist/types/lib/converter/amis/fields/type.d.ts +1 -0
  20. package/dist/types/lib/converter/amis/fields/user.d.ts +1 -0
  21. package/dist/types/lib/converter/amis/filters.d.ts +5 -0
  22. package/dist/types/lib/converter/amis/form.d.ts +2 -1
  23. package/dist/types/lib/converter/amis/graphql.d.ts +1 -0
  24. package/dist/types/lib/converter/amis/index.d.ts +94 -219
  25. package/dist/types/lib/converter/amis/tpl.d.ts +6 -3
  26. package/dist/types/lib/defaultsDeep.d.ts +1 -0
  27. package/dist/types/lib/objects.d.ts +193 -524
  28. package/dist/types/lib/page.d.ts +7 -1
  29. package/dist/types/lib/router.d.ts +4 -2
  30. package/dist/types/lib/space_users.d.ts +137 -0
  31. package/dist/types/lib/workflow/flow.d.ts +31 -0
  32. package/dist/types/schema/standard_delete.amis.d.ts +56 -0
  33. package/dist/types/schema/standard_edit.amis.d.ts +37 -0
  34. package/dist/types/schema/standard_import_data.amis.d.ts +251 -0
  35. package/dist/types/schema/standard_new.amis.d.ts +39 -0
  36. package/dist/types/standard/button.d.ts +400 -0
  37. package/dist/types/utils/keyToPath.d.ts +6 -0
  38. package/dist/types/utils/object.d.ts +14 -0
  39. package/dist/utils/keyToPath.d.ts +6 -0
  40. package/dist/utils/object.d.ts +14 -0
  41. package/package.json +3 -4
  42. package/dist/amis-lib.umd.js +0 -314
  43. package/dist/amis-lib.umd.min.js +0 -314
@@ -1,314 +0,0 @@
1
- !function(e,a){"object"==typeof exports&&"undefined"!=typeof module?a(exports,require("lodash")):"function"==typeof define&&define.amd?define(["exports","lodash"],a):a((e="undefined"!=typeof globalThis?globalThis:e||self)["amis-lib"]={},e._$1)}(this,function(e,s){window;function q(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}function L(t){var i;return t&&t.__esModule?t:(i=Object.create(null),t&&Object.keys(t).forEach(function(e){var a;"default"!==e&&(a=Object.getOwnPropertyDescriptor(t,e),Object.defineProperty(i,e,a.get?a:{enumerable:!0,get:function(){return t[e]}}))}),i.default=t,Object.freeze(i))}var y=L(s),c=q(s);const a={},i=()=>Builder.settings.context||Builder.settings;async function l(e,a={credentials:"include"}){const t={"Content-Type":"application/json"};var i=n();if(!i)throw new Error(401);t.Authorization=i,a.headers=Object.assign({},t,a.headers);const r=await fetch(""+p()+e,a);if(401===r.status)throw new Error(401);i=await r.json();if(i.errors)throw console.error(i.errors),new Error("Failed to fetch API");return i}function o(){try{const a=i().tenantId;var e;return(window.location.search&&!a&&(e=new URLSearchParams(window.location.search),a=e.get("X-Space-Id")),a)?a:null}catch(e){console.error(e)}}function d(){try{var e=i().authToken;return e?e:null}catch(e){console.error(e)}}function n(){try{var e=i(),a=e.tenantId,t=e.authToken;return a&&t?`Bearer ${a},`+t:null}catch(e){console.error(e)}}function u(e){return""+p()+e}function p(e){var a=i();return a.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}const t=()=>s.cloneDeep(a);async function m(e,a){0!=a&&(a=!0);let t=["_id"],i=[],r=[];for(const n of r=y.isArray(e)?e:y.values(e)){var l;n.name.indexOf(".")<0&&(a&&("lookup"==n.type||"master_detail"==n.type)&&n.reference_to?(l=(await j(n.reference_to)).NAME_FIELD_KEY||"name",t.push(`${n.name}:${n.name}__expand{_id,${l}${n.reference_to_field?","+n.reference_to_field:""}}`)):t.push(n.alias?n.alias+":"+n.name:n.name),"date"!==n.type&&"datetime"!=n.type&&"boolean"!=n.type||t.push(""+n.name),"date"!==n.type&&"datetime"!=n.type&&"boolean"!=n.type&&"select"!=n.type&&"file"!=n.type||i.push(""+n.name))}return i=y.uniq(i),t=y.uniq(t),0<i.length?`${t.join(",")},_display{${i.join(",")}}`:""+t.join(" ")}async function r(e,a,t,i){let r="",l=(a&&(r=`(filters:["${e.idFieldName}", "=", "${a}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await m(t)}}}`}}function B(e){return`
2
- const formData = api.data.$;
3
- for (key in formData){
4
- // image、select等字段清空值后保存的空字符串转换为null。
5
- if(formData[key] === ''){
6
- formData[key] = null;
7
- }
8
- }
9
- const objectName = api.data.objectName;
10
- const fieldsName = Object.keys(formData);
11
- delete formData.created;
12
- delete formData.created_by;
13
- delete formData.modified;
14
- delete formData.modified_by;
15
- delete formData._display;
16
- ${function(e){let a=[],t={};return e.forEach(e=>{"image"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
17
- let imgFieldsKeys = ${JSON.stringify(a)};
18
- let imgFields = ${JSON.stringify(t)};
19
- imgFieldsKeys.forEach((item)=>{
20
- let imgFieldValue = formData[item];
21
- if(imgFieldValue && imgFieldValue.length){
22
- // 因为表单初始化接口的接收适配器中为image字段值添加了url前缀(为了字段编辑时正常显示图片),所以保存时移除(为了字段值保存时正常保存id,而不是url)。
23
- if(imgFields[item].multiple){
24
- if(imgFieldValue instanceof Array){
25
- formData[item] = imgFieldValue.map((value)=>{
26
- let itemValue = value?.split('/');
27
- return itemValue[itemValue.length - 1];
28
- });
29
- }
30
- }else{
31
- let imgValue = imgFieldValue.split('/');
32
- formData[item] = imgValue[imgValue.length - 1];
33
- }
34
- }
35
- })
36
- `:""}(e)}
37
- ${function(e){let a=[],t={};return e.forEach(e=>{"file"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
38
- let fileFieldsKeys = ${JSON.stringify(a)};
39
- let fileFields = ${JSON.stringify(t)};
40
- fileFieldsKeys.forEach((item)=>{
41
- let fileFieldValue = formData[item];
42
- if(fileFieldValue){
43
- // 因为表单初始化接口的接收适配器中为file字段值重写了值及格式(为了字段编辑时正常显示附件名、点击附件名正常下载),所以保存时还原(为了字段值保存时正常保存id)。
44
- if(fileFields[item].multiple){
45
- if(fileFieldValue instanceof Array && fileFieldValue.length){
46
- formData[item] = fileFieldValue.map((value)=>{
47
- if(typeof value === 'object'){
48
- return value.value;
49
- }else{
50
- return value;
51
- }
52
- });
53
- }
54
- }else{
55
- formData[item] = typeof fileFieldValue === 'object' ? fileFieldValue.value : fileFieldValue;
56
- }
57
- }
58
- })
59
- `:""}(e)}
60
- let query = \`mutation{record: \${objectName}__insert(doc: {__saveData}){_id}}\`;
61
- if(formData.recordId && formData.recordId !='new'){
62
- query = \`mutation{record: \${objectName}__update(id: "\${formData._id}", doc: {__saveData}){_id}}\`;
63
- };
64
- delete formData._id;
65
- let __saveData = JSON.stringify(JSON.stringify(formData));
66
- `}async function f(e,a,t,i){var r=i.limit||10;let l=`(top: ${r})`,n=(a&&(l=`(filters:["_id", "=", "${a}"], top: ${r})`),"data");return i&&(i.alias&&(n=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`)),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await m(t,i.expand)}},count:${e.name}__count(filters:{__filters})}`}}function g(e){if(!e)return"${context.rootUrl}/graphql"}const b={getAppPath({formFactor:e,appId:a}){return`/${"SMALL"===e?"mapp":"app"}/`+a},getPagePath(){},getObjectListViewPath({formFactor:e,appId:a,objectName:t,listViewName:i}){return`/${"SMALL"===e?"mapp":"app"}/${a}/${t}/grid/`+i},getObjectDetailPath({formFactor:e,appId:a,objectName:t,recordId:i}){return`/${"SMALL"===e?"mapp":"app"}/${a}/${t}/view/`+i},getObjectRelatedViewPath({formFactor:e,appId:a,masterObjectName:t,masterRecordId:i,objectName:r,foreignKey:l}){return`/${"SMALL"===e?"mapp":"app"}/${a}/${t}/${i}/${r}/grid?related_field_name=`+l}};function h(e){return`<div>\${_display.${e.name}}</div>`}function $(e){return`<div>\${_display.${e.name}}</div>`}function v(e){return`<div>\${_display.${e.name}}</div>`}function w(e,a){var t;return e.reference_to?e.multiple?(t=b.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:e.reference_to,recordId:"<%=item._id%>"}),`
67
- <% if (data.${e.name} && data.${e.name}.length) { %><% data.${e.name}.forEach(function(item) { %> <a href="${t}"><%=item.name%></a> <% }); %><% } %>
68
- `):`<a href="${b.getObjectDetailPath({formFactor:a.formFactor,appId:a.appId,objectName:e.reference_to,recordId:`\${${e.name}._id}`})}">\${${e.name}.name}</a>`:v(e)}function P(e){return`<% if (data.${e.name}) { %>
69
- <span class="slds-icon_container slds-icon-utility-check slds-current-color" title="<%=data._display.${e.name}%>">
70
- <span class="slds-assistive-text"><%=data._display.${e.name}%></span>
71
- </span>
72
- <% } %>`}function U(e){return`<% if (data.${e.name}) { %>
73
- <span>······</span>
74
- <% } %>`}function F(e,a){if(e.is_name||e.name===a.labelFieldName)return t=e,"cms_files"===(i=a).objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${t.name}}</a>`:`<a href="${b.getObjectDetailPath({formFactor:i.formFactor,appId:i.appId,objectName:i.tabId,recordId:`\${${i.idFieldName}}`})}">\${${t.name}}</a>`;var t,i;switch(e.type){case"password":return U(e);case"boolean":return P(e);case"select":return v(e);case"date":return h(e);case"datetime":return $(e);case"lookup":case"master_detail":return w(e,a)}}var S={newRecordMode:"modal",editRecordMode:"modal",perPage:20};function Y(e,a){return{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:{perPage:(a=a||{}).top||S.perPage},columns:function(e,i){const r=[{name:"_index",type:"text",width:32,placeholder:""}];return y.each(e,function(a){if(!a.is_name&&a.name!==i.labelFieldName||"cms_files"!==i.objectName){var t=F(a,i);let e=t?"tpl":"text";a.hidden||a.extra||r.push({name:a.name,label:a.label,sortable:a.sortable,width:a.width,type:e,tpl:t,toggled:a.toggled})}else r.push({type:"button",label:`\${${a.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"})}),r}(e,a),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${a.labelFieldName}}`,autoFillHeight:!1}}async function J(e,a,t){const i=[];let{globalFilter:r,filter:l}=t;y.isArray(l)&&(l=y.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e})),y.each(a,function(e){e.searchable&&i.push(e.name)});t=e.key_field||"_id";const n=await async function(e,a,t,i){e=await f(e,a,t,i);return{method:"post",url:g(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}(e,null,a,{alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return n.data.$term="$term",n.data.$self="$$",n.data.filter="$filter",n.requestAdaptor=`
75
- const selfData = JSON.parse(JSON.stringify(api.data.$self));
76
- ${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
77
- if(_.isEmpty(filters)){
78
- filters = api.data.filter || [${JSON.stringify(l)}];
79
- }else{
80
- filters = [filters, 'and', api.data.filter || [${JSON.stringify(l)}]]
81
- }
82
- var pageSize = api.data.pageSize || 10;
83
- var pageNo = api.data.pageNo || 1;
84
- var skip = (pageNo - 1) * pageSize;
85
- var orderBy = api.data.orderBy || '';
86
- var orderDir = api.data.orderDir || '';
87
- var sort = orderBy + ' ' + orderDir;
88
- var allowSearchFields = ${JSON.stringify(i)};
89
- if(api.data.$term){
90
- filters = [["name", "contains", "'+ api.data.$term +'"]];
91
- }else if(selfData.op === 'loadOptions' && selfData.value){
92
- filters = [["${t.name}", "=", selfData.value]];
93
- }
94
-
95
- var searchableFilter = [];
96
- _.each(selfData, (value, key)=>{
97
- if(!_.isEmpty(value) || _.isBoolean(value)){
98
- if(_.startsWith(key, '__searchable__between__')){
99
- searchableFilter.push([\`\${key.replace("__searchable__between__", "")}\`, "between", value])
100
- }else if(_.startsWith(key, '__searchable__')){
101
- if(_.isString(value)){
102
- searchableFilter.push([\`\${key.replace("__searchable__", "")}\`, "contains", value])
103
- }else{
104
- searchableFilter.push([\`\${key.replace("__searchable__", "")}\`, "=", value])
105
- }
106
- }
107
- }
108
- });
109
-
110
- if(searchableFilter.length > 0){
111
- if(filters.length > 0 ){
112
- filters = [filters, 'and', searchableFilter];
113
- }else{
114
- searchableFilter = filters;
115
- }
116
- }
117
-
118
- if(allowSearchFields){
119
- allowSearchFields.forEach(function(key){
120
- const keyValue = selfData[key];
121
- if(keyValue){
122
- filters.push([key, "contains", keyValue]);
123
- }
124
- })
125
- }
126
-
127
- if(selfData.__keywords && allowSearchFields){
128
- const keywordsFilters = [];
129
- allowSearchFields.forEach(function(key, index){
130
- const keyValue = selfData.__keywords;
131
- if(keyValue){
132
- keywordsFilters.push([key, "contains", keyValue]);
133
- if(index < allowSearchFields.length - 1){
134
- keywordsFilters.push('or');
135
- }
136
- }
137
- })
138
- filters.push(keywordsFilters);
139
- }
140
- api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
141
- return api;
142
- `,n.adaptor=`
143
- _.each(payload.data.rows, function(item, index){
144
- item._index = index + 1;
145
- })
146
- window.postMessage(Object.assign({type: "listview.loaded"}), "*")
147
- return payload;
148
- `,n}function R(e,i){const r=[];return _.each(e,function(e){var a=F(e,i);let t=a?"tpl":"text";e.hidden||e.extra||r.push({name:e.name,label:e.label,sortable:e.sortable,width:e.width,type:t,tpl:a,toggled:e.toggled})}),{type:"hbox",columns:r}}function z(e){return{perPage:e.top||10}}const k=async t=>{let i=t.reference_to;if(i){"users"===i&&(i="space_users",t.reference_to_field="user");var r=await j(i);let e=null,a=t.reference_to_field;return a=a||r.idFieldName||"_id",e="_id"===a?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[a]||{name:a},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function C(i,r,l){var n=await k(i);if(n){var o,s=await j(n.objectName);const d=[];let e=0;const c=[],u=[],p=(y.each(s.fields,(e,a)=>{"_id"==a||e.hidden||(y.has(e,"name")||(e.name=a),u.push(e))}),y.each(y.sortBy(u,"sort_no"),function(a){e<5&&(y.find(d,function(e){return e.name===a.name})||(e++,d.push(a),a.searchable&&c.push(a.name)))}),{[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField}),m=(y.each(d,e=>{e.hidden||(p[e.name]=e)}),await K({name:n.objectName},null,p,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'}));m.data.$term="$term",m.data.$self="$$",m.requestAdaptor=`
149
- const selfData = JSON.parse(JSON.stringify(api.data.$self));
150
- var filters = [];
151
- var pageSize = api.data.pageSize || 10;
152
- var pageNo = api.data.pageNo || 1;
153
- var skip = (pageNo - 1) * pageSize;
154
- var orderBy = api.data.orderBy || '';
155
- var orderDir = api.data.orderDir || '';
156
- var sort = orderBy + ' ' + orderDir;
157
- var allowSearchFields = ${JSON.stringify(c)};
158
- if(api.data.$term){
159
- filters = [["name", "contains", "'+ api.data.$term +'"]];
160
- }else if(selfData.op === 'loadOptions' && selfData.value){
161
- filters = [["${n.valueField.name}", "=", selfData.value]];
162
- }
163
- if(allowSearchFields){
164
- allowSearchFields.forEach(function(key){
165
- const keyValue = selfData[key];
166
- if(keyValue){
167
- filters.push([key, "contains", keyValue]);
168
- }
169
- })
170
- }
171
- api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
172
- return api;
173
- `;let a=20,t=(s.paging&&!1===s.paging.enabled&&(a=1e3),null);t="SMALL"===l.formFactor?(s=d,{mode:"list",name:"thelist",draggable:!(o={top:a,...l,actions:!1}),headerToolbar:["reload"],defaultParams:z(o),syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:"${name}",listItem:{body:[...R(s,o).columns],actions:!1===o.actions?null:[{icon:"fa fa-eye",label:"查看",type:"button",actionType:"link",link:b.getObjectDetailPath({formFactor:o.formFactor,appId:o.appId,objectName:o.tabId,recordId:"${_id}"})}]}}):Y(d,{top:a,...l});const f={type:O("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:m,size:"lg",pickerSchema:t,joinValues:!1,extractValue:!0};return i.multiple&&(f.multiple=!0,f.extractValue=!0),r&&(f.tpl=w(i,l)),f}}async function H(e,a,t){var i=await k(e);let r,l=((r=i?await K({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:g(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),y.each(e.depend_on,function(e){r.data[e]="$"+e}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
174
- var filters = '[]';
175
- var top = 10;
176
- if(api.data.$term){
177
- filters = '["name", "contains", "'+ api.data.$term +'"]';
178
- }else if(api.data.$value){
179
- filters = '["_id", "=", "'+ api.data.$value +'"]';
180
- }
181
- api.data.query = api.data.query.replace(/{__filters}/g, filters).replace('{__top}', top);
182
- return api;
183
- `,i?i.labelField.name:""),n=i?i.valueField.name:"";e._optionsFunction&&(r.adaptor=`
184
- payload.data.options = eval(${e._optionsFunction})(api.data);
185
- return payload;
186
- `,l="label",n="value");const o={type:O("select",a),joinValues:!1,extractValue:!0,labelField:l,valueField:n,autoComplete:r};return!y.has(e,"defaultValue")||y.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(o.value=e.defaultValue),e.multiple&&(o.multiple=!0,o.extractValue=!0),a&&(o.tpl=w(e,t)),o}async function K(e,a,t,i){e=await f(e,a,t,i);return{method:"post",url:g(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function W(e,a,t){var i=await k(e);return(i&&1==(await j(i.objectName)).enable_enhanced_lookup?C:H)(e,a,t)}const x=["created","created_by","modified","modified_by"],Z=["text","date","file","image","datetime","time","number","currency","percent","password","url","email"];function O(e,a){return a?y.includes(["text"],e)?"static-"+e:"static":y.includes(Z,e)?"input-"+e:e}function G(a,e){const t=Object.assign({subFields:[]},a);e=y.filter(e,function(e){return e.name.startsWith(a.name+".")});return t.subFields=e,t}function X(a,e){const t=Object.assign({subFields:[]},a);e=y.filter(e,function(e){return e.name.startsWith(a.name+".")});return t.subFields=e,t}async function N(r,l,e){let a=null;if(!y.includes(x,r.name)||1==e.showSystemFields){var t,n={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(y.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=O("text",l);break;case"textarea":i.type=O("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:O("select",l),joinValues:!1,options:function(e){const a=e.data_type||"text",t=[];return y.each(e.options,e=>{switch(a){case"number":t.push({label:e.label,value:Number(e.value)});break;case"text":t.push({label:e.label,value:String(e.value)});break;case"boolean":t.push({label:e.label,value:"false"!==e.value})}}),t}(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?v(r):null},!y.has(r,"defaultValue")||y.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:O("checkbox",l),option:r.inlineHelpText,tpl:l?P(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?h(r):null};break;case"date":i={type:O("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?h(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?$(r):null,utc:!0};break;case"datetime":i={type:O("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?$(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?$(r):null};break;case"time":i={type:O("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?$(r):null};break;case"number":case"currency":i={type:O("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,n);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:O("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:O("password",l),tpl:l?U(r):null};break;case"lookup":case"master_detail":i=await W(r,l,e);break;case"autonumber":break;case"url":i={type:O("url",l)};break;case"email":i={type:O("email",l)};break;case"image":a=u("/api/files/images/"),i={type:O("image",l),receiver:{method:"post",url:"${context.rootUrl}/s3/images",adaptor:`
187
- var rootUrl = ${JSON.stringify(a)};
188
- payload = {
189
- status: response.status == 200 ? 0 : response.status,
190
- msg: response.statusText,
191
- data: {
192
- value: payload._id,
193
- filename: payload.original.name,
194
- url: rootUrl + payload._id,
195
- }
196
- }
197
- return payload;
198
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},r.multiple&&(i.multiple=!0,i.joinValues=!1,i.extractValue=!0);break;case"file":a=u("/api/files/files/"),i={type:O("file",l),receiver:{method:"post",url:"${context.rootUrl}/s3/files",adaptor:`
199
- var rootUrl = ${JSON.stringify(a)};
200
- payload = {
201
- status: response.status == 200 ? 0 : response.status,
202
- msg: response.statusText,
203
- data: {
204
- value: payload._id,
205
- name: payload.original.name,
206
- url: rootUrl + payload._id,
207
- }
208
- }
209
- return payload;
210
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}},r.multiple&&(i.multiple=!0,i.joinValues=!1,i.extractValue=!0);break;case"formula":case"summary":break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch"};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},y.each(r.subFields,function(e){var a=e.name.replace(r.name+".$.","").replace(r.name+".","");const t=N(Object.assign({},e,{name:a}),l);t&&(delete t.name,delete t.label,i.columns.push({name:a,label:e.label,quickEdit:!l&&t}))})}return y.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" slds-form-element_readonly"),i.labelClassName="text-left",l&&(i.quickEdit=!1),r.visible_on&&(i.visibleOn="$"+r.visible_on.substring(1,r.visible_on.length-1).replace(/formData./g,"")),Object.assign({},n,i))}}const Q=100;async function ee(e,a,t){return{method:"post",url:g()+"?rf="+(new Date).getTime(),cache:Q,adaptor:function(e){let t="";return e=y.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)}),y.each(e,function(e){var a;y.includes(x,e.name)||(e.name,e.options?(a=JSON.stringify({options:e.options}),t+=`var ${e.name}Options= (${a}).options;`):e.optionsFunction&&(t+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`),e.multiple?t+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:t=(t+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`)}),`
211
- if(payload.data.data){
212
- var data = payload.data.data[0];
213
- ${t}
214
- payload.data = data;
215
- window.postMessage(Object.assign({type: "record.loaded"}, {record: data}), "*")
216
- }
217
- return payload;
218
- `}(t),data:await r(e,a,t),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function ae(e,a,t){return{method:"post",url:g(),sendOn:"!!this.recordId",cache:Q,adaptor:`
219
- if(payload.data.data){
220
- var data = payload.data.data[0];
221
- if(data){
222
- ${function(e){e=y.filter(e,function(e){return e.name.indexOf(".")<0&&("lookup"==e.type||"master_detail"==e.type)&&e.reference_to});let t="";return y.each(e,function(e){var a;y.includes(x,e.name)||(a=e.reference_to_field||"_id",e.multiple?t+=`data.${e.name} = _.map(data.${e.name}, '${a}');`:t+=`data.${e.name} = data.${e.name} ? data.${e.name}.${a}:null;`)}),t}(t)}
223
- ${function(e){let a=[],t={};var i=u("/api/files/images/");return e.forEach(e=>{"image"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
224
- // image字段值添加URL前缀
225
- let imgFieldsKeys = ${JSON.stringify(a)};
226
- let imgFields = ${JSON.stringify(t)};
227
- let rootUrl = ${JSON.stringify(i)};
228
- imgFieldsKeys.forEach((item)=>{
229
- let imgFieldValue = data[item];
230
- if(imgFieldValue && imgFieldValue.length){
231
- if(imgFields[item].multiple){
232
- if(imgFieldValue instanceof Array){
233
- data[item] = imgFieldValue.map((value)=>{ return rootUrl + value});
234
- }
235
- }else{
236
- data[item] = rootUrl + imgFieldValue;
237
- }
238
- }
239
- })
240
- `:""}(t)}
241
- ${function(e){let a=[],t={};var i=u("/api/files/files/");return e.forEach(e=>{"file"===e.type&&(a.push(e.name),t[e.name]={name:e.name,multiple:e.multiple})}),a.length?`
242
- // file字段值重写以便编辑时正常显示附件名、点击附件名正常下载附件
243
- let fileFieldsKeys = ${JSON.stringify(a)};
244
- let fileFields = ${JSON.stringify(t)};
245
- let fileRootUrl = ${JSON.stringify(i)};
246
- fileFieldsKeys.forEach((item)=>{
247
- let fileFieldValue = data[item];
248
- if(fileFieldValue && fileFieldValue.length){
249
- const fileFieldNames = data._display[item].split(',');
250
- if(fileFields[item].multiple){
251
- if(fileFieldValue instanceof Array){
252
- data[item] = fileFieldValue.map((value, index)=>{
253
- return {
254
- value: value,
255
- name: fileFieldNames[index],
256
- url: fileRootUrl + value + "?download=true",
257
- state: "uploaded"
258
- }
259
- });
260
- }
261
- }else{
262
- data[item] = {
263
- value: fileFieldValue,
264
- name: fileFieldNames[0],
265
- url: fileRootUrl + fileFieldValue + "?download=true",
266
- state: "uploaded"
267
- };
268
- }
269
- }
270
- })
271
- `:""}(t)}
272
- //初始化接口返回的字段移除字段值为null的字段
273
- for (key in data){
274
- if(data[key] === null){
275
- delete data[key];
276
- }
277
- }
278
- };
279
- payload.data = data;
280
- delete payload.extensions;
281
- }
282
- return payload;
283
- `,data:await r(e,a,t),headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}function te(e,a,t){return{method:"post",url:g(),data:{objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"},requestAdaptor:`
284
- ${B(t)}
285
- api.data = {query: query.replace('{__saveData}', __saveData)};
286
- return api;
287
- `,responseData:{recordId:"${record._id}"},adaptor:`
288
- return payload;
289
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}const ie=e=>{let i=[];return i.length=0,y.forEach(e.fields,(e,a)=>{y.has(e,"name")||(e.name=a)}),y.forEach(y.sortBy(e.fields,"sort_no"),e=>{e.group&&"null"!=e.group&&"-"!=e.group||(e.group="通用");var a=e.name,t=/\w+\.\w+/.test(a);"grid"!=e.type&&"object"!=e.type||(e.is_wide=!0),t||e.hidden||i.push(Object.assign({name:a},e,{permission:{allowEdit:!0}}))}),i},re=async(a,e,t,i)=>{var r,e=y.filter(e,{group:t});if(e.length!=y.filter(e,["hidden",!0]).length){const l=[];for(const n of e){let e=n;"grid"===n.type?e=await X(n,a):"object"===n.type&&(e=await G(n,a)),e.name.indexOf(".")<0&&((r=await N(e,e.readonly,i))&&l.push(r))}return{type:"fieldSet",title:t,collapsable:!0,body:l}}},le=async(e,a,t)=>{var i=ie(a);const r=[];for(const n in y.groupBy(i,"group")){var l=await re(e,i,n,t);0<l.body.length&&r.push(l)}return r};async function ne(e,a,t){return le(e,a,t)}function oe(e){return[{type:"button",level:"danger",label:"批量删除",actionType:"ajax",confirmText:"确定要删除吗",id:"batchDelete",api:(e=e.name,{method:"post",url:g(),requestAdaptor:`
290
- var ids = api.data.ids.split(",");
291
- var deleteArray = [];
292
- ids.forEach((id,index)=>{
293
- deleteArray.push(\`delete__\${index}:${e}__delete(id: "\${id}")\`);
294
- })
295
- api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
296
- return api;
297
- `,data:{ids:"${ids}"},headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}})}]}async function se(e,a,t){var i=oe(e);const r={toolbar:[],footerToolbar:["statistics","pagination"],headerToolbar:"SMALL"===t.formFactor?["bulkActions",{type:"reload",align:"right"},{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}]:["filter-toggler","bulkActions",{type:"search-box",align:"right",name:"__keywords",placeholder:"请输入关键字",mini:!0}],bulkActions:i,bodyClassName:""};let l=null;i="listview_"+e.name;if("SMALL"===t.formFactor)delete r.bulkActions,delete r.headerToolbar,delete r.footerToolbar,l=Object.assign({},function(e,a){let t=null;var i=_.find(e,e=>e.name===a.labelFieldName);return i&&(t=F(i,a)),{mode:"cards",name:"cards",draggable:!1,headerToolbar:["statistics","pagination"],defaultParams:z(a),syncLocation:!1,keepItemSelectionOnPageChange:!1,checkOnItemClick:!1,labelTpl:`\${${a.labelFieldName}}`,card:{type:"card",header:{title:t},body:[...R(_.filter(e,e=>e.name!=a.labelFieldName),a).columns]}}}(a,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},t,{actions:!1})),{type:"crud",primaryField:"_id",id:i,name:i,keepItemSelectionOnPageChange:!1,api:await J(e,a,t)},r);else{const n=Y(a,Object.assign({idFieldName:e.idFieldName,labelFieldName:e.NAME_FIELD_KEY||"name"},t));delete n.mode,l=Object.assign({},n,{type:"crud",primaryField:"_id",id:i,name:i,keepItemSelectionOnPageChange:!0,api:await J(e,a,t)},r)}return{type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:p(),tenantId:o(),authToken:d()}},body:l}}const de=e=>{var a=t();return{mode:e,user:a,spaceId:a.spaceId,userId:a.userId}};const ce=(e,a,t)=>{e=e.replace(/\./g,"_");t=(e=>{const a=["_id"];return e.push("record_permissions"),s.each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),a.push(""+e)}),""+a.join(" ")})(t);let i="";const r=[`id: "${a}"`];return`{record:${e}__findOne${i=0<r.length?`(${r.join(",")})`:i}{${t}}}`},ue=async(e,a,t)=>{return(await l("/graphql",{method:"post",body:JSON.stringify({query:ce(e,a,t)})})).data.record};const I={},pe=(e,a)=>{I[e]=a},me=e=>c.default.cloneDeep(I[e]),fe=e=>c.default.has(I,e);async function j(a,e){if(a){if(!fe(a)||e){var i,e=`/service/api/@${a.replace(/\./g,"_")}/uiSchema`;let t=null;try{t=await l(e,{method:"get"}),pe(a,t);for(const r in t.fields)!t.fields||"lookup"!==(i=t.fields[r]).type&&"master_detail"!==i.type||!i.reference_to||await j(i.reference_to)||delete t.fields[r];s.each(t.list_views,(e,a)=>{e.name=a,s.has(e,"columns")||(e.columns=t.list_views.all.columns)})}catch(e){console.error("getUISchema",a,e),pe(a,null)}}return me(a)}}async function D(e,a){return(await j(e))?.fields[a]}async function V(e,a,t,i={}){const r=await j(a);var l=c.default.find(r.list_views,(e,a)=>a===t);if(!l)return{uiSchema:r};r.fields;const n=[];var o=((e,a)=>{let t=[];return t="SMALL"===a?s.isEmpty(e.mobile_columns)?s.slice(e.columns,0,4):e.mobile_columns:e.columns})(l,i.formFactor),o=(l&&o&&c.default.each(o,function(e){c.default.isString(e)&&r.fields[e]?n.push(r.fields[e]):c.default.isObject(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}))}),l&&l.extra_columns&&c.default.each(l.extra_columns,function(e){c.default.isString(e)?n.push({extra:!0,name:e}):c.default.isObject(e)&&n.push({extra:!0,name:e.field})}),o=n,await se(r,o,{tabId:a,appId:e,objectName:a,...i,filter:l.filters}));return{uiSchema:r,amisSchema:o}}const ye="__G_L_O_B_A_L__",ge=function(e){var a,t;return"string"==typeof e&&(a=/^{{(function.+)}}$/,t=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(a)||e.match(t)))},_e=function(a,e,t,i,r={}){var l,n;if(void 0===e&&(e={}),n="string"!=typeof(n=t)||1===(n=n.split(".")).length?"#":(n.pop(),n.join(".")),l=e,n=("#"!==(n=n)&&n?"string"==typeof n?y.get(l,n):void console.error("path has to be a string"):l||{})||{},"string"!=typeof a)return a;l=a.substring(2,a.length-2),r=`
298
- var $user=${JSON.stringify(r)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,ye)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+ye+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(r)()}catch(e){return console.log(e,a,t),a}},be=()=>({now:new Date}),A=(a,e)=>{if(a._visible&&(c.default.startsWith(c.default.trim(a._visible),"function")?(window.eval("var fun = "+a._visible),a.visible=fun):ge(a._visible)&&(a.visible=e=>{_e(a._visible,e.record,"#",be(),e.userSession)})),!c.default.isFunction(a.visible))return a.visible;try{return a.visible(e)}catch(e){}},T={standard_new:(e,a)=>{const{appId:t,listViewId:i,uiSchema:r,formFactor:l,data:n,router:o,options:s={}}=a;a=S.newRecordMode;SteedosUI?.Object.newRecord({onSubmitted:()=>{SteedosUI.getRef(i).getComponentByName("page.listview_"+r.name).handleAction({},{actionType:"reload"})},onCancel:()=>{SteedosUI.getRef(i).getComponentByName("page.listview_"+r.name).handleAction({},{actionType:"reload"})},appId:t,formFactor:l,name:SteedosUI.getRefId({type:a+"-form"}),title:"新建 "+r.label,objectName:r.name,data:n,recordId:"new",type:a,options:s,router:o})},standard_edit:(e,a)=>{var t=S.newRecordMode;const{appId:i,recordId:r,uiSchema:l,formFactor:n,router:o,options:s={}}=a;SteedosUI?.Object.editRecord({appId:i,name:SteedosUI.getRefId({type:t+"-form"}),title:"编辑 "+l.label,objectName:l.name,recordId:r,type:t,options:s,router:o,formFactor:n,onSubmitted:()=>{SteedosUI.getRef(SteedosUI.getRefId({type:"detail",appId:i,name:l.name})).getComponentById("detail_"+r).reload()}})},standard_delete:(e,a)=>{},standard_delete_many:(e,a)=>{var{listViewId:a,uiSchema:t}=a;const i=SteedosUI?.getRef(a).getComponentByName("page.listview_"+t.name);c.default.isEmpty(i.props.store.toJSON().selectedItems)?i.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):i.handleBulkAction(i.props.store.toJSON().selectedItems,[],{},i.props.bulkActions[0])}},E=(a,t)=>{const i=a.permissions.disabled_actions;let e=c.default.sortBy(c.default.values(a.actions),"sort");return c.default.has(a,"allow_customActions")&&(e=c.default.filter(e,e=>c.default.include(a.allow_customActions,e.name))),c.default.has(a,"exclude_actions")&&(e=c.default.filter(e,e=>!c.default.include(a.exclude_actions,e.name))),c.default.each(e,e=>{t.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")}),t.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(a.name)&&c.default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record")}),c.default.filter(e,e=>c.default.indexOf(i,e.name)<0)};const M={};e.absoluteUrl=u,e.execute=(e,a)=>{if(e.todo)return c.default.isString(e.todo)&&c.default.startsWith(c.default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),c.default.isFunction(e.todo)?e.todo.apply({},[a]):void 0},e.fetchAPI=l,e.getApp=async function(e){return await l(`/service/api/apps/${e}/menus`)},e.getApps=async function(){return await l("/service/api/apps/menus")},e.getAuthToken=d,e.getAuthorization=n,e.getButtons=E,e.getEnv=e=>M[e],e.getEnvs=()=>M,e.getField=D,e.getFileSrc=function(e){return p()+"/api/files/files/"+e},e.getFormSchema=async function(e,a){var t,i,r,e=await j(e);return t=e,i=(a=a).recordId,r=c.default.values(t.fields),{uiSchema:e,amisSchema:await{type:"page",bodyClassName:"p-0",regions:["body"],name:"page_edit_"+i,data:{global:de("edit"),recordId:i,objectName:t.name,context:{rootUrl:p(),tenantId:o(),authToken:d()}},initApi:null,initFetch:null,body:[{type:"form",mode:"SMALL"===a.formFactor?"normal":"horizontal",persistData:!1,promptPageLeave:!0,name:"form_edit_"+i,debug:!1,title:"",submitText:"",api:await te(0,0,r),initApi:await ae(t,i,r),initFetch:"new"!=i,body:await ne(r,t,a),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form"}]}}},e.getImageSrc=function(e){return p()+"/api/files/images/"+e},e.getListSchema=V,e.getListViewButtons=(a,t)=>{var e=E(a,t);const i=c.default.filter(e,e=>"list"==e.on&&A(e,t)),r=c.default.find(e,e=>"standard_new"==e.name);return"cms_files"!=a.name&&a.permissions.allowCreate&&r&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")&&i.push({label:r.label,name:r.name,on:r.on,type:r.type,todo:e=>T.standard_new.call({},e,{listViewId:t.listViewId,appId:t.app_id,uiSchema:a,formFactor:t.formFactor,router:t.router,data:t.data,options:"SMALL"===t.formFactor?{props:{width:"100%",style:{width:"100%"},bodyStyle:{padding:"0px",paddingTop:"0px"}}}:null})}),i},e.getNotifications=async()=>{var e=t(),e=`
299
- {
300
- notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
301
- _id,name,body,related_to,related_name,url,owner,is_read,from,created
302
- },
303
- unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
304
- }
305
- `;return(await l("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getObjectDetailButtons=(a,t)=>{var e=E(a,t);const i=c.default.filter(e,e=>("record"==e.on||"record_only"==e.on)&&A(e,t)),r=c.default.find(e,e=>"standard_edit"==e.name);return t.permissions?.allowEdit&&r&&0<r._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")&&i.push({label:r.label,name:r.name,on:r.on,type:r.type,todo:e=>T.standard_edit.call({},e,{recordId:t.recordId,appId:t.app_id,uiSchema:a,formFactor:t.formFactor,router:t.router,options:"SMALL"===t.formFactor?{props:{width:"100%",style:{width:"100%"},bodyStyle:{padding:"0px",paddingTop:"0px"}}}:null})}),c.default.sortBy(i,"sort")},e.getObjectDetailMoreButtons=(e,a)=>{e=E(e,a);const t=c.default.filter(e,e=>("record_more"==e.on||"record_only_more"==e.on)&&A(e,a)),i=c.default.find(e,e=>"standard_delete"==e.name);return a.permissions?.allowDelete&&i&&0<i._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")&&t.push({label:i.label,name:i.name,on:i.on,type:"amis_action",confirmText:"确定要删除此项目?",sort:i.sort,amis_actions:[{args:{api:{method:"post",url:g(),requestAdaptor:`
306
- var deleteArray = [];
307
- deleteArray.push(\`delete:${a.objectName}__delete(id: "${a.recordId}")\`);
308
- api.data = {query: \`mutation{\${deleteArray.join(',')}}\`};
309
- return api;
310
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}},messages:{success:"删除成功",failed:"删除失败"}},actionType:"ajax"}]}),c.default.sortBy(t,"sort")},e.getObjectRelated=async function(e,a,t,i,r,l){let n=null;var o=await D(t,i),o=(n=o._reference_to||o.reference_to&&!c.default.isString(o.reference_to)?[[i+"/o","=",a],[i+"/ids","=",r]]:[""+i,"=",r],await j(a,l));return{masterObjectName:a,object_name:t,foreign_key:i,schema:await V(e,t,"all",{globalFilter:n,formFactor:l}),record:await ue(a,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}},e.getObjectRelatedList=async function(a,t,i,r){var e=await j(t);const l=[],n=[].concat(e.details||[]);e.enable_files&&n.push("cms_files.parent");for(const d of n){var o=d.split(".");let e=null;var s=await D(o[0],o[1]);e=s._reference_to||s.reference_to&&!c.default.isString(s.reference_to)?[[o[1]+"/o","=",t],[o[1]+"/ids","=",i]]:[""+o[1],"=",i],l.push({masterObjectName:t,object_name:o[0],foreign_key:o[1],schema:await V(a,o[0],"all",{globalFilter:e,formFactor:r})})}return l},e.getPage=async function(e,a,t="",i,r="LARGE"){return await l(`/api/pageSchema/app?app=${a}&objectApiName=${t}&recordId=${i}&pageId=${e}&formFactor=`+r)},e.getRecord=ue,e.getRecordPermissions=async(e,a)=>{return await l(`/service/api/@${e}/recordPermissions/`+a,{method:"GET"})},e.getRelatedsCount=async(a,e)=>{const t=[];s.each(e,e=>{t.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${a}"]])`)});e=`
311
- {
312
- ${t.join(",")}
313
- }
314
- `;return(await l("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},e.getRootUrl=p,e.getSearchableFieldsFilterSchema=async function(e){const a=[];for(var t of e)if(!c.default.includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],t.type)){delete t.defaultValue,delete t.required,delete t.is_wide,delete t.readonly,delete t.hidden,delete t.omit;const i=await async function(a,e,t){let i=a,r=("grid"===i.type?i=await X(a,e):"object"===a.type&&(i=await G(a,e)),"__searchable__");if(i.name.indexOf(".")<0){let e=s.cloneDeep(i);s.includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0;a=await N(e,!1,Object.assign({},t,{fieldNamePrefix:r,required:!1,showSystemFields:!0}));if(a)return a}}(t,e,{});i&&(i.className="min-w-[200px] pr-4 max-w-[350px] grow",a.push(i))}return{title:"",type:"form",name:"listview-filter-form",mode:"normal",wrapWithPanel:!1,className:"flex flex-row w-full flex-wrap mb-3",body:a}},e.getSteedosAuth=t,e.getTenantId=o,e.getUISchema=j,e.getViewSchema=async function(e,a,t){var i,r,e=await j(e);return i=e,a=a,t=t,r=c.default.values(i.fields),{uiSchema:e,amisSchema:await{type:"service",name:"page_readonly_"+a,id:"detail_"+a,data:{global:de("read"),context:{rootUrl:p(),tenantId:o(),authToken:d()}},api:await ee(i,a,r),body:[{type:"form",mode:"SMALL"===t.formFactor?"normal":"horizontal",persistData:!1,promptPageLeave:!1,name:"form_readonly_"+a,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await ne(s.map(r,e=>{e.readonly=!0}),i,t),className:"steedos-amis-form",actions:[]}]}}},e.isExpression=ge,e.markReadAll=async()=>l("/api/v4/notifications/all/markReadAll",{method:"POST"}),e.parseSingleExpression=_e,e.setEnv=(e,a)=>{M[e]=a},e.setEnvs=e=>{s.map(e,(e,a)=>{M[a]=e})},e.setRootUrl=function(e){s.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e)},e.setSteedosAuth=e=>{Object.assign(a,e)},e.standardButtonsTodo=T,Object.defineProperty(e,"__esModule",{value:!0})});