@steedos-widgets/amis-object 0.0.7 → 0.0.9

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.
@@ -1,6 +1,7 @@
1
1
  import React, { useState, useEffect } from 'react';
2
2
  import * as _$1 from 'lodash';
3
- import _$1__default, { isFunction, isString, isArray, each, has, find, isObject as isObject$1, findKey, keys, map, cloneDeep, isEmpty, slice, includes, toArray, mergeWith, compact, difference, pick } from 'lodash';
3
+ import _$1__default, { isEmpty, isArray, each, find, endsWith, cloneDeep, toArray, mergeWith, has, isString, isObject as isObject$1, findKey, keys, forEach, includes, map, filter, get, slice, isBoolean, startsWith, compact, defaultsDeep as defaultsDeep$1, difference, pick } from 'lodash';
4
+ import { Dropdown, Menu } from 'antd';
4
5
 
5
6
  /******************************************************************************
6
7
  Copyright (c) Microsoft Corporation.
@@ -111,24 +112,223 @@ var _Symbol = Symbol$3;
111
112
 
112
113
  var Symbol$2 = _Symbol;
113
114
 
115
+ /** Used for built-in method references. */
116
+ var objectProto$2 = Object.prototype;
117
+
118
+ /** Used to check objects for own properties. */
119
+ var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
120
+
121
+ /**
122
+ * Used to resolve the
123
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
124
+ * of values.
125
+ */
126
+ var nativeObjectToString$1 = objectProto$2.toString;
127
+
114
128
  /** Built-in value references. */
115
- Symbol$2 ? Symbol$2.toStringTag : undefined;
129
+ var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : undefined;
130
+
131
+ /**
132
+ * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
133
+ *
134
+ * @private
135
+ * @param {*} value The value to query.
136
+ * @returns {string} Returns the raw `toStringTag`.
137
+ */
138
+ function getRawTag$1(value) {
139
+ var isOwn = hasOwnProperty$1.call(value, symToStringTag$1),
140
+ tag = value[symToStringTag$1];
141
+
142
+ try {
143
+ value[symToStringTag$1] = undefined;
144
+ var unmasked = true;
145
+ } catch (e) {}
116
146
 
117
- var Symbol$1 = _Symbol;
147
+ var result = nativeObjectToString$1.call(value);
148
+ if (unmasked) {
149
+ if (isOwn) {
150
+ value[symToStringTag$1] = tag;
151
+ } else {
152
+ delete value[symToStringTag$1];
153
+ }
154
+ }
155
+ return result;
156
+ }
157
+
158
+ var _getRawTag = getRawTag$1;
159
+
160
+ /** Used for built-in method references. */
161
+
162
+ var objectProto$1 = Object.prototype;
163
+
164
+ /**
165
+ * Used to resolve the
166
+ * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
167
+ * of values.
168
+ */
169
+ var nativeObjectToString = objectProto$1.toString;
170
+
171
+ /**
172
+ * Converts `value` to a string using `Object.prototype.toString`.
173
+ *
174
+ * @private
175
+ * @param {*} value The value to convert.
176
+ * @returns {string} Returns the converted string.
177
+ */
178
+ function objectToString$1(value) {
179
+ return nativeObjectToString.call(value);
180
+ }
181
+
182
+ var _objectToString = objectToString$1;
183
+
184
+ var Symbol$1 = _Symbol,
185
+ getRawTag = _getRawTag,
186
+ objectToString = _objectToString;
187
+
188
+ /** `Object#toString` result references. */
189
+ var nullTag = '[object Null]',
190
+ undefinedTag = '[object Undefined]';
118
191
 
119
192
  /** Built-in value references. */
120
- Symbol$1 ? Symbol$1.toStringTag : undefined;
193
+ var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
194
+
195
+ /**
196
+ * The base implementation of `getTag` without fallbacks for buggy environments.
197
+ *
198
+ * @private
199
+ * @param {*} value The value to query.
200
+ * @returns {string} Returns the `toStringTag`.
201
+ */
202
+ function baseGetTag$1(value) {
203
+ if (value == null) {
204
+ return value === undefined ? undefinedTag : nullTag;
205
+ }
206
+ return (symToStringTag && symToStringTag in Object(value))
207
+ ? getRawTag(value)
208
+ : objectToString(value);
209
+ }
210
+
211
+ var _baseGetTag = baseGetTag$1;
212
+
213
+ /**
214
+ * Creates a unary function that invokes `func` with its argument transformed.
215
+ *
216
+ * @private
217
+ * @param {Function} func The function to wrap.
218
+ * @param {Function} transform The argument transform.
219
+ * @returns {Function} Returns the new function.
220
+ */
221
+
222
+ function overArg$1(func, transform) {
223
+ return function(arg) {
224
+ return func(transform(arg));
225
+ };
226
+ }
227
+
228
+ var _overArg = overArg$1;
229
+
230
+ var overArg = _overArg;
231
+
232
+ /** Built-in value references. */
233
+ var getPrototype$1 = overArg(Object.getPrototypeOf, Object);
234
+
235
+ var _getPrototype = getPrototype$1;
236
+
237
+ /**
238
+ * Checks if `value` is object-like. A value is object-like if it's not `null`
239
+ * and has a `typeof` result of "object".
240
+ *
241
+ * @static
242
+ * @memberOf _
243
+ * @since 4.0.0
244
+ * @category Lang
245
+ * @param {*} value The value to check.
246
+ * @returns {boolean} Returns `true` if `value` is object-like, else `false`.
247
+ * @example
248
+ *
249
+ * _.isObjectLike({});
250
+ * // => true
251
+ *
252
+ * _.isObjectLike([1, 2, 3]);
253
+ * // => true
254
+ *
255
+ * _.isObjectLike(_.noop);
256
+ * // => false
257
+ *
258
+ * _.isObjectLike(null);
259
+ * // => false
260
+ */
261
+
262
+ function isObjectLike$1(value) {
263
+ return value != null && typeof value == 'object';
264
+ }
265
+
266
+ var isObjectLike_1 = isObjectLike$1;
267
+
268
+ var baseGetTag = _baseGetTag,
269
+ getPrototype = _getPrototype,
270
+ isObjectLike = isObjectLike_1;
271
+
272
+ /** `Object#toString` result references. */
273
+ var objectTag = '[object Object]';
121
274
 
122
275
  /** Used for built-in method references. */
123
- var funcProto = Function.prototype;
276
+ var funcProto = Function.prototype,
277
+ objectProto = Object.prototype;
124
278
 
125
279
  /** Used to resolve the decompiled source of functions. */
126
280
  var funcToString = funcProto.toString;
127
281
 
282
+ /** Used to check objects for own properties. */
283
+ var hasOwnProperty = objectProto.hasOwnProperty;
284
+
128
285
  /** Used to infer the `Object` constructor. */
129
- funcToString.call(Object);
286
+ var objectCtorString = funcToString.call(Object);
130
287
 
131
- const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.settings;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 getTenantId(){try{let e=getBuilderContext().tenantId;var t;return (window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e);}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e);}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e);}}function absoluteUrl(e){return ""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}const getSteedosAuth=()=>cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1.isArray(e)?e:_$1.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),i.push(""+l.name)),includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),includes(["time","date","datetime","boolean","number","currency","select","file"],l.type)&&i.push(""+l.name));return i=_$1.uniq(i),a=_$1.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}async function getFindOneQuery$1(e,t,a,i){let r="",l=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await getFieldsTemplate(a)}}}`}}function getSaveQuery(e,t,a,i){return {objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`);}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
288
+ /**
289
+ * Checks if `value` is a plain object, that is, an object created by the
290
+ * `Object` constructor or one with a `[[Prototype]]` of `null`.
291
+ *
292
+ * @static
293
+ * @memberOf _
294
+ * @since 0.8.0
295
+ * @category Lang
296
+ * @param {*} value The value to check.
297
+ * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
298
+ * @example
299
+ *
300
+ * function Foo() {
301
+ * this.a = 1;
302
+ * }
303
+ *
304
+ * _.isPlainObject(new Foo);
305
+ * // => false
306
+ *
307
+ * _.isPlainObject([1, 2, 3]);
308
+ * // => false
309
+ *
310
+ * _.isPlainObject({ 'x': 0, 'y': 0 });
311
+ * // => true
312
+ *
313
+ * _.isPlainObject(Object.create(null));
314
+ * // => true
315
+ */
316
+ function isPlainObject(value) {
317
+ if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
318
+ return false;
319
+ }
320
+ var proto = getPrototype(value);
321
+ if (proto === null) {
322
+ return true;
323
+ }
324
+ var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
325
+ return typeof Ctor == 'function' && Ctor instanceof Ctor &&
326
+ funcToString.call(Ctor) == objectCtorString;
327
+ }
328
+
329
+ var isPlainObject_1 = isPlainObject;
330
+
331
+ const RegisterRenders=[],normalizeLink=(e,t=window.location)=>{(e=e||"")&&"#"===e[0]?e=t.pathname+t.search+e:e&&"?"===e[0]&&(e=t.pathname+e);var a=e.indexOf("?"),i=e.indexOf("#");let r=~a?e.substring(0,a):~i?e.substring(0,i):e;a=~a?e.substring(a,~i?i:void 0):"",e=~i?e.substring(i):t.hash;if(r){if("/"!=r[0]&&!/^https?\:\/\//.test(r)){var l,n=t.pathname.split("/");for(n.pop();l=/^\.\.?\//.exec(r);)"../"===l[0]&&n.pop(),r=r.substring(l[0].length);r=n.concat(r).join("/");}}else r=t.pathname;return r+a+e},amisRootClick=(e,t)=>{"a"===t.target.nodeName.toLocaleLowerCase()&&t.target.href&&(t.preventDefault(),e.push(t.target.href));},getEvn=a=>({theme:"antd",notify:(e,t)=>{t.props?.schema.tpl?SteedosUI.message[e](t.props?.schema.tpl):"string"==typeof t?SteedosUI.message[e](t):console.warn("notify",e,t);},confirm:a=>new Promise((e,t)=>SteedosUI.Modal.confirm({title:a,onOk:()=>{e(!0);},okText:"确认",cancelText:"取消"})),jumpTo:(e,t)=>{if("goBack"===e)return window.history.back();e=normalizeLink(e),t&&"url"===t.actionType?!1===t.blank?a.push(e):window.open(e):t&&e&&t.target?window.open(e,t.target):/^https?:\/\//.test(e)?window.location.replace(e):a.push(e);}}),registerRenders=e=>{if(!isEmpty(e)&&isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let n=amisRequire("react");each(e,t=>{if(!find(RegisterRenders,e=>e===t.componentName)){let l=Builder.components.find(e=>e.name===t.componentName),e=l.class;"amisSchema"===t.componentType&&(e=t=>{var{body:e,render:a}=t;const[i,r]=n.useState(null);return n.useEffect(()=>{var e=l.class(t);e&&e.then&&"function"==typeof e.then?e.then(e=>{r(e);}):r(e);},[]),n.createElement(n.Fragment,null,n.createElement(n.Fragment,null,i&&a?a("body",i):""),n.createElement(n.Fragment,null,a?a("body",e):""))}),a[t.usage]?(a[t.usage]({test:new RegExp("(^|/)"+t.type),type:t.type,weight:t.weight,autoVar:!0})(e),console.info("注册了一个自定义amis组件:",{type:t.type,weight:t.weight,component:e,framework:t.framework,usage:t.usage})):console.error(`${consoleTag}自定义组件注册失败,不存在${t.usage}自定义组件类型。`),RegisterRenders.push(t.componentName);}});}},amisRender=(e,t,a={},i={},r)=>{var l=amisRequire("amis/embed"),{router:r,assets:n}=r;return registerRenders(n),l.embed(e,t,a,Object.assign(getEvn(r),i))},STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.settings,setSteedosAuth=e=>{Object.assign(STEEDOS_AUTH,e);};async function fetchAPI(e,t={credentials:"include"}){var a={"Content-Type":"application/json"},i=getAuthorization(),i=(i&&(a.Authorization=i),t.headers=Object.assign({},a,t.headers),t.credentials="include",await fetch(""+getRootUrl()+e,t));if(401===i.status)throw new Error(401);a=await i.json();if(a.errors)throw console.error(a.errors),new Error("Failed to fetch API");return a}function getFileSrc(e){return getRootUrl()+"/api/files/files/"+e}function getImageSrc(e){return getRootUrl()+"/api/files/images/"+e}function getTenantId(){try{let e=getBuilderContext().tenantId;var t;return (window.location.search&&!e&&(t=new URLSearchParams(window.location.search),e=t.get("X-Space-Id")),e)?e:null}catch(e){console.error(e);}}function getAuthToken(){try{var e=getBuilderContext().authToken;return e?e:null}catch(e){console.error(e);}}function getAuthorization(){try{var e=getBuilderContext(),t=e.tenantId,a=e.authToken;return t&&a?`Bearer ${t},`+a:null}catch(e){console.error(e);}}function absoluteUrl(e){return ""+getRootUrl()+e}function getRootUrl(e){var t=getBuilderContext();return t.rootUrl||("undefined"!=typeof window?window.localStorage.getItem("steedos:rootUrl"):"")||e}function setRootUrl(e){endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e);}const getSteedosAuth=()=>cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1.isArray(e)?e:_$1.values(e))l.name.indexOf(".")<0&&(!t||"lookup"!=l.type&&"master_detail"!=l.type?a.push(l.alias?l.alias+":"+l.name:l.name):(a.push(""+l.name),i.push(""+l.name)),includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),includes(["time","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1.uniq(i),a=_$1.uniq(a),0<i.length?`${a.join(",")},_display:_ui{${i.join(",")}}`:""+a.join(" ")}async function getFindOneQuery$1(e,t,a,i){let r="",l=(t&&(r=`(filters:["${e.idFieldName}", "=", "${t}"])`),"data");return i&&(i.alias&&(l=i.alias),i.filters&&(r=`(filters:${i.filters})`),i.queryOptions&&(r=`(${i.queryOptions})`)),{query:`{${l}:${e.name}${r}{${await getFieldsTemplate(a)}}}`}}function getSaveQuery(e,t,a,i){return {objectName:"${objectName}",$:"$$",recordId:"${recordId}",modalName:"${modalName}"}}function getScriptForReadonlyFields(e){var t=[];return e.forEach(e=>{e.readonly&&t.push(`delete formData.${e.name};`);}),t.join("\r\n")}function getScriptForRemoveUrlPrefixForImgFields(e){let t=[],a={};return e.forEach(e=>{includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
132
332
  let imgFieldsKeys = ${JSON.stringify(t)};
133
333
  let imgFields = ${JSON.stringify(a)};
134
334
  imgFieldsKeys.forEach((item)=>{
@@ -198,7 +398,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
198
398
  ${getSaveDataTpl(e)}
199
399
  api.data = {query: query.replace('{__saveData}', __saveData)};
200
400
  return api;
201
- `}async function getFindQuery(e,t,a,i){var r=i.limit||10;let l=`(top: ${r})`,n=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(n=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`));t="";return e.enable_tree&&_$1.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.keys(e.fields),"children")&&(t=",parent,children"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}},count:${e.name}__count(filters:{__filters})}`}}function getApi$2(e){if(!e)return "${context.rootUrl}/graphql"}const Router={getAppPath({formFactor:e,appId:t}){return `/${"SMALL"===e?"mapp":"app"}/`+t},getPagePath(){},getObjectListViewPath({formFactor:e,appId:t,objectName:a,listViewName:i}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/grid/`+i},getObjectDetailPath({formFactor:e,appId:t,objectName:a,recordId:i,listViewName:r}){return "instances"===a?`/workflow/space/\${context.tenantId}/${r}/`+i:`/${"SMALL"===e?"mapp":"app"}/${t}/${a}/view/`+i},getObjectRelatedViewPath({formFactor:e,appId:t,masterObjectName:a,masterRecordId:i,objectName:r,foreignKey:l}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/${i}/${r}/grid?related_field_name=`+l}};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>`}async function getRefObjectNameFieldName(e){return (await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return `<div>\${_display.${e.name}}</div>`}function getNameTpl(e,t){return "cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:t.appId,objectName:t.tabId,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
401
+ `}async function getFindQuery(e,t,a,i){var r=i.limit||10;let l=`(top: ${r})`,n=(t&&(l=`(filters:["_id", "=", "${t}"], top: ${r})`),"data");i&&(i.alias&&(n=i.alias),i.filters&&(l=`(filters:${i.filters})`),i.queryOptions&&(l=`(${i.queryOptions})`));t="",e.enable_tree&&_$1.includes(_$1.keys(e.fields),"parent")&&_$1.includes(_$1.keys(e.fields),"children")&&(t=",parent,children"),r="";return "cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${n}:${e.name}${l}{${await getFieldsTemplate(a,i.expand)}${t}${r}},count:${e.name}__count(filters:{__filters})}`}}function getApi$2(e){if(!e)return "${context.rootUrl}/graphql"}const Router={getAppPath({formFactor:e,appId:t}){return `/${"SMALL"===e?"mapp":"app"}/`+t},getPagePath(){},getObjectListViewPath({formFactor:e,appId:t,objectName:a,listViewName:i}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/grid/`+i},getObjectDetailPath({formFactor:e,appId:t,objectName:a,recordId:i,listViewName:r}){return "instances"===a?`/workflow/space/\${context.tenantId}/${r}/`+i:`/${"SMALL"===e?"mapp":"app"}/${t}/${a}/view/`+i},getObjectRelatedViewPath({formFactor:e,appId:t,masterObjectName:a,masterRecordId:i,objectName:r,foreignKey:l}){return `/${"SMALL"===e?"mapp":"app"}/${t}/${a}/${i}/${r}/grid?related_field_name=`+l}};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>`}async function getRefObjectNameFieldName(e){return (await getUISchema(e.reference_to)).NAME_FIELD_KEY||"name"}function getSelectTpl(e){return `<div>\${_display.${e.name}}</div>`}function getNameTpl(e,t){return "cms_files"===t.objectName?`<a href="\${context.rootUrl}/api/files/files/\${versions[0]}?download=true">\${${e.name}}</a>`:`<a href="${Router.getObjectDetailPath({...t,formFactor:t.formFactor,appId:t.appId,objectName:t.objectName,recordId:`\${${t.idFieldName}}`})}">\${${e.name}}</a>`}function getRelatedFieldTpl(e,t){var i;return _.isString(e.reference_to)||!e.reference_to?e.multiple?(i=Router.getObjectDetailPath({formFactor:t.formFactor,appId:t.appId,objectName:"<%=item.objectName%>",recordId:"<%=item.value%>"}),`
202
402
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
203
403
  `):`<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%>"}),`
204
404
  <% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
@@ -210,7 +410,28 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
210
410
  </span>
211
411
  <% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
212
412
  <span>······</span>
213
- <% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e)}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};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});else {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});}else a.push({type:"button",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams$1(e){return {perPage:e.top||config.listView.perPage}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return {mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:n,top:o}=a;l=(l=_$1.isArray(l)?_$1.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1.each(t,function(e){e.searchable&&i.push(e.name);});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.requestAdaptor=`
413
+ <% } %>`}async function getFieldTpl(e,t){if(e.is_name||e.name===t.labelFieldName)return getNameTpl(e,t);switch(e.type){case"password":return getPasswordTpl(e);case"boolean":return getSwitchTpl(e);case"select":return getSelectTpl(e);case"time":return getTimeTpl(e);case"date":return getDateTpl(e);case"datetime":return getDateTimeTpl(e);case"lookup":case"master_detail":return getRelatedFieldTpl(e,t);case"number":case"currency":return getNumberTpl(e)}}var config={listView:{newRecordMode:"modal",editRecordMode:"modal",perPage:20}};const AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t,a){return t?_.includes(["text","image"],e)?"image"===e&&a&&a.multiple?"static-images":"static-"+e:"static":_.includes(AmisFormInputs,e)?"input-"+e:e}const getFileTableName=e=>{switch(e.type){case"avatar":return "avatars";case"image":return "images";case"file":return "files"}},getAmisFieldType=(e,t)=>getAmisStaticFieldType("avatar"===e.type?"image":e.type,t,{multiple:e.multiple}),getAmisFileReadonlySchema=e=>{var t=e.type,a=getAmisFieldType(e,!0);return _.includes(["avatar","image"],t)?{type:a,defaultImage:"",enlargeAble:!0,showToolbar:!0}:"file"===t?{type:a,tpl:`
414
+ <% let fileData = data.${e.name}; if (fileData) { %>
415
+ <% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
416
+ <% fileData.forEach(function(item) { %>
417
+ <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
418
+ <% });} %>`}:void 0},getAmisFileEditSchema=e=>{var t=getFileTableName(e),t={type:getAmisFieldType(e,!1),useChunk:!1,receiver:{method:"post",url:"${context.rootUrl}/s3/"+t,data:{$:"$$",context:"${context}"},adaptor:`
419
+ const { context } = api.body;
420
+ var rootUrl = context.rootUrl + "/api/files/${t}/";
421
+ payload = {
422
+ status: response.status == 200 ? 0 : response.status,
423
+ msg: response.statusText,
424
+ data: {
425
+ value: payload._id,
426
+ name: payload.original.name,
427
+ url: rootUrl + payload._id,
428
+ }
429
+ }
430
+ return payload;
431
+ `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return e.multiple&&(t.multiple=!0,t.joinValues=!1,t.extractValue=!0),t},getAmisFileSchema=(e,t)=>(t?getAmisFileReadonlySchema:getAmisFileEditSchema)(e);async function getTableColumns(e,t){var a=[{name:"_index",type:"text",width:32,placeholder:""}];for(const r of e)if(!r.is_name&&r.name!==t.labelFieldName||"cms_files"!==t.objectName)if("toggle"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap"});else if("avatar"===r.type||"image"===r.type||"file"===r.type)a.push({type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:!0,className:"whitespace-nowrap",...getAmisFileReadonlySchema(r)});else {var i=await getFieldTpl(r,t);let e="text";i?e="tpl":"html"===r.type&&(e="markdown"),r.hidden||r.extra||a.push({name:r.name,label:r.label,sortable:r.sortable,width:r.width,type:e,tpl:i,toggled:r.toggled,className:"textarea"===r.type?"w-56 whitespace-pre-wrap textarea":"whitespace-nowrap",html:"html"===r.type||null});}else a.push({type:"button",className:"whitespace-nowrap",label:`\${${r.name}}`,type:"button",actionType:"ajax",api:{url:"${context.rootUrl}/api/files/files/${versions[0]}?download=true",method:"get",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"},responseType:"blob",dataType:"form-data"},id:"u:6c8291d1029f",level:"link"});return a}function getDefaultParams$1(e){return {perPage:e.top||config.listView.perPage}}function getButtonVisibleOn$1(e){let t=e.visible;if(e._visible&&(t=e._visible),t=isBoolean(t)?t.toString():t)return 0<t.indexOf("Meteor.")||0<t.indexOf("Creator.")||0<t.indexOf("Session.")?(console.warn("无效的visible",t),"false"):t.trim().startsWith("function")?t+"(objectName, _id, recordPermissions, data)":t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}async function getTableOperation(e){e=e.buttons;const t=[];if(each(e,e=>{isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$1(e),className:"border-none antd-Button--link text-left w-full"});}),!(t.length<1))return {type:"operation",label:"操作",fixed:"right",labelClassName:"text-center",className:"text-center w-16 steedos-listview-operation",buttons:[{type:"steedos-dropdown-button",label:"",buttons:t,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:`
432
+ payload.recordPermissions = payload;
433
+ return payload;
434
+ `}}]}}async function getTableSchema$1(e,t){e=await getTableColumns(e,t=t||{});return e.push(await getTableOperation(t)),{mode:"table",name:"thelist",draggable:!1,headerToolbar:["reload"],defaultParams:getDefaultParams$1(t),columns:e,syncLocation:!1,keepItemSelectionOnPageChange:!0,checkOnItemClick:!1,labelTpl:`\${${t.labelFieldName}}`,autoFillHeight:!1}}async function getTableApi(e,t,a){const i=[];let{globalFilter:r,filter:l,sort:n,top:o}=a;l=(l=_$1.isArray(l)?_$1.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1.includes(["image","avatar","file"],e.type)&&(d.push(e.name),s[e.name]={name:e.name,type:e.type,multiple:e.multiple});});a=e.key_field||"_id",t=await getApi$1(e,null,t,{alias:"rows",limit:o,queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});return t.data.$term="$term",t.data.$self="$$",t.data.filter="$filter",t.requestAdaptor=`
214
435
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
215
436
  ${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
216
437
  if(_.isEmpty(filters)){
@@ -287,7 +508,23 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
287
508
  item._index = index + 1;
288
509
  })
289
510
  }
290
- window.postMessage(Object.assign({type: "listview.loaded"}), "*")
511
+ window.postMessage(Object.assign({type: "listview.loaded"}), "*");
512
+ let fileFields = ${JSON.stringify(s)};
513
+ _.each(payload.data.rows, function(item, index){
514
+ _.each(fileFields , (field, key)=>{
515
+ if(item[key] && item._display && item._display [key]){
516
+ let value = item._display[key];
517
+ if(!_.isArray(value)){
518
+ value = [value]
519
+ };
520
+ if(field.type === 'file'){
521
+ item[key] = value
522
+ }else{
523
+ item[key] = _.map(value, 'url')
524
+ }
525
+ }
526
+ })
527
+ })
291
528
 
292
529
  if(enable_tree){
293
530
  const records = payload.data.rows;
@@ -401,7 +638,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
401
638
  }
402
639
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
403
640
  return api;
404
- `;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,l){var n=await getReferenceTo(i);if(n){var o=await getUISchema(n.objectName);const d=[];let e=0;const c=[],u=[],p=(_$1.each(o.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),u.push(e));}),_$1.each(_$1.sortBy(u,"sort_no"),function(t){e<5&&(_$1.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));}),{[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField});_$1.each(d,e=>{e.hidden||(p[e.name]=e);});var s=await getApi(o,null,p,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});s.data.$term="$term",s.data.$self="$$",s.requestAdaptor=`
641
+ `;return {method:"post",url:getApi$2()+"?term=${term}",requestAdaptor:e,data:t,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function getSelectUserSchema(e,t,a){if(!e)return {};a=a||{};var i={type:getAmisStaticFieldType("select",t)};return t?i.tpl=await getLookupTpl(e,a):(Object.assign(i,{labelField:"name",valueField:"user",multiple:e.multiple,searchable:e.searchable,selectMode:"associated",leftMode:"tree",joinValues:!1,extractValue:!0,clearable:!0,source:await getSource(e),deferApi:await getDeferApi(e),searchApi:await getSearchApi(e)}),!_.has(e,"defaultValue")||_.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),"boolean"!=typeof i.searchable&&(i.searchable=!0),(t=e.onEvent)&&(i.onEvent=t)),i}const getReferenceTo=async a=>{let i=a.reference_to;if(i){"users"===i&&(i="space_users",a.reference_to_field="user");var r=await getUISchema(i);let e=null,t=a.reference_to_field;return t=t||r.idFieldName||"_id",e="_id"===t?{name:"_id",label:"ID",type:"text",toggled:!1}:r.fields[t]||{name:t},{objectName:i,valueField:e,labelField:r.fields[r.NAME_FIELD_KEY||"name"]}}};async function lookupToAmisPicker(i,r,l){var n=await getReferenceTo(i);if(n){const s=await getUISchema(n.objectName),d=[];let e=0;const c=[],u=[];var o=_$1.find(s.list_views,(e,t)=>"all"===t);o&&o.columns?_$1.each(o.columns,function(e){_$1.isString(e)&&s.fields[e]?u.push(s.fields[e]):_$1.isObject(e)&&s.fields[e.field]&&u.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1.has(e,"name")||(e.name=t),u.push(e));}),_$1.each(_$1.sortBy(u,"sort_no"),function(t){e<5&&(_$1.find(d,function(e){return e.name===t.name})||(e++,d.push(t),t.searchable&&c.push(t.name)));});const p={[n.labelField.name]:n.labelField,[n.valueField.name]:n.valueField};_$1.each(d,e=>{e.hidden||(p[e.name]=e);});o=await getApi(s,null,p,{expand:!0,alias:"rows",queryOptions:'filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"'});o.data.$term="$term",o.data.$self="$$",o.requestAdaptor=`
405
642
  const selfData = JSON.parse(JSON.stringify(api.data.$self));
406
643
  var filters = [];
407
644
  var pageSize = api.data.pageSize || 10;
@@ -440,8 +677,8 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
440
677
 
441
678
  api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
442
679
  return api;
443
- `,s.adaptor=`
444
- const enable_tree = ${o.enable_tree};
680
+ `,o.adaptor=`
681
+ const enable_tree = ${s.enable_tree};
445
682
  if(enable_tree){
446
683
  const records = payload.data.rows;
447
684
  const treeRecords = [];
@@ -468,7 +705,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
468
705
  payload.data.rows = treeRecords;
469
706
  }
470
707
  return payload;
471
- `;let t=20,a=(o.paging&&!1===o.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{top:t,...l});o={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:s,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(o.multiple=!0,o.extractValue=!0),r&&(o.tpl=await getLookupTpl(i,l)),o}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e);let r;(r=i?await getApi({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),_$1.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
708
+ `;let t=20,a=(s.paging&&!1===s.paging.enabled&&(t=1e3),null);a="SMALL"===l.formFactor?await getListSchema$1(d,{top:t,...l,actions:!1}):await getTableSchema$1(d,{labelFieldName:s.NAME_FIELD_KEY,top:t,...l});n={type:getAmisStaticFieldType("picker",r),labelField:n.labelField.name,valueField:n.valueField.name,modalMode:"dialog",source:o,size:"lg",pickerSchema:a,joinValues:!1,extractValue:!0};return i.multiple&&(n.multiple=!0,n.extractValue=!0),r&&(n.tpl=await getLookupTpl(i,l)),n}}async function lookupToAmisSelect(e,t,a){var i=await getReferenceTo(e);let r;(r=i?await getApi({name:i.objectName},null,{[i.labelField.name]:Object.assign({},i.labelField,{alias:"label"}),[i.valueField.name]:Object.assign({},i.valueField,{alias:"value"})},{expand:!1,alias:"options",queryOptions:"filters: {__filters}, top: {__top}"}):{method:"post",url:getApi$2(),data:{query:'{objects(filters: ["_id", "=", "-1"]){_id}}',$:"$$"}}).data.$term="$term",r.data.$value=`$${e.name}.`+(i?i.valueField.name:"_id"),_$1.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
472
709
  var filters = '[]';
473
710
  var top = 10;
474
711
  if(api.data.$term){
@@ -481,24 +718,7 @@ const STEEDOS_AUTH={},getBuilderContext=()=>Builder.settings.context||Builder.se
481
718
  `,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
482
719
  payload.data.options = eval(${e._optionsFunction})(api.data);
483
720
  return payload;
484
- `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"],AmisFormInputs=["text","date","file","avatar","image","datetime","time","number","currency","percent","password","url","email"];function getAmisStaticFieldType(e,t){return t?_$1.includes(["text","image"],e)?"static-"+e:"static":_$1.includes(AmisFormInputs,e)?"input-"+e:e}function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}function convertSFieldToAmisFilesField(e,t){var a=e.type;let i,r=a,l=("avatar"===a?(i="avatars",r="image"):"image"===a?i="images":"file"===a&&(i="files"),getAmisStaticFieldType(r,t));_$1.includes(["avatar","image"],a)&&e.multiple&&t&&(l="static-images");var n=absoluteUrl(`/api/files/${i}/`);let o={type:l,receiver:{method:"post",url:"${context.rootUrl}/s3/"+i,adaptor:`
485
- var rootUrl = ${JSON.stringify(n)};
486
- payload = {
487
- status: response.status == 200 ? 0 : response.status,
488
- msg: response.statusText,
489
- data: {
490
- value: payload._id,
491
- name: payload.original.name,
492
- url: rootUrl + payload._id,
493
- }
494
- }
495
- return payload;
496
- `,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return "file"===a&&t&&(o={type:l,tpl:`
497
- <% let fileData = data.${e.name}; if (fileData) { %>
498
- <% if(${!e.multiple}){ fileData = [fileData]} %>
499
- <% fileData.forEach(function(item) { %>
500
- <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
501
- <% });} %>`}),e.multiple&&(o.multiple=!0,o.joinValues=!1,o.extractValue=!0),_$1.includes(["avatar","image"],a)&&(o.enlargeAble=!0,o.showToolbar=!0),o}async function convertSFieldToAmisField(r,l,e){if(!_$1.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1.has(r,"defaultValue")||_$1.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"number":case"currency":i={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":break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=convertSFieldToAmisFilesField(r,l);break;case"formula":case"summary":break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i=l?{type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null}:{type:"switch"};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" 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({},a,i,{clearValueOnHidden:!0}))}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=_$1.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return _$1.each(t,function(e){var t;_$1.includes(OMIT_FIELDS,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction&&(a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`);}),`
721
+ `);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1.has(e,"defaultValue")||_$1.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},onEvent:{change:{weight:0,actions:[{actionType:"custom",script:"console.log('======', event)"}]}}}}async function lookupToAmisSelectUser(e,t,a){return getSelectUserSchema(e,t,a)}const OMIT_FIELDS=["created","created_by","modified","modified_by"];function getObjectFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getSelectFieldOptions(e){const t=e.data_type||"text",a=[];return _$1.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,l,e){if(!_$1.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1.has(r,"defaultValue")||_$1.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1.isEmpty(i)?void 0:(r.is_wide?i.className="col-span-2 m-1":i.className="m-1",l&&(i.className=i.className+" 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({},a,i,{clearValueOnHidden:!0}))}}async function getFieldSearchable(e,t,a){let i=e,r=("grid"===i.type?i=await getGridFieldSubFields(e,t):"object"===e.type&&(i=await getObjectFieldSubFields(e,t)),"__searchable__");if(i.name.indexOf(".")<0){e=cloneDeep(i),t=(includes(["textarea","html","code","autonumber"],i.type)&&(e.type="text"),"number"!==i.type&&"currency"!==i.type||(e.type="input-array",e.inline=!0,e.addable=!1,e.removable=!1,e.value=[null,null],e.items={type:"input-number"},e.is_wide=!0,r+="between__"),"date"===i.type&&(e.type="input-date-range",e.is_wide=!0,r+="between__"),"datetime"===i.type&&(e.type="input-datetime-range",e.is_wide=!0,r+="between__"),"time"===i.type&&(e.type="input-time-range",e.is_wide=!0,r+="between__"),"users"===i.reference_to&&(e.reference_to="space_users",e.reference_to_field="user"),e.readonly=!1,e.disabled=!1,e.multiple=!0,e.is_wide=!1,e.defaultValue=void 0,await convertSFieldToAmisField(e,!1,Object.assign({},a,{fieldNamePrefix:r,required:!1,showSystemFields:!0})));if(t)return t}}const API_CACHE=100;function getReadonlyFormAdaptor(e){let a="";var t=_$1.filter(e,function(e){return e.name.indexOf(".")<0&&("select"==e.type&&e.options||("lookup"==e.type||"master_detail"==e.type)&&!e.reference_to)});return _$1.each(t,function(e){var t;_$1.includes(OMIT_FIELDS,e.name)||(e.name,e.options?(t=JSON.stringify({options:e.options}),a+=`var ${e.name}Options= (${t}).options;`):e.optionsFunction&&(a+=`var ${e.name}Options = eval(${e.optionsFunction.toString()})(api.data);`),e.multiple?a+=`data.${e.name}__label = _.map(_.filter(${e.name}Options, function(option){return _.includes(data.${e.name}, option.value)}), 'label');`:a=(a+=`var ${e.name}Selected = _.find(${e.name}Options, function(option){return data.${e.name} == option.value});`)+`data.${e.name}__label = ${e.name}Selected ? ${e.name}Selected.label:null;`);}),`
502
722
  if(payload.data.data){
503
723
  var data = payload.data.data[0];
504
724
  ${a}
@@ -540,7 +760,7 @@ return payload;
540
760
  fileFieldsKeys.forEach((item)=>{
541
761
  let fileFieldValue = data[item];
542
762
  if(fileFieldValue && fileFieldValue.length){
543
- const fileFieldNames = data._display[item].split(',');
763
+ const fileFieldNames = _.map(_.isArray(data._display[item]) ? data._display[item] : [data._display[item]], 'name');
544
764
  if(fileFields[item].multiple){
545
765
  if(fileFieldValue instanceof Array){
546
766
  data[item] = fileFieldValue.map((value, index)=>{
@@ -601,7 +821,94 @@ return payload;
601
821
  name: label
602
822
  }
603
823
  return payload;
604
- `}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:i}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:r,labelAlign:l,defaults:n}=t,o=_$1__default.values(e.fields),n=n&&n.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),data:{global:getGlobalData$1("edit"),recordId:a,objectName:e.name,context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},initApi:null,initFetch:null,body:[defaultsDeep({},n,{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,o),initFetch:"new"!=a,body:await getFormBody(o,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form"})]};return n.id&&(i.id="service-"+n.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:r,labelAlign:l,formInitProps:n}=a,o=_$1__default.values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,o,n),body:[{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(map(o,e=>{e.readonly=!0;}),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form",actions:[]}]}}const UI_SCHEMA_CACHE={},setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t;},getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?isEmpty(e.mobile_columns)?slice(e.columns,0,4):e.mobile_columns:e.columns};async function getUISchema(objectName,force){if(objectName){if(!hasUISchemaCache(objectName)||force){const url=`/service/api/@${objectName.replace(/\./g,"_")}/uiSchema`;let uiSchema=null;try{if(uiSchema=await fetchAPI(url,{method:"get"}),!uiSchema)return;setUISchemaCache(objectName,uiSchema);for(const fieldName in uiSchema.fields)if(uiSchema.fields){const field=uiSchema.fields[fieldName];if(("lookup"===field.type||"master_detail"===field.type)&&field.reference_to){let refTo=null;if(isFunction(field.reference_to))try{refTo=eval(field.reference_to)();}catch(error){console.error(error);}isString(field.reference_to)?refTo=[field.reference_to]:isArray(field.reference_to)&&(refTo=field.reference_to);for(const item of refTo){const refUiSchema=await getUISchema(item);refUiSchema||delete uiSchema.fields[fieldName];}}}each(uiSchema.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=uiSchema.list_views.all.columns);});}catch(error){console.error("getUISchema",objectName,error),setUISchemaCache(objectName,null);}}return getUISchemaCache(objectName)}}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={}){const r=await getUISchema(t);var l=find(r.list_views,(e,t)=>t===a);if(!l)return {uiSchema:r};r.fields;const n=[];var o=getListViewColumns(l,i.formFactor);let s="";l&&l.sort&&l.sort.length&&each(l.sort,function(e,t){var a;isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,s+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,s+=a);}),l&&o&&each(o,function(e){isString(e)&&r.fields[e]?n.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));}),l&&l.extra_columns&&each(l.extra_columns,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(e)&&n.push({extra:!0,name:e.field});});o=n,o=await getObjectList(r,o,{tabId:t,appId:e,objectName:t,listViewName:a,...i,filter:l.filters,sort:s});return {uiSchema:r,amisSchema:o}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l="";var n=i.sortField,o=i.sortOrder;n&&(l=n+" "+o||"asc");let s=[];each(a,function(e){isString(e)&&r.fields[e]?s.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&s.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});n=await getObjectList(r,s,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l});return {uiSchema:r,amisSchema:n}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getRecordDetailHeaderAmisSchema(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,label:l,icon:n,fields:o}=i,a=(await getListSchema(null,a,keys(r)[0],{globalFilter:[findKey(o,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e]})).amisSchema.body,r=a.api,o=(delete a.api,Object.assign({},a,{bulkActions:[],headerToolbar:[],columnsTogglable:!1,source:"${rows}"})),e=[{type:"panel",title:"子表标题",header:{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon_small slds-icon_container slds-icon-standard-${n}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${n}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:l+"(${count ? count : 0})",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:9},{body:[]}]}],size:"xs"},body:o,affixFooter:!1,headerClassName:"",bodyClassName:"p-none"}];return {uiSchema:i,amisSchema:{type:"service",bodyClassName:"",name:"relatedObject",api:r,data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:e}}}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)};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 isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}
824
+ `}}];return {type:"service",bodyClassName:"",name:"page",data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:i}}const getGlobalData$1=e=>{var t=getSteedosAuth();return {mode:e,user:t,spaceId:t.spaceId,userId:t.userId}};async function getObjectForm(e,t){var{recordId:a,formFactor:i,layout:r,labelAlign:l,defaults:n}=t,o=_$1__default.values(e.fields),n=n&&n.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),initApi:null,initFetch:null,body:[defaultsDeep({},n,{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,persistData:!1,promptPageLeave:!0,name:"form_edit_"+a,debug:!1,title:"",submitText:"",api:await getSaveApi(e,a,o),initFetch:"new"!=a,body:await getFormBody(o,e,t),panelClassName:"m-0 sm:rounded-lg shadow-none",bodyClassName:"p-0",className:"p-4 sm:p-0 steedos-amis-form",onEvent:{submitSucc:{weight:0,actions:[{componentId:"listview_"+e.name,actionType:"reload",expression:"!!listViewId"},{componentId:"detail_"+a,actionType:"reload",expression:"!!!listViewId"}]}}})]};return n.id&&(i.id="service-"+n.id),i}async function getObjectDetail(e,t,a){var{formFactor:i,layout:r,labelAlign:l,formInitProps:n}=a,o=_$1__default.values(e.fields);return {type:"service",name:"page_readonly_"+t,id:"detail_"+t,data:{global:getGlobalData$1("read"),context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},api:await getReadonlyFormInitApi(e,t,o,n),body:[{type:"form",mode:"SMALL"===i?"normal":r,labelAlign:l,persistData:!1,promptPageLeave:!1,name:"form_readonly_"+t,debug:!1,title:"",data:{formData:"$$"},wrapWithPanel:!1,body:await getFormBody(map(o,e=>{e.readonly=!0;}),e,Object.assign({},a,{showSystemFields:!0})),className:"steedos-amis-form",actions:[]}]}}const getGraphqlFieldsQuery=e=>{const t=["_id"];return e.push("record_permissions"),each(e,e=>{-1<e.indexOf(".")&&(e=e.split(".")[0]),t.push(""+e);}),""+t.join(" ")},getFindOneQuery=(e,t,a)=>{e=e.replace(/\./g,"_");a=getGraphqlFieldsQuery(a);let i="";t=[`id: "${t}"`];return `{record:${e}__findOne${i=0<t.length?`(${t.join(",")})`:i}{${a}}}`},getRecord=async(e,t,a)=>{return (await fetchAPI("/graphql",{method:"post",body:JSON.stringify({query:getFindOneQuery(e,t,a)})})).data.record},getRelatedsCount=async(t,e)=>{const a=[];each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`);});e=`
825
+ {
826
+ ${a.join(",")}
827
+ }
828
+ `;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"})},globalTag="__G_L_O_B_A_L__",getParentPath=function(e){return "string"!=typeof e||1===(e=e.split(".")).length?"#":(e.pop(),e.join("."))},getValueByPath=function(e,t){return "#"!==t&&t?"string"==typeof t?get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return "string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var l,n;if(void 0===e&&(e={}),n=getParentPath(a),n=getValueByPath(e,n)||{},"string"!=typeof t)return t;l=t.substring(2,t.length-2),r=`
829
+ var $user=${JSON.stringify(r)}; return `+l.replace(/\bformData\b/g,JSON.stringify(e).replace(/\bglobal\b/g,globalTag)).replace(/\bglobal\b/g,JSON.stringify(i)).replace(new RegExp("\\b"+globalTag+"\\b","g"),"global").replace(/rootValue/g,JSON.stringify(n));try{return Function(r)()}catch(e){return console.log(e,t,a),t}},getSchema$3=e=>({type:"service",body:[{type:"button",label:"新建",id:"u:standard_new",level:"default",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"新建",bodyClassName:"p-0 m-0",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"",id:"u:f8ad8ddf153a",mode:"edit",layout:"horizontal"}],id:"u:0b96577db93c",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],bodyClassName:"p-0",id:"u:aef99d937b10"}),getSchema$2=e=>({type:"service",body:[{type:"button",label:"编辑",id:"u:standard_edit",onEvent:{click:{actions:[{actionType:"dialog",dialog:{type:"dialog",title:"编辑",bodyClassName:"p-0 m-0",body:[{type:"steedos-object-form",label:"对象表单",objectApiName:"${objectName}",recordId:"${recordId}",id:"u:d2b0c083c38f",mode:"edit"}],id:"u:ee95697baa4f",closeOnEsc:!1,closeOnOutside:!1,showCloseButton:!0,size:"lg"}}],weight:0}}}],regions:["body"],bodyClassName:"p-0",id:"u:3c5cbc0429bb"}),getSchema$1=e=>({type:"service",bodyClassName:"p-0",body:[{type:"button",label:"删除",confirmText:"确定要删除此项目?",className:"border-none",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}"}},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$4=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"],bodyClassName:"p-0",id:"u:bd2f9c4e986f"}),StandardButtons={getStandardNew:e=>({type:"amis_button",amis_schema:getSchema$3()}),getStandardEdit:e=>({type:"amis_button",amis_schema:getSchema$2()}),getStandardDelete:e=>({type:"amis_button",amis_schema:getSchema$1(e)}),getStandardDeleteMany:e=>({type:"amis_button"}),getStandardImportData:e=>({type:"amis_button",amis_schema:getSchema$4()})},getGlobalData=()=>({now:new Date});function getButtonVisibleOn(e){let t=e.visible;if(e._visible&&(t=e._visible),t=_$1__default.isBoolean(t)?t.toString():t)return 0<t.indexOf("Meteor.")||0<t.indexOf("Creator.")||0<t.indexOf("Session.")?(console.warn("无效的visible",t),"false"):t.trim().startsWith("function")?t+`.apply({
830
+ object: uiSchema
831
+ }, [objectName, _id, recordPermissions, data])`:t;if("amis_button"===e.type){e=e.amis_schema;if(e&&e.body&&0<e.body.length)return e.body[0].visibleOn}}const getButtonVisible=(t,e)=>{if(t._visible&&(_$1__default.startsWith(_$1__default.trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default.isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default.isEmpty(e.props.store.toJSON().selectedItems)?e.handleAction({},{actionType:"toast",toast:{items:[{position:"top-right",body:"请选择要删除的项"}]}}):e.handleBulkAction(e.props.store.toJSON().selectedItems,[],{},e.props.bulkActions[0]);}},getButtons=(t,a)=>{const i=t.permissions.disabled_actions;let e=_$1__default.sortBy(_$1__default.values(t.actions),"sort");return _$1__default.has(t,"allow_customActions")&&(e=_$1__default.filter(e,e=>_$1__default.include(t.allow_customActions,e.name))),_$1__default.has(t,"exclude_actions")&&(e=_$1__default.filter(e,e=>!_$1__default.include(t.exclude_actions,e.name))),_$1__default.each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default.map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default.filter(e,e=>_$1__default.indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default.sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default.filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default.sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default.filter(e,e=>"record"==e.on||"list_item"==e.on||"record_more"===e.on)},getButton=async(e,t,a)=>{var i=await getUISchema(e);if(i){a=await getButtons(i,a),a=_$1__default.find(a,e=>e.name===t);if(a)return "standard_edit"==a.name&&0<a._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply")?{label:a.label,name:a.name,on:a.on,...StandardButtons.getStandardEdit(i)}:"cms_files"!=e&&"standard_new"==a.name&&0<a._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_new.visible.apply")?{label:a.label,name:a.name,on:a.on,...StandardButtons.getStandardNew(i)}:"standard_delete"==a.name&&0<a._visible.indexOf("Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply")?{label:a.label,name:a.name,on:a.on,sort:a.sort,...StandardButtons.getStandardDelete(i)}:i.hasImportTemplates&&"standard_import_data"===a.name?{label:a.label,name:a.name,on:a.on,sort:a.sort,...StandardButtons.getStandardImportData(i)}:a}},execute=(e,t)=>{if(e.todo)return _$1__default.isString(e.todo)&&_$1__default.startsWith(_$1__default.trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default.isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;let UI_SCHEMA_CACHE={};"undefined"!=typeof window&&(window.UI_SCHEMA_CACHE||(window.UI_SCHEMA_CACHE=UI_SCHEMA_CACHE),UI_SCHEMA_CACHE=window.UI_SCHEMA_CACHE);const setUISchemaCache=(e,t)=>{UI_SCHEMA_CACHE[e]=t;},getUISchemaCache=e=>cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?isEmpty(e.mobile_columns)?slice(e.columns,0,4):e.mobile_columns:e.columns};async function getUISchema(t,e){if(t){if(!hasUISchemaCache(t)||e){e=`/service/api/@${t.replace(/\./g,"_")}/uiSchema`;let a;try{if(!(a=await fetchAPI(e,{method:"get"})))return;setUISchemaCache(t,a),each(a.list_views,(e,t)=>{e.name=t,has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function getField(e,t){return (await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){const r=await getUISchema(t);var l=find(r.list_views,(e,t)=>t===a);if(!l)return {uiSchema:r};r.fields;const n=[];var o=getListViewColumns(l,i.formFactor);let s="";l&&l.sort&&l.sort.length&&each(l.sort,function(e,t){var a;isArray(e)?(a=e[0]+" "+(e[1]||""),a=0<t?","+a:a,s+=a):(a=e.field_name+" "+e.order,a=0<t?","+a:a,s+=a);}),l&&o&&each(o,function(e){isString(e)&&r.fields[e]?n.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));}),l&&l.extra_columns&&each(l.extra_columns,function(e){isString(e)?n.push({extra:!0,name:e}):isObject$1(e)&&n.push({extra:!0,name:e.field});});o=n,o=await getObjectList(r,o,{tabId:t,appId:e,objectName:t,listViewName:a,...i,filter:l.filters,sort:s,buttons:await getListViewItemButtons(r,i)});return {uiSchema:r,amisSchema:o}}async function getTableSchema(e,t,a,i={}){const r=await getUISchema(t);let l="";var n=i.sortField,o=i.sortOrder;n&&(l=n+" "+o||"asc");let s=[];each(a,function(e){isString(e)&&r.fields[e]?s.push(r.fields[e]):isObject$1(e)&&r.fields[e.field]&&s.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});n=await getObjectList(r,s,{tabId:t,appId:e,objectName:t,...i,filter:i.filters,sort:l});return {uiSchema:r,amisSchema:n}}async function getRecordDetailHeaderSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getRecordDetailHeaderAmisSchema(e,t)}}async function getRecordDetailRelatedListSchema(t,e,a){var i=await getUISchema(a),{list_views:r,label:l,icon:n,fields:o}=i,a=(await getListSchema(null,a,keys(r)[0],{globalFilter:[findKey(o,function(e){return -1<["lookup","master_detail"].indexOf(e.type)&&e.reference_to===t}),"=",e]})).amisSchema.body,r=a.api,o=(delete a.api,Object.assign({},a,{bulkActions:[],headerToolbar:[],columnsTogglable:!1,source:"${rows}",className:"b-t"})),e=[{type:"wrapper",body:[{type:"grid",columns:[{body:[{type:"grid",columns:[{body:{type:"tpl",className:"block",tpl:`<p><img class="slds-icon_small slds-icon_container slds-icon-standard-${n}" src="\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${n}.svg" /></p>`},md:"auto",className:"",columnClassName:"flex justify-center items-center"},{body:[{type:"tpl",tpl:l+"(${count ? count : 0})",inline:!1,wrapperComponent:"",className:"leading-none",style:{fontFamily:"",fontSize:13,fontWeight:"bold"}}],md:"",valign:"middle",columnClassName:"p-l-xs"}]}],md:9},{body:[]}]}],size:"xs",className:"bg-white p-t-sm p-b-sm p-l"},o];return {uiSchema:i,amisSchema:{type:"service",className:"r b-a",name:"relatedObject",api:r,data:{context:{rootUrl:getRootUrl(),tenantId:getTenantId(),authToken:getAuthToken()}},body:e}}}async function getObjectRelatedList(t,i,a,r){var e=await getUISchema(i),l=[],n=[].concat(e.related_lists||[]);if(isEmpty(n)){var o=[].concat(e.details||[]);e.enable_files&&o.push("cms_files.parent");for(const m of o){var s=m.split("."),d=await getUISchema(s[0]);if(d){let e=null;var c=await getField(s[0],s[1]);e=c._reference_to||c.reference_to&&!isString(c.reference_to)?[[s[1]+"/o","=",i],[s[1]+"/ids","=",a]]:[""+s[1],"=",a],l.push({masterObjectName:i,object_name:s[0],foreign_key:s[1],schema:await getListSchema(t,s[0],"all",{globalFilter:e,formFactor:r,buttons:await getListViewItemButtons(d,{isMobile:!1})})});}}}else for(const f of n){var u=f.related_field_fullname.split(".");let e=null;var p=await getField(u[0],u[1]);if(p){e=p._reference_to||p.reference_to&&!isString(p.reference_to)?[[u[1]+"/o","=",i],[u[1]+"/ids","=",a]]:[""+u[1],"=",a];const g=await getUISchema(u[0]);if(g){let a=[];forEach(f.field_names,t=>{var e=find(g.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name:u[0],foreign_key:u[1],schema:{uiSchema:g,amisSchema:await getObjectList(g,a,{tabId:i,appId:t,objectName:u[0],formFactor:r,globalFilter:e,buttons:await getListViewItemButtons(g,{isMobile:!1})})}});}}}return l}async function getObjectRelated({appName:e,masterObjectName:t,objectName:a,relatedFieldName:i,recordId:r,formFactor:l}){let n=null;var o=await getField(a,i),o=(n=o._reference_to||o.reference_to&&!isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return {masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter:n,formFactor:l}),record:await getRecord(t,r,[o.NAME_FIELD_KEY]),masterObjectUISchema:o}}async function getSearchableFieldsFilterSchema(e,t){var a,i,r=[];for(a of e)includes(["grid","avatar","image","object","[object]","[Object]","[grid]","[text]","audio","file"],a.type)||(delete a.defaultValue,delete a.required,delete a.is_wide,delete a.readonly,delete a.hidden,delete a.omit,(i=await getFieldSearchable(a,e,{}))&&r.push(i));return {title:"",type:"form",name:"listview-filter-form",mode:"normal",wrapWithPanel:!1,className:`grid gap-2 grid-cols-${t||4} mb-2`,body:r}}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=`
832
+ {
833
+ notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
834
+ _id,name,body,related_to,related_name,url,owner,is_read,from,created
835
+ },
836
+ unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
837
+ }
838
+ `;return (await fetchAPI("/graphql",{method:"POST",body:JSON.stringify({query:e})})).data},markReadAll=async()=>fetchAPI("/api/v4/notifications/all/markReadAll",{method:"POST"});async function getPage({pageId:e,appId:t,objectName:a="",recordId:i,formFactor:r="LARGE"}){return await fetchAPI(`/api/pageSchema/app?app=${t}&objectApiName=${a}&recordId=${i}&pageId=${e}&formFactor=`+r)}const PUBLIC_ENV={},setEnv=(e,t)=>{PUBLIC_ENV[e]=t;},getEnv=e=>PUBLIC_ENV[e],setEnvs=e=>{map(e,(e,t)=>{PUBLIC_ENV[t]=e;});},getEnvs=()=>PUBLIC_ENV;async function getSpaceUsersPickerAmisSchema(e,t,a){return {type:"picker",label:"人员",name:t,id:a.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}async function getSpaceUsersPickerSchema(e,t){var a=await getUISchema("space_users");return {uiSchema:a,amisSchema:await getSpaceUsersPickerAmisSchema(a,e,t)}}const DATE_DATETIME_BETWEEN_VALUES=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],opMaps={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},isGroup=e=>_.has(e,"conjunction"),conditionGroupToFilters=e=>{const a=[],{conjunction:i,children:t}=e;return i&&t&&t.forEach(e=>{var t;0<a.length&&a.push(i),isGroup(e)?(t=conditionGroupToFilters(e))&&0<t.length&&a.push(t):(t=conditionItemToFilters(e))&&a.push(t);}),a},conditionItemToFilters=e=>{var t,{left:e,op:a,right:i}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=i?[e.field,opMaps[a],i]:void 0},filterToConditionItem=t=>{var e;if(3===t.length)return "between"===(e=_$1__default.findKey(opMaps,e=>e===t[1]))&&_$1__default.includes(DATE_DATETIME_BETWEEN_VALUES,t[2])?{left:{type:"field",field:t[0]},op:e+":"+t[2]}:{left:{type:"field",field:t[0]},op:e,right:t[2]};console.warn("无效的filter:"+JSON.stringify(t));},filterObjectToArray=e=>!_$1__default.isArray(e)&&_$1__default.isObject(e)?[e.field,e.operation,e.value]:e,filtersToConditionGroup=e=>{e=filterObjectToArray(e);const t={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=filterObjectToArray(e))||"and"===e?t.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?t.children.push(filterToConditionItem(e)):t.children.push(filtersToConditionGroup(e));}),t},conditionsToFilters=e=>conditionGroupToFilters(e),filtersToConditions=e=>filtersToConditionGroup(e),getSelectOptions=e=>{const a=[];return each(e.options.split("\n"),e=>{var t=e.split(":");2==t.length?a.push({label:t[0],value:t[1]}):a.push({label:e,value:e});}),a},getTdInputTpl=(e,t)=>{const a={label:!0===t&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?a.type="textarea":a.type="input-text";break;case"number":a.type="input-number";break;case"date":a.type="input-date";break;case"dateTime":a.type="input-datetime";break;case"checkbox":a.type="checkbox";break;case"email":a.type="input-email",a.validations={isEmail:!0};break;case"url":a.type="input-url",a.validations={isUrl:!0};break;case"password":a.type="input-password",a.showCounter=!0;break;case"select":a.type="select",a.options=getSelectOptions(e);break;case"user":case"group":a.type="input-text";break;case"radio":a.type="radios",a.options=getSelectOptions(e);break;case"multiSelect":a.type="checkboxes",a.options=getSelectOptions(e);break;case"odata":var i=e.formula.substr(1,e.formula.length-2);a.type="select",a.multiple=e.is_multiselect,a.labelField=i,a.valueField="$$",a.source={url:startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":a.type="html";break;case"table":a.type="input-table",a.addable="readonly"!=e.permission,a.editable=a.addable,a.copyable=a.addable,a.columns=[],each(e.sfields,e=>{"hidden"!=e.type&&a.columns.push(getTdInputTpl(e,!0));});break;case"section":a.type="input-text";}return a},getTdField=(e,t)=>({background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(t-1),align:"left",className:"td-field",body:[getTdInputTpl(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}),getTdTitle=e=>({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),getTds=t=>{const a=[];return each(t,e=>{"table"!=e.type&&a.push(getTdTitle(e)),"section"!=e.type&&a.push(getTdField(e,t.length));}),a},getFormTrs=a=>{const t=[],i=[];let r=[];return each(a.fields,(e,t)=>{e.is_wide?(0!=r.length&&i.push(r),"table"==e.type&&i.push([Object.assign({},e,{type:"section"})]),(r=[]).push(e),i.push(r),r=[]):(r.push(e),2!=r.length&&t!==a.fields.length-1||(i.push(r),r=[]));}),each(i,e=>{t.push({background:"#F7F7F7",tds:getTds(e)});}),t},getFormTableView=e=>({type:"table-view",trs:getFormTrs(e),id:"u:047f3669468b"}),getFlowFormSchema=e=>({type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},getFormTableView(e)],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}),registerRemoteAssets=async t=>{if(t&&0<t.length){let e=t;isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return map(t,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return []};var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},keyToPath=function(e){var r=[];return e.charCodeAt(0)===".".charCodeAt(0)&&r.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,t,a,i){return a?e=i.replace(/\\(\\)?/g,"$1"):t&&(e=t.trim()),r.push(e),""}),r};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function extendObject(e,t,a){var i=cloneObject(e,a=void 0===a?!0:a);return t&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}function setVariable(e,t,a,i){if(t in(e=e||{}))e[t]=a;else {for(var r=!1!==i?keyToPath(t):[t],i=r.pop();r.length;){var l=r.shift();e=isPlainObject_1(e[l])?e[l]=__assign({},e[l]):(Array.isArray(e[l])?e[l]=e[l].concat():(e[l],e[l]={}),e[l]);}e[i]=a;}}function deleteVariable(e,t){if(e)if(e.hasOwnProperty(t))delete e[t];else {for(var a=keyToPath(t),t=a.pop();a.length;){var i=a.shift();if(!isPlainObject_1(e[i])){if(e[i])throw new Error("目标路径不是纯对象,不能修改");break}e=e[i]=__assign({},e[i]);}e&&e.hasOwnProperty&&e.hasOwnProperty(t)&&delete e[t];}}
839
+
840
+ var index_esm = /*#__PURE__*/Object.freeze({
841
+ __proto__: null,
842
+ absoluteUrl: absoluteUrl,
843
+ amisRender: amisRender,
844
+ amisRootClick: amisRootClick,
845
+ cloneObject: cloneObject,
846
+ conditionsToFilters: conditionsToFilters,
847
+ createObject: createObject,
848
+ defaultsDeep: defaultsDeep,
849
+ deleteVariable: deleteVariable,
850
+ execute: execute,
851
+ executeButton: executeButton,
852
+ extendObject: extendObject,
853
+ fetchAPI: fetchAPI,
854
+ filtersToConditions: filtersToConditions,
855
+ getApp: getApp,
856
+ getApps: getApps,
857
+ getAuthToken: getAuthToken,
858
+ getAuthorization: getAuthorization,
859
+ getButton: getButton,
860
+ getButtonVisible: getButtonVisible,
861
+ getButtonVisibleOn: getButtonVisibleOn,
862
+ getButtons: getButtons,
863
+ getEnv: getEnv,
864
+ getEnvs: getEnvs,
865
+ getEvn: getEvn,
866
+ getField: getField,
867
+ getFileSrc: getFileSrc,
868
+ getFlowFormSchema: getFlowFormSchema,
869
+ getFormSchema: getFormSchema,
870
+ getImageSrc: getImageSrc,
871
+ getListSchema: getListSchema,
872
+ getListViewButtons: getListViewButtons,
873
+ getListViewItemButtons: getListViewItemButtons,
874
+ getNotifications: getNotifications,
875
+ getObjectDetailButtons: getObjectDetailButtons,
876
+ getObjectDetailMoreButtons: getObjectDetailMoreButtons,
877
+ getObjectRelated: getObjectRelated,
878
+ getObjectRelatedList: getObjectRelatedList,
879
+ getPage: getPage,
880
+ getRecord: getRecord,
881
+ getRecordDetailHeaderSchema: getRecordDetailHeaderSchema,
882
+ getRecordDetailRelatedListSchema: getRecordDetailRelatedListSchema,
883
+ getRecordPermissions: getRecordPermissions,
884
+ getRelatedsCount: getRelatedsCount,
885
+ getRootUrl: getRootUrl,
886
+ getSearchableFieldsFilterSchema: getSearchableFieldsFilterSchema,
887
+ getSelectUserSchema: getSelectUserSchema,
888
+ getSpaceUsersPickerAmisSchema: getSpaceUsersPickerAmisSchema,
889
+ getSpaceUsersPickerSchema: getSpaceUsersPickerSchema,
890
+ getSteedosAuth: getSteedosAuth,
891
+ getTableSchema: getTableSchema,
892
+ getTenantId: getTenantId,
893
+ getUISchema: getUISchema,
894
+ getViewSchema: getViewSchema,
895
+ isExpression: isExpression,
896
+ isObject: isObject,
897
+ lookupToAmis: lookupToAmis,
898
+ lookupToAmisPicker: lookupToAmisPicker,
899
+ lookupToAmisSelect: lookupToAmisSelect,
900
+ lookupToAmisSelectUser: lookupToAmisSelectUser,
901
+ markReadAll: markReadAll,
902
+ parseSingleExpression: parseSingleExpression,
903
+ registerRemoteAssets: registerRemoteAssets,
904
+ registerRenders: registerRenders,
905
+ setEnv: setEnv,
906
+ setEnvs: setEnvs,
907
+ setRootUrl: setRootUrl,
908
+ setSteedosAuth: setSteedosAuth,
909
+ setVariable: setVariable,
910
+ standardButtonsTodo: standardButtonsTodo
911
+ });
605
912
 
606
913
  var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
607
914
  var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
@@ -729,6 +1036,112 @@ var AmisObjectFieldLookup = function (props) {
729
1036
  }))) : null));
730
1037
  };
731
1038
 
1039
+ var AmisObjectButton = function (props) {
1040
+ var objectName = props.objectName, name = props.name, data = props.data, render = props.render, className = props.className, listViewId = props.listViewId;
1041
+ var _a = __read(useState(), 2), button = _a[0], setButton = _a[1];
1042
+ var _b = __read(useState(), 2), uiSchema = _b[0], setUiSchema = _b[1];
1043
+ //TODO 处理上下文参数
1044
+ var appId = data.appId;
1045
+ var formFactor = data.formFactor;
1046
+ useEffect(function () {
1047
+ if (objectName) {
1048
+ getUISchema(objectName, false).then(function (uiSchema) {
1049
+ getButton(objectName, name, {
1050
+ objectName: objectName,
1051
+ recordId: data._id,
1052
+ appId: appId,
1053
+ uiSchema: uiSchema,
1054
+ formFactor: formFactor,
1055
+ router: null,
1056
+ listViewId: data.listViewId,
1057
+ props: {
1058
+ className: "antd-Button antd-Button--link"
1059
+ }
1060
+ }).then(function (result) {
1061
+ setButton(result);
1062
+ setUiSchema(uiSchema);
1063
+ });
1064
+ });
1065
+ }
1066
+ }, [objectName, name]);
1067
+ var buttonClick = function () {
1068
+ var dataComponentId = data.dataComponentId;
1069
+ //Object.assign({}, data , {scope: (window as any).SteedosUI.getRef(dataComponentId)})
1070
+ return executeButton(button, {
1071
+ objectName: objectName,
1072
+ listViewId: listViewId || data.listViewId,
1073
+ uiSchema: uiSchema,
1074
+ record: data,
1075
+ recordId: data._id,
1076
+ appId: appId,
1077
+ formFactor: formFactor,
1078
+ scope: window.SteedosUI.getRef(dataComponentId)
1079
+ });
1080
+ };
1081
+ if (!button) {
1082
+ return (React.createElement(React.Fragment, null, "loading..."));
1083
+ }
1084
+ if (button.type === "amis_button") {
1085
+ var amisSchema = button.amis_schema;
1086
+ var schema = isString(amisSchema) ? JSON.parse(amisSchema) : amisSchema;
1087
+ if (schema && schema.body.length > 0) {
1088
+ delete schema.body[0]['visibleOn'];
1089
+ }
1090
+ return (React.createElement("div", { className: className }, button && amisSchema ? (React.createElement("div", { className: "container" }, render('body', schema, {
1091
+ // 这里的信息会作为 props 传递给子组件,一般情况下都不需要这个,
1092
+ data: Object.assign(data, { recordId: data._id, objectName: objectName, listViewId: data.listViewId, app_id: appId }),
1093
+ onChange: function () {
1094
+ console.log("change....");
1095
+ }
1096
+ }))) : null));
1097
+ }
1098
+ else {
1099
+ return (React.createElement("button", { onClick: buttonClick, className: "antd-Button ".concat(className ? className : '') }, button.label));
1100
+ }
1101
+ };
1102
+
1103
+ var getMenu = function (render, buttons, props) {
1104
+ return React.createElement(Menu, { items: map(buttons, function (button) {
1105
+ button.className = button.className ? "".concat(button.className, " steedos-dropdown-button-item py-1 text-left w-full") : 'steedos-dropdown-button-item py-1 text-left w-full';
1106
+ return {
1107
+ key: button.name,
1108
+ className: 'py-0 min-w-40',
1109
+ label: (React.createElement(React.Fragment, null, render('body', button, props)))
1110
+ };
1111
+ }) });
1112
+ };
1113
+ var SteedosDropdownButton = function (props) {
1114
+ var data = props.data, render = props.render; props.className; var buttons = props.buttons; props.placement; var onOpenApi = props.onOpenApi; props.store; var env = props.env;
1115
+ var _a = __read(useState(React.createElement(React.Fragment, null)), 2), menu = _a[0], setMenu = _a[1];
1116
+ var onOpenChange = function (open) {
1117
+ if (open) {
1118
+ if (onOpenApi) {
1119
+ try {
1120
+ env.fetcher(onOpenApi, createObject(data, {})).then(function (result) {
1121
+ var openData = (result === null || result === void 0 ? void 0 : result.hasOwnProperty('ok')) ? result.data : result;
1122
+ setMenu(getMenu(render, buttons, {
1123
+ data: createObject(data, defaultsDeep$1(openData, data))
1124
+ }));
1125
+ }).catch(function (e) {
1126
+ console.error(e);
1127
+ });
1128
+ }
1129
+ catch (error) {
1130
+ console.error(error);
1131
+ }
1132
+ }
1133
+ else {
1134
+ setMenu(getMenu(render, buttons, {
1135
+ data: data
1136
+ }));
1137
+ }
1138
+ }
1139
+ };
1140
+ return (React.createElement(Dropdown, { overlay: menu, trigger: ['click'], onOpenChange: onOpenChange },
1141
+ React.createElement("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", strokeWidth: 1.5, stroke: "currentColor", className: "w-5 h-5" },
1142
+ React.createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }))));
1143
+ };
1144
+
732
1145
  var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
733
1146
  var $schema, recordId, mode, layout, labelAlign, objectApiName, schemaKeys, formSchema, defaults, options;
734
1147
  return __generator(this, function (_a) {
@@ -736,7 +1149,7 @@ var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0,
736
1149
  case 0:
737
1150
  $schema = props.$schema, recordId = props.recordId, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign;
738
1151
  objectApiName = props.objectApiName || "space_users";
739
- schemaKeys = difference(keys($schema), ["type"]);
1152
+ schemaKeys = difference(keys($schema), ["type", "mode", "layout"]);
740
1153
  formSchema = pick(props, schemaKeys);
741
1154
  defaults = {
742
1155
  formSchema: formSchema
@@ -783,19 +1196,21 @@ var AmisObjectListView = function (props) { return __awaiter(void 0, void 0, voi
783
1196
  }); };
784
1197
 
785
1198
  var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
786
- var $schema, filters, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, defaults;
1199
+ var $schema, filters, amisCondition, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, amisFilters, tableFilters, defaults;
787
1200
  return __generator(this, function (_a) {
788
1201
  switch (_a.label) {
789
1202
  case 0:
790
- $schema = props.$schema, filters = props.filters, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
1203
+ $schema = props.$schema, filters = props.filters, amisCondition = props.amisCondition, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
791
1204
  columns = props.columns || [];
792
1205
  objectApiName = props.objectApiName || "space_users";
793
1206
  schemaKeys = difference(keys($schema), ["type", "objectApiName", "columns"]);
794
1207
  listSchema = pick(props, schemaKeys);
1208
+ amisFilters = amisCondition && conditionsToFilters(amisCondition);
1209
+ tableFilters = filters || amisFilters;
795
1210
  defaults = {
796
1211
  listSchema: listSchema
797
1212
  };
798
- return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: filters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
1213
+ return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: tableFilters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
799
1214
  case 1: return [2 /*return*/, (_a.sent()).amisSchema];
800
1215
  }
801
1216
  });
@@ -866,5 +1281,5 @@ var AmisProvider = function (props) { return __awaiter(void 0, void 0, void 0, f
866
1281
  });
867
1282
  }); };
868
1283
 
869
- export { AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisSelectUser };
1284
+ export { index_esm as AmisLib, AmisObjectButton, AmisObjectFieldLookup, AmisObjectForm, AmisObjectListView, AmisObjectTable, AmisProvider, AmisRecordDetailHeader, AmisRecordDetailRelatedList, AmisSelectUser, SteedosDropdownButton };
870
1285
  //# sourceMappingURL=amis-object.esm.js.map