@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.
- package/dist/amis/AmisObjectForm.d.ts +0 -15
- package/dist/amis/AmisRecordDetailRelatedList.d.ts +49 -55
- package/dist/amis-object.cjs.js +455 -37
- package/dist/amis-object.cjs.js.map +1 -1
- package/dist/amis-object.esm.js +454 -39
- package/dist/amis-object.esm.js.map +1 -1
- package/dist/amis-object.umd.js +458 -41
- package/dist/assets-dev.json +13 -5
- package/dist/assets.json +13 -5
- package/dist/components/buttons/button.d.ts +2 -0
- package/dist/components/buttons/dropdown-button.d.ts +2 -0
- package/dist/components/index.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/meta.js +300 -120
- package/dist/metas/AmisObjectButton.d.ts +2 -0
- package/dist/metas/SteedosDropdownButton.d.ts +2 -0
- package/package.json +1 -1
package/dist/amis-object.umd.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
(function (global, factory) {
|
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('lodash')) :
|
|
3
|
-
typeof define === 'function' && define.amd ? define(['exports', 'react', 'lodash'], factory) :
|
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BuilderAmisObject = {}, global.React, global._));
|
|
5
|
-
})(this, (function (exports, React, _$1) {
|
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('lodash'), require('antd')) :
|
|
3
|
+
typeof define === 'function' && define.amd ? define(['exports', 'react', 'lodash', 'antd'], factory) :
|
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.BuilderAmisObject = {}, global.React, global._, global.antd));
|
|
5
|
+
})(this, (function (exports, React, _$1, antd) {
|
|
6
6
|
const global = window; const process = {env: {NODE_ENV: "production"}};
|
|
7
7
|
|
|
8
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -138,24 +138,223 @@
|
|
|
138
138
|
|
|
139
139
|
var Symbol$2 = _Symbol;
|
|
140
140
|
|
|
141
|
+
/** Used for built-in method references. */
|
|
142
|
+
var objectProto$2 = Object.prototype;
|
|
143
|
+
|
|
144
|
+
/** Used to check objects for own properties. */
|
|
145
|
+
var hasOwnProperty$1 = objectProto$2.hasOwnProperty;
|
|
146
|
+
|
|
147
|
+
/**
|
|
148
|
+
* Used to resolve the
|
|
149
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
150
|
+
* of values.
|
|
151
|
+
*/
|
|
152
|
+
var nativeObjectToString$1 = objectProto$2.toString;
|
|
153
|
+
|
|
141
154
|
/** Built-in value references. */
|
|
142
|
-
Symbol$2 ? Symbol$2.toStringTag : undefined;
|
|
155
|
+
var symToStringTag$1 = Symbol$2 ? Symbol$2.toStringTag : undefined;
|
|
156
|
+
|
|
157
|
+
/**
|
|
158
|
+
* A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.
|
|
159
|
+
*
|
|
160
|
+
* @private
|
|
161
|
+
* @param {*} value The value to query.
|
|
162
|
+
* @returns {string} Returns the raw `toStringTag`.
|
|
163
|
+
*/
|
|
164
|
+
function getRawTag$1(value) {
|
|
165
|
+
var isOwn = hasOwnProperty$1.call(value, symToStringTag$1),
|
|
166
|
+
tag = value[symToStringTag$1];
|
|
167
|
+
|
|
168
|
+
try {
|
|
169
|
+
value[symToStringTag$1] = undefined;
|
|
170
|
+
var unmasked = true;
|
|
171
|
+
} catch (e) {}
|
|
143
172
|
|
|
144
|
-
|
|
173
|
+
var result = nativeObjectToString$1.call(value);
|
|
174
|
+
if (unmasked) {
|
|
175
|
+
if (isOwn) {
|
|
176
|
+
value[symToStringTag$1] = tag;
|
|
177
|
+
} else {
|
|
178
|
+
delete value[symToStringTag$1];
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
return result;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
var _getRawTag = getRawTag$1;
|
|
185
|
+
|
|
186
|
+
/** Used for built-in method references. */
|
|
187
|
+
|
|
188
|
+
var objectProto$1 = Object.prototype;
|
|
189
|
+
|
|
190
|
+
/**
|
|
191
|
+
* Used to resolve the
|
|
192
|
+
* [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)
|
|
193
|
+
* of values.
|
|
194
|
+
*/
|
|
195
|
+
var nativeObjectToString = objectProto$1.toString;
|
|
196
|
+
|
|
197
|
+
/**
|
|
198
|
+
* Converts `value` to a string using `Object.prototype.toString`.
|
|
199
|
+
*
|
|
200
|
+
* @private
|
|
201
|
+
* @param {*} value The value to convert.
|
|
202
|
+
* @returns {string} Returns the converted string.
|
|
203
|
+
*/
|
|
204
|
+
function objectToString$1(value) {
|
|
205
|
+
return nativeObjectToString.call(value);
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
var _objectToString = objectToString$1;
|
|
209
|
+
|
|
210
|
+
var Symbol$1 = _Symbol,
|
|
211
|
+
getRawTag = _getRawTag,
|
|
212
|
+
objectToString = _objectToString;
|
|
213
|
+
|
|
214
|
+
/** `Object#toString` result references. */
|
|
215
|
+
var nullTag = '[object Null]',
|
|
216
|
+
undefinedTag = '[object Undefined]';
|
|
145
217
|
|
|
146
218
|
/** Built-in value references. */
|
|
147
|
-
Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
219
|
+
var symToStringTag = Symbol$1 ? Symbol$1.toStringTag : undefined;
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* The base implementation of `getTag` without fallbacks for buggy environments.
|
|
223
|
+
*
|
|
224
|
+
* @private
|
|
225
|
+
* @param {*} value The value to query.
|
|
226
|
+
* @returns {string} Returns the `toStringTag`.
|
|
227
|
+
*/
|
|
228
|
+
function baseGetTag$1(value) {
|
|
229
|
+
if (value == null) {
|
|
230
|
+
return value === undefined ? undefinedTag : nullTag;
|
|
231
|
+
}
|
|
232
|
+
return (symToStringTag && symToStringTag in Object(value))
|
|
233
|
+
? getRawTag(value)
|
|
234
|
+
: objectToString(value);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
var _baseGetTag = baseGetTag$1;
|
|
238
|
+
|
|
239
|
+
/**
|
|
240
|
+
* Creates a unary function that invokes `func` with its argument transformed.
|
|
241
|
+
*
|
|
242
|
+
* @private
|
|
243
|
+
* @param {Function} func The function to wrap.
|
|
244
|
+
* @param {Function} transform The argument transform.
|
|
245
|
+
* @returns {Function} Returns the new function.
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
function overArg$1(func, transform) {
|
|
249
|
+
return function(arg) {
|
|
250
|
+
return func(transform(arg));
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
var _overArg = overArg$1;
|
|
255
|
+
|
|
256
|
+
var overArg = _overArg;
|
|
257
|
+
|
|
258
|
+
/** Built-in value references. */
|
|
259
|
+
var getPrototype$1 = overArg(Object.getPrototypeOf, Object);
|
|
260
|
+
|
|
261
|
+
var _getPrototype = getPrototype$1;
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Checks if `value` is object-like. A value is object-like if it's not `null`
|
|
265
|
+
* and has a `typeof` result of "object".
|
|
266
|
+
*
|
|
267
|
+
* @static
|
|
268
|
+
* @memberOf _
|
|
269
|
+
* @since 4.0.0
|
|
270
|
+
* @category Lang
|
|
271
|
+
* @param {*} value The value to check.
|
|
272
|
+
* @returns {boolean} Returns `true` if `value` is object-like, else `false`.
|
|
273
|
+
* @example
|
|
274
|
+
*
|
|
275
|
+
* _.isObjectLike({});
|
|
276
|
+
* // => true
|
|
277
|
+
*
|
|
278
|
+
* _.isObjectLike([1, 2, 3]);
|
|
279
|
+
* // => true
|
|
280
|
+
*
|
|
281
|
+
* _.isObjectLike(_.noop);
|
|
282
|
+
* // => false
|
|
283
|
+
*
|
|
284
|
+
* _.isObjectLike(null);
|
|
285
|
+
* // => false
|
|
286
|
+
*/
|
|
287
|
+
|
|
288
|
+
function isObjectLike$1(value) {
|
|
289
|
+
return value != null && typeof value == 'object';
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
var isObjectLike_1 = isObjectLike$1;
|
|
293
|
+
|
|
294
|
+
var baseGetTag = _baseGetTag,
|
|
295
|
+
getPrototype = _getPrototype,
|
|
296
|
+
isObjectLike = isObjectLike_1;
|
|
297
|
+
|
|
298
|
+
/** `Object#toString` result references. */
|
|
299
|
+
var objectTag = '[object Object]';
|
|
148
300
|
|
|
149
301
|
/** Used for built-in method references. */
|
|
150
|
-
var funcProto = Function.prototype
|
|
302
|
+
var funcProto = Function.prototype,
|
|
303
|
+
objectProto = Object.prototype;
|
|
151
304
|
|
|
152
305
|
/** Used to resolve the decompiled source of functions. */
|
|
153
306
|
var funcToString = funcProto.toString;
|
|
154
307
|
|
|
308
|
+
/** Used to check objects for own properties. */
|
|
309
|
+
var hasOwnProperty = objectProto.hasOwnProperty;
|
|
310
|
+
|
|
155
311
|
/** Used to infer the `Object` constructor. */
|
|
156
|
-
funcToString.call(Object);
|
|
312
|
+
var objectCtorString = funcToString.call(Object);
|
|
157
313
|
|
|
158
|
-
|
|
314
|
+
/**
|
|
315
|
+
* Checks if `value` is a plain object, that is, an object created by the
|
|
316
|
+
* `Object` constructor or one with a `[[Prototype]]` of `null`.
|
|
317
|
+
*
|
|
318
|
+
* @static
|
|
319
|
+
* @memberOf _
|
|
320
|
+
* @since 0.8.0
|
|
321
|
+
* @category Lang
|
|
322
|
+
* @param {*} value The value to check.
|
|
323
|
+
* @returns {boolean} Returns `true` if `value` is a plain object, else `false`.
|
|
324
|
+
* @example
|
|
325
|
+
*
|
|
326
|
+
* function Foo() {
|
|
327
|
+
* this.a = 1;
|
|
328
|
+
* }
|
|
329
|
+
*
|
|
330
|
+
* _.isPlainObject(new Foo);
|
|
331
|
+
* // => false
|
|
332
|
+
*
|
|
333
|
+
* _.isPlainObject([1, 2, 3]);
|
|
334
|
+
* // => false
|
|
335
|
+
*
|
|
336
|
+
* _.isPlainObject({ 'x': 0, 'y': 0 });
|
|
337
|
+
* // => true
|
|
338
|
+
*
|
|
339
|
+
* _.isPlainObject(Object.create(null));
|
|
340
|
+
* // => true
|
|
341
|
+
*/
|
|
342
|
+
function isPlainObject(value) {
|
|
343
|
+
if (!isObjectLike(value) || baseGetTag(value) != objectTag) {
|
|
344
|
+
return false;
|
|
345
|
+
}
|
|
346
|
+
var proto = getPrototype(value);
|
|
347
|
+
if (proto === null) {
|
|
348
|
+
return true;
|
|
349
|
+
}
|
|
350
|
+
var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;
|
|
351
|
+
return typeof Ctor == 'function' && Ctor instanceof Ctor &&
|
|
352
|
+
funcToString.call(Ctor) == objectCtorString;
|
|
353
|
+
}
|
|
354
|
+
|
|
355
|
+
var isPlainObject_1 = isPlainObject;
|
|
356
|
+
|
|
357
|
+
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(!_$1.isEmpty(e)&&_$1.isArray(e)){var t=amisRequire("amis");const a={renderer:t.Renderer,formitem:t.FormItem,options:t.OptionsControl};let n=amisRequire("react");_$1.each(e,t=>{if(!_$1.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){_$1.endsWith(e,"/")&&(e=e.substring(0,e.length-1)),localStorage.setItem("steedos:rootUrl",e);}const getSteedosAuth=()=>_$1.cloneDeep(STEEDOS_AUTH);async function getFieldsTemplate(e,t){0!=t&&(t=!0);let a=["_id"],i=[];for(const l of _$1__namespace.isArray(e)?e:_$1__namespace.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)),_$1.includes(["time","date","datetime","boolean","number","currency"],l.type)&&a.push(""+l.name),_$1.includes(["time","date","datetime","boolean","number","currency","select","file","image","avatar","formula","summary"],l.type)&&i.push(""+l.name));return i=_$1__namespace.uniq(i),a=_$1__namespace.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=>{_$1.includes(["image","avatar"],e.type)&&(t.push(e.name),a[e.name]={name:e.name,multiple:e.multiple});}),t.length?`
|
|
159
358
|
let imgFieldsKeys = ${JSON.stringify(t)};
|
|
160
359
|
let imgFields = ${JSON.stringify(a)};
|
|
161
360
|
imgFieldsKeys.forEach((item)=>{
|
|
@@ -225,7 +424,7 @@
|
|
|
225
424
|
${getSaveDataTpl(e)}
|
|
226
425
|
api.data = {query: query.replace('{__saveData}', __saveData)};
|
|
227
426
|
return api;
|
|
228
|
-
`}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=""
|
|
427
|
+
`}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__namespace.includes(_$1__namespace.keys(e.fields),"parent")&&_$1__namespace.includes(_$1__namespace.keys(e.fields),"children")&&(t=",parent,children"),r="";return "cms_files"===e.name&&(r=",versions"),{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:`{${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%>"}),`
|
|
229
428
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
230
429
|
`):`<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%>"}),`
|
|
231
430
|
<% if (data._display.${e.name} && data._display.${e.name}.length) { %><% data._display.${e.name}.forEach(function(item) { %> <a href="${i}"><%=item.label%></a> <% }); %><% } %>
|
|
@@ -237,7 +436,28 @@
|
|
|
237
436
|
</span>
|
|
238
437
|
<% } %>`}function getPasswordTpl(e){return `<% if (data.${e.name}) { %>
|
|
239
438
|
<span>······</span>
|
|
240
|
-
<% } %>`}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}};
|
|
439
|
+
<% } %>`}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:`
|
|
440
|
+
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
441
|
+
<% if(!Array.isArray(fileData)){ fileData = [fileData]} %>
|
|
442
|
+
<% fileData.forEach(function(item) { %>
|
|
443
|
+
<a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
|
|
444
|
+
<% });} %>`}: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:`
|
|
445
|
+
const { context } = api.body;
|
|
446
|
+
var rootUrl = context.rootUrl + "/api/files/${t}/";
|
|
447
|
+
payload = {
|
|
448
|
+
status: response.status == 200 ? 0 : response.status,
|
|
449
|
+
msg: response.statusText,
|
|
450
|
+
data: {
|
|
451
|
+
value: payload._id,
|
|
452
|
+
name: payload.original.name,
|
|
453
|
+
url: rootUrl + payload._id,
|
|
454
|
+
}
|
|
455
|
+
}
|
|
456
|
+
return payload;
|
|
457
|
+
`,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=_$1.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(_$1.each(e,e=>{_$1.isBoolean(e.visible)&&(e.visible=e.visible.toString()),t.push({type:"steedos-object-button",name:e.name,objectName:e.objectName,visibleOn:getButtonVisibleOn$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:`
|
|
458
|
+
payload.recordPermissions = payload;
|
|
459
|
+
return payload;
|
|
460
|
+
`}}]}}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__namespace.isArray(l)?_$1__namespace.map(l,function(e){return e.operation?[e.field,e.operation,e.value]:e}):l)||[],_$1__namespace.each(t,function(e){e.searchable&&i.push(e.name);});const s={},d=[];t.forEach(e=>{_$1__namespace.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=`
|
|
241
461
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
242
462
|
${r?`var filters = ${JSON.stringify(r)};`:"var filters = [];"}
|
|
243
463
|
if(_.isEmpty(filters)){
|
|
@@ -314,7 +534,23 @@
|
|
|
314
534
|
item._index = index + 1;
|
|
315
535
|
})
|
|
316
536
|
}
|
|
317
|
-
window.postMessage(Object.assign({type: "listview.loaded"}), "*")
|
|
537
|
+
window.postMessage(Object.assign({type: "listview.loaded"}), "*");
|
|
538
|
+
let fileFields = ${JSON.stringify(s)};
|
|
539
|
+
_.each(payload.data.rows, function(item, index){
|
|
540
|
+
_.each(fileFields , (field, key)=>{
|
|
541
|
+
if(item[key] && item._display && item._display [key]){
|
|
542
|
+
let value = item._display[key];
|
|
543
|
+
if(!_.isArray(value)){
|
|
544
|
+
value = [value]
|
|
545
|
+
};
|
|
546
|
+
if(field.type === 'file'){
|
|
547
|
+
item[key] = value
|
|
548
|
+
}else{
|
|
549
|
+
item[key] = _.map(value, 'url')
|
|
550
|
+
}
|
|
551
|
+
}
|
|
552
|
+
})
|
|
553
|
+
})
|
|
318
554
|
|
|
319
555
|
if(enable_tree){
|
|
320
556
|
const records = payload.data.rows;
|
|
@@ -428,7 +664,7 @@
|
|
|
428
664
|
}
|
|
429
665
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));
|
|
430
666
|
return api;
|
|
431
|
-
`;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){
|
|
667
|
+
`;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__namespace.find(s.list_views,(e,t)=>"all"===t);o&&o.columns?_$1__namespace.each(o.columns,function(e){_$1__namespace.isString(e)&&s.fields[e]?u.push(s.fields[e]):_$1__namespace.isObject(e)&&s.fields[e.field]&&u.push(Object.assign({},s.fields[e.field],{width:e.width,wrap:e.wrap}));}):_$1__namespace.each(s.fields,(e,t)=>{"_id"==t||e.hidden||(_$1__namespace.has(e,"name")||(e.name=t),u.push(e));}),_$1__namespace.each(_$1__namespace.sortBy(u,"sort_no"),function(t){e<5&&(_$1__namespace.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__namespace.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=`
|
|
432
668
|
const selfData = JSON.parse(JSON.stringify(api.data.$self));
|
|
433
669
|
var filters = [];
|
|
434
670
|
var pageSize = api.data.pageSize || 10;
|
|
@@ -467,8 +703,8 @@
|
|
|
467
703
|
|
|
468
704
|
api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());
|
|
469
705
|
return api;
|
|
470
|
-
`,
|
|
471
|
-
const enable_tree = ${
|
|
706
|
+
`,o.adaptor=`
|
|
707
|
+
const enable_tree = ${s.enable_tree};
|
|
472
708
|
if(enable_tree){
|
|
473
709
|
const records = payload.data.rows;
|
|
474
710
|
const treeRecords = [];
|
|
@@ -495,7 +731,7 @@
|
|
|
495
731
|
payload.data.rows = treeRecords;
|
|
496
732
|
}
|
|
497
733
|
return payload;
|
|
498
|
-
`;let t=20,a=(
|
|
734
|
+
`;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__namespace.each(e.depend_on,function(e){r.data[e]="$"+e;}),r.data.$="$$",r.data.rfield="${object_name}",r.requestAdaptor=`
|
|
499
735
|
var filters = '[]';
|
|
500
736
|
var top = 10;
|
|
501
737
|
if(api.data.$term){
|
|
@@ -508,24 +744,7 @@
|
|
|
508
744
|
`,i&&i.labelField.name,i&&i.valueField.name,e._optionsFunction&&(r.adaptor=`
|
|
509
745
|
payload.data.options = eval(${e._optionsFunction})(api.data);
|
|
510
746
|
return payload;
|
|
511
|
-
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1__namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},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"]
|
|
512
|
-
var rootUrl = ${JSON.stringify(n)};
|
|
513
|
-
payload = {
|
|
514
|
-
status: response.status == 200 ? 0 : response.status,
|
|
515
|
-
msg: response.statusText,
|
|
516
|
-
data: {
|
|
517
|
-
value: payload._id,
|
|
518
|
-
name: payload.original.name,
|
|
519
|
-
url: rootUrl + payload._id,
|
|
520
|
-
}
|
|
521
|
-
}
|
|
522
|
-
return payload;
|
|
523
|
-
`,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}};return "file"===a&&t&&(o={type:l,tpl:`
|
|
524
|
-
<% let fileData = data.${e.name}; if (fileData) { %>
|
|
525
|
-
<% if(${!e.multiple}){ fileData = [fileData]} %>
|
|
526
|
-
<% fileData.forEach(function(item) { %>
|
|
527
|
-
<a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a>
|
|
528
|
-
<% });} %>`}),e.multiple&&(o.multiple=!0,o.joinValues=!1,o.extractValue=!0),_$1__namespace.includes(["avatar","image"],a)&&(o.enlargeAble=!0,o.showToolbar=!0),o}async function convertSFieldToAmisField(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"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__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.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__namespace.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__namespace.each(t,function(e){var t;_$1__namespace.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;`);}),`
|
|
747
|
+
`);i={type:getAmisStaticFieldType("select",t),joinValues:!1,extractValue:!0,autoComplete:r};return !_$1__namespace.has(e,"defaultValue")||_$1__namespace.isString(e.defaultValue)&&e.defaultValue.startsWith("{")||(i.value=e.defaultValue),e.multiple&&(i.multiple=!0,i.extractValue=!0),t&&(i.tpl=await getLookupTpl(e,a)),i}async function getApi(e,t,a,i){e=await getFindQuery(e,t,a,i);return {method:"post",url:getApi$2(),data:e,headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}}}async function lookupToAmis(e,t,a){var i,r;return t?{type:getAmisStaticFieldType("picker",t),tpl:getRelatedFieldTpl(e,a)}:_$1__namespace.isString(e.reference_to)||t?((i=await getReferenceTo(e))?(r=await getUISchema(i.objectName),"space_users"===i.objectName?lookupToAmisSelectUser:1==r.enable_enhanced_lookup?lookupToAmisPicker:lookupToAmisSelect):lookupToAmisSelect)(e,t,a):{type:"steedos-field-lookup",field:e,readonly:t,ctx:{},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__namespace.filter(e,function(e){return e.name.startsWith(t.name+".")});return a.subFields=e,a}function getGridFieldSubFields(t,e){var a=Object.assign({subFields:[]},t),e=_$1__namespace.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__namespace.each(e.options,e=>{switch(t){case"number":a.push({label:e.label,value:Number(e.value)});break;case"text":a.push({label:e.label,value:String(e.value)});break;case"boolean":a.push({label:e.label,value:"false"!==e.value});}}),a}async function convertSFieldToAmisField(r,l,e){if(!_$1__namespace.includes(OMIT_FIELDS,r.name)||1==e.showSystemFields){var t,a={name:e.fieldNamePrefix?""+e.fieldNamePrefix+r.name:r.name,label:r.label,labelRemark:r.inlineHelpText,required:(_$1__namespace.has(e,"required")?e:r).required};let i={};switch(r.type){case"text":i.type=getAmisStaticFieldType("text",l);break;case"textarea":i.type=getAmisStaticFieldType("textarea",l),i.tpl=`<b><%=data.${r.name}%></b>`;break;case"html":i={type:"editor",language:"html",value:r.defaultValue||""};break;case"select":i={type:getAmisStaticFieldType("select",l),joinValues:!1,options:getSelectFieldOptions(r),extractValue:!0,clearable:!0,labelField:"label",valueField:"value",tpl:l?getSelectTpl(r):null},!_$1__namespace.has(r,"defaultValue")||_$1__namespace.isString(r.defaultValue)&&r.defaultValue.startsWith("{")||(t=r.data_type||"text",null!=r.defaultValue&&("text"===t?i.value=String(r.defaultValue):"number"===t?i.value=Number(r.defaultValue):"boolean"===t&&(i.value="false"!==r.defaultValue))),r.multiple&&(i.multiple=!0,i.extractValue=!0);break;case"boolean":i={type:getAmisStaticFieldType("checkbox",l),option:r.inlineHelpText,tpl:l?getSwitchTpl(r):null};break;case"input-date-range":i={type:"input-date-range",inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"date":i={type:getAmisStaticFieldType("date",l),inputFormat:"YYYY-MM-DD",format:"YYYY-MM-DDT00:00:00.000[Z]",tpl:l?getDateTpl(r):null};break;case"input-datetime-range":i={type:"input-datetime-range",inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"datetime":i={type:getAmisStaticFieldType("datetime",l),inputFormat:"YYYY-MM-DD HH:mm",format:"YYYY-MM-DDTHH:mm:ss.SSS[Z]",tpl:l?getDateTimeTpl(r):null,utc:!0};break;case"input-time-range":i={type:"input-time-range",inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"time":i={type:getAmisStaticFieldType("time",l),inputFormat:"HH:mm",timeFormat:"1970-01-01THH:mm:00.000[Z]",format:"1970-01-01THH:mm:00.000[Z]",tpl:l?getDateTimeTpl(r):null};break;case"currency":case"number":i=l?{type:"static-tpl",tpl:getNumberTpl(r)}:{type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"input-array":i=Object.assign({},r,a);break;case"input-range":i={type:"input-range",min:r.min,max:r.max,value:[0,0],multiple:!0,showInput:!0};break;case"percent":i={type:getAmisStaticFieldType("number",l),min:r.min,max:r.max,precision:r.scale};break;case"password":i={type:getAmisStaticFieldType("password",l),tpl:l?getPasswordTpl(r):null};break;case"lookup":case"master_detail":i=await lookupToAmis(r,l,e);break;case"autonumber":l&&(i={type:"static-text"});break;case"url":i={type:getAmisStaticFieldType("url",l)};break;case"email":i={type:getAmisStaticFieldType("email",l)};break;case"avatar":case"image":case"file":i=getAmisFileSchema(r,l);break;case"formula":case"summary":l&&(i.type=getAmisStaticFieldType(r.data_type,l));break;case"code":i={type:"editor",language:r.language,value:r.defaultValue||""};break;case"toggle":i={type:"switch",name:r.name,label:r.label,width:r.width,toggled:r.toggled,disabled:l};break;case"grid":i={type:"input-table",strictMode:!1,affixHeader:!1,editable:!l,addable:!l,removable:!l,draggable:!l,columns:[]},_$1__namespace.each(r.subFields,function(e){var t=e.name.replace(r.name+".$.","").replace(r.name+".",""),a=convertSFieldToAmisField(Object.assign({},e,{name:t}),l);a&&(delete a.name,delete a.label,i.columns.push({name:t,label:e.label,quickEdit:!l&&a}));});}return _$1__namespace.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=_$1.cloneDeep(i),t=(_$1.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__namespace.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__namespace.each(t,function(e){var t;_$1__namespace.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;`);}),`
|
|
529
748
|
if(payload.data.data){
|
|
530
749
|
var data = payload.data.data[0];
|
|
531
750
|
${a}
|
|
@@ -567,7 +786,7 @@ return payload;
|
|
|
567
786
|
fileFieldsKeys.forEach((item)=>{
|
|
568
787
|
let fileFieldValue = data[item];
|
|
569
788
|
if(fileFieldValue && fileFieldValue.length){
|
|
570
|
-
const fileFieldNames = data._display[item].
|
|
789
|
+
const fileFieldNames = _.map(_.isArray(data._display[item]) ? data._display[item] : [data._display[item]], 'name');
|
|
571
790
|
if(fileFields[item].multiple){
|
|
572
791
|
if(fileFieldValue instanceof Array){
|
|
573
792
|
data[item] = fileFieldValue.map((value, index)=>{
|
|
@@ -628,7 +847,94 @@ return payload;
|
|
|
628
847
|
name: label
|
|
629
848
|
}
|
|
630
849
|
return payload;
|
|
631
|
-
`}}];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["default"].values(e.fields),n=n&&n.formSchema||{},i={type:"service",className:"p-0",name:"page_edit_"+a,api:await getEditFormInitApi(e,a,o),
|
|
850
|
+
`}}];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["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["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(_$1.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"),_$1.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=[];_$1.each(e,e=>{a.push(`${e.object_name}: ${e.object_name}__count(filters: [["${e.foreign_key}","=","${t}"]])`);});e=`
|
|
851
|
+
{
|
|
852
|
+
${a.join(",")}
|
|
853
|
+
}
|
|
854
|
+
`;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?_$1.get(e,t):void console.error("path has to be a string"):e||{}},isExpression=function(e){var t,a;return "string"==typeof e&&(t=/^{{(function.+)}}$/,a=/^{{(.+=>.+)}}$/,!("string"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(a)))},parseSingleExpression=function(t,e,a,i,r={}){var 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=`
|
|
855
|
+
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["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({
|
|
856
|
+
object: uiSchema
|
|
857
|
+
}, [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["default"].startsWith(_$1__default["default"].trim(t._visible),"function")?(window.eval("var fun = "+t._visible),t.visible=fun):isExpression(t._visible)&&(t.visible=e=>{parseSingleExpression(t._visible,e.record,"#",getGlobalData(),e.userSession);})),!_$1__default["default"].isFunction(t.visible))return t.visible;try{return t.visible(e)}catch(e){}},standardButtonsTodo={standard_delete_many:function(){var{listViewId:e,uiSchema:t}=this,e=SteedosUI?.getRef(e).getComponentByName("page.listview_"+t.name);_$1__default["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["default"].sortBy(_$1__default["default"].values(t.actions),"sort");return _$1__default["default"].has(t,"allow_customActions")&&(e=_$1__default["default"].filter(e,e=>_$1__default["default"].include(t.allow_customActions,e.name))),_$1__default["default"].has(t,"exclude_actions")&&(e=_$1__default["default"].filter(e,e=>!_$1__default["default"].include(t.exclude_actions,e.name))),_$1__default["default"].each(e,e=>{e.objectName=t.name,a.isMobile&&-1<["record","record_only"].indexOf(e.on)&&"standard_edit"!=e.name&&("record_only"==e.on?e.on="record_only_more":e.on="record_more");}),a.isMobile&&-1<["cms_files","cfs.files.filerecord"].indexOf(t.name)&&_$1__default["default"].map(e,e=>{"standard_edit"===e.name&&(e.on="record_more"),"download"===e.name&&(e.on="record");}),_$1__default["default"].filter(e,e=>_$1__default["default"].indexOf(i,e.name)<0&&"standard_query"!=e.name)},getListViewButtons=(e,t)=>{e=getButtons(e,t);return _$1__default["default"].filter(e,e=>"list"==e.on)},getObjectDetailButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record"==e.on||"record_only"==e.on);return _$1__default["default"].sortBy(t,"sort")},getObjectDetailMoreButtons=(e,t)=>{e=getButtons(e,t),t=_$1__default["default"].filter(e,e=>"record_more"==e.on||"record_only_more"==e.on);return _$1__default["default"].sortBy(t,"sort")},getListViewItemButtons=async(e,t)=>{e=getButtons(e,t);return _$1__default["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["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["default"].isString(e.todo)&&_$1__default["default"].startsWith(_$1__default["default"].trim(e.todo),"function")&&(window.eval("var fun = "+e.todo),e.todo=fun),_$1__default["default"].isFunction(e.todo)?(t={objectName:t.objectName,object_name:t.objectName,object:t.uiSchema,record:t.record,recordId:t.recordId,record_id:t.recordId,...t,action:e},e.todo.apply(t,[t.objectName,t.recordId])):void 0},executeButton=execute;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=>_$1.cloneDeep(UI_SCHEMA_CACHE[e]),hasUISchemaCache=e=>_$1.has(UI_SCHEMA_CACHE,e),getListViewColumns=(e,t)=>{return "SMALL"===t?_$1.isEmpty(e.mobile_columns)?_$1.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),_$1.each(a.list_views,(e,t)=>{e.name=t,_$1.has(e,"columns")||(e.columns=a.list_views.all.columns);});}catch(e){console.error("getUISchema",t,e),setUISchemaCache(t,null);}}return getUISchemaCache(t)}}async function getField(e,t){return (await getUISchema(e))?.fields[t]}async function getFormSchema(e,t){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectForm(e,t)}}async function getViewSchema(e,t,a){e=await getUISchema(e);return {uiSchema:e,amisSchema:await getObjectDetail(e,t,a)}}async function getListSchema(e,t,a,i={}){const r=await getUISchema(t);var l=_$1.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&&_$1.each(l.sort,function(e,t){var a;_$1.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&&_$1.each(o,function(e){_$1.isString(e)&&r.fields[e]?n.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&n.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));}),l&&l.extra_columns&&_$1.each(l.extra_columns,function(e){_$1.isString(e)?n.push({extra:!0,name:e}):_$1.isObject(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=[];_$1.each(a,function(e){_$1.isString(e)&&r.fields[e]?s.push(r.fields[e]):_$1.isObject(e)&&r.fields[e.field]&&s.push(Object.assign({},r.fields[e.field],{width:e.width,wrap:e.wrap}));});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,_$1.keys(r)[0],{globalFilter:[_$1.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(_$1.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&&!_$1.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&&!_$1.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=[];_$1.forEach(f.field_names,t=>{var e=_$1.find(g.fields,e=>e.name===t);e&&a.push(e);}),l.push({masterObjectName:i,object_name: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&&!_$1.isString(o.reference_to)?[[i+"/o","=",t],[i+"/ids","=",r]]:[""+i,"=",r],await getUISchema(t));return {masterObjectName:t,object_name:a,foreign_key:i,schema:await getListSchema(e,a,"all",{globalFilter: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)_$1.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=`
|
|
858
|
+
{
|
|
859
|
+
notifications(filters: ["owner","=","${e.userId}"], sort: "created desc,name", top : 10){
|
|
860
|
+
_id,name,body,related_to,related_name,url,owner,is_read,from,created
|
|
861
|
+
},
|
|
862
|
+
unReadCount: notifications__count(filters: [["owner","=","${e.userId}"], ["is_read", "!=", true]])
|
|
863
|
+
}
|
|
864
|
+
`;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=>{_$1.map(e,(e,t)=>{PUBLIC_ENV[t]=e;});},getEnvs=()=>PUBLIC_ENV;async function getSpaceUsersPickerAmisSchema(e,t,a){return {type:"picker",label:"人员",name:t,id:a.id,modalMode:"dialog",joinValues:!1,source:{method:"post",url:"${context.rootUrl}/graphql",data:{orderBy:"${orderBy}",orderDir:"${orderDir}",pageNo:"${page}",pageSize:"${perPage}",query:'{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: "{__sort}"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}',$term:"$term",$self:"$$"},requestAdaptor:"\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 10;\n var pageNo = api.data.pageNo || 1;\n var skip = (pageNo - 1) * pageSize;\n var orderBy = api.data.orderBy || '';\n var orderDir = api.data.orderDir || '';\n var sort = orderBy + ' ' + orderDir;\n var allowSearchFields = [\"name\"];\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"_id\", \"=\", selfData.value]];\n }\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(keyValue){\n filters.push([key, \"contains\", keyValue]);\n }\n })\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim());\n return api;\n "},pickerSchema:{mode:"table",name:"thelist",draggable:!1,headerToolbar:["switch-per-page","pagination"],defaultParams:{perPage:50},columns:[{name:"_index",type:"text",width:32,placeholder:""},{name:"_id",label:"ID",type:"text",toggled:!1},{name:"name",label:"姓名",sortable:!0,searchable:!0,type:"text"},{name:"email",label:"邮件",sortable:!0,type:"text",searchable:!0},{name:"mobile",label:"手机",type:"text",sortable:!0,searchable:!0}],syncLocation:!1,keepItemSelectionOnPageChange:!0},labelField:"name",valueField:"_id",size:"lg",extractValue:!0,className:"m-0",labelClassName:"text-left"}}async function getSpaceUsersPickerSchema(e,t){var a=await getUISchema("space_users");return {uiSchema:a,amisSchema:await getSpaceUsersPickerAmisSchema(a,e,t)}}const DATE_DATETIME_BETWEEN_VALUES=["last_year","this_year","next_year","last_quarter","this_quarter","next_quarter","last_month","this_month","next_month","last_week","this_week","next_week","yestday","today","tomorrow","last_7_days","last_30_days","last_60_days","last_90_days","last_120_days","next_7_days","next_30_days","next_60_days","next_90_days","next_120_days"],opMaps={equal:"=",not_equal:"!=",less:"<",less_or_equal:"<=",greater:">",greater_or_equal:">=",between:"between",not_between:"not_between",is_empty:"is_empty",is_not_empty:"is_not_empty",select_equals:"=",select_not_equals:"!=",select_any_in:"in",select_not_any_in:"<>",like:"contains",not_like:"notcontains",starts_with:"startswith",ends_with:"endswith"},isGroup=e=>_.has(e,"conjunction"),conditionGroupToFilters=e=>{const a=[],{conjunction:i,children:t}=e;return i&&t&&t.forEach(e=>{var t;0<a.length&&a.push(i),isGroup(e)?(t=conditionGroupToFilters(e))&&0<t.length&&a.push(t):(t=conditionItemToFilters(e))&&a.push(t);}),a},conditionItemToFilters=e=>{var t,{left:e,op:a,right:i}=e;if(e&&"field"===e.type&&a)return a.startsWith("between:")?(t=a.split(":"),[e.field,t[0],t[1]]):null!=i?[e.field,opMaps[a],i]:void 0},filterToConditionItem=t=>{var e;if(3===t.length)return "between"===(e=_$1__default["default"].findKey(opMaps,e=>e===t[1]))&&_$1__default["default"].includes(DATE_DATETIME_BETWEEN_VALUES,t[2])?{left:{type:"field",field:t[0]},op:e+":"+t[2]}:{left:{type:"field",field:t[0]},op:e,right:t[2]};console.warn("无效的filter:"+JSON.stringify(t));},filterObjectToArray=e=>!_$1__default["default"].isArray(e)&&_$1__default["default"].isObject(e)?[e.field,e.operation,e.value]:e,filtersToConditionGroup=e=>{e=filterObjectToArray(e);const t={conjunction:"and",children:[]};return e&&0!=e.length&&e.forEach(e=>{"or"===(e=filterObjectToArray(e))||"and"===e?t.conjunction=e:3===e.length&&-1==e.indexOf("and")&&-1==e.indexOf("or")?t.children.push(filterToConditionItem(e)):t.children.push(filtersToConditionGroup(e));}),t},conditionsToFilters=e=>conditionGroupToFilters(e),filtersToConditions=e=>filtersToConditionGroup(e),getSelectOptions=e=>{const a=[];return _$1.each(e.options.split("\n"),e=>{var t=e.split(":");2==t.length?a.push({label:t[0],value:t[1]}):a.push({label:e,value:e});}),a},getTdInputTpl=(e,t)=>{const a={label:!0===t&&e.name,name:e.code,mode:"horizontal",className:"m-none p-none",disabled:"readonly"===e.permission};switch(e.type){case"input":e.is_textarea?a.type="textarea":a.type="input-text";break;case"number":a.type="input-number";break;case"date":a.type="input-date";break;case"dateTime":a.type="input-datetime";break;case"checkbox":a.type="checkbox";break;case"email":a.type="input-email",a.validations={isEmail:!0};break;case"url":a.type="input-url",a.validations={isUrl:!0};break;case"password":a.type="input-password",a.showCounter=!0;break;case"select":a.type="select",a.options=getSelectOptions(e);break;case"user":case"group":a.type="input-text";break;case"radio":a.type="radios",a.options=getSelectOptions(e);break;case"multiSelect":a.type="checkboxes",a.options=getSelectOptions(e);break;case"odata":var i=e.formula.substr(1,e.formula.length-2);a.type="select",a.multiple=e.is_multiselect,a.labelField=i,a.valueField="$$",a.source={url:_$1.startsWith(e.url,"http")?e.url:"${context.rootUrl}"+e.url,method:"get",dataType:"json",headers:{Authorization:"Bearer ${context.tenantId},${context.authToken}"}};break;case"html":a.type="html";break;case"table":a.type="input-table",a.addable="readonly"!=e.permission,a.editable=a.addable,a.copyable=a.addable,a.columns=[],_$1.each(e.sfields,e=>{"hidden"!=e.type&&a.columns.push(getTdInputTpl(e,!0));});break;case"section":a.type="input-text";}return a},getTdField=(e,t)=>({background:"readonly"===e.permission?"":"rgba(255,255,0,.1)",colspan:"table"===e.type?4:3-2*(t-1),align:"left",className:"td-field",body:[getTdInputTpl(e)],style:{marginTop:"0",paddingTop:"0",paddingRight:"0",paddingBottom:"0",paddingLeft:"0",marginRight:"0",marginBottom:"0",marginLeft:"0"}}),getTdTitle=e=>({className:"td-title",align:"section"!=e.type?"center":"left",width:"section"!=e.type?"16%":"",colspan:"section"==e.type?4:"",body:[{type:"tpl",tpl:`<div style='font-size:20px'>${e.name}</div>`}]}),getTds=t=>{const a=[];return _$1.each(t,e=>{"table"!=e.type&&a.push(getTdTitle(e)),"section"!=e.type&&a.push(getTdField(e,t.length));}),a},getFormTrs=a=>{const t=[],i=[];let r=[];return _$1.each(a.fields,(e,t)=>{e.is_wide?(0!=r.length&&i.push(r),"table"==e.type&&i.push([Object.assign({},e,{type:"section"})]),(r=[]).push(e),i.push(r),r=[]):(r.push(e),2!=r.length&&t!==a.fields.length-1||(i.push(r),r=[]));}),_$1.each(i,e=>{t.push({background:"#F7F7F7",tds:getTds(e)});}),t},getFormTableView=e=>({type:"table-view",trs:getFormTrs(e),id:"u:047f3669468b"}),getFlowFormSchema=e=>({type:"page",body:[{type:"service",data:{beijing:"20",tianjing:"19"},body:[{type:"tpl",id:"u:f5bb0ad602a6",tpl:`<div style='font-size:20px'>${e.title}</div>`,inline:!0,wrapperComponent:"",style:{fontFamily:"",fontSize:12,textAlign:"center"}},getFormTableView(e)],id:"u:a381684e042b"}],id:"u:63849ea39e12",messages:{},pullRefresh:{},regions:["body"]}),registerRemoteAssets=async t=>{if(t&&0<t.length){let e=t;_$1.isString(e)&&(e=e.split(",")),await Builder.registerRemoteAssets(e);t=_$1.filter(Builder.registry["meta-components"],function(e){return e.componentName&&e.amis?.render});return _$1.map(t,e=>({componentType:e.componentType,componentName:e.componentName,...e.amis.render}))}return []};var __assign=function(){return (__assign=Object.assign||function(e){for(var t,a=1,i=arguments.length;a<i;a++)for(var r in t=arguments[a])Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e}).apply(this,arguments)},keyToPath=function(e){var r=[];return e.charCodeAt(0)===".".charCodeAt(0)&&r.push(""),e.replace(new RegExp("[^.[\\]]+|\\[(?:([^\"'][^[]*)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))","g"),function(e,t,a,i){return a?e=i.replace(/\\(\\)?/g,"$1"):t&&(e=t.trim()),r.push(e),""}),r};function createObject(e,t,a){var i=(e=e&&Object.isFrozen(e)?cloneObject(e):e)?Object.create(e,__assign(__assign({},a),{__super:{value:e,writable:!1,enumerable:!1}})):Object.create(Object.prototype,a);return t&&isObject(t)&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function cloneObject(t,e){void 0===e&&(e=!0);var a=t&&t.__super?Object.create(t.__super,{__super:{value:t.__super,writable:!1,enumerable:!1}}):Object.create(Object.prototype);return e&&t&&Object.keys(t).forEach(function(e){return a[e]=t[e]}),a}function extendObject(e,t,a){var i=cloneObject(e,a=void 0===a?!0:a);return t&&Object.keys(t).forEach(function(e){return i[e]=t[e]}),i}function isObject(e){var t=typeof e;return e&&"string"!=t&&"number"!=t&&"boolean"!=t&&"function"!=t&&!Array.isArray(e)}function setVariable(e,t,a,i){if(t in(e=e||{}))e[t]=a;else {for(var r=!1!==i?keyToPath(t):[t],i=r.pop();r.length;){var l=r.shift();e=isPlainObject_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];}}
|
|
865
|
+
|
|
866
|
+
var index_esm = /*#__PURE__*/Object.freeze({
|
|
867
|
+
__proto__: null,
|
|
868
|
+
absoluteUrl: absoluteUrl,
|
|
869
|
+
amisRender: amisRender,
|
|
870
|
+
amisRootClick: amisRootClick,
|
|
871
|
+
cloneObject: cloneObject,
|
|
872
|
+
conditionsToFilters: conditionsToFilters,
|
|
873
|
+
createObject: createObject,
|
|
874
|
+
defaultsDeep: defaultsDeep,
|
|
875
|
+
deleteVariable: deleteVariable,
|
|
876
|
+
execute: execute,
|
|
877
|
+
executeButton: executeButton,
|
|
878
|
+
extendObject: extendObject,
|
|
879
|
+
fetchAPI: fetchAPI,
|
|
880
|
+
filtersToConditions: filtersToConditions,
|
|
881
|
+
getApp: getApp,
|
|
882
|
+
getApps: getApps,
|
|
883
|
+
getAuthToken: getAuthToken,
|
|
884
|
+
getAuthorization: getAuthorization,
|
|
885
|
+
getButton: getButton,
|
|
886
|
+
getButtonVisible: getButtonVisible,
|
|
887
|
+
getButtonVisibleOn: getButtonVisibleOn,
|
|
888
|
+
getButtons: getButtons,
|
|
889
|
+
getEnv: getEnv,
|
|
890
|
+
getEnvs: getEnvs,
|
|
891
|
+
getEvn: getEvn,
|
|
892
|
+
getField: getField,
|
|
893
|
+
getFileSrc: getFileSrc,
|
|
894
|
+
getFlowFormSchema: getFlowFormSchema,
|
|
895
|
+
getFormSchema: getFormSchema,
|
|
896
|
+
getImageSrc: getImageSrc,
|
|
897
|
+
getListSchema: getListSchema,
|
|
898
|
+
getListViewButtons: getListViewButtons,
|
|
899
|
+
getListViewItemButtons: getListViewItemButtons,
|
|
900
|
+
getNotifications: getNotifications,
|
|
901
|
+
getObjectDetailButtons: getObjectDetailButtons,
|
|
902
|
+
getObjectDetailMoreButtons: getObjectDetailMoreButtons,
|
|
903
|
+
getObjectRelated: getObjectRelated,
|
|
904
|
+
getObjectRelatedList: getObjectRelatedList,
|
|
905
|
+
getPage: getPage,
|
|
906
|
+
getRecord: getRecord,
|
|
907
|
+
getRecordDetailHeaderSchema: getRecordDetailHeaderSchema,
|
|
908
|
+
getRecordDetailRelatedListSchema: getRecordDetailRelatedListSchema,
|
|
909
|
+
getRecordPermissions: getRecordPermissions,
|
|
910
|
+
getRelatedsCount: getRelatedsCount,
|
|
911
|
+
getRootUrl: getRootUrl,
|
|
912
|
+
getSearchableFieldsFilterSchema: getSearchableFieldsFilterSchema,
|
|
913
|
+
getSelectUserSchema: getSelectUserSchema,
|
|
914
|
+
getSpaceUsersPickerAmisSchema: getSpaceUsersPickerAmisSchema,
|
|
915
|
+
getSpaceUsersPickerSchema: getSpaceUsersPickerSchema,
|
|
916
|
+
getSteedosAuth: getSteedosAuth,
|
|
917
|
+
getTableSchema: getTableSchema,
|
|
918
|
+
getTenantId: getTenantId,
|
|
919
|
+
getUISchema: getUISchema,
|
|
920
|
+
getViewSchema: getViewSchema,
|
|
921
|
+
isExpression: isExpression,
|
|
922
|
+
isObject: isObject,
|
|
923
|
+
lookupToAmis: lookupToAmis,
|
|
924
|
+
lookupToAmisPicker: lookupToAmisPicker,
|
|
925
|
+
lookupToAmisSelect: lookupToAmisSelect,
|
|
926
|
+
lookupToAmisSelectUser: lookupToAmisSelectUser,
|
|
927
|
+
markReadAll: markReadAll,
|
|
928
|
+
parseSingleExpression: parseSingleExpression,
|
|
929
|
+
registerRemoteAssets: registerRemoteAssets,
|
|
930
|
+
registerRenders: registerRenders,
|
|
931
|
+
setEnv: setEnv,
|
|
932
|
+
setEnvs: setEnvs,
|
|
933
|
+
setRootUrl: setRootUrl,
|
|
934
|
+
setSteedosAuth: setSteedosAuth,
|
|
935
|
+
setVariable: setVariable,
|
|
936
|
+
standardButtonsTodo: standardButtonsTodo
|
|
937
|
+
});
|
|
632
938
|
|
|
633
939
|
var getSchema = function (field, value, ctx) { return __awaiter(void 0, void 0, void 0, function () {
|
|
634
940
|
var refTo, leftName, options, refTo_1, refTo_1_1, item, refObject_1, e_1_1, refObject, rightSchema;
|
|
@@ -756,6 +1062,112 @@ return payload;
|
|
|
756
1062
|
}))) : null));
|
|
757
1063
|
};
|
|
758
1064
|
|
|
1065
|
+
var AmisObjectButton = function (props) {
|
|
1066
|
+
var objectName = props.objectName, name = props.name, data = props.data, render = props.render, className = props.className, listViewId = props.listViewId;
|
|
1067
|
+
var _a = __read(React.useState(), 2), button = _a[0], setButton = _a[1];
|
|
1068
|
+
var _b = __read(React.useState(), 2), uiSchema = _b[0], setUiSchema = _b[1];
|
|
1069
|
+
//TODO 处理上下文参数
|
|
1070
|
+
var appId = data.appId;
|
|
1071
|
+
var formFactor = data.formFactor;
|
|
1072
|
+
React.useEffect(function () {
|
|
1073
|
+
if (objectName) {
|
|
1074
|
+
getUISchema(objectName, false).then(function (uiSchema) {
|
|
1075
|
+
getButton(objectName, name, {
|
|
1076
|
+
objectName: objectName,
|
|
1077
|
+
recordId: data._id,
|
|
1078
|
+
appId: appId,
|
|
1079
|
+
uiSchema: uiSchema,
|
|
1080
|
+
formFactor: formFactor,
|
|
1081
|
+
router: null,
|
|
1082
|
+
listViewId: data.listViewId,
|
|
1083
|
+
props: {
|
|
1084
|
+
className: "antd-Button antd-Button--link"
|
|
1085
|
+
}
|
|
1086
|
+
}).then(function (result) {
|
|
1087
|
+
setButton(result);
|
|
1088
|
+
setUiSchema(uiSchema);
|
|
1089
|
+
});
|
|
1090
|
+
});
|
|
1091
|
+
}
|
|
1092
|
+
}, [objectName, name]);
|
|
1093
|
+
var buttonClick = function () {
|
|
1094
|
+
var dataComponentId = data.dataComponentId;
|
|
1095
|
+
//Object.assign({}, data , {scope: (window as any).SteedosUI.getRef(dataComponentId)})
|
|
1096
|
+
return executeButton(button, {
|
|
1097
|
+
objectName: objectName,
|
|
1098
|
+
listViewId: listViewId || data.listViewId,
|
|
1099
|
+
uiSchema: uiSchema,
|
|
1100
|
+
record: data,
|
|
1101
|
+
recordId: data._id,
|
|
1102
|
+
appId: appId,
|
|
1103
|
+
formFactor: formFactor,
|
|
1104
|
+
scope: window.SteedosUI.getRef(dataComponentId)
|
|
1105
|
+
});
|
|
1106
|
+
};
|
|
1107
|
+
if (!button) {
|
|
1108
|
+
return (React__default["default"].createElement(React__default["default"].Fragment, null, "loading..."));
|
|
1109
|
+
}
|
|
1110
|
+
if (button.type === "amis_button") {
|
|
1111
|
+
var amisSchema = button.amis_schema;
|
|
1112
|
+
var schema = _$1.isString(amisSchema) ? JSON.parse(amisSchema) : amisSchema;
|
|
1113
|
+
if (schema && schema.body.length > 0) {
|
|
1114
|
+
delete schema.body[0]['visibleOn'];
|
|
1115
|
+
}
|
|
1116
|
+
return (React__default["default"].createElement("div", { className: className }, button && amisSchema ? (React__default["default"].createElement("div", { className: "container" }, render('body', schema, {
|
|
1117
|
+
// 这里的信息会作为 props 传递给子组件,一般情况下都不需要这个,
|
|
1118
|
+
data: Object.assign(data, { recordId: data._id, objectName: objectName, listViewId: data.listViewId, app_id: appId }),
|
|
1119
|
+
onChange: function () {
|
|
1120
|
+
console.log("change....");
|
|
1121
|
+
}
|
|
1122
|
+
}))) : null));
|
|
1123
|
+
}
|
|
1124
|
+
else {
|
|
1125
|
+
return (React__default["default"].createElement("button", { onClick: buttonClick, className: "antd-Button ".concat(className ? className : '') }, button.label));
|
|
1126
|
+
}
|
|
1127
|
+
};
|
|
1128
|
+
|
|
1129
|
+
var getMenu = function (render, buttons, props) {
|
|
1130
|
+
return React__default["default"].createElement(antd.Menu, { items: _$1.map(buttons, function (button) {
|
|
1131
|
+
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';
|
|
1132
|
+
return {
|
|
1133
|
+
key: button.name,
|
|
1134
|
+
className: 'py-0 min-w-40',
|
|
1135
|
+
label: (React__default["default"].createElement(React__default["default"].Fragment, null, render('body', button, props)))
|
|
1136
|
+
};
|
|
1137
|
+
}) });
|
|
1138
|
+
};
|
|
1139
|
+
var SteedosDropdownButton = function (props) {
|
|
1140
|
+
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;
|
|
1141
|
+
var _a = __read(React.useState(React__default["default"].createElement(React__default["default"].Fragment, null)), 2), menu = _a[0], setMenu = _a[1];
|
|
1142
|
+
var onOpenChange = function (open) {
|
|
1143
|
+
if (open) {
|
|
1144
|
+
if (onOpenApi) {
|
|
1145
|
+
try {
|
|
1146
|
+
env.fetcher(onOpenApi, createObject(data, {})).then(function (result) {
|
|
1147
|
+
var openData = (result === null || result === void 0 ? void 0 : result.hasOwnProperty('ok')) ? result.data : result;
|
|
1148
|
+
setMenu(getMenu(render, buttons, {
|
|
1149
|
+
data: createObject(data, _$1.defaultsDeep(openData, data))
|
|
1150
|
+
}));
|
|
1151
|
+
}).catch(function (e) {
|
|
1152
|
+
console.error(e);
|
|
1153
|
+
});
|
|
1154
|
+
}
|
|
1155
|
+
catch (error) {
|
|
1156
|
+
console.error(error);
|
|
1157
|
+
}
|
|
1158
|
+
}
|
|
1159
|
+
else {
|
|
1160
|
+
setMenu(getMenu(render, buttons, {
|
|
1161
|
+
data: data
|
|
1162
|
+
}));
|
|
1163
|
+
}
|
|
1164
|
+
}
|
|
1165
|
+
};
|
|
1166
|
+
return (React__default["default"].createElement(antd.Dropdown, { overlay: menu, trigger: ['click'], onOpenChange: onOpenChange },
|
|
1167
|
+
React__default["default"].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" },
|
|
1168
|
+
React__default["default"].createElement("path", { strokeLinecap: "round", strokeLinejoin: "round", d: "M19.5 8.25l-7.5 7.5-7.5-7.5" }))));
|
|
1169
|
+
};
|
|
1170
|
+
|
|
759
1171
|
var AmisObjectForm = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
760
1172
|
var $schema, recordId, mode, layout, labelAlign, objectApiName, schemaKeys, formSchema, defaults, options;
|
|
761
1173
|
return __generator(this, function (_a) {
|
|
@@ -763,7 +1175,7 @@ return payload;
|
|
|
763
1175
|
case 0:
|
|
764
1176
|
$schema = props.$schema, recordId = props.recordId, mode = props.mode, layout = props.layout, labelAlign = props.labelAlign;
|
|
765
1177
|
objectApiName = props.objectApiName || "space_users";
|
|
766
|
-
schemaKeys = _$1.difference(_$1.keys($schema), ["type"]);
|
|
1178
|
+
schemaKeys = _$1.difference(_$1.keys($schema), ["type", "mode", "layout"]);
|
|
767
1179
|
formSchema = _$1.pick(props, schemaKeys);
|
|
768
1180
|
defaults = {
|
|
769
1181
|
formSchema: formSchema
|
|
@@ -810,19 +1222,21 @@ return payload;
|
|
|
810
1222
|
}); };
|
|
811
1223
|
|
|
812
1224
|
var AmisObjectTable = function (props) { return __awaiter(void 0, void 0, void 0, function () {
|
|
813
|
-
var $schema, filters, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, defaults;
|
|
1225
|
+
var $schema, filters, amisCondition, top, sortField, sortOrder, data, columns, objectApiName, schemaKeys, listSchema, amisFilters, tableFilters, defaults;
|
|
814
1226
|
return __generator(this, function (_a) {
|
|
815
1227
|
switch (_a.label) {
|
|
816
1228
|
case 0:
|
|
817
|
-
$schema = props.$schema, filters = props.filters, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
|
|
1229
|
+
$schema = props.$schema, filters = props.filters, amisCondition = props.amisCondition, top = props.top, sortField = props.sortField, sortOrder = props.sortOrder, data = props.data;
|
|
818
1230
|
columns = props.columns || [];
|
|
819
1231
|
objectApiName = props.objectApiName || "space_users";
|
|
820
1232
|
schemaKeys = _$1.difference(_$1.keys($schema), ["type", "objectApiName", "columns"]);
|
|
821
1233
|
listSchema = _$1.pick(props, schemaKeys);
|
|
1234
|
+
amisFilters = amisCondition && conditionsToFilters(amisCondition);
|
|
1235
|
+
tableFilters = filters || amisFilters;
|
|
822
1236
|
defaults = {
|
|
823
1237
|
listSchema: listSchema
|
|
824
1238
|
};
|
|
825
|
-
return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters:
|
|
1239
|
+
return [4 /*yield*/, getTableSchema(data.appId, objectApiName, columns, { filters: tableFilters, top: top, sortField: sortField, sortOrder: sortOrder, defaults: defaults })];
|
|
826
1240
|
case 1: return [2 /*return*/, (_a.sent()).amisSchema];
|
|
827
1241
|
}
|
|
828
1242
|
});
|
|
@@ -893,6 +1307,8 @@ return payload;
|
|
|
893
1307
|
});
|
|
894
1308
|
}); };
|
|
895
1309
|
|
|
1310
|
+
exports.AmisLib = index_esm;
|
|
1311
|
+
exports.AmisObjectButton = AmisObjectButton;
|
|
896
1312
|
exports.AmisObjectFieldLookup = AmisObjectFieldLookup;
|
|
897
1313
|
exports.AmisObjectForm = AmisObjectForm;
|
|
898
1314
|
exports.AmisObjectListView = AmisObjectListView;
|
|
@@ -901,6 +1317,7 @@ return payload;
|
|
|
901
1317
|
exports.AmisRecordDetailHeader = AmisRecordDetailHeader;
|
|
902
1318
|
exports.AmisRecordDetailRelatedList = AmisRecordDetailRelatedList;
|
|
903
1319
|
exports.AmisSelectUser = AmisSelectUser;
|
|
1320
|
+
exports.SteedosDropdownButton = SteedosDropdownButton;
|
|
904
1321
|
|
|
905
1322
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
906
1323
|
|