@steedos-widgets/amis-lib 0.0.3 → 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.
- package/dist/cjs/tsconfig.tsbuildinfo +1 -1
- package/dist/index.cjs.js +248 -54
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +9 -0
- package/dist/index.esm.js +248 -54
- package/dist/index.esm.js.map +1 -1
- package/dist/index.umd.js +508 -0
- package/dist/index.umd.min.js +508 -0
- package/dist/types/index.d.ts +9 -0
- package/dist/types/lib/assets.d.ts +1 -0
- package/dist/types/lib/buttons.d.ts +6 -4
- package/dist/types/lib/converter/amis/api.d.ts +1 -1
- package/dist/types/lib/converter/amis/fields/file.d.ts +57 -0
- package/dist/types/lib/converter/amis/fields/index.d.ts +6 -4
- package/dist/types/lib/converter/amis/fields/list.d.ts +22 -6
- package/dist/types/lib/converter/amis/fields/lookup.d.ts +11 -95
- package/dist/types/lib/converter/amis/fields/sections.d.ts +2 -1
- package/dist/types/lib/converter/amis/fields/table.d.ts +2 -2
- package/dist/types/lib/converter/amis/fields/type.d.ts +1 -0
- package/dist/types/lib/converter/amis/fields/user.d.ts +1 -0
- package/dist/types/lib/converter/amis/filters.d.ts +5 -0
- package/dist/types/lib/converter/amis/form.d.ts +2 -1
- package/dist/types/lib/converter/amis/graphql.d.ts +1 -0
- package/dist/types/lib/converter/amis/index.d.ts +94 -219
- package/dist/types/lib/converter/amis/tpl.d.ts +6 -3
- package/dist/types/lib/defaultsDeep.d.ts +1 -0
- package/dist/types/lib/objects.d.ts +193 -524
- package/dist/types/lib/page.d.ts +7 -1
- package/dist/types/lib/router.d.ts +4 -2
- package/dist/types/lib/space_users.d.ts +137 -0
- package/dist/types/lib/workflow/flow.d.ts +31 -0
- package/dist/types/schema/standard_delete.amis.d.ts +56 -0
- package/dist/types/schema/standard_edit.amis.d.ts +37 -0
- package/dist/types/schema/standard_import_data.amis.d.ts +251 -0
- package/dist/types/schema/standard_new.amis.d.ts +39 -0
- package/dist/types/standard/button.d.ts +400 -0
- package/dist/types/utils/keyToPath.d.ts +6 -0
- package/dist/types/utils/object.d.ts +14 -0
- package/dist/utils/keyToPath.d.ts +6 -0
- package/dist/utils/object.d.ts +14 -0
- package/package.json +3 -4
- package/dist/amis-lib.umd.js +0 -314
- package/dist/amis-lib.umd.min.js +0 -314
package/dist/amis-lib.umd.min.js
DELETED
|
@@ -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})});
|