@steedos-widgets/amis-object 6.10.1-beta.8 → 6.10.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"amis-object.cjs.js","sources":["../../../../node_modules/tslib/tslib.es6.mjs","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/inherits.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/iterableToArray.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","../../../../node_modules/i18next/node_modules/@babel/runtime/helpers/esm/toArray.js","../../../../node_modules/i18next/dist/esm/i18next.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/typeof.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/toPrimitive.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/defineProperty.js","../../../../node_modules/react-i18next/dist/es/unescape.js","../../../../node_modules/react-i18next/dist/es/defaults.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","../../../../node_modules/react-i18next/node_modules/@babel/runtime/helpers/esm/createClass.js","../../../../node_modules/react-i18next/dist/es/initReactI18next.js","../../../../node_modules/react-i18next/dist/es/context.js","../../../../node_modules/lodash/_freeGlobal.js","../../../../node_modules/lodash/_root.js","../../../../node_modules/lodash/_Symbol.js","../../../../node_modules/lodash/_getRawTag.js","../../../../node_modules/lodash/_objectToString.js","../../../../node_modules/lodash/_baseGetTag.js","../../../../node_modules/lodash/_overArg.js","../../../../node_modules/lodash/_getPrototype.js","../../../../node_modules/lodash/isObjectLike.js","../../../../node_modules/lodash/isPlainObject.js","../../amis-lib/dist/index.esm.js","../../src/components/fields/AmisObjectFieldLookup.tsx","../../src/components/buttons/button.tsx","../../src/components/buttons/dropdown-button.tsx","../../src/components/SteedosIcon.tsx","../../src/components/Dropdown/index.tsx","../../src/components/FromNow.tsx","../../src/components/SteedosBadge.tsx","../../src/components/SteedosBadgeRibbon.tsx","../../src/components/SteedosLoading.tsx","../../src/components/SteedosSkeleton.tsx","../../src/components/SteedosFieldSet.tsx","../../../../node_modules/lodash/_listCacheClear.js","../../../../node_modules/lodash/eq.js","../../../../node_modules/lodash/_assocIndexOf.js","../../../../node_modules/lodash/_listCacheDelete.js","../../../../node_modules/lodash/_listCacheGet.js","../../../../node_modules/lodash/_listCacheHas.js","../../../../node_modules/lodash/_listCacheSet.js","../../../../node_modules/lodash/_ListCache.js","../../../../node_modules/lodash/_stackClear.js","../../../../node_modules/lodash/_stackDelete.js","../../../../node_modules/lodash/_stackGet.js","../../../../node_modules/lodash/_stackHas.js","../../../../node_modules/lodash/isObject.js","../../../../node_modules/lodash/isFunction.js","../../../../node_modules/lodash/_coreJsData.js","../../../../node_modules/lodash/_isMasked.js","../../../../node_modules/lodash/_toSource.js","../../../../node_modules/lodash/_baseIsNative.js","../../../../node_modules/lodash/_getValue.js","../../../../node_modules/lodash/_getNative.js","../../../../node_modules/lodash/_Map.js","../../../../node_modules/lodash/_nativeCreate.js","../../../../node_modules/lodash/_hashClear.js","../../../../node_modules/lodash/_hashDelete.js","../../../../node_modules/lodash/_hashGet.js","../../../../node_modules/lodash/_hashHas.js","../../../../node_modules/lodash/_hashSet.js","../../../../node_modules/lodash/_Hash.js","../../../../node_modules/lodash/_mapCacheClear.js","../../../../node_modules/lodash/_isKeyable.js","../../../../node_modules/lodash/_getMapData.js","../../../../node_modules/lodash/_mapCacheDelete.js","../../../../node_modules/lodash/_mapCacheGet.js","../../../../node_modules/lodash/_mapCacheHas.js","../../../../node_modules/lodash/_mapCacheSet.js","../../../../node_modules/lodash/_MapCache.js","../../../../node_modules/lodash/_stackSet.js","../../../../node_modules/lodash/_Stack.js","../../../../node_modules/lodash/_defineProperty.js","../../../../node_modules/lodash/_baseAssignValue.js","../../../../node_modules/lodash/_assignMergeValue.js","../../../../node_modules/lodash/_createBaseFor.js","../../../../node_modules/lodash/_baseFor.js","../../../../node_modules/lodash/_cloneBuffer.js","../../../../node_modules/lodash/_Uint8Array.js","../../../../node_modules/lodash/_cloneArrayBuffer.js","../../../../node_modules/lodash/_cloneTypedArray.js","../../../../node_modules/lodash/_copyArray.js","../../../../node_modules/lodash/_baseCreate.js","../../../../node_modules/lodash/_isPrototype.js","../../../../node_modules/lodash/_initCloneObject.js","../../../../node_modules/lodash/_baseIsArguments.js","../../../../node_modules/lodash/isArguments.js","../../../../node_modules/lodash/isArray.js","../../../../node_modules/lodash/isLength.js","../../../../node_modules/lodash/isArrayLike.js","../../../../node_modules/lodash/isArrayLikeObject.js","../../../../node_modules/lodash/stubFalse.js","../../../../node_modules/lodash/isBuffer.js","../../../../node_modules/lodash/_baseIsTypedArray.js","../../../../node_modules/lodash/_baseUnary.js","../../../../node_modules/lodash/_nodeUtil.js","../../../../node_modules/lodash/isTypedArray.js","../../../../node_modules/lodash/_safeGet.js","../../../../node_modules/lodash/_assignValue.js","../../../../node_modules/lodash/_copyObject.js","../../../../node_modules/lodash/_baseTimes.js","../../../../node_modules/lodash/_isIndex.js","../../../../node_modules/lodash/_arrayLikeKeys.js","../../../../node_modules/lodash/_nativeKeysIn.js","../../../../node_modules/lodash/_baseKeysIn.js","../../../../node_modules/lodash/keysIn.js","../../../../node_modules/lodash/toPlainObject.js","../../../../node_modules/lodash/_baseMergeDeep.js","../../../../node_modules/lodash/_baseMerge.js","../../../../node_modules/lodash/identity.js","../../../../node_modules/lodash/_apply.js","../../../../node_modules/lodash/_overRest.js","../../../../node_modules/lodash/constant.js","../../../../node_modules/lodash/_baseSetToString.js","../../../../node_modules/lodash/_shortOut.js","../../../../node_modules/lodash/_setToString.js","../../../../node_modules/lodash/_baseRest.js","../../../../node_modules/lodash/_isIterateeCall.js","../../../../node_modules/lodash/_createAssigner.js","../../../../node_modules/lodash/merge.js","../../src/components/SteedosObject.tsx","../../src/amis/AmisObjectForm.tsx","../../src/amis/AmisObjectListview.tsx","../../src/amis/AmisObjectTable.tsx","../../src/amis/AmisObjectCalendar.tsx","../../src/amis/AmisRecordDetailHeader.tsx","../../src/amis/AmisRecordDetail.tsx","../../src/amis/AmisRecordService.tsx","../../src/amis/AmisRecordDetailRelatedList.tsx","../../src/amis/AmisRecordDetailRelatedLists.tsx","../../src/amis/AmisSelectUser.tsx","../../src/amis/AmisProvider.tsx","../../src/amis/AmisAppLauncher.tsx","../../src/amis/AmisLogo.tsx","../../src/amis/AmisAppMenu.tsx","../../src/amis/AmisGlobalFooter.tsx","../../src/amis/AmisGlobalHeaderToolbar.tsx","../../src/amis/AmisGlobalHeader.tsx","../../src/amis/AmisSteedosField.tsx","../../src/amis/AmisSelectFlow.tsx","../../src/amis/AmisInstanceDetail.tsx","../../src/amis/AmisInputTable.tsx","../../src/amis/AmisRecordDetailMini.tsx","../../src/amis/steedos-fields/index.tsx","../../src/amis/AmisSteedosFieldGroup.tsx","../../src/amis/AmisSteedosObject.tsx","../../src/pages/PageListView.tsx","../../src/pages/PageRecordDetail.tsx","../../src/pages/PageObject.tsx","../../steedos-lib/dist/index.esm.js"],"sourcesContent":["/******************************************************************************\nCopyright (c) Microsoft Corporation.\n\nPermission to use, copy, modify, and/or distribute this software for any\npurpose with or without fee is hereby granted.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\nPERFORMANCE OF THIS SOFTWARE.\n***************************************************************************** */\n/* global Reflect, Promise, SuppressedError, Symbol, Iterator */\n\nvar extendStatics = function(d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n};\n\nexport function __extends(d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n}\n\nexport var __assign = function() {\n __assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n return t;\n }\n return __assign.apply(this, arguments);\n}\n\nexport function __rest(s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n}\n\nexport function __decorate(decorators, target, key, desc) {\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\n return c > 3 && r && Object.defineProperty(target, key, r), r;\n}\n\nexport function __param(paramIndex, decorator) {\n return function (target, key) { decorator(target, key, paramIndex); }\n}\n\nexport function __esDecorate(ctor, descriptorIn, decorators, contextIn, initializers, extraInitializers) {\n function accept(f) { if (f !== void 0 && typeof f !== \"function\") throw new TypeError(\"Function expected\"); return f; }\n var kind = contextIn.kind, key = kind === \"getter\" ? \"get\" : kind === \"setter\" ? \"set\" : \"value\";\n var target = !descriptorIn && ctor ? contextIn[\"static\"] ? ctor : ctor.prototype : null;\n var descriptor = descriptorIn || (target ? Object.getOwnPropertyDescriptor(target, contextIn.name) : {});\n var _, done = false;\n for (var i = decorators.length - 1; i >= 0; i--) {\n var context = {};\n for (var p in contextIn) context[p] = p === \"access\" ? {} : contextIn[p];\n for (var p in contextIn.access) context.access[p] = contextIn.access[p];\n context.addInitializer = function (f) { if (done) throw new TypeError(\"Cannot add initializers after decoration has completed\"); extraInitializers.push(accept(f || null)); };\n var result = (0, decorators[i])(kind === \"accessor\" ? { get: descriptor.get, set: descriptor.set } : descriptor[key], context);\n if (kind === \"accessor\") {\n if (result === void 0) continue;\n if (result === null || typeof result !== \"object\") throw new TypeError(\"Object expected\");\n if (_ = accept(result.get)) descriptor.get = _;\n if (_ = accept(result.set)) descriptor.set = _;\n if (_ = accept(result.init)) initializers.unshift(_);\n }\n else if (_ = accept(result)) {\n if (kind === \"field\") initializers.unshift(_);\n else descriptor[key] = _;\n }\n }\n if (target) Object.defineProperty(target, contextIn.name, descriptor);\n done = true;\n};\n\nexport function __runInitializers(thisArg, initializers, value) {\n var useValue = arguments.length > 2;\n for (var i = 0; i < initializers.length; i++) {\n value = useValue ? initializers[i].call(thisArg, value) : initializers[i].call(thisArg);\n }\n return useValue ? value : void 0;\n};\n\nexport function __propKey(x) {\n return typeof x === \"symbol\" ? x : \"\".concat(x);\n};\n\nexport function __setFunctionName(f, name, prefix) {\n if (typeof name === \"symbol\") name = name.description ? \"[\".concat(name.description, \"]\") : \"\";\n return Object.defineProperty(f, \"name\", { configurable: true, value: prefix ? \"\".concat(prefix, \" \", name) : name });\n};\n\nexport function __metadata(metadataKey, metadataValue) {\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\n}\n\nexport function __awaiter(thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n}\n\nexport function __generator(thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === \"function\" ? Iterator : Object).prototype);\n return g.next = verb(0), g[\"throw\"] = verb(1), g[\"return\"] = verb(2), typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n}\n\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n var desc = Object.getOwnPropertyDescriptor(m, k);\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\n desc = { enumerable: true, get: function() { return m[k]; } };\n }\n Object.defineProperty(o, k2, desc);\n}) : (function(o, m, k, k2) {\n if (k2 === undefined) k2 = k;\n o[k2] = m[k];\n});\n\nexport function __exportStar(m, o) {\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\n}\n\nexport function __values(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n}\n\nexport function __read(o, n) {\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\n if (!m) return o;\n var i = m.call(o), r, ar = [], e;\n try {\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\n }\n catch (error) { e = { error: error }; }\n finally {\n try {\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\n }\n finally { if (e) throw e.error; }\n }\n return ar;\n}\n\n/** @deprecated */\nexport function __spread() {\n for (var ar = [], i = 0; i < arguments.length; i++)\n ar = ar.concat(__read(arguments[i]));\n return ar;\n}\n\n/** @deprecated */\nexport function __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n}\n\nexport function __spreadArray(to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n}\n\nexport function __await(v) {\n return this instanceof __await ? (this.v = v, this) : new __await(v);\n}\n\nexport function __asyncGenerator(thisArg, _arguments, generator) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\n return i = Object.create((typeof AsyncIterator === \"function\" ? AsyncIterator : Object).prototype), verb(\"next\"), verb(\"throw\"), verb(\"return\", awaitReturn), i[Symbol.asyncIterator] = function () { return this; }, i;\n function awaitReturn(f) { return function (v) { return Promise.resolve(v).then(f, reject); }; }\n function verb(n, f) { if (g[n]) { i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; if (f) i[n] = f(i[n]); } }\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\n function fulfill(value) { resume(\"next\", value); }\n function reject(value) { resume(\"throw\", value); }\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\n}\n\nexport function __asyncDelegator(o) {\n var i, p;\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: false } : f ? f(v) : v; } : f; }\n}\n\nexport function __asyncValues(o) {\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\n var m = o[Symbol.asyncIterator], i;\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\n}\n\nexport function __makeTemplateObject(cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n\nvar __setModuleDefault = Object.create ? (function(o, v) {\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\n}) : function(o, v) {\n o[\"default\"] = v;\n};\n\nvar ownKeys = function(o) {\n ownKeys = Object.getOwnPropertyNames || function (o) {\n var ar = [];\n for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;\n return ar;\n };\n return ownKeys(o);\n};\n\nexport function __importStar(mod) {\n if (mod && mod.__esModule) return mod;\n var result = {};\n if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== \"default\") __createBinding(result, mod, k[i]);\n __setModuleDefault(result, mod);\n return result;\n}\n\nexport function __importDefault(mod) {\n return (mod && mod.__esModule) ? mod : { default: mod };\n}\n\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\n}\n\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\n}\n\nexport function __classPrivateFieldIn(state, receiver) {\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\n}\n\nexport function __addDisposableResource(env, value, async) {\n if (value !== null && value !== void 0) {\n if (typeof value !== \"object\" && typeof value !== \"function\") throw new TypeError(\"Object expected.\");\n var dispose, inner;\n if (async) {\n if (!Symbol.asyncDispose) throw new TypeError(\"Symbol.asyncDispose is not defined.\");\n dispose = value[Symbol.asyncDispose];\n }\n if (dispose === void 0) {\n if (!Symbol.dispose) throw new TypeError(\"Symbol.dispose is not defined.\");\n dispose = value[Symbol.dispose];\n if (async) inner = dispose;\n }\n if (typeof dispose !== \"function\") throw new TypeError(\"Object not disposable.\");\n if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } };\n env.stack.push({ value: value, dispose: dispose, async: async });\n }\n else if (async) {\n env.stack.push({ async: true });\n }\n return value;\n}\n\nvar _SuppressedError = typeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\n var e = new Error(message);\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\n};\n\nexport function __disposeResources(env) {\n function fail(e) {\n env.error = env.hasError ? new _SuppressedError(e, env.error, \"An error was suppressed during disposal.\") : e;\n env.hasError = true;\n }\n var r, s = 0;\n function next() {\n while (r = env.stack.pop()) {\n try {\n if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next);\n if (r.dispose) {\n var result = r.dispose.call(r.value);\n if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); });\n }\n else s |= 1;\n }\n catch (e) {\n fail(e);\n }\n }\n if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve();\n if (env.hasError) throw env.error;\n }\n return next();\n}\n\nexport function __rewriteRelativeImportExtension(path, preserveJsx) {\n if (typeof path === \"string\" && /^\\.\\.?\\//.test(path)) {\n return path.replace(/\\.(tsx)$|((?:\\.d)?)((?:\\.[^./]+?)?)\\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {\n return tsx ? preserveJsx ? \".jsx\" : \".js\" : d && (!ext || !cm) ? m : (d + ext + \".\" + cm.toLowerCase() + \"js\");\n });\n }\n return path;\n}\n\nexport default {\n __extends,\n __assign,\n __rest,\n __decorate,\n __param,\n __esDecorate,\n __runInitializers,\n __propKey,\n __setFunctionName,\n __metadata,\n __awaiter,\n __generator,\n __createBinding,\n __exportStar,\n __values,\n __read,\n __spread,\n __spreadArrays,\n __spreadArray,\n __await,\n __asyncGenerator,\n __asyncDelegator,\n __asyncValues,\n __makeTemplateObject,\n __importStar,\n __importDefault,\n __classPrivateFieldGet,\n __classPrivateFieldSet,\n __classPrivateFieldIn,\n __addDisposableResource,\n __disposeResources,\n __rewriteRelativeImportExtension,\n};\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _defineProperty from '@babel/runtime/helpers/esm/defineProperty';\nimport _toArray from '@babel/runtime/helpers/esm/toArray';\n\nfunction ownKeys$6(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$6(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$6(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$6(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Logger);\n this.init(concreteLogger, options);\n }\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread$6(_objectSpread$6({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }), this.options));\n }\n }, {\n key: \"clone\",\n value: function clone(options) {\n options = options || this.options;\n options.prefix = options.prefix || this.prefix;\n return new Logger(this.logger, options);\n }\n }]);\n return Logger;\n}();\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n this.observers = {};\n }\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n if (!listener) {\n delete this.observers[event];\n return;\n }\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n obj[k] = newValue;\n}\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n if (!obj) return undefined;\n return obj[k];\n}\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n if (value !== undefined) {\n return value;\n }\n return getPath(defaultData, key);\n}\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n return target;\n}\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\nvar _entityMap = {\n '&': '&amp;',\n '<': '&lt;',\n '>': '&gt;',\n '\"': '&quot;',\n \"'\": '&#39;',\n '/': '&#x2F;'\n};\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n return data;\n}\nvar isIE10 = typeof window !== 'undefined' && window.navigator && typeof window.navigator.userAgentData === 'undefined' && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\nvar chars = [' ', ',', '?', '!', ';'];\nfunction looksLikeObjectPath(key, nsSeparator, keySeparator) {\n nsSeparator = nsSeparator || '';\n keySeparator = keySeparator || '';\n var possibleChars = chars.filter(function (c) {\n return nsSeparator.indexOf(c) < 0 && keySeparator.indexOf(c) < 0;\n });\n if (possibleChars.length === 0) return true;\n var r = new RegExp(\"(\".concat(possibleChars.map(function (c) {\n return c === '?' ? '\\\\?' : c;\n }).join('|'), \")\"));\n var matched = !r.test(key);\n if (!matched) {\n var ki = key.indexOf(keySeparator);\n if (ki > 0 && !r.test(key.substring(0, ki))) {\n matched = true;\n }\n }\n return matched;\n}\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n for (var i = 0; i < paths.length; ++i) {\n if (!current) return undefined;\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n if (mix === undefined) return undefined;\n if (mix === null) return null;\n if (path.endsWith(p)) {\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n }\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n current = current[paths[i]];\n }\n return current;\n}\n\nfunction ownKeys$5(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$5(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$5(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$5(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$3(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$3(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$3() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n var _super = _createSuper$3(ResourceStore);\n function ResourceStore(data) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n _classCallCheck(this, ResourceStore);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.data = data || {};\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n return _this;\n }\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread$5(_objectSpread$5({}, pack), resources);\n }\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread$5(_objectSpread$5({}, {}), this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"hasLanguageSomeTranslations\",\n value: function hasLanguageSomeTranslations(lng) {\n var data = this.getDataByLanguage(lng);\n var n = data && Object.keys(data) || [];\n return !!n.find(function (v) {\n return data[v] && Object.keys(data[v]).length > 0;\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\n\nfunction ownKeys$4(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$4(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$4(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$4(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$2(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$2(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$2() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nvar checkedLoadedFor = {};\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n var _super = _createSuper$2(Translator);\n function Translator(services) {\n var _this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, Translator);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n if (key === undefined || key === null) {\n return false;\n }\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS || [];\n var wouldCheckForNsInKey = nsSeparator && key.indexOf(nsSeparator) > -1;\n var seemsNaturalLanguage = !this.options.userDefinedKeySeparator && !options.keySeparator && !this.options.userDefinedNsSeparator && !options.nsSeparator && !looksLikeObjectPath(key, nsSeparator, keySeparator);\n if (wouldCheckForNsInKey && !seemsNaturalLanguage) {\n var m = key.match(this.interpolator.nestingRegexp);\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n if (_typeof(options) === 'object') options = _objectSpread$4({}, options);\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var returnDetails = options.returnDetails !== undefined ? options.returnDetails : this.options.returnDetails;\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n if (returnDetails) {\n return {\n res: \"\".concat(namespace).concat(nsSeparator).concat(key),\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return \"\".concat(namespace).concat(nsSeparator).concat(key);\n }\n if (returnDetails) {\n return {\n res: key,\n usedKey: key,\n exactUsedKey: key,\n usedLng: lng,\n usedNS: namespace\n };\n }\n return key;\n }\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n var r = this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread$4(_objectSpread$4({}, options), {}, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n if (returnDetails) {\n resolved.res = r;\n return resolved;\n }\n return r;\n }\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread$4(_objectSpread$4({}, options), {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count, options) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n var missingKeyNoValueFallbackToKey = options.missingKeyNoValueFallbackToKey || this.options.missingKeyNoValueFallbackToKey;\n var resForMissing = missingKeyNoValueFallbackToKey && usedKey ? undefined : res;\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread$4(_objectSpread$4({}, options), {}, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n var send = function send(l, k, specificDefaultValue) {\n var defaultForMissing = hasDefaultValue && specificDefaultValue !== res ? specificDefaultValue : resForMissing;\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, defaultForMissing, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, defaultForMissing, updateMissing, options);\n }\n _this2.emit('missingKey', l, namespace, k, res);\n };\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language, options).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if ((usedKey || usedDefault) && this.options.parseMissingKeyHandler) {\n if (this.options.compatibilityAPI !== 'v1') {\n res = this.options.parseMissingKeyHandler(this.options.appendNamespaceToMissingKey ? \"\".concat(namespace, \":\").concat(key) : key, usedDefault ? res : undefined);\n } else {\n res = this.options.parseMissingKeyHandler(res);\n }\n }\n }\n if (returnDetails) {\n resolved.res = res;\n return resolved;\n }\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), options), resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread$4(_objectSpread$4({}, options), {\n interpolation: _objectSpread$4(_objectSpread$4({}, this.options.interpolation), options.interpolation)\n }));\n var skipOnVariables = typeof res === 'string' && (options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables);\n var nestBef;\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread$4(_objectSpread$4({}, this.options.interpolation.defaultVariables), data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n if (!options.lng && this.options.compatibilityAPI !== 'v1' && resolved && resolved.res) options.lng = resolved.usedLng;\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n return null;\n }\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread$4({\n i18nResolved: resolved\n }, options) : options, this);\n }\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n var extracted = _this4.extractFromKey(k, options);\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsZeroSuffixLookup = needsPluralHandling && !options.ordinal && options.count === 0 && _this4.pluralResolver.shouldUseIntlApi();\n var needsContextHandling = options.context !== undefined && (typeof options.context === 'string' || typeof options.context === 'number') && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKeys = [key];\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count, options);\n var zeroSuffix = \"\".concat(_this4.options.pluralSeparator, \"zero\");\n if (needsPluralHandling) {\n finalKeys.push(key + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(key + zeroSuffix);\n }\n }\n if (needsContextHandling) {\n var contextKey = \"\".concat(key).concat(_this4.options.contextSeparator).concat(options.context);\n finalKeys.push(contextKey);\n if (needsPluralHandling) {\n finalKeys.push(contextKey + pluralSuffix);\n if (needsZeroSuffixLookup) {\n finalKeys.push(contextKey + zeroSuffix);\n }\n }\n }\n }\n var possibleKey;\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n return false;\n }\n }]);\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n this.options = options;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n return p.join('-');\n }\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n var cleanedLng = _this.formatLanguageCode(code);\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n var lngOnly = _this.getLanguagePartFromCode(code);\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng === lngOnly) return supportedLng;\n if (supportedLng.indexOf('-') < 0 && lngOnly.indexOf('-') < 0) return;\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\nvar deprecatedJsonVersions = ['v1', 'v2', 'v3'];\nvar suffixesOrder = {\n zero: 0,\n one: 1,\n two: 2,\n few: 3,\n many: 4,\n other: 5\n};\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n _classCallCheck(this, PluralResolver);\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n if ((!this.options.compatibilityJSON || this.options.compatibilityJSON === 'v4') && (typeof Intl === 'undefined' || !Intl.PluralRules)) {\n this.options.compatibilityJSON = 'v3';\n this.logger.error('Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.');\n }\n this.rules = createRules();\n }\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.shouldUseIntlApi()) {\n try {\n return new Intl.PluralRules(code, {\n type: options.ordinal ? 'ordinal' : 'cardinal'\n });\n } catch (_unused) {\n return;\n }\n }\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (this.shouldUseIntlApi()) {\n return rule && rule.resolvedOptions().pluralCategories.length > 1;\n }\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n return this.getSuffixes(code, options).map(function (suffix) {\n return \"\".concat(key).concat(suffix);\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var rule = this.getRule(code, options);\n if (!rule) {\n return [];\n }\n if (this.shouldUseIntlApi()) {\n return rule.resolvedOptions().pluralCategories.sort(function (pluralCategory1, pluralCategory2) {\n return suffixesOrder[pluralCategory1] - suffixesOrder[pluralCategory2];\n }).map(function (pluralCategory) {\n return \"\".concat(_this.options.prepend).concat(pluralCategory);\n });\n }\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number, options);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var rule = this.getRule(code, options);\n if (rule) {\n if (this.shouldUseIntlApi()) {\n return \"\".concat(this.options.prepend).concat(rule.select(count));\n }\n return this.getSuffixRetroCompatible(rule, count);\n }\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }, {\n key: \"getSuffixRetroCompatible\",\n value: function getSuffixRetroCompatible(rule, count) {\n var _this2 = this;\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n }, {\n key: \"shouldUseIntlApi\",\n value: function shouldUseIntlApi() {\n return !deprecatedJsonVersions.includes(this.options.compatibilityJSON);\n }\n }]);\n return PluralResolver;\n}();\n\nfunction ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$3(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction deepFindWithDefaults(data, defaultData, key) {\n var keySeparator = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : '.';\n var ignoreJSONStructure = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : true;\n var path = getPathWithDefaults(data, defaultData, key);\n if (!path && ignoreJSONStructure && typeof key === 'string') {\n path = deepFind(data, key, keySeparator);\n if (path === undefined) path = deepFind(defaultData, key, keySeparator);\n }\n return path;\n}\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Interpolator);\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n this.init(options);\n }\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = deepFindWithDefaults(data, defaultData, key, _this.options.keySeparator, _this.options.ignoreJSONStructure);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: key\n })) : path;\n }\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(deepFindWithDefaults(data, defaultData, k, _this.options.keySeparator, _this.options.ignoreJSONStructure), f, lng, _objectSpread$3(_objectSpread$3(_objectSpread$3({}, options), data), {}, {\n interpolationkey: k\n }));\n };\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables !== undefined ? options.interpolation.skipOnVariables : this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n while (match = todo.regex.exec(str)) {\n var matchedVar = match[1].trim();\n value = handleFormat(matchedVar);\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (options && Object.prototype.hasOwnProperty.call(options, matchedVar)) {\n value = '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(matchedVar, \" for interpolating \").concat(str));\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n if (skipOnVariables) {\n todo.regex.lastIndex += value.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n replaces++;\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n var clonedOptions;\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n var matchedSingleQuotes = optionsString.match(/'/g);\n var matchedDoubleQuotes = optionsString.match(/\"/g);\n if (matchedSingleQuotes && matchedSingleQuotes.length % 2 === 0 && !matchedDoubleQuotes || matchedDoubleQuotes.length % 2 !== 0) {\n optionsString = optionsString.replace(/'/g, '\"');\n }\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread$3(_objectSpread$3({}, inheritedOptions), clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n delete clonedOptions.defaultValue;\n return key;\n }\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n clonedOptions = _objectSpread$3({}, options);\n clonedOptions = clonedOptions.replace && typeof clonedOptions.replace !== 'string' ? clonedOptions.replace : clonedOptions;\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n var doReduce = false;\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread$3(_objectSpread$3({}, options), {}, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n }\n }]);\n return Interpolator;\n}();\n\nfunction ownKeys$2(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$2(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$2(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$2(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction parseFormatStr(formatStr) {\n var formatName = formatStr.toLowerCase().trim();\n var formatOptions = {};\n if (formatStr.indexOf('(') > -1) {\n var p = formatStr.split('(');\n formatName = p[0].toLowerCase().trim();\n var optStr = p[1].substring(0, p[1].length - 1);\n if (formatName === 'currency' && optStr.indexOf(':') < 0) {\n if (!formatOptions.currency) formatOptions.currency = optStr.trim();\n } else if (formatName === 'relativetime' && optStr.indexOf(':') < 0) {\n if (!formatOptions.range) formatOptions.range = optStr.trim();\n } else {\n var opts = optStr.split(';');\n opts.forEach(function (opt) {\n if (!opt) return;\n var _opt$split = opt.split(':'),\n _opt$split2 = _toArray(_opt$split),\n key = _opt$split2[0],\n rest = _opt$split2.slice(1);\n var val = rest.join(':').trim().replace(/^'+|'+$/g, '');\n if (!formatOptions[key.trim()]) formatOptions[key.trim()] = val;\n if (val === 'false') formatOptions[key.trim()] = false;\n if (val === 'true') formatOptions[key.trim()] = true;\n if (!isNaN(val)) formatOptions[key.trim()] = parseInt(val, 10);\n });\n }\n }\n return {\n formatName: formatName,\n formatOptions: formatOptions\n };\n}\nfunction createCachedFormatter(fn) {\n var cache = {};\n return function invokeFormatter(val, lng, options) {\n var key = lng + JSON.stringify(options);\n var formatter = cache[key];\n if (!formatter) {\n formatter = fn(lng, options);\n cache[key] = formatter;\n }\n return formatter(val);\n };\n}\nvar Formatter = function () {\n function Formatter() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n _classCallCheck(this, Formatter);\n this.logger = baseLogger.create('formatter');\n this.options = options;\n this.formats = {\n number: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n currency: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.NumberFormat(lng, _objectSpread$2(_objectSpread$2({}, opt), {}, {\n style: 'currency'\n }));\n return function (val) {\n return formatter.format(val);\n };\n }),\n datetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.DateTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n }),\n relativetime: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.RelativeTimeFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val, opt.range || 'day');\n };\n }),\n list: createCachedFormatter(function (lng, opt) {\n var formatter = new Intl.ListFormat(lng, _objectSpread$2({}, opt));\n return function (val) {\n return formatter.format(val);\n };\n })\n };\n this.init(options);\n }\n _createClass(Formatter, [{\n key: \"init\",\n value: function init(services) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var iOpts = options.interpolation;\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n }\n }, {\n key: \"add\",\n value: function add(name, fc) {\n this.formats[name.toLowerCase().trim()] = fc;\n }\n }, {\n key: \"addCached\",\n value: function addCached(name, fc) {\n this.formats[name.toLowerCase().trim()] = createCachedFormatter(fc);\n }\n }, {\n key: \"format\",\n value: function format(value, _format, lng) {\n var _this = this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var formats = _format.split(this.formatSeparator);\n var result = formats.reduce(function (mem, f) {\n var _parseFormatStr = parseFormatStr(f),\n formatName = _parseFormatStr.formatName,\n formatOptions = _parseFormatStr.formatOptions;\n if (_this.formats[formatName]) {\n var formatted = mem;\n try {\n var valOptions = options && options.formatParams && options.formatParams[options.interpolationkey] || {};\n var l = valOptions.locale || valOptions.lng || options.locale || options.lng || lng;\n formatted = _this.formats[formatName](mem, l, _objectSpread$2(_objectSpread$2(_objectSpread$2({}, formatOptions), options), valOptions));\n } catch (error) {\n _this.logger.warn(error);\n }\n return formatted;\n } else {\n _this.logger.warn(\"there was no format function for \".concat(formatName));\n }\n return mem;\n }, value);\n return result;\n }\n }]);\n return Formatter;\n}();\n\nfunction ownKeys$1(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread$1(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys$1(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys$1(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper$1(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct$1(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct$1() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction removePending(q, name) {\n if (q.pending[name] !== undefined) {\n delete q.pending[name];\n q.pendingCount--;\n }\n}\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n var _super = _createSuper$1(Connector);\n function Connector(backend, store, services) {\n var _this;\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n _classCallCheck(this, Connector);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.waitingReads = [];\n _this.maxParallelReads = options.maxParallelReads || 10;\n _this.readingCalls = 0;\n _this.maxRetries = options.maxRetries >= 0 ? options.maxRetries : 5;\n _this.retryTimeout = options.retryTimeout >= 1 ? options.retryTimeout : 350;\n _this.state = {};\n _this.queue = [];\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n var toLoad = {};\n var pending = {};\n var toLoadLanguages = {};\n var toLoadNamespaces = {};\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ; else if (_this2.state[name] === 1) {\n if (pending[name] === undefined) pending[name] = true;\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending[name] === undefined) pending[name] = true;\n if (toLoad[name] === undefined) toLoad[name] = true;\n if (toLoadNamespaces[ns] === undefined) toLoadNamespaces[ns] = true;\n }\n });\n if (!hasAllNamespaces) toLoadLanguages[lng] = true;\n });\n if (Object.keys(toLoad).length || Object.keys(pending).length) {\n this.queue.push({\n pending: pending,\n pendingCount: Object.keys(pending).length,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n return {\n toLoad: Object.keys(toLoad),\n pending: Object.keys(pending),\n toLoadLanguages: Object.keys(toLoadLanguages),\n toLoadNamespaces: Object.keys(toLoadNamespaces)\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n removePending(q, name);\n if (err) q.errors.push(err);\n if (q.pendingCount === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = {};\n var loadedKeys = q.loaded[l];\n if (loadedKeys.length) {\n loadedKeys.forEach(function (n) {\n if (loaded[l][n] === undefined) loaded[l][n] = true;\n });\n }\n });\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : this.retryTimeout;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n if (this.readingCalls >= this.maxParallelReads) {\n this.waitingReads.push({\n lng: lng,\n ns: ns,\n fcName: fcName,\n tried: tried,\n wait: wait,\n callback: callback\n });\n return;\n }\n this.readingCalls++;\n var resolver = function resolver(err, data) {\n _this3.readingCalls--;\n if (_this3.waitingReads.length > 0) {\n var next = _this3.waitingReads.shift();\n _this3.read(next.lng, next.ns, next.fcName, next.tried, next.wait, next.callback);\n }\n if (err && data && tried < _this3.maxRetries) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n };\n var fc = this.backend[fcName].bind(this.backend);\n if (fc.length === 2) {\n try {\n var r = fc(lng, ns);\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return resolver(null, data);\n })[\"catch\"](resolver);\n } else {\n resolver(null, r);\n }\n } catch (err) {\n resolver(err);\n }\n return;\n }\n return fc(lng, ns, resolver);\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n var clb = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : function () {};\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n if (key === undefined || key === null || key === '') return;\n if (this.backend && this.backend.create) {\n var opts = _objectSpread$1(_objectSpread$1({}, options), {}, {\n isUpdate: isUpdate\n });\n var fc = this.backend.create.bind(this.backend);\n if (fc.length < 6) {\n try {\n var r;\n if (fc.length === 5) {\n r = fc(languages, namespace, key, fallbackValue, opts);\n } else {\n r = fc(languages, namespace, key, fallbackValue);\n }\n if (r && typeof r.then === 'function') {\n r.then(function (data) {\n return clb(null, data);\n })[\"catch\"](clb);\n } else {\n clb(null, r);\n }\n } catch (err) {\n clb(err);\n }\n } else {\n fc(languages, namespace, key, fallbackValue, clb, opts);\n }\n }\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: true\n }\n };\n}\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n return options;\n}\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction noop() {}\nfunction bindMemberFunctions(inst) {\n var mems = Object.getOwnPropertyNames(Object.getPrototypeOf(inst));\n mems.forEach(function (mem) {\n if (typeof inst[mem] === 'function') {\n inst[mem] = inst[mem].bind(inst);\n }\n });\n}\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n var _super = _createSuper(I18n);\n function I18n() {\n var _this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n _classCallCheck(this, I18n);\n _this = _super.call(this);\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n bindMemberFunctions(_assertThisInitialized(_this));\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n return _this;\n }\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n if (!options.defaultNS && options.defaultNS !== false && options.ns) {\n if (typeof options.ns === 'string') {\n options.defaultNS = options.ns;\n } else if (options.ns.indexOf('translation') < 0) {\n options.defaultNS = options.ns[0];\n }\n }\n var defOpts = get();\n this.options = _objectSpread(_objectSpread(_objectSpread({}, defOpts), this.options), transformOptions(options));\n if (this.options.compatibilityAPI !== 'v1') {\n this.options.interpolation = _objectSpread(_objectSpread({}, defOpts.interpolation), this.options.interpolation);\n }\n if (options.keySeparator !== undefined) {\n this.options.userDefinedKeySeparator = options.keySeparator;\n }\n if (options.nsSeparator !== undefined) {\n this.options.userDefinedNsSeparator = options.nsSeparator;\n }\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n var formatter;\n if (this.modules.formatter) {\n formatter = this.modules.formatter;\n } else if (typeof Intl !== 'undefined') {\n formatter = Formatter;\n }\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n if (formatter && (!this.options.interpolation.format || this.options.interpolation.format === defOpts.interpolation.format)) {\n s.formatter = createClassOnDemand(formatter);\n s.formatter.init(s, this.options);\n this.options.interpolation.format = s.formatter.format.bind(s.formatter);\n }\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n if (s.languageDetector.init) s.languageDetector.init(s, this.options.detection, this.options);\n }\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n return _this2;\n };\n });\n var deferred = defer();\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized && !_this2.initializedStoreOnce) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n _this2.emit('initialized', _this2.options);\n deferred.resolve(t);\n callback(err, t);\n };\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n var append = function append(lng) {\n if (!lng) return;\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n this.services.backendConnector.load(toLoad, this.options.ns, function (e) {\n if (!e && !_this3.resolvedLanguage && _this3.language) _this3.setResolvedLanguage(_this3.language);\n usedCallback(e);\n });\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n if (module.type === 'formatter') {\n this.modules.formatter = module;\n }\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n return this;\n }\n }, {\n key: \"setResolvedLanguage\",\n value: function setResolvedLanguage(l) {\n if (!l || !this.languages) return;\n if (['cimode', 'dev'].indexOf(l) > -1) return;\n for (var li = 0; li < this.languages.length; li++) {\n var lngInLngs = this.languages[li];\n if (['cimode', 'dev'].indexOf(lngInLngs) > -1) continue;\n if (this.store.hasLanguageSomeTranslations(lngInLngs)) {\n this.resolvedLanguage = lngInLngs;\n break;\n }\n }\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n var setLngProps = function setLngProps(l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n _this4.resolvedLanguage = undefined;\n _this4.setResolvedLanguage(l);\n };\n var done = function done(err, l) {\n if (l) {\n setLngProps(l);\n _this4.translator.changeLanguage(l);\n _this4.isLanguageChangingTo = undefined;\n _this4.emit('languageChanged', l);\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n if (l) {\n if (!_this4.language) {\n setLngProps(l);\n }\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector && _this4.services.languageDetector.cacheUserLanguage) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n if (this.services.languageDetector.detect.length === 0) {\n this.services.languageDetector.detect().then(setLng);\n } else {\n this.services.languageDetector.detect(setLng);\n }\n } else {\n setLng(lng);\n }\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns, keyPrefix) {\n var _this5 = this;\n var fixedT = function fixedT(key, opts) {\n var options;\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n options.keyPrefix = options.keyPrefix || keyPrefix || fixedT.keyPrefix;\n var keySeparator = _this5.options.keySeparator || '.';\n var resultKey;\n if (options.keyPrefix && Array.isArray(key)) {\n resultKey = key.map(function (k) {\n return \"\".concat(options.keyPrefix).concat(keySeparator).concat(k);\n });\n } else {\n resultKey = options.keyPrefix ? \"\".concat(options.keyPrefix).concat(keySeparator).concat(key) : key;\n }\n return _this5.t(resultKey, options);\n };\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n fixedT.ns = ns;\n fixedT.keyPrefix = keyPrefix;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n var lng = options.lng || this.resolvedLanguage || this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n return loadState === -1 || loadState === 2;\n };\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend || this.options.resources && !this.options.partialBundledLanguages) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n var deferred = defer();\n if (!this.options.ns) {\n if (callback) callback();\n return Promise.resolve();\n }\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n if (!newLngs.length) {\n if (callback) callback();\n return Promise.resolve();\n }\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.resolvedLanguage || (this.languages && this.languages.length > 0 ? this.languages[0] : this.language);\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam', 'ckb'];\n var languageUtils = this.services && this.services.languageUtils || new LanguageUtil(get());\n return rtlLngs.indexOf(languageUtils.getLanguagePartFromCode(lng)) > -1 || lng.toLowerCase().indexOf('-arab') > 1 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var mergedOptions = _objectSpread(_objectSpread(_objectSpread({}, this.options), options), {\n isClone: true\n });\n var clone = new I18n(mergedOptions);\n if (options.debug !== undefined || options.prefix !== undefined) {\n clone.logger = clone.logger.clone(options);\n }\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages,\n resolvedLanguage: this.resolvedLanguage\n };\n }\n }]);\n return I18n;\n}(EventEmitter);\n_defineProperty(I18n, \"createInstance\", function () {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n});\nvar instance = I18n.createInstance();\ninstance.createInstance = I18n.createInstance;\n\nvar createInstance = instance.createInstance;\nvar dir = instance.dir;\nvar init = instance.init;\nvar loadResources = instance.loadResources;\nvar reloadResources = instance.reloadResources;\nvar use = instance.use;\nvar changeLanguage = instance.changeLanguage;\nvar getFixedT = instance.getFixedT;\nvar t = instance.t;\nvar exists = instance.exists;\nvar setDefaultNamespace = instance.setDefaultNamespace;\nvar hasLoadedNamespace = instance.hasLoadedNamespace;\nvar loadNamespaces = instance.loadNamespaces;\nvar loadLanguages = instance.loadLanguages;\n\nexport { changeLanguage, createInstance, instance as default, dir, exists, getFixedT, hasLoadedNamespace, init, loadLanguages, loadNamespaces, loadResources, reloadResources, setDefaultNamespace, t, use };\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","var matchHtmlEntity = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34|nbsp|#160|copy|#169|reg|#174|hellip|#8230|#x2F|#47);/g;\nvar htmlEntities = {\n '&amp;': '&',\n '&#38;': '&',\n '&lt;': '<',\n '&#60;': '<',\n '&gt;': '>',\n '&#62;': '>',\n '&apos;': \"'\",\n '&#39;': \"'\",\n '&quot;': '\"',\n '&#34;': '\"',\n '&nbsp;': ' ',\n '&#160;': ' ',\n '&copy;': '©',\n '&#169;': '©',\n '&reg;': '®',\n '&#174;': '®',\n '&hellip;': '…',\n '&#8230;': '…',\n '&#x2F;': '/',\n '&#47;': '/'\n};\n\nvar unescapeHtmlEntity = function unescapeHtmlEntity(m) {\n return htmlEntities[m];\n};\n\nexport var unescape = function unescape(text) {\n return text.replace(matchHtmlEntity, unescapeHtmlEntity);\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { unescape } from './unescape.js';\nvar defaultOptions = {\n bindI18n: 'languageChanged',\n bindI18nStore: '',\n transEmptyNodeValue: '',\n transSupportBasicHtmlNodes: true,\n transWrapTextNodes: '',\n transKeepBasicHtmlNodesFor: ['br', 'strong', 'i', 'p'],\n useSuspense: true,\n unescape: unescape\n};\nexport function setDefaults() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n defaultOptions = _objectSpread(_objectSpread({}, defaultOptions), options);\n}\nexport function getDefaults() {\n return defaultOptions;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import { setDefaults } from './defaults.js';\nimport { setI18n } from './i18nInstance.js';\nexport var initReactI18next = {\n type: '3rdParty',\n init: function init(instance) {\n setDefaults(instance.options.react);\n setI18n(instance);\n }\n};","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nimport { createContext } from 'react';\nimport { getDefaults, setDefaults } from './defaults.js';\nimport { getI18n, setI18n } from './i18nInstance.js';\nimport { initReactI18next } from './initReactI18next.js';\nexport { getDefaults, setDefaults, getI18n, setI18n, initReactI18next };\nexport var I18nContext = createContext();\nexport var ReportNamespaces = function () {\n function ReportNamespaces() {\n _classCallCheck(this, ReportNamespaces);\n\n this.usedNamespaces = {};\n }\n\n _createClass(ReportNamespaces, [{\n key: \"addUsedNamespaces\",\n value: function addUsedNamespaces(namespaces) {\n var _this = this;\n\n namespaces.forEach(function (ns) {\n if (!_this.usedNamespaces[ns]) _this.usedNamespaces[ns] = true;\n });\n }\n }, {\n key: \"getUsedNamespaces\",\n value: function getUsedNamespaces() {\n return Object.keys(this.usedNamespaces);\n }\n }]);\n\n return ReportNamespaces;\n}();\nexport function composeInitialProps(ForComponent) {\n return function (ctx) {\n return new Promise(function (resolve) {\n var i18nInitialProps = getInitialProps();\n\n if (ForComponent.getInitialProps) {\n ForComponent.getInitialProps(ctx).then(function (componentsInitialProps) {\n resolve(_objectSpread(_objectSpread({}, componentsInitialProps), i18nInitialProps));\n });\n } else {\n resolve(i18nInitialProps);\n }\n });\n };\n}\nexport function getInitialProps() {\n var i18n = getI18n();\n var namespaces = i18n.reportNamespaces ? i18n.reportNamespaces.getUsedNamespaces() : [];\n var ret = {};\n var initialI18nStore = {};\n i18n.languages.forEach(function (l) {\n initialI18nStore[l] = {};\n namespaces.forEach(function (ns) {\n initialI18nStore[l][ns] = i18n.getResourceBundle(l, ns) || {};\n });\n });\n ret.initialI18nStore = initialI18nStore;\n ret.initialLanguage = i18n.language;\n return ret;\n}","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var overArg = require('./_overArg');\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nmodule.exports = getPrototype;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseGetTag = require('./_baseGetTag'),\n getPrototype = require('./_getPrototype'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nmodule.exports = isPlainObject;\n","import * as _$1 from 'lodash';\nimport ___default, { isEmpty, isArray, each, find, endsWith, cloneDeep, forEach, includes, trimEnd, has, isBoolean, omitBy, isNil, toArray, mergeWith, get, map, isString, union, slice, defaultsDeep as defaultsDeep$1, isObject as isObject$1, clone, filter, startsWith } from 'lodash';\nimport i18next from 'i18next';\nexport { default as i18next } from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport isPlainObject from 'lodash/isPlainObject';\nimport { Router as Router$1, getSteedosAuth as getSteedosAuth$1, lookupToAmis as lookupToAmis$1, fetchAPI as fetchAPI$1 } from '@steedos-widgets/amis-lib';\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-13 11:31:12\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-09-27 10:34:59\n * @Description:\n */\n\nconst RegisterRenders = [];\n\nconst normalizeLink = (to, location = window.location) => {\n to = to || \"\";\n\n if (to && to[0] === \"#\") {\n to = location.pathname + location.search + to;\n } else if (to && to[0] === \"?\") {\n to = location.pathname + to;\n }\n\n const idx = to.indexOf(\"?\");\n const idx2 = to.indexOf(\"#\");\n let pathname = ~idx\n ? to.substring(0, idx)\n : ~idx2\n ? to.substring(0, idx2)\n : to;\n let search = ~idx ? to.substring(idx, ~idx2 ? idx2 : undefined) : \"\";\n let hash = ~idx2 ? to.substring(idx2) : location.hash;\n\n if (!pathname) {\n pathname = location.pathname;\n } else if (pathname[0] != \"/\" && !/^https?\\:\\/\\//.test(pathname)) {\n let relativeBase = location.pathname;\n const paths = relativeBase.split(\"/\");\n paths.pop();\n let m;\n while ((m = /^\\.\\.?\\//.exec(pathname))) {\n if (m[0] === \"../\") {\n paths.pop();\n }\n pathname = pathname.substring(m[0].length);\n }\n pathname = paths.concat(pathname).join(\"/\");\n }\n\n return pathname + search + hash;\n};\n\nconst amisRootClick = (router, e) => {\n if (e.target.nodeName.toLocaleLowerCase() === \"a\" && e.target.href) {\n e.preventDefault();\n router.push(e.target.href);\n }\n};\n\nconst getEvn = (router)=>{\n return {\n theme: \"antd\",\n notify: (type, msg)=>{\n if(msg.props?.schema.tpl){\n SteedosUI.message[type](msg.props?.schema.tpl);\n }else if(typeof msg == 'string'){\n SteedosUI.message[type](msg);\n }else {\n console.warn('notify', type, msg);\n }\n },\n confirm: (msg)=>{\n return new Promise((resolve, reject)=>{\n return SteedosUI.Modal.confirm({\n title: msg,\n onOk: ()=>{\n resolve(true);\n },\n okText: \"确认\",\n cancelText: \"取消\"\n })\n })\n },\n jumpTo: (to, action) => {\n if (to === \"goBack\") {\n return window.history.back();\n }\n\n to = normalizeLink(to);\n\n if (action && action.actionType === \"url\") {\n action.blank === true ? window.open(to) : router.push(to);\n return;\n }\n\n // 主要是支持 nav 中的跳转\n if (action && to && action.target) {\n window.open(to, action.target);\n return;\n }\n if (/^https?:\\/\\//.test(to)) {\n window.location.replace(to);\n } else {\n router.push(to);\n }\n }\n }\n};\n\nconst registerRenders = (assets)=>{\n if(!isEmpty(assets) && isArray(assets)){\n let amisLib = amisRequire('amis');\n\n const registerMap = {\n renderer: amisLib.Renderer,\n formitem: amisLib.FormItem,\n options: amisLib.OptionsControl,\n };\n \n let amisReact = amisRequire('react');\n each(assets, (asset)=>{\n // 防止组件重复注册\n if(!find(RegisterRenders, (componentName)=>{ return componentName === asset.componentName})){\n let Component = Builder.components.find(item => item.name === asset.componentName);\n let AmisWrapper = Component.class;\n if(asset.componentType === 'amisSchema'){\n AmisWrapper = (props)=>{\n const { body, render } = props;\n const [schema, setSchema] = amisReact.useState(null);\n amisReact.useEffect(()=>{\n const result = Component.class(props);\n if(result && result.then && typeof result.then === 'function'){\n result.then((data)=>{\n setSchema(data);\n });\n }else {\n setSchema(result);\n }\n }, []);\n return amisReact.createElement(amisReact.Fragment, null, amisReact.createElement(amisReact.Fragment, null, schema && render ? render('body', schema) : ''), amisReact.createElement(amisReact.Fragment, null, render ? render('body', body) : ''));\n };\n }\n\n // 注册amis渲染器\n if (!registerMap[asset.usage]) {\n console.error(\n `${consoleTag}自定义组件注册失败,不存在${asset.usage}自定义组件类型。`,\n );\n } else {\n registerMap[asset.usage]({\n test: new RegExp(`(^|\\/)${asset.type}`),\n type: asset.type,\n weight: asset.weight,\n autoVar: true,\n })(AmisWrapper);\n // 记录当前创建的amis自定义组件\n console.info('注册了一个自定义amis组件:', {\n type: asset.type,\n weight: asset.weight,\n component: AmisWrapper,\n framework: asset.framework,\n usage: asset.usage,\n });\n }\n // amisLib.Renderer({\n // test: new RegExp(`(^|\\/)${asset.type}`)\n // })(AmisWrapper);\n RegisterRenders.push(asset.componentName);\n }\n });\n }\n};\n\nconst amisRender = (root, schema, data = {}, env = {}, options) => {\n let amis = amisRequire(\"amis/embed\");\n const { router, assets } = options;\n registerRenders(assets);\n return amis.embed(root, schema, data, Object.assign(getEvn(router), env));\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-04 11:24:28\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-06-12 11:51:15\n * @Description: \n */\n\nconst STEEDOS_AUTH = {};\n\nconst getBuilderContext = ()=>{\n if(typeof window === \"undefined\"){\n return {};\n }\n return Builder.settings.context ? Builder.settings.context : Builder.settings\n};\n\nconst setSteedosAuth = (steedosSession) => {\n Object.assign(STEEDOS_AUTH, steedosSession);\n};\n\nasync function fetchAPI(api, options = { credentials: 'include' }) {\n const headers = { 'Content-Type': 'application/json' };\n const AUTHORIZATION = getAuthorization();\n if (AUTHORIZATION) {\n headers[\n 'Authorization'\n ] = AUTHORIZATION;\n // } else {\n // throw new Error(401)\n }\n\n options.headers = Object.assign({}, headers, options.headers);\n options.credentials = 'include';\n const res = await fetch(`${getRootUrl()}${api}`, options);\n \n if(res.status === 401){\n throw new Error(401)\n }\n\n const json = await res.json();\n if (json.errors) {\n console.error(json.errors);\n throw new Error('Failed to fetch API')\n }\n return json\n}\n\nfunction getFileSrc(fileId){\n return `${getRootUrl()}/api/files/files/${fileId}`\n}\n\nfunction getImageSrc(fileId){\n return `${getRootUrl()}/api/files/images/${fileId}`\n}\n\n\nfunction getTenantId(){\n try {\n let spaceId = getBuilderContext().tenantId;\n\n if (window.location.search && !spaceId) {\n var searchParams = new URLSearchParams(window.location.search);\n spaceId = searchParams.get('X-Space-Id');\n }\n if (!spaceId) {\n return null;\n }\n return spaceId;\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction getAuthToken(){\n try {\n const context = getBuilderContext();\n let token = context.authToken;\n if (!token) {\n return null;\n }\n return token;\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction getAuthorization(){\n try {\n const context = getBuilderContext();\n let spaceId = context.tenantId;\n let token = context.authToken;\n \n if (!spaceId || !token) {\n return null;\n }\n return `Bearer ${spaceId},${token}`;\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction getUserId(){\n try {\n const context = getBuilderContext();\n let userId = context.userId;\n if (!userId) {\n return null;\n }\n return userId;\n } catch (error) {\n console.error(error);\n } \n}\n\nfunction absoluteUrl(url){\n return `${getRootUrl()}${url}`\n}\n\nfunction getRootUrl(defaultRootUrl){\n const context = getBuilderContext();\n if(context.rootUrl){\n return context.rootUrl;\n }\n const rootUrl = typeof window != 'undefined' ? window.localStorage.getItem(\"steedos:rootUrl\") : '';\n if(rootUrl){\n return rootUrl\n }\n return defaultRootUrl || '';\n}\n\nfunction setRootUrl(rootUrl){\n if(endsWith(rootUrl, '/')){\n rootUrl = rootUrl.substring(0, rootUrl.length-1);\n }\n localStorage.setItem(\"steedos:rootUrl\", rootUrl);\n}\n\nconst getSteedosAuth = () => {\n // if(isEmpty(STEEDOS_AUTH)){\n // return {\n // space: localStorage.getItem(\"steedos:spaceId\"),\n // token: localStorage.getItem(\"steedos:token\"), \n // userId: localStorage.getItem(\"steedos:userId\"),\n // name: Meteor.user().name //TODO: 使用steedos 函数. 此属性在上传附件时使用\n // }\n // }\n return Object.assign( {}, cloneDeep(STEEDOS_AUTH) || {}, getBuilderContext() || {});\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-08-16 17:02:08\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2024-02-02 10:15:00\n * @Description:\n */\n\nconst Router = {\n getTabDisplayAs(tab_id, defaultEnableSplit){\n var urlSearch = new URLSearchParams(document.location.search); \n if(urlSearch.has('display')){\n return urlSearch.get('display')\n }\n const key = `tab_${tab_id}_display`;\n // const key = `page_display`;\n const value = sessionStorage.getItem(key);\n let defaultDisplay = \"grid\";\n if(defaultEnableSplit === true){\n defaultDisplay = \"split\";\n }\n if(window.innerWidth <= 768){\n return \"grid\";\n }\n return value ? value : defaultDisplay;\n },\n \n setTabDisplayAs(tab_id, displayAs){\n const key = `tab_${tab_id}_display`;\n sessionStorage.setItem(key, displayAs);\n },\n getAppPath({formFactor, appId}){\n return `/app/${appId}`;\n },\n getPagePath(){\n //TODO\n },\n getObjectListViewPath({formFactor, appId, objectName, listViewName}){\n return `/app/${appId}/${objectName}/grid/${listViewName}`;\n },\n getObjectDetailPath(props){\n const {formFactor, appId, objectName, recordId, listViewName, _templateType} = props;\n if(_templateType === 'JavaScript'){\n return `/app/${appId}/${objectName}/view/${recordId}?side_object=<%=item.objectName%>&side_listview_id=<%=item.listName%>`;\n }\n return `/app/${appId}/${objectName}/view/${recordId}?side_object=\\${objectName}&side_listview_id=\\${listName}`;\n },\n getObjectRelatedViewPath({formFactor, appId, masterObjectName, masterRecordId, objectName, foreignKey}){\n return `/app/${appId}/${masterObjectName}/${masterRecordId}/${objectName}/grid?related_field_name=${foreignKey}`;\n },\n\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-20 16:29:22\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-11-17 13:05:44\n * @Description: \n */\n\nfunction getImageFieldUrl(url, readonly) {\n if (window.Meteor) {\n if(window.Meteor.isCordova != true){\n // '//'的位置\n const doubleSlashIndex = url.indexOf('//');\n const urlIndex = url.indexOf('/', doubleSlashIndex + 2);\n const rootUrl = url.substring(urlIndex);\n return rootUrl;\n }else {\n if(readonly || url.startsWith('http')){\n return `${url}?token=${window.btoa(JSON.stringify({ authToken : Builder.settings.context.authToken }))}`\n }\n }\n }\n return url;\n}\n\nif(typeof window != 'undefined'){\n window.getImageFieldUrl = getImageFieldUrl;\n}\n\n\n\n// js color\n\nfunction toGrayscale(r, g, b){\n return (\n 0.2126 * r +\n 0.7152 * g +\n 0.0722 * b\n );\n}\n\nfunction isLight(r, g, b){\n // 专业的亮度是 > 255 / 2. 此处的阈值调整为200 \n return toGrayscale(r, g, b) > 200\n}\n\nfunction getContrastColor(bgColor) {\n var backgroundColor = (bgColor.charAt(0) === '#') ? bgColor.substring(1, 7) : bgColor;\n var r = parseInt(backgroundColor.substr(0, 2), 16);\n var g = parseInt(backgroundColor.substr(2, 2), 16);\n var b = parseInt(backgroundColor.substr(4, 2), 16);\n return isLight(r, g, b) ? \"#000000\" : \"#ffffff\";\n}\n\nfunction getLookupListView(refObjectConfig) {\n if(!refObjectConfig){\n return null;\n }\n const listNameAll = \"all\";\n const listNameLookup = \"lookup\";\n let listViewAll, listViewLookup;\n\n _.each(\n refObjectConfig.list_views,\n (view, name) => {\n if (name === listNameAll) {\n listViewAll = view;\n if(!listViewAll.name){\n listViewAll.name = name;\n }\n }\n else if (name === listNameLookup) {\n listViewLookup = view;\n if(!listViewLookup.name){\n listViewLookup.name = name;\n }\n }\n }\n );\n let listView = listViewLookup || listViewAll;\n return listView;\n}\n\n\n/**\n * 获取可比较的amis版本号\n * @returns 只返回前两位版本,第三位忽略,比如3.6.3返回3.6\n */\nfunction getComparableAmisVersion() {\n let amis = (window.amisRequire && window.amisRequire('amis')) || window.Amis;\n let amisVersion = amis && amis.version;\n if(amisVersion){\n let comparableVersions = amisVersion.split(\".\");\n let comparableVersion = parseFloat(comparableVersions[0].toString() + \".\" + comparableVersions[1].toString());\n return comparableVersion;\n }\n}\n\n/**\n * 判断浏览器类型\n * @returns 按需返回浏览器类型;\n */\n function getBowserType() {\n const userAgent = navigator.userAgent;\n if (userAgent.indexOf(\"Chrome\")!== -1 && userAgent.indexOf(\"Safari\") !== -1 && userAgent.indexOf(\"Edg\") === -1) {\n return \"Chrome\";\n } else if (userAgent.indexOf(\"Firefox\") !== -1) {\n return \"Firefox\";\n } else if (userAgent.indexOf(\"Safari\") !== -1 && userAgent.indexOf(\"Chrome\") === -1 && userAgent.indexOf(\"Edge\") === -1) {\n return \"Safari\";\n } else if (userAgent.indexOf(\"Edg\") !== -1) {\n return \"Edge\";\n } else {\n return \"Unknown browser\"; // 其他浏览器...(可根据自己需要确定是否新增其他浏览器的判断)\n }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-05-23 09:53:08\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-11-17 13:10:08\n * @Description: \n */\n\nfunction getCreatedInfoTpl(formFactor){\n const href = Router.getObjectDetailPath({\n formFactor, appId: \"admin\", objectName: 'users', recordId: '${created_by._id}'\n });\n return `<span><a href='${href}'>\\${_display.created_by.label}</a>\\${_display.created}</span>`\n}\n\nfunction getModifiedInfoTpl(formFactor){\n const href = Router.getObjectDetailPath({\n formFactor, appId: \"admin\", objectName: 'users', recordId: '${modified_by._id}'\n });\n return `<span><a href='${href}'>\\${_display.modified_by.label}</a>\\${_display.modified}</span>`\n}\n\nfunction getNumberTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\nfunction getTimeTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\nfunction getDateTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\n\nfunction getDateTimeTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\nfunction getUiFieldTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\nfunction getUiFileSizeTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\n\n//TODO 处理name字段\nasync function getRefObjectNameFieldName(field){\n const refUiSchema = await getUISchema(field.reference_to);\n const NAME_FIELD_KEY = refUiSchema.NAME_FIELD_KEY || 'name';\n return NAME_FIELD_KEY;\n}\n\nfunction getSelectTpl(field){\n return `<span>\\${_display.${field.name}}</span>`\n}\nfunction getSelectMap(selectOptions){\n let map = {};\n forEach(selectOptions,(option)=>{\n const optionValue = option.value + '';\n const optionColor = option.color + '';\n if(optionColor && optionColor != \"undefined\"){\n const background = optionColor.charAt(0) === '#' ? optionColor : '#'+optionColor;\n const color = getContrastColor(background);\n const optionColorStyle = 'background:'+background+';color:'+color+';line-height:1.5rem;font-size:14px';\n map[optionValue] = `<span class=\"rounded-xl px-2 py-1\" style='${optionColorStyle}'>${option.label}</span>`;\n }else {\n map[optionValue] = option.label;\n }\n });\n return map;\n}\n\nfunction getNameTplUrl(field, ctx){\n // if(ctx.objectName === 'cms_files'){\n // return \"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}\"\n // }\n const href = Router.getObjectDetailPath({\n ...ctx, formFactor: ctx.formFactor, appId: \"${appId}\", objectName: ctx.objectName || \"${objectName}\", recordId: `\\${${ctx.idFieldName}}`\n });\n return href;\n}\n\nfunction getNameTpl(field, ctx){\n const href = getNameTplUrl(field, ctx);\n let linkTarget = \"\";\n if(ctx && ctx.isLookup){\n linkTarget = \"target='_blank'\";\n }\n let nameLabel = field.name;\n //若字段类型是lookup,则按照相关表tpl的label规则显示;若是其它类型,则显示_display或字段本身的值\n if (field.type == \"lookup\" || field.type == \"master_detail\") {\n if(!field.reference_to && (field.optionsFunction || field._optionsFunction || field.options)){\n if(!field.isTableField){\n nameLabel = `\\${${field.name}__label}`;\n }\n } else {\n nameLabel = `\\${_display.${field.name}.label}`;\n }\n } else {\n nameLabel = `\\${_display.${field.name} || ${field.name}}`;\n }\n if(ctx.isRelated && window.innerWidth >= 768){\n return `<a href=\"${href}\" ${linkTarget} onclick=\"return false;\">\\${${nameLabel} | raw}</a>`\n }else {\n return `<a href=\"${href}\" ${linkTarget}>\\${${nameLabel} | raw}</a>`\n }\n}\n\nfunction getRelatedFieldTpl(field, ctx){\n let tpl = '';\n if(!field.reference_to && (field.optionsFunction || field._optionsFunction || field.options)){\n if(field.isTableField){\n return `\\${${field.name}}`\n }else {\n return `\\${${field.name}__label}`\n }\n }\n\n let linkTarget = \"\";\n if(ctx && ctx.isLookup){\n linkTarget = \"target='_blank'\";\n }\n\n const onlyDisplayLookLabel = ctx.onlyDisplayLookLabel;\n\n let fieldDataStrTpl = `data._display.${field.name}`;\n\n if(field.isTableField){\n fieldDataStrTpl = `data.${field.name}`;\n }\n\n if(_.isString(field.reference_to) || !field.reference_to){\n if(field.multiple){\n let labelTpl = `<%=item.label%>`;\n if(ctx.isRelated){\n linkTarget = \"target='_blank'\";\n }\n if(!onlyDisplayLookLabel){\n const href = Router.getObjectDetailPath({\n formFactor: ctx.formFactor, appId: \"<%=data.appId%>\", objectName: `<%=item.objectName%>`, recordId: `<%=item.value%>`, _templateType: \"JavaScript\"\n });\n labelTpl = `<a href=\"${href}\" ${linkTarget}><%=item.label%></a>`;\n }\n tpl = `\n <% if (${fieldDataStrTpl} && ${fieldDataStrTpl}.length) { %><% ${fieldDataStrTpl}.forEach(function(item,index) { %> <% if(index>0 && index<${fieldDataStrTpl}.length){ %> , <% } %> ${labelTpl} <% }); %><% } %>\n `;\n }else {\n let labelTpl = `\\${_display.${field.name}.label}`;\n let objectNameTpl = `\\${_display.${field.name}.objectName}`;\n let recordIdTpl = `\\${_display.${field.name}.value}`;\n if(field.isTableField){\n labelTpl = `\\${${field.name}.label}`;\n objectNameTpl = `\\${${field.name}.objectName}`;\n recordIdTpl = `\\${${field.name}.value}`;\n }\n if(!onlyDisplayLookLabel){\n const href = Router.getObjectDetailPath({\n formFactor: ctx.formFactor, appId: \"${appId}\", objectName: `${objectNameTpl}`, recordId: `${recordIdTpl}`\n });\n if(ctx.isRelated && window.innerWidth >= 768){\n labelTpl = `<a href=\"${href}\" ${linkTarget} onclick=\"return false;\">${labelTpl}</a>`;\n }else {\n labelTpl = `<a href=\"${href}\" ${linkTarget}>${labelTpl}</a>`;\n }\n \n }\n tpl = labelTpl;\n }\n\n \n }else {\n let labelTpl = `<%=item.label%>`;\n if(!onlyDisplayLookLabel){\n const href = Router.getObjectDetailPath({\n formFactor: ctx.formFactor, appId: \"<%=data.appId%>\", objectName: `<%=item.objectName%>`, recordId: `<%=item.value%>`, _templateType: \"JavaScript\"\n });\n labelTpl = `<a href=\"${href}\" ${linkTarget}><%=item.label%></a>`;\n }\n tpl = `\n <% if (${fieldDataStrTpl} && ${fieldDataStrTpl}.length) { %><% ${fieldDataStrTpl}.forEach(function(item) { %> ${labelTpl} <% }); %><% } %>\n `;\n }\n return tpl\n}\n\nasync function getLookupTpl(field, ctx){\n if(!field.reference_to){\n return getSelectTpl(field)\n }\n const NAME_FIELD_KEY = await getRefObjectNameFieldName(field);\n if(field.multiple){\n const href = Router.getObjectDetailPath({\n formFactor: ctx.formFactor, appId: ctx.appId, objectName: field.reference_to, recordId: `<%=item._id%>`, _templateType: \"JavaScript\"\n });\n return `\n <% if (data.${field.name} && data.${field.name}.length) { %><% data.${field.name}.forEach(function(item) { %> <a href=\"${href}\"><%=item.${NAME_FIELD_KEY}%></a> <% }); %><% } %>\n `\n }else {\n const href = Router.getObjectDetailPath({\n formFactor: ctx.formFactor, appId: ctx.appId, objectName: field.reference_to, recordId: `\\${${field.name}._id}`\n });\n return `<a href=\"${href}\">\\${${field.name}.${NAME_FIELD_KEY}}</a>`\n }\n \n}\n\nfunction getSwitchTpl(field){\n let fieldDataStrTpl = `data._display.${field.name}`;\n if(field.isTableField){\n fieldDataStrTpl = `data.${field.name}`;\n }\n return `<% if (data.${field.name}) { %>\n <span class=\"slds-icon_container slds-icon-utility-check slds-current-color\" title=\"<%=${fieldDataStrTpl}%>\">\n <span ><%= ${fieldDataStrTpl} === \"√\" ? \"<svg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='currentColor' class='w-4 h-4'><path stroke-linecap='round' stroke-linejoin='round' d='M4.5 12.75l6 6 9-13.5' /></svg>\" : ${fieldDataStrTpl} %></span>\n </span>\n <% } %>`\n}\n\nfunction getPasswordTpl(field){\n return `<% if (data.${field.name}) { %>\n <span>******</span>\n <% } %>`\n}\n\nfunction getLocationTpl(field){\n return `\\${${field.name} ? ${field.name}.address : ''}`\n}\n\nasync function getFieldTpl (field, options){\n if((field.is_name || field.name === options.labelFieldName) && !options.onlyDisplayLookLabel && field.multiple !== true){\n return getNameTpl(field, options)\n }\n switch (field.type) {\n case 'password':\n return getPasswordTpl(field);\n case 'boolean':\n return getSwitchTpl(field);\n case 'toggle':\n return getSwitchTpl(field);\n case 'select':\n return getSelectTpl(field);\n case 'time':\n return getTimeTpl(field);\n case 'date':\n return getDateTpl(field);\n case 'datetime':\n return getDateTimeTpl(field);\n case 'lookup':\n return await getRelatedFieldTpl(field, options);\n case 'master_detail':\n return await getRelatedFieldTpl(field, options);\n case 'location':\n return await getLocationTpl(field);\n case 'number':\n case 'currency':\n return await getNumberTpl(field);\n case 'percent':\n case 'formula':\n case 'summary':\n return getUiFieldTpl(field)\n case 'filesize':\n return getUiFileSizeTpl(field)\n }\n}\n\nasync function getFieldsTemplate(object, fields, display){\n let expandFields = [];\n if(display != false){\n display = true;\n }\n let fieldsName = ['_id'];\n if(!object.datasource || object.datasource === 'default' || object.datasource === 'meteor'){\n fieldsName.push('space');\n }\n let displayFields = [];\n let fieldsArr = [];\n if(_$1.isArray(fields)){\n fieldsArr = fields;\n }else {\n fieldsArr = _$1.values(fields);\n }\n for (const field of fieldsArr) {\n if(field.name){\n //graphql 的 ui\\display 中使用的字段需要先在query中查询. 否则会返回null\n if(field.expand){\n expandFields.push(field);\n }else {\n if(field.name.indexOf('.') < 0){\n if(display && (field.type == 'lookup' || field.type == 'master_detail')){\n fieldsName.push(`${field.name}`);\n displayFields.push(`${field.name}`);\n }else {\n fieldsName.push( field.alias ? `${field.alias}:${field.name}` : field.name);\n }\n if(includes(['time','date','datetime','boolean','number','currency'], field.type)){\n fieldsName.push(`${field.name}`);\n }\n if(includes(['percent','time','filesize','date','datetime','boolean','number','currency', 'select', 'file', 'image', 'avatar', 'formula', 'summary', 'object', 'grid'], field.type)){\n displayFields.push(`${field.name}`);\n }\n }else {\n objectFieldName = field.name.split('.')[0];\n fieldsName.push(objectFieldName);\n displayFields.push(objectFieldName);\n }\n }\n }\n }\n\n displayFields = _$1.uniq(displayFields);\n fieldsName = _$1.uniq(fieldsName);\n let expandFieldsQuery = \"\";\n if(expandFields.length > 0){\n _$1.each(expandFields, function(field){\n expandFieldsQuery = expandFieldsQuery + `${field.expandInfo.fieldName}__expand{${field.expandInfo.displayName}}`;\n });\n }\n\n if(displayFields.length > 0){\n return `${fieldsName.join(',')},${expandFieldsQuery},_display:_ui{${displayFields.join(',')}}`;\n }\n return trimEnd(`${fieldsName.join(' ')},${expandFieldsQuery}`, \",\")\n}\n\nfunction getRecordPermissionsTemplate(){\n return `\n recordPermissions: _permissions{\n allowCreate,\n allowCreateFiles,\n allowDelete,\n allowDeleteFiles,\n allowEdit,\n allowEditFiles,\n allowRead,\n allowReadFiles,\n disabled_actions,\n disabled_list_views,\n field_permissions,\n modifyAllFiles,\n modifyAllRecords,\n modifyAssignCompanysRecords,\n modifyCompanyRecords,\n uneditable_fields,\n unreadable_fields,\n unrelated_objects,\n viewAllFiles,\n viewAllRecords,\n viewAssignCompanysRecords,\n viewCompanyRecords,\n }\n `\n}\n\nasync function getFindOneQuery$1(object, recordId, fields, options){\n let queryOptions = `(filters:[\"${object.idFieldName}\", \"=\", \"\\${recordId}\"])`;\n let alias = \"data\";\n if(options){\n if(options.alias){\n alias = options.alias;\n }\n\n if(options.filters){\n queryOptions = `(filters:${options.filters})`;\n }\n if(options.queryOptions){\n queryOptions = `(${options.queryOptions})`;\n }\n }\n return {\n query: `{${alias}:${object.name}${queryOptions}{${await getFieldsTemplate(object, fields)}, ${getRecordPermissionsTemplate()}}}`\n }\n}\n\nfunction getSaveQuery(object, recordId, fields, options){\n return {\n objectName: object.name,\n $: \"$$\",\n recordId: recordId,\n modalName: \"${modalName}\"\n }\n}\n\n/*\n readonly字段应该移除掉不提交到服务端。\n*/\nfunction getScriptForReadonlyFields(fields){\n var scripts = [];\n fields.forEach((item)=>{\n if(item.readonly && item.name.indexOf(\".\") < 0){\n scripts.push(`delete formData.${item.name};`);\n }\n });\n return scripts.join(\"\\r\\n\");\n}\n\n/*\n img/avatar字段值移除URL前缀使其保存时正常保存id,而不是url。\n*/\nfunction getScriptForRemoveUrlPrefixForImgFields(fields){\n let imgFieldsKeys = [];\n let imgFields = {};\n fields.forEach((item)=>{\n if(includes(['image','avatar'], item.type)){\n imgFieldsKeys.push(item.name);\n imgFields[item.name] = {\n name: item.name,\n multiple: item.multiple\n };\n }\n });\n if(!imgFieldsKeys.length){\n return '';\n }\n return `\n let imgFieldsKeys = ${JSON.stringify(imgFieldsKeys)};\n let imgFields = ${JSON.stringify(imgFields)};\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = formData[item];\n if(imgFieldValue && imgFieldValue.length){\n // 因为表单初始化接口的接收适配器中为image字段值添加了url前缀(为了字段编辑时正常显示图片),所以保存时移除(为了字段值保存时正常保存id,而不是url)。\n if(imgFields[item].multiple){\n if(imgFieldValue instanceof Array){\n formData[item] = imgFieldValue.map((value)=>{ \n let itemValue = value && value.split('/');\n return itemValue[itemValue.length - 1].split('?')[0];\n });\n }\n }else{\n let imgValue = imgFieldValue.split('/');\n formData[item] = imgValue[imgValue.length - 1].split('?')[0];\n }\n }\n })\n `\n}\n\n/*\n file字段值重写使其保存时正常保存id。\n*/\nfunction getScriptForSimplifiedValueForFileFields(fields){\n let fileFieldsKeys = [];\n let fileFields = {};\n fields.forEach((item)=>{\n if(item.type === 'file'){\n fileFieldsKeys.push(item.name);\n fileFields[item.name] = {\n name: item.name,\n multiple: item.multiple\n };\n }\n });\n if(!fileFieldsKeys.length){\n return '';\n }\n return `\n let fileFieldsKeys = ${JSON.stringify(fileFieldsKeys)};\n let fileFields = ${JSON.stringify(fileFields)};\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}\n\nfunction getSaveDataTpl(fields){\n\n return `\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.initialValues;\n delete formData.editFormInited;\n delete formData.isLookup;\n delete formData.selectedRowResponseResult;\n delete formData.instance_state;\n delete formData.instances;\n ${getScriptForReadonlyFields(fields)}\n ${getScriptForRemoveUrlPrefixForImgFields(fields)}\n ${getScriptForSimplifiedValueForFileFields(fields)}\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.recordId}\", doc: {__saveData}){_id}}\\`;\n };\n delete formData._id;\n let __saveData = JSON.stringify(JSON.stringify(formData));\n `\n}\n\nfunction getSaveRequestAdaptor(fields, options){\n return `\n ${getSaveDataTpl(fields)}\n api.data = {query: query.replace('{__saveData}', __saveData)};\n ${options.apiRequestAdaptor || ''}\n return api;\n `\n}\n\nasync function getFindQuery(object, recordId, fields, options){\n let limit = options.limit || 10;\n let queryOptions = `(top: ${limit})`;\n if(recordId){\n queryOptions = `(filters:[\"_id\", \"=\", \"${recordId}\"], top: ${limit})`;\n }\n let alias = \"data\";\n if(options){\n if(options.alias){\n alias = options.alias;\n }\n\n if(options.filters){\n queryOptions = `(filters:${options.filters})`;\n }\n if(options.queryOptions){\n queryOptions = `(${options.queryOptions})`;\n }\n }\n var treeFields = '';\n if(object.enable_tree && _$1.includes(_$1.keys(object.fields), 'parent') && _$1.includes(_$1.keys(object.fields), 'children')){\n treeFields = ',parent,children';\n }\n\n var cfsFields = '';\n if(object.name === 'cms_files'){\n cfsFields = ',versions';\n }\n\n const countQuery = options.count === false ? \"\" : `,count:${object.name}__count(filters:{__filters})`;\n // const moreQuerie = options.moreQueries?.length ? (\",\" + options.moreQueries.map(function(item){\n // // 把最外层的{}去除\n // return item.replace(/^{/,\"\").replace(/}$/,\"\");\n // }).join(\",\")) : \"\";\n\n const fieldsTemplate = `${await getFieldsTemplate(object, fields, options.expand)}${treeFields}${cfsFields}`;\n\n return {\n orderBy: \"${orderBy}\",\n orderDir: \"${orderDir}\",\n pageNo: \"${page}\",\n pageSize: \"${perPage}\",\n queryFields: fieldsTemplate,\n query: `{${alias}:${object.name}${queryOptions}{${fieldsTemplate}}${countQuery}}`\n }\n}\n\nfunction getRecordPermissionsQuery(object, recordId, options){\n let queryOptions = \"\";\n\n if(recordId){\n queryOptions = `(filters:[\"${object.idFieldName}\", \"=\", \"${recordId}\"])`;\n }\n let alias = \"data\";\n if(options){\n if(options.alias){\n alias = options.alias;\n }\n\n if(options.filters){\n queryOptions = `(filters:${options.filters})`;\n }\n if(options.queryOptions){\n queryOptions = `(${options.queryOptions})`;\n }\n }\n\n let recordPermissionsTemplate = getRecordPermissionsTemplate();\n if(options?.fields && options.fields.length){\n recordPermissionsTemplate = `\n recordPermissions: _permissions{\n ${options.fields.join(\",\")}\n }\n `;\n }\n return {\n query: `{${alias}:${object.name}${queryOptions}{${object.idFieldName},${recordPermissionsTemplate}}}`\n }\n}\n\nfunction getApi$2 (isMobile){\n if(isMobile);else {\n // return __meteor_runtime_config__.ROOT_URL_PATH_PREFIX + \"/graphql\"\n return `\\${context.rootUrl}/graphql?reload=\\${additionalFilters|join}`\n }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-08-04 10:42:49\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-08-25 10:28:47\n * @Description: \n */\nvar config = {\n listView: {\n newRecordMode: 'modal',\n editRecordMode: 'modal',\n perPage: 20\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-10-28 14:52:55\n * @LastEditors: liaodaxue\n * @LastEditTime: 2023-12-14 12:01:22\n * @Description: \n */\n\nconst AmisFormInputs = [\n 'text',\n 'date',\n 'file',\n \"avatar\",\n 'image',\n 'datetime',\n 'time',\n 'number',\n 'currency',\n 'percent',\n 'password',\n 'url',\n \"color\",\n 'email'\n];\n\nfunction getAmisStaticFieldType(type, readonly, options){\n if(!readonly){\n if(_$1.includes(AmisFormInputs, type)){\n return `input-${type}`;\n }else if(type === 'location'){\n return \"location-picker\"\n }\n return type;\n }\n if(_$1.includes(['text','image','color'], type)){\n if('text' === type && options && options.amis && options.amis.tpl){\n return 'static';\n }\n if('image' === type && options && options.multiple){\n return `static-images`;\n }\n return `static-${type}`;\n }else if(type === 'url'){\n return \"input-url\"\n }else {\n return 'static';\n }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-13 15:18:03\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-08-15 12:12:08\n * @Description: \n */\nlet pageCache = {};\n\nasync function getPage({type, pageId = '', appId, objectName = '', recordId = '', formFactor = 'LARGE'}){\n const api = `/api/pageSchema/${type}?app=${appId}&objectApiName=${objectName}&recordId=${recordId}&pageId=${pageId}&formFactor=${formFactor}`;\n\n if(has(pageCache, api)) {\n return pageCache[api];\n }\n\n const page = await fetchAPI(api);\n if (page && page.schema) {\n page.schema = JSON.parse(page.schema);\n if(page.schema.data){\n delete page.schema.data.recordId;\n delete page.schema.data.objectName;\n delete page.schema.data.context;\n delete page.schema.data.global;\n }\n pageCache[api] = page;\n return JSON.parse(JSON.stringify(page)); //clone page;\n }\n pageCache[api] = null;\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-10-28 14:15:09\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2025-02-13 09:31:02\n * @Description: \n */\n\nconst getFileTableName = (steedosField)=>{\n switch (steedosField.type ) {\n case 'avatar':\n return 'avatars'\n case 'image':\n return 'images'\n case 'file':\n return 'files'\n }\n};\n\nconst getAmisFieldType$1 = (steedosField, readonly)=>{\n return getAmisStaticFieldType(steedosField.type === 'avatar' ? 'image' : steedosField.type, readonly, {multiple: steedosField.multiple});\n};\n\nasync function getLookupLinkOnClick(field, options) {\n const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });\n\n const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {\n \"recordId\": field.type == \"file\" ? \"${value}\":`\\${${field.name}}`,\n \"data\": {\n ...recordPage.schema.data,\n \"_inDrawer\": true, // 用于判断是否在抽屉中\n \"recordLoaded\": false, // 重置数据加载状态\n \"objectName\": options.objectName,\n }\n }) : {\n \"type\": \"steedos-record-detail\",\n \"objectApiName\": options.objectName,\n \"recordId\": field.type == \"file\" ? \"${value}\":`\\${${field.name}}`,\n \"showBackButton\": false,\n \"showButtons\": true,\n \"data\": {\n \"_inDrawer\": true, // 用于判断是否在抽屉中\n \"recordLoaded\": false, // 重置数据加载状态\n }\n };\n return {\n \"click\": {\n \"actions\": [\n // {\n // \"type\": \"custom\",\n // \"script\": `\n // let fileRecordId = url.match(${regFileRecordId})[2]; \n // console.log('fileRecordId:',fileRecordId);\n // event.data.recordId = fileRecordId;\n // `,\n // },\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \"&nbsp;\",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": [\n drawerRecordDetailSchema\n ],\n \"className\": \"steedos-record-detail-drawer app-popover\"\n },\n \"preventDefault\": true\n }\n ]\n }\n }\n}\n\nconst getAmisFileReadonlySchema = async (steedosField,ctx = {})=>{\n const type = steedosField.type;\n const { appId, formFactor } = ctx.amisData || {};\n const amisFieldType = getAmisFieldType$1(steedosField, true);\n \n let lookupATagClick = 'onclick=\"return false;\"';\n\n if(window.innerWidth < 768){\n lookupATagClick = \"\";\n }\n\n if(_.includes(['avatar','image'], type)){\n return {\n type: amisFieldType,\n defaultImage: '',\n enlargeAble: true,\n showToolbar: true,\n }\n }\n if(type === 'file'){\n return window.Meteor?.isCordova ? {\n \"type\": \"control\",\n \"body\": steedosField.multiple ? {\n \"type\": \"each\",\n \"name\": \"_display.\" + steedosField.name,\n \"items\": {\n \"type\": \"tpl\",\n \"tpl\": \"${name}\",\n \"className\": \"antd-Button--link inline-block mr-2\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"script\": `\n Steedos.cordovaDownload(encodeURI(event.data.url), event.data.name);\n `,\n \"actionType\": \"custom\"\n }\n ],\n \"weight\": 0\n }\n }\n }\n } : {\n \"type\": \"tpl\",\n \"tpl\": \"${_display.\" + steedosField.name + \".name}\",\n \"className\": \"antd-Button--link inline-block\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"script\": `\n const data = event.data._display.${steedosField.name};\n Steedos.cordovaDownload(encodeURI(data.url), data.name);\n `,\n \"actionType\": \"custom\"\n }\n ],\n \"weight\": 0\n }\n }\n }\n } : {\n // type: amisFieldType,\n // tpl: `\n // <% let fileData = data._display.${steedosField.name}; if (fileData) { %>\n // <% if(!Array.isArray(fileData)){ fileData = [fileData]} %>\n // <% fileData.forEach(function(item) { %> \n // <a href='<%= item.url %>' target='_self' class='block'><%= item.name %></a> \n // <% });} %>`\n \"type\": \"control\",\n \"name\": \"\",//control若存在name,内部each组件的source则会获取不到内容\n \"body\": {\n type: 'each',\n placeholder: \"\",\n className: steedosField.multiple ? `flex flex-col` : '',\n source: `\\${_display.${steedosField.name}|asArray}`,\n items: {\n type: 'static',\n labelClassName: \"hidden\",\n label: false,\n className: 'm-0',\n tpl: `<a href=\"/app/-/cfs_files_filerecord/view/\\${value}\" ${lookupATagClick}>\\${name}</a>`,\n // tpl: \"<%= item.name >\",\n // onEvent: window.innerWidth < 768 ? null : REFERENCE_VALUE_ITEM_ONCLICK\n onEvent: window.innerWidth < 768 ? null : await getLookupLinkOnClick(steedosField, {\n appId,\n objectName: \"cfs_files_filerecord\",\n formFactor\n })\n }\n }\n }\n }\n};\n\nconst getAmisFileEditSchema = (steedosField)=>{\n const tableName = getFileTableName(steedosField);\n const amisFieldType = getAmisFieldType$1(steedosField, false);\n let convertData = {\n type: amisFieldType,\n useChunk: false, // 关闭分块上传\n receiver: {\n method: \"post\",\n dataType: \"form-data\",\n url: `\\${context.rootUrl}/s3/${tableName}`,\n requestAdaptor: `\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { _master, global } = superData;\n // const { recordId, objectName } = _master;\n const { spaceId, userId, user } = global;\n /*\n record_id: recordId,\n parent: recordId,\n object_name: objectName,\n owner_name: user.name,\n space: spaceId,\n owner: userId\n */\n // 参考platform 2.2版本,附件字段保存时cfs.files.filerecord、cfs.images.filerecord表中的metadata下只保存space、owner两个属性值。\n api.data.append('space', spaceId);\n api.data.append('owner', userId);\n\n return api;\n `,\n adaptor: `\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + \"/api/files/${tableName}/\";\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 `,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n };\n if(steedosField.multiple){\n convertData.multiple = true;\n convertData.joinValues = false;\n convertData.extractValue = true;\n if(steedosField.type === 'image'){\n if(Steedos.isCordova() && Steedos.isCordova()){\n convertData.accept = \"\";\n }\n }\n }\n return convertData;\n};\n\nconst getAmisFileSchema = async (steedosField, readonly, ctx)=>{\n return readonly ? await getAmisFileReadonlySchema(steedosField,ctx) : getAmisFileEditSchema(steedosField);\n};\n\nvar frontend_field_group_generalization$1 = \"General\";\nvar frontend_download$1 = \"Download\";\nvar frontend_form_save$1 = \"Save\";\nvar frontend_form_save_and_new$1 = \"Save and New\";\nvar frontend_form_cancel$1 = \"Cancel\";\nvar frontend_form_new$1 = \"New\";\nvar frontend_form_edit$1 = \"Edit\";\nvar frontend_form_preview$1 = \"Preview\";\nvar frontend_form_select$1 = \"Select\";\nvar frontend_form_please_select$1 = \"Please select\";\nvar frontend_form_confirm$1 = \"Confirm\";\nvar frontend_form_delete$1 = \"Delete\";\nvar frontend_form_view$1 = \"view\";\nvar frontend_form_details$1 = \"details\";\nvar frontend_form_validation_failed_url$1 = \"The URL format is incorrect\";\nvar frontend_delete_confirm_text$1 = \"Are you sure you want to delete this item?\";\nvar frontend_delete_many_selected_required$1 = \"Please select the item to be deleted\";\nvar frontend_delete_many_confirm_text$1 = \"Are you sure you want to delete?\";\nvar frontend_display_type_is_table$1 = \"Table\";\nvar frontend_display_type_is_split$1 = \"Split View\";\nvar frontend_display_as$1 = \"Displayed as\";\nvar frontend_record_sum$1 = \"items\";\nvar frontend_button_reload_tooltip$1 = \"Refresh\";\nvar frontend_button_search_tooltip$1 = \"Search\";\nvar frontend_fields_filter_button_search$1 = \"Search\";\nvar frontend_fields_filter_button_settings$1 = \"Set search options\";\nvar frontend_button_listview_control_tooltip$1 = \"List View Controls\";\nvar frontend_button_listview_control_label$1 = \"LIST VIEW CONTROLS\";\nvar frontend_listview_control_columns$1 = \"Show List\";\nvar frontend_listview_control_columns_mobile_group$1 = \"Mobile side\";\nvar frontend_listview_control_clone_label$1 = \"Clone\";\nvar frontend_listview_control_clone_title$1 = \"Clone List View\";\nvar frontend_listview_control_clone_defaultData_label_start$1 = \"Copy of\";\nvar frontend_listview_control_clone_defaultData_label_end$1 = \"\";\nvar frontend_listview_control_delete_label$1 = \"Delete\";\nvar frontend_listview_control_delete_confirm_text$1 = \"If you delete this list view it will be permanently removed for all users with access. Are you sure you want to delete?\";\nvar frontend_listview_control_delete_message_success$1 = \"Deletion successful\";\nvar frontend_listview_control_filters$1 = \"Filter settings\";\nvar frontend_listview_control_filters_fields_extend$1 = \"Conditional component 1\";\nvar frontend_listview_control_new_label$1 = \"New\";\nvar frontend_listview_control_new_title$1 = \"New List View\";\nvar frontend_listview_control_new_message_success$1 = \"Success\";\nvar frontend_listview_control_new_message_failed$1 = \"Failure\";\nvar frontend_listview_control_rename_label$1 = \"Rename\";\nvar frontend_listview_control_rename_title$1 = \"Rename List View\";\nvar frontend_listview_control_share$1 = \"Sharing Settings\";\nvar frontend_listview_control_sort$1 = \"Default sorting rule\";\nvar frontend_export_excel$1 = \"Export Excel\";\nvar frontend_export_excel_toast$1 = \"Exporting, please wait\";\nvar frontend_operation$1 = \"Operation\";\nvar frontend_import_data$1 = \"Import data\";\nvar frontend_import_data_object_name$1 = \"Import object\";\nvar frontend_import_data_queue_import$1 = \"Data import\";\nvar frontend_import_data_queue_import_description$1 = \"Import description\";\nvar frontend_import_data_queue_import_encoding$1 = \"Character code\";\nvar frontend_import_data_queue_import_template_url$1 = \"Import template\";\nvar frontend_import_data_file$1 = \"Excel file\";\nvar frontend_import_data_message_success$1 = \"Importing has started...\";\nvar frontend_import_data_message_failed$1 = \"Import failed\";\nvar frontend_record_detail_tab_detailed$1 = \"Details\";\nvar frontend_record_detail_tab_related$1 = \"Related\";\nvar frontend_all_apps$1 = \"All apps\";\nvar frontend_all_projects$1 = \"All projects\";\nvar frontend_open_app_launcher$1 = \"Open App Launcher\";\nvar frontend_application_launcher$1 = \"Application launcher\";\nvar frontend_menu$1 = \"Menu\";\nvar frontend_help$1 = \"Help\";\nvar frontend_setup$1 = \"Setup\";\nvar frontend_notifications$1 = \"Notifications\";\nvar frontend_notifications_allread$1 = \"Mark all as read\";\nvar frontend_notifications_allread_message$1 = \"All marked as read\";\nvar frontend_notifications_close_dialog$1 = \"Close\";\nvar frontend_profile$1 = \"Profile\";\nvar switch_space$1 = \"Switch Space\";\nvar frontend_about$1 = \"About\";\nvar frontend_log_out$1 = \"Log out\";\nvar frontend_listview_warning_start$1 = \"The current \";\nvar frontend_listview_warning_end$1 = \" view does not exist!\";\nvar frontend_record_detail_related_list_warning$1 = \"Missing parent object, parent record, or related list object property!\";\nvar frontend_record_detail_related_lists_warning$1 = \"Missing parent object, or parent record property!\";\nvar frontend_record_detail_related_lists_info$1 = \"No related child tables found\";\nvar frontend_calendar_listWeek$1 = \"List\";\nvar frontend_message_no_permission_to_edit$1 = \"You don't have permission to edit this record!\";\nvar frontend_message_modification_successful$1 = \"Modification successful!\";\nvar frontend_message_modification_failed$1 = \"Modification failed!\";\nvar frontend_objects_related_alert_start$1 = \"No related table fields associated with the related list object\";\nvar frontend_objects_related_alert_end$1 = \"were found.\";\nvar frontend_no_records_found$1 = \"No records found.\";\nvar frontend_records_no_allowedit$1 = \"You do not have edit permission for this record\";\nvar en_us = {\n\tfrontend_field_group_generalization: frontend_field_group_generalization$1,\n\tfrontend_download: frontend_download$1,\n\tfrontend_form_save: frontend_form_save$1,\n\tfrontend_form_save_and_new: frontend_form_save_and_new$1,\n\tfrontend_form_cancel: frontend_form_cancel$1,\n\tfrontend_form_new: frontend_form_new$1,\n\tfrontend_form_edit: frontend_form_edit$1,\n\tfrontend_form_preview: frontend_form_preview$1,\n\tfrontend_form_select: frontend_form_select$1,\n\tfrontend_form_please_select: frontend_form_please_select$1,\n\tfrontend_form_confirm: frontend_form_confirm$1,\n\tfrontend_form_delete: frontend_form_delete$1,\n\tfrontend_form_view: frontend_form_view$1,\n\tfrontend_form_details: frontend_form_details$1,\n\tfrontend_form_validation_failed_url: frontend_form_validation_failed_url$1,\n\tfrontend_delete_confirm_text: frontend_delete_confirm_text$1,\n\tfrontend_delete_many_selected_required: frontend_delete_many_selected_required$1,\n\tfrontend_delete_many_confirm_text: frontend_delete_many_confirm_text$1,\n\tfrontend_display_type_is_table: frontend_display_type_is_table$1,\n\tfrontend_display_type_is_split: frontend_display_type_is_split$1,\n\tfrontend_display_as: frontend_display_as$1,\n\tfrontend_record_sum: frontend_record_sum$1,\n\tfrontend_button_reload_tooltip: frontend_button_reload_tooltip$1,\n\tfrontend_button_search_tooltip: frontend_button_search_tooltip$1,\n\tfrontend_fields_filter_button_search: frontend_fields_filter_button_search$1,\n\tfrontend_fields_filter_button_settings: frontend_fields_filter_button_settings$1,\n\tfrontend_button_listview_control_tooltip: frontend_button_listview_control_tooltip$1,\n\tfrontend_button_listview_control_label: frontend_button_listview_control_label$1,\n\tfrontend_listview_control_columns: frontend_listview_control_columns$1,\n\tfrontend_listview_control_columns_mobile_group: frontend_listview_control_columns_mobile_group$1,\n\tfrontend_listview_control_clone_label: frontend_listview_control_clone_label$1,\n\tfrontend_listview_control_clone_title: frontend_listview_control_clone_title$1,\n\tfrontend_listview_control_clone_defaultData_label_start: frontend_listview_control_clone_defaultData_label_start$1,\n\tfrontend_listview_control_clone_defaultData_label_end: frontend_listview_control_clone_defaultData_label_end$1,\n\tfrontend_listview_control_delete_label: frontend_listview_control_delete_label$1,\n\tfrontend_listview_control_delete_confirm_text: frontend_listview_control_delete_confirm_text$1,\n\tfrontend_listview_control_delete_message_success: frontend_listview_control_delete_message_success$1,\n\tfrontend_listview_control_filters: frontend_listview_control_filters$1,\n\tfrontend_listview_control_filters_fields_extend: frontend_listview_control_filters_fields_extend$1,\n\tfrontend_listview_control_new_label: frontend_listview_control_new_label$1,\n\tfrontend_listview_control_new_title: frontend_listview_control_new_title$1,\n\tfrontend_listview_control_new_message_success: frontend_listview_control_new_message_success$1,\n\tfrontend_listview_control_new_message_failed: frontend_listview_control_new_message_failed$1,\n\tfrontend_listview_control_rename_label: frontend_listview_control_rename_label$1,\n\tfrontend_listview_control_rename_title: frontend_listview_control_rename_title$1,\n\tfrontend_listview_control_share: frontend_listview_control_share$1,\n\tfrontend_listview_control_sort: frontend_listview_control_sort$1,\n\tfrontend_export_excel: frontend_export_excel$1,\n\tfrontend_export_excel_toast: frontend_export_excel_toast$1,\n\tfrontend_operation: frontend_operation$1,\n\tfrontend_import_data: frontend_import_data$1,\n\tfrontend_import_data_object_name: frontend_import_data_object_name$1,\n\tfrontend_import_data_queue_import: frontend_import_data_queue_import$1,\n\tfrontend_import_data_queue_import_description: frontend_import_data_queue_import_description$1,\n\tfrontend_import_data_queue_import_encoding: frontend_import_data_queue_import_encoding$1,\n\tfrontend_import_data_queue_import_template_url: frontend_import_data_queue_import_template_url$1,\n\tfrontend_import_data_file: frontend_import_data_file$1,\n\tfrontend_import_data_message_success: frontend_import_data_message_success$1,\n\tfrontend_import_data_message_failed: frontend_import_data_message_failed$1,\n\tfrontend_record_detail_tab_detailed: frontend_record_detail_tab_detailed$1,\n\tfrontend_record_detail_tab_related: frontend_record_detail_tab_related$1,\n\tfrontend_all_apps: frontend_all_apps$1,\n\tfrontend_all_projects: frontend_all_projects$1,\n\tfrontend_open_app_launcher: frontend_open_app_launcher$1,\n\tfrontend_application_launcher: frontend_application_launcher$1,\n\tfrontend_menu: frontend_menu$1,\n\tfrontend_help: frontend_help$1,\n\tfrontend_setup: frontend_setup$1,\n\tfrontend_notifications: frontend_notifications$1,\n\tfrontend_notifications_allread: frontend_notifications_allread$1,\n\tfrontend_notifications_allread_message: frontend_notifications_allread_message$1,\n\tfrontend_notifications_close_dialog: frontend_notifications_close_dialog$1,\n\tfrontend_profile: frontend_profile$1,\n\tswitch_space: switch_space$1,\n\tfrontend_about: frontend_about$1,\n\tfrontend_log_out: frontend_log_out$1,\n\tfrontend_listview_warning_start: frontend_listview_warning_start$1,\n\tfrontend_listview_warning_end: frontend_listview_warning_end$1,\n\tfrontend_record_detail_related_list_warning: frontend_record_detail_related_list_warning$1,\n\tfrontend_record_detail_related_lists_warning: frontend_record_detail_related_lists_warning$1,\n\tfrontend_record_detail_related_lists_info: frontend_record_detail_related_lists_info$1,\n\tfrontend_calendar_listWeek: frontend_calendar_listWeek$1,\n\tfrontend_message_no_permission_to_edit: frontend_message_no_permission_to_edit$1,\n\tfrontend_message_modification_successful: frontend_message_modification_successful$1,\n\tfrontend_message_modification_failed: frontend_message_modification_failed$1,\n\tfrontend_objects_related_alert_start: frontend_objects_related_alert_start$1,\n\tfrontend_objects_related_alert_end: frontend_objects_related_alert_end$1,\n\tfrontend_no_records_found: frontend_no_records_found$1,\n\tfrontend_records_no_allowedit: frontend_records_no_allowedit$1\n};\n\nvar frontend_field_group_generalization = \"通用\";\nvar frontend_download = \"下载\";\nvar frontend_form_save = \"保存\";\nvar frontend_form_save_and_new = \"保存并新建\";\nvar frontend_form_cancel = \"取消\";\nvar frontend_form_new = \"新建\";\nvar frontend_form_edit = \"编辑\";\nvar frontend_form_preview = \"预览\";\nvar frontend_form_select = \"选择\";\nvar frontend_form_please_select = \"请选择\";\nvar frontend_form_confirm = \"确认\";\nvar frontend_form_delete = \"删除\";\nvar frontend_form_view = \"查看\";\nvar frontend_form_details = \"详情\";\nvar frontend_form_validation_failed_url = \"URL 格式不正确\";\nvar frontend_delete_confirm_text = \"确定要删除此项目?\";\nvar frontend_delete_many_selected_required = \"请选择要删除的项\";\nvar frontend_delete_many_confirm_text = \"确定要删除吗?\";\nvar frontend_display_type_is_table = \"表格\";\nvar frontend_display_type_is_split = \"分栏视图\";\nvar frontend_display_as = \"显示为\";\nvar frontend_record_sum = \"个项目\";\nvar frontend_button_reload_tooltip = \"刷新\";\nvar frontend_button_search_tooltip = \"搜索\";\nvar frontend_fields_filter_button_search = \"搜索\";\nvar frontend_fields_filter_button_settings = \"选择搜索项\";\nvar frontend_button_listview_control_tooltip = \"列表视图控制\";\nvar frontend_button_listview_control_label = \"列表视图控制\";\nvar frontend_listview_control_columns = \"显示的列\";\nvar frontend_listview_control_columns_mobile_group = \"手机端\";\nvar frontend_listview_control_clone = \"复制\";\nvar frontend_listview_control_clone_label = \"复制\";\nvar frontend_listview_control_clone_title = \"复制 列表视图\";\nvar frontend_listview_control_clone_defaultData_label_start = \"\";\nvar frontend_listview_control_clone_defaultData_label_end = \"的副本\";\nvar frontend_listview_control_delete_label = \"删除\";\nvar frontend_listview_control_delete_confirm_text = \"如果您删除此列表视图,该视图将为所有具备访问权限的用户永久删除。是否确定要删除?\";\nvar frontend_listview_control_delete_message_success = \"删除成功\";\nvar frontend_listview_control_filters = \"过滤设置\";\nvar frontend_listview_control_filters_fields_extend = \"条件组件\";\nvar frontend_listview_control_new_label = \"新建\";\nvar frontend_listview_control_new_title = \"新建 列表视图\";\nvar frontend_listview_control_new_message_success = \"成功\";\nvar frontend_listview_control_new_message_failed = \"失败\";\nvar frontend_listview_control_rename_label = \"重命名\";\nvar frontend_listview_control_rename_title = \"重命名 列表视图\";\nvar frontend_listview_control_share = \"共享设置\";\nvar frontend_listview_control_sort = \"默认排序规则\";\nvar frontend_export_excel = \"导出\";\nvar frontend_export_excel_toast = \"正在导出,请稍后...\";\nvar frontend_operation = \"操作\";\nvar frontend_import_data = \"导入数据\";\nvar frontend_import_data_object_name = \"导入对象\";\nvar frontend_import_data_queue_import = \"数据导入\";\nvar frontend_import_data_queue_import_description = \"导入描述\";\nvar frontend_import_data_queue_import_encoding = \"字符代码\";\nvar frontend_import_data_queue_import_template_url = \"导入模板\";\nvar frontend_import_data_file = \"Excel文件\";\nvar frontend_import_data_message_success = \"已开始导入...\";\nvar frontend_import_data_message_failed = \"导入失败\";\nvar frontend_record_detail_tab_detailed = \"详细\";\nvar frontend_record_detail_tab_related = \"相关\";\nvar frontend_all_apps = \"所有应用\";\nvar frontend_all_projects = \"所有项目\";\nvar frontend_open_app_launcher = \"打开应用程序启动器\";\nvar frontend_application_launcher = \"应用程序启动器\";\nvar frontend_menu = \"菜单\";\nvar frontend_help = \"帮助\";\nvar frontend_setup = \"设置\";\nvar frontend_notifications = \"通知\";\nvar frontend_notifications_allread = \"全部标记为已读\";\nvar frontend_notifications_allread_message = \"已全部标记为已读\";\nvar frontend_notifications_close_dialog = \"关闭\";\nvar frontend_profile = \"个人资料\";\nvar switch_space = \"切换工作区\";\nvar frontend_about = \"关于\";\nvar frontend_log_out = \"注销\";\nvar frontend_listview_warning_start = \"当前\";\nvar frontend_listview_warning_end = \"视图不存在!\";\nvar frontend_record_detail_related_list_warning = \"缺少父级对象、父级记录或相关列表对象属性!\";\nvar frontend_record_detail_related_lists_warning = \"缺少父级对象或父级记录属性!\";\nvar frontend_record_detail_related_lists_info = \"没有相关子表\";\nvar frontend_calendar_listWeek = \"列表\";\nvar frontend_message_no_permission_to_edit = \"您没有编辑该记录的权限!\";\nvar frontend_message_modification_successful = \"修改成功!\";\nvar frontend_message_modification_failed = \"修改失败!\";\nvar frontend_objects_related_alert_start = \"未找到与相关列表对象\";\nvar frontend_objects_related_alert_end = \"关联的相关表字段\";\nvar frontend_no_records_found = \"无法找到记录\";\nvar frontend_records_no_allowedit = \"您对这条记录没有编辑权限\";\nvar zh_cn = {\n\tfrontend_field_group_generalization: frontend_field_group_generalization,\n\tfrontend_download: frontend_download,\n\tfrontend_form_save: frontend_form_save,\n\tfrontend_form_save_and_new: frontend_form_save_and_new,\n\tfrontend_form_cancel: frontend_form_cancel,\n\tfrontend_form_new: frontend_form_new,\n\tfrontend_form_edit: frontend_form_edit,\n\tfrontend_form_preview: frontend_form_preview,\n\tfrontend_form_select: frontend_form_select,\n\tfrontend_form_please_select: frontend_form_please_select,\n\tfrontend_form_confirm: frontend_form_confirm,\n\tfrontend_form_delete: frontend_form_delete,\n\tfrontend_form_view: frontend_form_view,\n\tfrontend_form_details: frontend_form_details,\n\tfrontend_form_validation_failed_url: frontend_form_validation_failed_url,\n\tfrontend_delete_confirm_text: frontend_delete_confirm_text,\n\tfrontend_delete_many_selected_required: frontend_delete_many_selected_required,\n\tfrontend_delete_many_confirm_text: frontend_delete_many_confirm_text,\n\tfrontend_display_type_is_table: frontend_display_type_is_table,\n\tfrontend_display_type_is_split: frontend_display_type_is_split,\n\tfrontend_display_as: frontend_display_as,\n\tfrontend_record_sum: frontend_record_sum,\n\tfrontend_button_reload_tooltip: frontend_button_reload_tooltip,\n\tfrontend_button_search_tooltip: frontend_button_search_tooltip,\n\tfrontend_fields_filter_button_search: frontend_fields_filter_button_search,\n\tfrontend_fields_filter_button_settings: frontend_fields_filter_button_settings,\n\tfrontend_button_listview_control_tooltip: frontend_button_listview_control_tooltip,\n\tfrontend_button_listview_control_label: frontend_button_listview_control_label,\n\tfrontend_listview_control_columns: frontend_listview_control_columns,\n\tfrontend_listview_control_columns_mobile_group: frontend_listview_control_columns_mobile_group,\n\tfrontend_listview_control_clone: frontend_listview_control_clone,\n\tfrontend_listview_control_clone_label: frontend_listview_control_clone_label,\n\tfrontend_listview_control_clone_title: frontend_listview_control_clone_title,\n\tfrontend_listview_control_clone_defaultData_label_start: frontend_listview_control_clone_defaultData_label_start,\n\tfrontend_listview_control_clone_defaultData_label_end: frontend_listview_control_clone_defaultData_label_end,\n\tfrontend_listview_control_delete_label: frontend_listview_control_delete_label,\n\tfrontend_listview_control_delete_confirm_text: frontend_listview_control_delete_confirm_text,\n\tfrontend_listview_control_delete_message_success: frontend_listview_control_delete_message_success,\n\tfrontend_listview_control_filters: frontend_listview_control_filters,\n\tfrontend_listview_control_filters_fields_extend: frontend_listview_control_filters_fields_extend,\n\tfrontend_listview_control_new_label: frontend_listview_control_new_label,\n\tfrontend_listview_control_new_title: frontend_listview_control_new_title,\n\tfrontend_listview_control_new_message_success: frontend_listview_control_new_message_success,\n\tfrontend_listview_control_new_message_failed: frontend_listview_control_new_message_failed,\n\tfrontend_listview_control_rename_label: frontend_listview_control_rename_label,\n\tfrontend_listview_control_rename_title: frontend_listview_control_rename_title,\n\tfrontend_listview_control_share: frontend_listview_control_share,\n\tfrontend_listview_control_sort: frontend_listview_control_sort,\n\tfrontend_export_excel: frontend_export_excel,\n\tfrontend_export_excel_toast: frontend_export_excel_toast,\n\tfrontend_operation: frontend_operation,\n\tfrontend_import_data: frontend_import_data,\n\tfrontend_import_data_object_name: frontend_import_data_object_name,\n\tfrontend_import_data_queue_import: frontend_import_data_queue_import,\n\tfrontend_import_data_queue_import_description: frontend_import_data_queue_import_description,\n\tfrontend_import_data_queue_import_encoding: frontend_import_data_queue_import_encoding,\n\tfrontend_import_data_queue_import_template_url: frontend_import_data_queue_import_template_url,\n\tfrontend_import_data_file: frontend_import_data_file,\n\tfrontend_import_data_message_success: frontend_import_data_message_success,\n\tfrontend_import_data_message_failed: frontend_import_data_message_failed,\n\tfrontend_record_detail_tab_detailed: frontend_record_detail_tab_detailed,\n\tfrontend_record_detail_tab_related: frontend_record_detail_tab_related,\n\tfrontend_all_apps: frontend_all_apps,\n\tfrontend_all_projects: frontend_all_projects,\n\tfrontend_open_app_launcher: frontend_open_app_launcher,\n\tfrontend_application_launcher: frontend_application_launcher,\n\tfrontend_menu: frontend_menu,\n\tfrontend_help: frontend_help,\n\tfrontend_setup: frontend_setup,\n\tfrontend_notifications: frontend_notifications,\n\tfrontend_notifications_allread: frontend_notifications_allread,\n\tfrontend_notifications_allread_message: frontend_notifications_allread_message,\n\tfrontend_notifications_close_dialog: frontend_notifications_close_dialog,\n\tfrontend_profile: frontend_profile,\n\tswitch_space: switch_space,\n\tfrontend_about: frontend_about,\n\tfrontend_log_out: frontend_log_out,\n\tfrontend_listview_warning_start: frontend_listview_warning_start,\n\tfrontend_listview_warning_end: frontend_listview_warning_end,\n\tfrontend_record_detail_related_list_warning: frontend_record_detail_related_list_warning,\n\tfrontend_record_detail_related_lists_warning: frontend_record_detail_related_lists_warning,\n\tfrontend_record_detail_related_lists_info: frontend_record_detail_related_lists_info,\n\tfrontend_calendar_listWeek: frontend_calendar_listWeek,\n\tfrontend_message_no_permission_to_edit: frontend_message_no_permission_to_edit,\n\tfrontend_message_modification_successful: frontend_message_modification_successful,\n\tfrontend_message_modification_failed: frontend_message_modification_failed,\n\tfrontend_objects_related_alert_start: frontend_objects_related_alert_start,\n\tfrontend_objects_related_alert_end: frontend_objects_related_alert_end,\n\tfrontend_no_records_found: frontend_no_records_found,\n\tfrontend_records_no_allowedit: frontend_records_no_allowedit\n};\n\nconst resources = {\n \"en-US\": {\n translation: en_us\n },\n \"zh-CN\": {\n translation: zh_cn\n }\n};\nvar locale = \"zh-CN\";\nif (typeof window != 'undefined') {\n if (window.Builder?.settings.locale == \"en-us\") {\n locale = \"en-US\";\n } else if (window.Builder?.settings.locale == \"zh-cn\") {\n locale = \"zh-CN\";\n }\n}\n\n\ni18next\n .use(initReactI18next)\n .init({\n resources,\n lng: locale,\n interpolation: {\n escapeValue: false\n }\n });\n\nasync function getQuickEditSchema(object, columnField, options){\n let field = object.fields[columnField.name];\n //判断在amis3.2以上环境下,放开批量编辑与lookup的单元格编辑\n let isAmisVersionforBatchEdit = false;\n if(window.amisRequire && window.amisRequire('amis')){\n isAmisVersionforBatchEdit = window.amisRequire('amis').version[0] >= 3 && window.amisRequire('amis').version[2] >= 2;\n }else if(window.Amis){\n isAmisVersionforBatchEdit = window.Amis.version[0] >= 3 && window.Amis.version[2] >= 2;\n }\n const quickEditId = options.objectName + \"_\" + field.name + \"_quickEdit\";//定义快速编辑的表单id,用于setvalue传值\n var quickEditSchema = { body: [], id: quickEditId, className: \"steedos-table-quickEdit\" };\n //select,avatar,image,file等组件无法行记录字段赋值,暂不支持批量编辑;\n if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){\n const submitEvent = {\n submit: {\n actions: [\n {\n \"actionType\": \"validate\",\n \"componentId\": quickEditId,\n \"outputVar\": \"form_validate_result\"\n },\n {\n actionType: \"custom\",\n script: `\n let items = _.cloneDeep(event.data.items);\n let selectedItems = _.cloneDeep(event.data.selectedItems);\n if(event.data.isBatchEdit){\n selectedItems.forEach(function(selectedItem){\n selectedItem._display.${field.name} = event.data._display.${field.name};\n doAction({actionType: 'setValue', \"args\": {\"value\": selectedItem._display},componentId: \"${options.objectName}\" + \"_display_\" + selectedItem._index});\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data.${field.name}},componentId: \"${options.objectName + \"_\" + field.name + \"_\"}\" + selectedItem._index});\n })\n }else{\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data._display},componentId: \"${options.objectName}\" + \"_display_\" + event.data._index});\n doAction({actionType: 'setValue', \"args\": {\"value\": event.data.${field.name}},componentId: \"${options.objectName + \"_\" + field.name + \"_\"}\" + event.data._index});\n }\n `,\n expression: \"${!form_validate_result.error}\"\n },\n {\n \"actionType\": \"closeDialog\",\n expression: \"${!form_validate_result.error}\"\n }\n ]\n }\n };\n quickEditSchema.onEvent = submitEvent;\n }\n \n if (field.disabled) {\n quickEditSchema = false;\n } else {\n var fieldSchema = await convertSFieldToAmisField(field, false, _$1.omit(options, 'buttons'));\n //存在属性上可编辑,实际不可编辑的字段,convertSFieldToAmisField函数可能会返回undefined,如summary\n if (!!fieldSchema) {\n quickEditSchema.body.push(fieldSchema);\n //以下字段使用_display的数据,因此在触发change等事件时对数据_display进行修改,以实现保存前的回显\n var TempDisplayField = ``;\n quickEditSchema.body[0].onEvent = {};\n const quickEditOnEvent = function (displayField) {\n const EventType = {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": `\n var _display = _.cloneDeep(event.data._display);\n ${displayField}\n doAction({actionType: 'setValue', \"args\": {\"value\": {_display}},componentId: \"${quickEditId}\"});\n `\n }\n ]\n };\n return EventType;\n };\n switch (field.type) {\n //TODO: amis的picker组件直接点击选项x时不会触发change事件,待处理\n case \"lookup\":\n case \"master_detail\":\n let labelField = quickEditSchema.body[0].labelField || \"label\";\n let valueField = quickEditSchema.body[0].valueField || \"value\";\n if (field.multiple) {\n /*\n 多选分两种情况。\n 第一种是减少选项时(判断新的数据是否比老的数据短),按照index删除_display中对应选项,保证回显没问题;\n 第二种是增加选项时,按照value的值,找到对应选项,并按照_display的规则为其赋值\n */\n TempDisplayField = `\n const preData = _.cloneDeep(event.data.__super.${field.name});\n if(preData && event.data.${field.name}.length < preData.length){\n let deletedIndex;\n preData.forEach(function(item,index){\n if(_.indexOf(event.data.${field.name}, item) == -1) _display[\"${field.name}\"].splice(index, 1);\n })\n }else{\n _display[\"${field.name}\"] = [];\n event.data.value.forEach(function(val,index){\n const item = _.find(event.data.selectedItems, { ${valueField}: val });\n _display[\"${field.name}\"].push(\n {\n \"label\": item.${labelField},\n \"value\": item[event.data.uiSchema.idFieldName],\n \"objectName\": \"${field.reference_to}\"\n }\n )\n })\n }\n \n `;\n } else {\n TempDisplayField = `\n if(event.data.value){\n _display[\"${field.name}\"] = {\n \"label\": event.data.selectedItems.${labelField},\n \"value\": event.data.selectedItems[event.data.uiSchema.idFieldName],\n \"objectName\": \"${field.reference_to}\"\n }\n }else{\n _display[\"${field.name}\"] = {}\n }\n `;\n }\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"select\":\n TempDisplayField = `\n _display[\"${field.name}\"] = event.data.selectedItems.label;\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"percent\":\n TempDisplayField = `\n if(event.data.value){\n _display[\"${field.name}\"] = event.data.value.toFixed(${field.scale}) + '%';\n } else {\n _display[\"${field.name}\"] = event.data.value;\n }\n \n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"time\":\n TempDisplayField = `\n _display[\"${field.name}\"] = moment(event.data.value).utc().format('HH:mm');\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"date\":\n TempDisplayField = `\n _display[\"${field.name}\"] = moment(event.data.value).utc().format('YYYY-MM-DD');\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"datetime\":\n TempDisplayField = `\n _display[\"${field.name}\"] = moment(event.data.value).format('YYYY-MM-DD HH:mm');\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"boolean\":\n TempDisplayField = `\n _display[\"${field.name}\"] = event.data.value?\"√\":\"\";\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n break;\n case \"number\":\n case \"currency\":\n TempDisplayField = `\n _display[\"${field.name}\"] = event.data.value && event.data.value.toFixed(${field.scale});\n `;\n quickEditSchema.body[0].onEvent[\"change\"] = quickEditOnEvent(TempDisplayField);\n\n break;\n case \"file\":\n var removeDisplayField = ``;\n if (field.multiple) {\n TempDisplayField = `\n _display[\"${field.name}\"].push({\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"value\": event.data.result.value,\n \"_id\": event.data.result.value,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n });\n `;\n removeDisplayField = `\n _.remove(_display[\"${field.name}\"], function(file){return file.url == event.data.item.url});\n `;\n } else {\n TempDisplayField = ` \n _display[\"${field.name}\"] = {\n \"name\": event.data.result.name,\n \"url\": event.data.result.url,\n \"value\": event.data.result.value,\n \"_id\": event.data.result.value,\n \"type\": event.data.item.type,\n \"size\": event.data.item.size\n };\n `;\n removeDisplayField = `\n if(_display[\"${field.name}\"].url == event.data.item.url){\n _display[\"${field.name}\"] = {};\n }\n `;\n }\n quickEditSchema.body[0].onEvent[\"success\"] = quickEditOnEvent(TempDisplayField);\n quickEditSchema.body[0].onEvent[\"remove\"] = quickEditOnEvent(removeDisplayField);\n break;\n case \"avatar\":\n case \"image\":\n quickEditSchema.body[0].receiver.adaptor = `\n const superData = (typeof context != 'undefined') ? context : api.body; \n const { context:pageContext } = superData; \n var rootUrl = pageContext.rootUrl + \"/api/files/${field.type}s/\";\n payload = {\n status: response.status == 200 ? 0 : response.status,\n msg: response.statusText,\n data: {\n value: rootUrl + payload._id,//为了实现图片crud的回显,需要将value从id改为url,当保存数据数据时,再在发送适配器内重新将id提取出来\n name: payload.original.name,\n url: rootUrl + payload._id,\n }\n }\n return payload;\n `;\n break;\n }\n quickEditSchema.body[0].visibleOn = \"${quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}\";\n quickEditSchema.body.push({\n \"type\":\"service\",\n \"body\":[\n {\n \"type\": \"tpl\",\n \"tpl\": i18next.t('frontend_records_no_allowedit'),\n \"visibleOn\": \"${!quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}\"\n },\n {\n \"type\": \"spinner\",\n \"showOn\": \"${quickedit_record_permissions_loading}\"\n }\n ],\n \"onEvent\":{\n \"init\":{\n \"actions\":[\n //amis3.6无法从数据域中直接拿到正确的selectitems,需要通过crud组件的getSelected()函数获取\n {\n \"actionType\": \"custom\",\n \"script\": `\n crudScoped = event.context.scoped.getComponentById('${options.crudId}');\n const selectedItems = crudScoped && crudScoped.control.getSelected();\n doAction({\n \"componentId\": \"${quickEditId}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n selectedItems\n }\n }\n });\n `\n },\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"quickedit_record_permissions_loading\": true\n }\n }\n },\n {\n \"actionType\": \"ajax\",\n \"args\": {\n \"api\": {\n \"url\": \"${context.rootUrl}/service/api/@\\${objectName}/recordPermissions/${_id}\",\n \"method\": \"get\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"cache\": 30000,\n \"messages\": {\n \"failed\": \"失败了呢。。\"\n }\n }\n },\n \"expression\": \"${!recordPermissions.modifyAllRecords}\"\n },\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"quickedit_record_permissions_loading\": false\n }\n }\n },\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"quickedit_record_permissions\": \"${recordPermissions.modifyAllRecords ? {'allowEdit': true} : event.data}\"\n }\n }\n }\n ]\n }\n }\n \n });\n if(field.type != 'avatar' && field.type != 'image' && field.type != 'file' && isAmisVersionforBatchEdit){\n quickEditSchema.body.push({\n \"name\": \"isBatchEdit\",\n \"type\": \"checkbox\",\n \"option\": [\n {\n \"type\": \"tpl\",\n \"tpl\": \"更新${COUNT(selectedItems)}个选定记录\"\n },\n {\n \"type\": \"spinner\",\n \"showOn\": \"${batchPermissionLoading}\",\n \"size\": \"sm\",\n \"className\": \"mr-4\"\n }\n ],\n \"visibleOn\": \"${ARRAYSOME(selectedItems, item => item._id === _id) && COUNT(selectedItems)>1 && quickedit_record_permissions.allowEdit && quickedit_record_permissions_loading == false}\",\n \"disabledOn\": \"${batchPermissionLoading}\",\n \"onEvent\":{\n \"change\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"batchPermissionLoading\": true\n }\n },\n \"expression\":\"${event.data.value}\"\n },\n {\n \"actionType\": \"ajax\",\n \"args\": {\n \"api\": {\n \"url\": \"${context.rootUrl}/graphql\",\n \"method\": \"post\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"data\": {\n \"query\": \"{rows:${objectName}(filters:[\\\"_id\\\",\\\"in\\\",${selectedItems | pick:_id | split | json}]){_id,_permissions{allowEdit}}}\"\n },\n \"adaptor\": `\n const noPermission = [];\n payload.data.rows.forEach(function (row) {\n if(!row._permissions.allowEdit){\n noPermission.push(row._id);\n }\n })\n payload.data.noPermission = noPermission;\n return payload;\n `\n }\n },\n \"expression\":\"${event.data.value && !recordPermissions.modifyAllRecords}\"\n },\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"batchPermissionLoading\": false\n }\n },\n \"expression\":\"${event.data.value}\"\n },\n {\n \"actionType\": \"dialog\",\n \"dialog\":{\n \"title\": \"记录权限\",\n \"showCloseButton\": false,\n \"body\":[\n {\n \"type\": \"tpl\",\n \"tpl\": \"当前选中记录中,有${COUNT(noPermission)}条记录无编辑权限,是否需要批量编辑其他记录?\"\n }\n ],\n \"onEvent\":{\n \"confirm\":{\n \"actions\":[\n {\n \"actionType\": \"custom\",\n \"script\": `\n const noPermission = event.data.noPermission;\n const crudComponent = event.context.scoped.getComponentById(\"${options.crudId}\");\n let selectedItems = crudComponent && crudComponent.props.store.selectedItems.concat();\n noPermission.forEach(function (item) {\n crudComponent && crudComponent.unSelectItem(_.find(selectedItems,{_id:item}));\n _.remove(selectedItems, (selected) => selected._id === item);\n })\n doAction({\n \"componentId\": \"${quickEditId}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": {\n selectedItems\n }\n }\n });\n `\n },\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"isBatchEdit\": true\n }\n },\n }\n ]\n },\n \"cancel\":{\n \"actions\":[\n {\n \"actionType\": \"setValue\",\n \"componentId\": quickEditId,\n \"args\": {\n \"value\":{\n \"isBatchEdit\": false\n }\n },\n }\n ]\n }\n }\n },\n \"expression\":\"${COUNT(event.data.noPermission)>0}\"\n }\n ]\n }\n }\n });\n }\n } else {\n quickEditSchema = false;\n }\n //amis3.2以下禁用lookup的单元格编辑\n if(field.type == \"lookup\" && !isAmisVersionforBatchEdit){\n quickEditSchema = false;\n }\n //TODO:附件多选时会覆盖老数据,暂时禁用\n if(field.type == \"file\" && field.multiple){\n quickEditSchema = false;\n }\n //TODO:location字段在列表中快速编辑后存在bug,保存时可能会丢失部分数据,暂时禁用\n if(field.type == \"location\"){\n quickEditSchema = false;\n }\n if(field.type == \"color\"){\n quickEditSchema = {\n type: \"input-color\"\n };\n }\n }\n return quickEditSchema;\n}\n\nfunction getFieldWidth(width){\n const defaultWidth = null;\n if(typeof width == 'string'){\n if(isNaN(width)){\n return width || defaultWidth;\n }else {\n return Number(width) || defaultWidth;\n }\n }else if(typeof width == 'number'){\n return width;\n }else {\n return defaultWidth;\n }\n}\n\nasync function getColumnItemOnClick(field, options){\n const recordPage = await getPage({ type: 'record', appId: options.appId, objectName: options.objectName, formFactor: options.formFactor });\n const drawerRecordDetailSchema = recordPage ? Object.assign({}, recordPage.schema, {\n \"recordId\": `\\${${options.idFieldName}}`,\n \"data\": {\n ...recordPage.schema.data,\n \"_inDrawer\": true, // 用于判断是否在抽屉中\n \"recordLoaded\": false, // 重置数据加载状态\n \"recordId\": `\\${${options.idFieldName}}`//审批微页面依赖了作用域中的recordId\n }\n }) : {\n \"type\": \"steedos-record-detail\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": `\\${${options.idFieldName}}`,\n \"showBackButton\": false,\n \"showButtons\": true,\n \"data\": {\n \"_inDrawer\": true, // 用于判断是否在抽屉中\n \"recordLoaded\": false, // 重置数据加载状态\n }\n };\n\n if(!(field.is_name || field.name === options.labelFieldName)){\n drawerRecordDetailSchema.objectApiName = field.reference_to;\n drawerRecordDetailSchema.recordId = `\\${_display.${field.name}.value}`;\n }\n return {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"drawer\",\n \"drawer\": {\n \"type\": \"drawer\",\n \"title\": \"&nbsp;\",\n \"headerClassName\": \"hidden\",\n \"size\": \"lg\",\n \"width\": window.drawerWidth || \"70%\",\n \"bodyClassName\": \"p-0 m-0 bg-gray-100\",\n \"closeOnEsc\": true,\n \"closeOnOutside\": true,\n \"resizable\": true,\n \"actions\": [],\n \"body\": [\n drawerRecordDetailSchema\n ],\n \"className\": \"steedos-record-detail-drawer app-popover\",\n \"id\": \"u:fc5f055afa8c\"\n },\n \"preventDefault\": true\n }\n ]\n }\n };\n}\n\nasync function getTableColumns(object, fields, options){\n const columns = [];\n if(!options.isLookup && !options.isInputTable){\n if(!options.enable_tree){\n columns.push({name: '_index',type: 'text', width: 32, placeholder: \"\"});\n }\n }\n const allowEdit = options.permissions?.allowEdit && !options.isLookup && options.enable_inline_edit != false;\n \n for (const field of fields) {\n if(field.hidden || field.extra){\n continue;\n }\n //增加quickEdit属性,实现快速编辑\n const quickEditSchema = allowEdit ? await getQuickEditSchema(object, field, options) : allowEdit;\n let className = `steedos-table-${field.type}-field`;\n const bowserType = getBowserType();\n if(bowserType === \"Safari\"){\n className += \" whitespace-nowrap \";\n }else {\n if(field.wrap != true){\n className += \" whitespace-nowrap \";\n }else {\n className += \" break-words \";\n }\n }\n\n if (typeof field.amis?.className == \"object\") {\n className = {\n [className]: \"true\",\n ...field.amis.className\n };\n } else if (typeof field.amis?.className == \"string\") {\n className = `${className} ${field.amis.className} `;\n }\n let fieldAmis = _$1.clone(field.amis);\n delete fieldAmis?.className;\n\n let columnItem;\n\n // PC客户端点击名称字段直接预览\n let isNode = !!(window && window.nw && window.nw.require);\n if((field.is_name || field.name === options.labelFieldName) && options.objectName === 'cms_files' && isNode){\n const previewFileScript = `\n var data = event.data;\n var file_name = data.versions ? data.name : \"${field.label}\";\n var file_id = data.versions && data.versions[0] && data.versions[0]._id;\n window.previewFile && window.previewFile({file_name, file_id});\n `;\n columnItem = Object.assign({}, {\n \"type\": \"button\",\n \"label\": `<%=data.versions ? data.name : \"${field.label}\"%>`,\n className,\n \"level\": \"link\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n // {\n // \"args\": {\n // \"api\": {\n // \"url\": \"${(versions[0] && versions[0].url) ? versions[0].url+'?download=true' : context.rootUrl+'/api/files/files/'+versions[0]+'?download=true'}\",\n // \"method\": \"get\",\n // \"headers\": {\n // \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n // }\n // }\n // },\n // \"actionType\": \"download\",\n // // \"expression\": \"!!!window?.nw?.require\"//浏览器上直接下载\n // \"expression\": \"!!!(window && window.nw && window.nw.require)\"//浏览器上直接下载\n // },\n {\n \"args\": {},\n \"actionType\": \"custom\",\n \"script\": previewFileScript,\n // \"expression\": \"!!window?.nw?.require\" //PC客户端预览附件\n \"expression\": \"!!(window && window.nw && window.nw.require)\"//PC客户端预览附件\n }\n ]\n }\n }\n }, fieldAmis);\n }else if(field.type === 'toggle'){\n columnItem = Object.assign({}, {\n type: \"switch\",\n name: field.name,\n label: field.label,\n width: getFieldWidth(field.width),\n toggled: field.toggled,\n static: true,\n className,\n }, fieldAmis, {name: field.name});\n }else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){\n columnItem = Object.assign({}, {\n type: \"switch\",\n name: field.name,\n label: field.label,\n width: getFieldWidth(field.width),\n toggled: field.toggled,\n static: true,\n className,\n ...await getAmisFileReadonlySchema(field)\n }, fieldAmis);\n }\n else if(field.type === 'select'){\n const map = getSelectMap(field.options);\n columnItem = Object.assign({}, {\n type: \"static-mapping\",\n name: field.name,\n label: field.label,\n map: map,\n sortable: field.sortable,\n width: getFieldWidth(field.width),\n toggled: field.toggled,\n className,\n inputClassName: \"inline\",\n static: true,\n }, fieldAmis, {name: field.name});\n }\n else {\n const tpl = await getFieldTpl(field, options);\n let type = 'static-text';\n if(tpl){\n type = 'static';\n }else if(field.type === 'html'){\n type = 'static-markdown';\n }else if(field.type === 'url'){\n if(field.show_as_qr){\n type = 'static-qr-code';\n }else {\n type = 'input-url';\n }\n }\n if(field.type === 'textarea'){\n className += 'min-w-56';\n }\n // if(field.type === 'date'){\n // className += 'date-min-w';\n // }\n // if(field.type === 'datetime'){\n // className += 'datetime-min-w';\n // }\n\n //field上的amis属性里的clssname需要单独判断类型合并\n\n if(!field.hidden && !field.extra){\n columnItem = Object.assign({}, {\n name: field.name,\n label: field.label,\n sortable: field.sortable,\n // searchable: field.searchable,\n width: getFieldWidth(field.width),\n type: type,\n tpl: tpl,\n toggled: field.toggled,\n className,\n inputClassName: \"inline\",\n static: true,\n options: field.type === 'html' ? {html: true} : null\n // toggled: true \n }, fieldAmis, {name: field.name});\n \n if(field.type === 'color'){\n columnItem.type = 'color';\n columnItem.defaultColor = null;\n }\n\n if(window.innerWidth >= 768 && ((field.is_name || field.name === options.labelFieldName) || ((field.type == 'lookup' || field.type == 'master_detail') && _$1.isString(field.reference_to) && field.multiple != true)) && options.isRelated){\n columnItem.onEvent = await getColumnItemOnClick(field, options);\n }\n\n }\n }\n if(columnItem){\n if(quickEditSchema){\n columnItem.quickEdit = quickEditSchema;\n columnItem.quickEditEnabledOn = \"${is_system !== true}\";\n }\n columnItem.id = `${options.objectName}_${field.name}_\\${_index}`;\n columns.push(columnItem);\n }\n }\n // columns.push(getOperation(fields));\n if(!options.isLookup && !options.isInputTable && !_$1.some(columns, { name: options.labelFieldName })){\n // 没有名称字段时显示序号字段为链接,lookup弹出的picker不需要此功能\n const href = Router.getObjectDetailPath({\n ...options, formFactor: options.formFactor, appId: \"${appId}\", objectName: options.objectName || \"${objectName}\", recordId: `\\${${options.idFieldName}}`\n });\n columns[0].type = \"tpl\";\n columns[0].tpl = `<a href=\"${href}\">\\${${columns[0].name}}</a>`;\n }\n return columns;\n}\n\n/**\n * 生成移动端列表每行显示的amis行\n * @param {*} tpls 要显示的每个字段的tpl\n * @returns {\n \"type\": \"wrapper\",\n \"body\": [{\n \"type\": \"tpl\",\n \"tpl\": tpls[index].tpl,\n \"className\": \"truncate\"//左侧样式类\n },{\n \"type\": \"tpl\",\n \"tpl\": tpls[index + 1].tpl,\n \"className\": \"truncate ml-2 flex flex-shrink-0\"//右侧样式类\n }],\n \"size\": \"none\",\n \"className\": \"flex items-center justify-between\"//每行样式类\n }\n */\nfunction getMobileLines(tpls){\n let lines = [];\n let maxLineCount = 3;\n let lineChildren = [];\n let isNewLine = false;\n let isLeft = true;\n let lineChildrenClassName = \"\";\n let lineClassName = \"flex items-center justify-between mb-1\";\n tpls.forEach(function(item){\n if(isNewLine && lines.length < maxLineCount){\n lines.push({\n \"type\": \"wrapper\",\n \"body\": lineChildren,\n \"size\": \"none\",\n \"className\": lineClassName\n });\n lineChildren = [];\n }\n if(isLeft){\n // 左侧半行\n lineChildrenClassName = \"steedos-listview-item-left truncate\";\n if(item.field.is_wide){\n // 左侧全行样式可以单独写,如果需要配置两行省略号效果,可以加样式类 two-lines-truncate\n lineChildrenClassName = \"steedos-listview-item-wide\";\n }\n if(lines.length === 0){\n // 第一个字段加粗黑色显示\n lineChildrenClassName += \" font-bold text-gray-800\";\n }\n }\n else {\n // 右侧半行,这里加样式类 flex flex-shrink-0,是为了省略号只显示在左半行,右半行文字一般比较短,如果也加省略号效果的话,左侧文字多的话,右侧没几个字就显示省略号了\n lineChildrenClassName = \"steedos-listview-item-right truncate ml-2 flex flex-shrink-0\";\n }\n //支持字段amis属性配置classname,识别classname的类型,与原样式合并\n var className;\n if (typeof item.field.amis?.className == \"object\") {\n className = {\n [lineChildrenClassName]: \"true\",\n ...item.field.amis.className\n };\n } else if (typeof item.field.amis?.className == \"string\") {\n className = `${lineChildrenClassName} ${item.field.amis.className} `;\n } else {\n className = lineChildrenClassName;\n }\n lineChildren.push({\n \"type\": \"tpl\",\n \"tpl\": item.tpl,\n className\n });\n \n if(item.field.is_wide){\n // 宽字段占整行\n isLeft = true;\n isNewLine = true;\n }\n else {\n isLeft = !isLeft;\n isNewLine = isLeft;\n }\n });\n \n if(lineChildren.length && lines.length < maxLineCount){\n lines.push({\n \"type\": \"wrapper\",\n \"body\": lineChildren,\n \"size\": \"none\",\n \"className\": lineClassName\n });\n }\n \n return lines;\n}\n\nasync function getMobileTableColumns(fields, options){\n const columns = [];\n let nameField = {};\n let tpls = [];\n for (const field of fields) {\n let tpl = \"\";\n if(field.is_name || field.name === options.labelFieldName){\n nameField = field;\n options = Object.assign({}, options, {\n onlyDisplayLookLabel: true\n });\n tpl = await getFieldTpl(field, options);\n }\n else if(field.type === 'avatar' || field.type === 'image' || field.type === 'file'){\n // 图片和附件类型字段暂时显示为附件名称,后续需要再优化\n tpl = `\\${_display.${field.name}.name}`;\n }\n else {\n if(field.type === 'lookup' || field.type === 'master_detail'){\n options = Object.assign({}, options, {\n onlyDisplayLookLabel: true\n });\n }\n tpl = await getFieldTpl(field, options);\n }\n if(!tpl){\n tpl = `\\${${field.name}}`;\n }\n if(!field.hidden && !field.extra){\n tpls.push({ field, tpl });\n }\n }\n const url = getNameTplUrl(nameField, options);\n\n const columnLines = getMobileLines(tpls);\n\n\n let column = {\n name: nameField.name,\n label: options.displayAs == 'split' ? '' : nameField.label,\n sortable: nameField.sortable,\n type: \"button\",\n level: \"link\",\n actionType: \"link\",\n link: url,\n innerClassName: {\n \"steedos-listview-item block text-gray-500\":\"true\",\n \"max-w-[360px]\": \"${display == 'split'}\",\n },\n body: {\n \"type\": \"wrapper\",\n \"body\": columnLines,\n \"size\": \"none\",\n \"className\": \"p-1\"\n }\n };\n \n if(options.objectName === 'cms_files'){\n if(window.Meteor?.isCordova){\n column = {\n ...column,\n actionType: \"\",\n link: \"\",\n onEvent: {\n \"click\": {\n \"actions\": [\n {\n \"script\": `\n let cms_url = '';\n let value = event.data.versions[0];\n if(value){\n if(value.url){\n cms_url = value.url;\n }else{\n cms_url = Steedos.absoluteUrl(\"/api/files/files/\"+value+\"?download=true\");\n }\n }\n Steedos.cordovaDownload(encodeURI(cms_url), event.data.name);\n `,\n \"actionType\": \"custom\"\n }\n ],\n \"weight\": 0\n }\n }\n };\n }else {\n column = {\n ...column,\n actionType: \"\",\n link: \"\",\n onEvent: {\n \"click\": {\n \"actions\": [\n // {\n // \"args\": {\n // \"api\": {\n // \"url\": url,\n // \"method\": \"get\",\n // \"headers\": {\n // \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n // }\n // }\n // },\n // \"actionType\": \"download\"\n // }\n {\n \"actionType\": \"link\",\n \"args\": {\n \"link\": url\n }\n }\n ],\n \"weight\": 0\n }\n }\n };\n }\n \n }\n\n columns.push(column);\n \n\n return columns;\n}\n\nfunction getDefaultParams$1(options){\n return {\n perPage: options.top || options.perPage || config.listView.perPage\n }\n}\n\nfunction getButtonVisibleOn$1(button){\n let visible= button.visible;\n\n if(button._visible){\n visible = button._visible;\n }\n\n if(isBoolean(visible)){\n visible = visible.toString();\n }\n\n if(visible){\n // if(visible.indexOf(\"Meteor.\") > 0 || visible.indexOf(\"Creator.\") > 0 || visible.indexOf(\"Session.\") > 0){\n // console.warn('无效的visible', visible)\n // return 'false';\n // }\n if(visible.trim().startsWith('function')){\n return `${visible}(objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data)`\n }\n return visible;\n }\n\n if(button.type === 'amis_button'){\n const amisSchema = button.amis_schema;\n if(amisSchema && amisSchema.body && amisSchema.body.length > 0){\n const btn1 = amisSchema.body[0];\n return btn1.visibleOn\n }\n }\n}\n\nasync function getTableOperation(ctx){\n const buttons = ctx.buttons;\n const operationButtons = [];\n each(buttons, (button)=>{\n if(isBoolean(button.visible)){\n button.visible = button.visible.toString();\n }\n // operationButtons.push({\n // type: 'button',\n // label: button.label,\n // visibleOn: button.visible ? `${button.visible}` : (button._visible ? `${button._visible}` : null),\n // onEvent: {\n // click: {\n // actions: []\n // }\n // }\n // })\n\n operationButtons.push({\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOnAlias: getButtonVisibleOn$1(button),\n className: 'antd-Button--default'\n });\n });\n if(operationButtons.length < 1){\n return ;\n }\n return {\n type: 'operation',\n label: \"&nbsp;\",\n fixed: 'right',\n labelClassName: 'text-center',\n //TODO:目前3.6.3-patch.3版本中对于动态classname处理存在问题,简单处理固定列问题,等待amis解决crud的columns不支持动态classname的问题\n className: 'text-center steedos-listview-operation w-10 is-sticky is-sticky-right is-sticky-first-right',\n buttons: [\n {\n \"type\": \"steedos-dropdown-button\",\n \"label\": \"xxx\",\n \"buttons\": operationButtons,\n \"placement\": \"bottomRight\",\n \"overlayClassName\": \"border rounded !min-w-[160px]\",\n \"trigger\": [\"click\"],\n \"id\": \"u:c2140a365019\",\n onOpenApi: {\n url: `\\${context.rootUrl}/service/api/@\\${objectName}/recordPermissions/\\${_id}`,\n method: \"get\",\n requestAdaptor: \"api.data={}; return api;\",\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n },\n adaptor: `\n payload = {\n record: {\n recordPermissions: payload\n }\n };\n return payload;\n `,\n }\n }\n ]\n }\n}\n\nasync function getDefaultCrudCard(columns, options) {\n let labelFieldName = options?.labelFieldName || \"name\";\n let titleColumn, bodyColumns = [];\n columns.forEach(function (item) {\n delete item.quickEdit;\n delete item.width;\n if (item.name === labelFieldName) {\n titleColumn = item;\n }\n else {\n if (item.name !== \"_index\") {\n bodyColumns.push(item);\n }\n }\n });\n let card = {\n \"header\": {\n \"title\": titleColumn.tpl\n },\n body: bodyColumns,\n // useCardLabel: false,\n toolbar: []\n };\n let hideToolbarOperation = options.formFactor === 'SMALL' || [\"split\"].indexOf(options.displayAs) > -1;\n if(!hideToolbarOperation){\n let toolbarOperation = await getTableOperation(options);\n if (toolbarOperation) {\n toolbarOperation.className += \" inline-block w-auto\";\n }\n card.toolbar.push(toolbarOperation);\n }\n return card;\n}\n\nasync function getTableSchema$1(object, fields, options){\n if(!options){\n options = {};\n }\n let { isLookup, hiddenColumnOperation } = options;\n const defaults = options.defaults;\n const listSchema = (defaults && defaults.listSchema) || {};\n\n let columns = [];\n let useMobileColumns = options.formFactor === 'SMALL' || [\"split\"].indexOf(options.displayAs) > -1;\n if(isLookup){\n // 在lookup手机端列表模式调式好之前不使用getMobileTableColumns\n useMobileColumns = false;\n }\n if(listSchema.mode && listSchema.mode !== \"table\"){\n // 如果指定的mode,则不走我们内置的手机端列表效果,使用steedos组件内部开发的默认card/list效果,或者由用户自己实现card/list模式的crud列表\n useMobileColumns = false;\n }\n if(useMobileColumns){\n columns = await getMobileTableColumns(fields, options);\n }\n else {\n columns = await getTableColumns(object, fields, options);\n\n if(listSchema.mode === \"cards\"){\n let card = listSchema.card;\n if(!card){\n card = await getDefaultCrudCard(columns, options);\n }\n return {\n mode: \"cards\",\n perPageAvailable: [20, 50, 100, 500],\n name: \"thelist\",\n headerToolbarClassName: \"py-2 px-2 border-gray-300 border-solid border-b\",\n className: \"\",\n draggable: false,\n card: card,\n syncLocation: false,\n keepItemSelectionOnPageChange: true,\n checkOnItemClick: isLookup ? true : false,\n labelTpl: `\\${${options.labelFieldName}}`,\n autoFillHeight: false, // 自动高度效果不理想,先关闭\n columnsTogglable: false,\n ...getDefaultParams$1(options) //不可以使用crud的defaultParams属性,会造成翻页bug,https://github.com/steedos/steedos-platform/issues/6576\n }\n }\n\n if(!isLookup && !hiddenColumnOperation){\n const toolbarOperation = await getTableOperation(options);\n columns.push(toolbarOperation);\n }\n \n }\n\n const treeConfig = {};\n\n if(options.enable_tree){\n treeConfig.expandConfig = {\n expand: 'first'\n };\n }\n\n return {\n mode: \"table\",\n perPageAvailable: [20, 50, 100, 500],\n name: \"thelist\",\n headerToolbarClassName: \"py-2 px-2 border-gray-300 border-solid border-b\",\n className: \"\",\n draggable: false,\n columns: columns,\n syncLocation: false,\n keepItemSelectionOnPageChange: true,\n checkOnItemClick: isLookup ? true : false,\n labelTpl: `\\${${options.labelFieldName}}`,\n autoFillHeight: false, // 自动高度效果不理想,先关闭\n columnsTogglable: false,\n ...treeConfig,\n ...getDefaultParams$1(options) //不可以使用crud的defaultParams属性,会造成翻页bug,https://github.com/steedos/steedos-platform/issues/6576\n }\n}\n\n\n\n/**\n * \n * @param {*} mainObject \n * @param {*} fields \n * @param {*} options = {filter: listview 过滤条件, ...}\n * @returns \n */\nasync function getTableApi(mainObject, fields, options){\n const searchableFields = [];\n let { filter, filtersFunction, sort, top, setDataToComponentId = '' } = options;\n\n if(_$1.isArray(filter)){\n filter = _$1.map(filter, function(item){\n if(item.operation){\n return [item.field, item.operation, item.value];\n }else {\n return item\n }\n });\n }\n if(!filter){\n filter = [];\n }\n let baseFilters = null;\n if(filter){\n baseFilters = filter;\n }\n\n _$1.each(mainObject.fields, function (field) {\n if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {\n searchableFields.push(field.name);\n }\n });\n\n const fileFields = {};\n const fileFieldsKeys = [];\n // 含有optionsFunction属性, 无reference_to属性的lookup字段\n const lookupFields = {};\n fields.forEach((item)=>{\n if(_$1.includes(['image','avatar','file'], item.type)){\n fileFieldsKeys.push(item.name);\n fileFields[item.name] = {\n name: item.name,\n type: item.type,\n multiple: item.multiple\n };\n }\n if(_$1.includes(['lookup'], item.type) && !item.reference_to ){\n lookupFields[item.name] = item;\n }\n });\n\n let valueField = mainObject.key_field || '_id';\n const api = await getApi$1(mainObject, null, fields, {count: options.queryCount, alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\"`});\n\n api.url += \"&objectName=${objectName}\";//设计器上对象表格组件需要切换对象重新请求列表数据\n if(options.isRelated){\n api.url += \"&recordId=${_master.recordId}\";\n }\n api.cache = 3000; \n api.data.$term = \"$term\";\n api.data.term = \"$term\";\n api.data.$self = \"$$\";\n api.data.self = \"$$\";\n api.data.filter = \"$filter\";\n api.data.loaded = \"${loaded}\";\n api.data.listViewId = \"${listViewId}\";\n api.data.listName = \"${listName}\";\n api.requestAdaptor = `\n let __changedFilterFormValues = api.data.$self.__changedFilterFormValues || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:\n // 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索\n // 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。\n // 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。\n // 这里直接合并到api.data.$self,而不是后面定义的selfData变量,是因为可以省去在接收适配器中写一样的合并逻辑\n // 如果有问题可以改为合并到selfData变量中,但是要在接收适配器中写上一样的合并逻辑,否则里面的过滤条件不会存入本地存储中\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n // selfData 中的数据由 CRUD 控制. selfData中,只能获取到 CRUD 给定的data. 无法从数据链中获取数据.\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n // 保留一份初始data,以供自定义发送适配器中获取原始数据。\n const data = _.cloneDeep(api.data);\n try{\n // TODO: 不应该直接在这里取localStorage,应该从外面传入\n const listName = api.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData);\n if(!api.data.filter){\n api.data.filter = localListViewProps.filter;\n }\n if(!api.data.loaded){\n // 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1\n // 所以会把localSearchableFilter中已经存过的页码覆盖\n // 如果是第一次加载组件始终让翻页页码从本地存储中取值\n let formFactor = \"${options.formFactor}\";\n // 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页\n // api.data.pageNo = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n // 移动端暂时去除加载更多,放开翻页\n api.data.pageNo = localListViewProps.page || 1;\n }\n }\n }\n catch(ex){\n console.error(\"本地存储中crud参数解析异常:\", ex);\n }\n ${baseFilters ? `var systemFilters = ${JSON.stringify(baseFilters)};` : 'var systemFilters = [];'}\n var _ids = []\n const filtersFunction = ${filtersFunction};\n if(filtersFunction){\n const _filters = filtersFunction(systemFilters, api.data.$self);\n if(api.data.listName == \"recent\"){\n _ids = _filters[2]\n }\n if(_filters && _filters.length > 0){\n if(_.isEmpty(systemFilters)){\n systemFilters = _filters || [];\n }else{\n systemFilters = [systemFilters, 'and', _filters];\n }\n }\n }\n let userFilters =[];\n \n if(_.isEmpty(systemFilters)){\n systemFilters = api.data.filter || [];\n }else{\n if(!_.isEmpty(api.data.filter)){\n systemFilters = [systemFilters, 'and', api.data.filter];\n }\n }\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 sort = orderBy ? sort : \"${sort || ''}\";\n var allowSearchFields = ${JSON.stringify(searchableFields)};\n if(api.data.$term){\n userFilters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n userFilters = [[\"${valueField.name}\", \"=\", selfData.value]];\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n if(searchableFilter.length > 0){\n if(userFilters.length > 0 ){\n userFilters = [userFilters, 'and', searchableFilter];\n }else{\n userFilters = searchableFilter;\n }\n }\n\n // \"搜索此列表\"搜索框\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n userFilters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n userFilters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.__keywords, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n userFilters.push(keywordsFilters);\n }\n\n let filters = [];\n\n if(!_.isEmpty(systemFilters)){\n filters = systemFilters;\n };\n if(api.data.$self.additionalFilters){\n if(_.isString(api.data.$self.additionalFilters)){\n userFilters.push(eval(api.data.$self.additionalFilters))\n }else{\n userFilters.push(api.data.$self.additionalFilters)\n }\n }\n\n if(api.data.$self._isRelated){\n const self = api.data.$self;\n const relatedKey = self.relatedKey;\n const refField = self.uiSchema.fields[relatedKey];\n const masterRecord = self._master.record;\n const masterObjectName = self._master.objectName;\n let relatedValue = self._master.recordId;\n if(refField && refField.reference_to_field && refField.reference_to_field != '_id'){\n relatedValue = masterRecord[refField.reference_to_field]\n }\n let relatedFilters;\n if (\n refField && (refField._reference_to ||\n (refField.reference_to && !_.isString(refField.reference_to)))\n ) {\n relatedFilters = [\n [relatedKey + \"/o\", \"=\", masterObjectName],\n [relatedKey + \"/ids\", \"=\", relatedValue],\n ];\n } else {\n relatedFilters = [relatedKey, \"=\", relatedValue];\n }\n userFilters.push(relatedFilters)\n }\n\n if(!_.isEmpty(userFilters)){\n if(_.isEmpty(filters)){\n filters = userFilters;\n }else{\n filters = [filters, 'and', userFilters]\n }\n }\n api.data._ids = _ids;\n api.data = {\n query: api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', pageSize).replace('{__skip}', skip).replace('{__sort}', sort.trim())\n }\n ${options.requestAdaptor || ''};\n\n //写入本次存储filters、sort\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify({\n filters: filters,\n sort: sort.trim(),\n pageSize: pageSize,\n skip: skip,\n fields: ${JSON.stringify(_$1.map(fields, 'name'))}\n }));\n return api;\n `;\n api.adaptor = `\n let fields = ${JSON.stringify(_$1.map(fields, 'name'))};\n // 这里把行数据中所有为空的字段值配置为空字符串,是因为amis有bug:crud的columns中的列如果type为static-前缀的话,行数据中该字段为空的话会显示为父作用域中同名变量值,见:https://github.com/baidu/amis/issues/9556\n (payload.data.rows || []).forEach((itemRow) => {\n (fields || []).forEach((itemField) => {\n if(itemField && itemField.indexOf(\".\") > -1){\n return;\n }\n if(itemField && (itemRow[itemField] === undefined || itemRow[itemField] === null)){\n // 这里itemRow中不存在 itemField 属性,或者值为null时都会有“显示为父作用域中的同名变量值”的问题,所以null和undefined都要重置为空字符串\n // 实测数字、下拉框、多选lookup等字段类型重置为空字符串都不会有问题,而且实测amis from组件的清空表单字段值功能就是把表单中的各种字段类型设置为空字符串,所以看起来也符合amis规范\n itemRow[itemField] = \"\";\n }\n });\n });\n \n if(api.body.listName == \"recent\"){\n payload.data.rows = _.sortBy(payload.data.rows, function(item){\n return _.indexOf(api.body._ids, item._id)\n });\n }\n const enable_tree = ${mainObject.enable_tree};\n if(!enable_tree){\n _.each(payload.data.rows, function(item, index){\n const {pageNo, pageSize} = api.body;\n const skip = (pageNo - 1) * pageSize;\n item._index = skip + index + 1;\n })\n }\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n let fileFields = ${JSON.stringify(fileFields)};\n let lookupFields = ${JSON.stringify(lookupFields)};\n _.each(payload.data.rows, function(item, index){\n _.each(fileFields , (field, key)=>{\n if(item[key] && item._display && item._display[key]){\n let value = item._display[key];\n if(!_.isArray(value)){\n value = [value]\n };\n if(field.type === 'file'){\n // item[key] = value\n // PC客户端附件子表列表点击标题预览附件功能依赖了_id,所以这里拼出来\n let itemKeyValue = item[key];\n item[key] = value.map(function(item, index){\n item._id = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n item.value = typeof itemKeyValue == 'string' ? itemKeyValue : itemKeyValue[index];\n return item;\n });\n }else{\n item[key] = _.map(value, (item)=>{\n if(field.type === 'image'){\n const url = window.getImageFieldUrl(item.url);\n return url;\n }\n return item.url;\n })\n }\n }\n })\n _.each(lookupFields , (field, key)=>{\n if(item[key]){\n if(field._optionsFunction){\n const optionsFunction = eval(\"(\" + field._optionsFunction+ \")\")(item);\n item[key + '__label'] = _.map(_.filter(optionsFunction, function(option){return item[key] == option.value}), 'label').join(' ');\n }else if(field.options){\n const options = field.options;\n item[key + '__label'] = _.map(_.filter(options, function(option){return item[key] == option.value}), 'label').join(' ');\n }\n }\n })\n })\n \n if(enable_tree){\n const records = payload.data.rows || [];\n const getTreeOptions = SteedosUI.getTreeOptions;\n const assignIndexToTreeRecords = function(tree, parentIndex) {\n tree.forEach(function (node, index) {\n // 构建当前节点的 _index\n var currentIndex = parentIndex ? parentIndex + '-' + (index + 1) : '' + (index + 1);\n \n // 赋值给节点\n node._index = currentIndex;\n \n // 如果有子节点,递归调用函数\n if (node.children && node.children.length > 0) {\n assignIndexToTreeRecords(node.children, currentIndex);\n }\n });\n };\n payload.data.rows = getTreeOptions(records,{\"valueField\":\"_id\"});\n assignIndexToTreeRecords(payload.data.rows, '');\n }\n\n\n try{\n // TODO: 不应该直接在这里取localStorage,应该从外面传入\n const listName = api.body.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n /**\n * localListViewProps规范来自crud请求api中api.data.$self参数值的。\n * 比如:{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:顶部放大镜搜索条件\n * filter:右侧过滤器\n * perPage:每页条数\n * page:当前页码\n * orderBy:排序字段\n * orderDir:排序方向\n */\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let selfData = JSON.parse(JSON.stringify(api.body.$self));\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n selfData = Object.assign({}, localListViewProps, selfData, { filter: api.body.filter });\n if(!api.body.loaded){\n // 第一次加载组件,比如刷新浏览器时因为api.data.pageNo有默认值1\n // 所以会把localSearchableFilter中已经存过的页码覆盖\n // 如果是第一次加载组件始终让翻页页码从本地存储中取值\n let formFactor = \"${options.formFactor}\";\n // 移动端不识别本地存储中的翻页页码,否则点击加载更多按钮后无法刷新回第一页\n // selfData.page = formFactor === \"SMALL\" ? 1 : (localListViewProps.page || 1);\n selfData.page = localListViewProps.page || 1;\n }\n }\n \n delete selfData.context;\n delete selfData.global;\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(selfData));\n // 返回页码到UI界面\n payload.data.page= selfData.page;\n }\n catch(ex){\n console.error(\"本地存储中crud参数解析异常:\", ex);\n }\n // 标记加载过,后续优先从本地存储中加载相关参数\n payload.data.loaded= true;\n\n const setDataToComponentId = \"${setDataToComponentId}\";\n if(setDataToComponentId){\n //https://github.com/baidu/amis/pull/6807 .parent的改动是为适应3.2getComponentById的规则改动,不影响2.9\n var scope = SteedosUI.getRef(api.body.$self.$scopeId);\n var scopeParent = scope && scope.parent;\n var setDataToComponent = scopeParent && scopeParent.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.$scopeId)?.parent?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n };\n let formFactor = \"${options.formFactor}\";\n if(formFactor !== \"SMALL\"){\n const lisviewDom = document.querySelector(\".steedos-object-listview .antd-Table-table\");\n if(lisviewDom){\n setTimeout(()=>{\n lisviewDom.scrollIntoView();\n }, 600);\n }\n }\n\n // 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112\n // lookup字段的弹出列表搜索不受这里影响,因为lookup字段的弹出列表搜索是单独的接口请求\n payload.data.__changedFilterFormValues = api.context.__changedFilterFormValues;\n payload.data.__changedSearchBoxValues = api.context.__changedSearchBoxValues;\n ${options.adaptor || ''}\n return payload;\n `;\n return api;\n}\n\nasync function getApi$1(object, recordId, fields, options){\n const data = await getFindQuery(object, recordId, fields, options);\n return {\n method: \"post\",\n url: getApi$2(), // + \"&recordId=${recordId}\"\n data: data,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nfunction getRecordPermissionsApi(object, recordId, options){\n const data = getRecordPermissionsQuery(object, recordId, options);\n return {\n method: \"post\",\n url: getApi$2(),\n data: data,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nconst API_CACHE = 100;\n\nfunction getReadonlyFormAdaptor(object, fields, options){\n let scriptStr = '';\n const selectFields = _$1.filter(fields, function(field){return field.name.indexOf('.') < 0 && ((field.type == 'select' && field.options) || ((field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to))});\n const gridAndObjectFieldsName = _$1.map(_$1.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type === 'object' || field.type === 'grid')}), 'name');\n _$1.each(selectFields, function(field){\n if(!_$1.includes(OMIT_FIELDS, field.name)){\n field.name;\n if(field.options){\n const options = JSON.stringify({options: field.options});\n scriptStr = scriptStr + `var ${field.name}Options= (${options}).options;`;\n }else if(field.optionsFunction){\n scriptStr = scriptStr + `var ${field.name}Options = eval(${field.optionsFunction.toString()})(api.data);`;\n }else if(field._optionsFunction){\n scriptStr = scriptStr + `var ${field.name}Options = eval(${field._optionsFunction})(api.data);`;\n }\n if(field.multiple){\n scriptStr = scriptStr + `data.${field.name}__label = _.map(_.filter(${field.name}Options, function(option){return _.includes(data.${field.name}, option.value)}), 'label');`;\n }else {\n scriptStr = scriptStr + `var ${field.name}Selected = _.find(${field.name}Options, function(option){return data.${field.name} == option.value});`;\n scriptStr = scriptStr + `data.${field.name}__label = ${field.name}Selected ? ${field.name}Selected.label:null;`;\n }\n }\n });\n\n // const refFields = _.filter(fields, function(field){return field.name.indexOf('.') < 0 && (field.type == 'lookup' || field.type == 'master_detail') && !field.reference_to});\n // _.each(refFields, function(field){\n // if(!_.includes(OMIT_FIELDS, field.name)){\n // const valueField = field.reference_to_field || '_id';\n // scriptStr = scriptStr + `var ${field.name}Options = eval(${field.optionsFunction.toString()})(api.data);`\n // if(field.multiple){\n // scriptStr = scriptStr + `data.${field.name}__label = _.map(_.filter(${field.name}Options, function(option){return _.includes(data.${field.name}, option.value)}), 'label');`\n // }else{\n // scriptStr = scriptStr + `var ${field.name}Selected = _.find(${field.name}Options, function(option){return data.${field.name} == option.value});`\n // scriptStr = scriptStr + `data.${field.name}__label = ${field.name}Selected ? ${field.name}Selected.label:null;`\n // }\n // }\n // })\n\n var fieldNames = _$1.map(fields, function(n){return n.name});\n var nameField = object.fields[object.NAME_FIELD_KEY];\n let nameLabel = nameField && nameField.name;\n if (nameField && (nameField.type == \"lookup\" || nameField.type == \"master_detail\")) {\n if(!nameField.reference_to && (nameField.optionsFunction || nameField._optionsFunction || nameField.options)){\n if(!nameField.isTableField){\n nameLabel = `record.${nameField.name}__label`;\n }\n } else {\n nameLabel = `record._display.${nameField.name}.label`;\n }\n } else if (nameField){\n nameLabel = `(record._display && record._display.${nameField.name}) || record.${nameField.name}`;\n }\n return `\n if(payload.data.data.length === 0){\n var isEditor = !!${options && options.isEditor};\n if(isEditor){\n var fieldNames = ${JSON.stringify(fieldNames)};\n var emptyDoc = {};//这里如果不把每个字段值设置为空的话,表单上会显示上一次表单上的字段值\n fieldNames.forEach(function(n){\n emptyDoc[n] = null;\n });\n // 设计器中始终显示表单,有记录则显示第一条记录,没记录时显示为空表单\n payload.data.data = [emptyDoc];\n }\n else{\n console.log('无法找到记录', api, payload, context)\n return {\n status: 2,\n msg: \"${i18next.t('frontend_no_records_found')}\"\n }\n }\n }\n if(payload.data.data){\n var data = payload.data.data[0];\n var gridAndObjectFieldsName = ${JSON.stringify(gridAndObjectFieldsName)};\n try{\n ${scriptStr}\n ${getScriptForAddUrlPrefixForImgFields(fields, true)}\n ${getScriptForRewriteValueForFileFields(fields)}\n }catch(e){\n console.error(e)\n }\n // 原始记录\n var record = _.cloneDeep(data);\n try{\n _.each(gridAndObjectFieldsName, function(name){\n data[name] = data._display && data._display[name];\n })\n }catch(e){\n console.error(e)\n }\n payload.data = data;\n payload.data.record = record;\n payload.data.NAME_FIELD_VALUE = ${nameLabel} || record.name;\n payload.data._master = {\n record: record,\n objectName: \"\\${objectName}\",\n recordId: \"\\${recordId}\"\n }\n window.postMessage(Object.assign({type: \"record.loaded\"}, {record: record}), \"*\")\n }\n if(payload.errors){\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n }else{\n payload.data.recordLoaded = true;\n }\n ${options && options.initApiAdaptor || ''}\n return payload;\n`\n}\n\nasync function getReadonlyFormInitApi(object, recordId, fields, options){\n let findOneOptions;\n if (!recordId && options && options.isEditor) {\n // 设计器中只读表单返回第一条记录\n findOneOptions = {\n filters: [],\n queryOptions: \"top: 1\"\n };\n }\n return {\n method: \"post\",\n url: getApi$2() + '&objectName=${objectName}' + \"&recordId=${recordId}\",\n cache: API_CACHE,\n requestAdaptor: `\n ${options && options.initApiRequestAdaptor || ''}\n return api;\n `,\n adaptor: getReadonlyFormAdaptor(object, fields, options),\n data: await getFindOneQuery$1(object, recordId, fields, findOneOptions),\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\n/*\n img/avatar字段值添加URL前缀使其在amis中正常显示图片。\n*/\nfunction getScriptForAddUrlPrefixForImgFields(fields, readonly){\n let imgFieldsKeys = [];\n let imgFields = {};\n fields.forEach((item)=>{\n if(_$1.includes(['image','avatar'], item.type)){\n imgFieldsKeys.push(item.name);\n imgFields[item.name] = {\n name: item.name,\n type: item.type,\n multiple: item.multiple\n };\n }\n });\n if(!imgFieldsKeys.length){\n return '';\n }\n return `\n // image字段值添加URL前缀\n let imgFieldsKeys = ${JSON.stringify(imgFieldsKeys)};\n let imgFields = ${JSON.stringify(imgFields)};\n imgFieldsKeys.forEach((item)=>{\n let imgFieldValue = data[item];\n let imgFieldDisplayValue = data._display && data._display[item];\n if(imgFieldValue && imgFieldValue.length){\n let fieldProps = imgFields[item];\n if(fieldProps.multiple){\n if(imgFieldDisplayValue instanceof Array){\n data[item] = imgFieldDisplayValue.map((i)=>{ \n const url = window.getImageFieldUrl(i.url, ${readonly});\n return url;\n });\n }\n }else{\n const url = imgFieldDisplayValue && window.getImageFieldUrl(imgFieldDisplayValue.url, ${readonly});\n data[item] = url;\n }\n }\n })\n `\n}\n\n/*\n file字段值重写使其在amis中正常显示附件名、点击附件名下载文件。\n*/\nfunction getScriptForRewriteValueForFileFields(fields){\n let fileFieldsKeys = [];\n let fileFields = {};\n fields.forEach((item)=>{\n if(item.type === 'file'){\n fileFieldsKeys.push(item.name);\n fileFields[item.name] = {\n name: item.name,\n multiple: item.multiple\n };\n }\n });\n if(!fileFieldsKeys.length){\n return '';\n }\n return `\n // file字段值重写以便编辑时正常显示附件名、点击附件名正常下载附件\n let fileFieldsKeys = ${JSON.stringify(fileFieldsKeys)};\n let fileFields = ${JSON.stringify(fileFields)};\n fileFieldsKeys.forEach((item)=>{\n let fileFieldValue = data[item];\n let fileFieldDisplayValue = data._display && data._display[item];\n if(fileFieldValue && fileFieldValue.length){\n if(fileFields[item].multiple){\n if(fileFieldDisplayValue instanceof Array){\n data[item] = fileFieldDisplayValue.map((item, index)=>{ \n item.value = fileFieldValue[index];\n return {\n value: fileFieldValue[index],\n name: item.name,\n url: item.url + \"?download=true\",\n state: \"uploaded\"\n }\n });\n }\n }else{\n fileFieldDisplayValue.value = fileFieldValue;\n data[item] = [{\n value: fileFieldValue,\n name: fileFieldDisplayValue.name,\n url: fileFieldDisplayValue.url + \"?download=true\",\n state: \"uploaded\"\n }];\n }\n }\n })\n `\n}\n\nasync function getEditFormInitApi(object, recordId, fields, options){\n const data = await getFindOneQuery$1(object, recordId, fields);\n data.recordId = \"${recordId}\";\n data.objectName = \"${objectName}\";\n data.uiSchema = \"${uiSchema}\";\n data.global = \"${global}\";\n data.context = \"${context}\";\n data.defaultData = \"${defaultData}\";\n data._master = \"${_master}\";\n \n return {\n method: \"post\",\n url: getApi$2() + '&objectName=${objectName}' + \"&recordId=${recordId}\",\n // sendOn: \"!!this.recordId\",\n cache: API_CACHE,\n requestAdaptor: `\n // 所有不想在network请求中发送的数据都应该从data中分离出来,data变量只需要留下query才需要发送出去\n var { recordId, objectName, uiSchema, global, context, _master, ...data} = api.data;\n if(!recordId){\n // 新建则不请求任何数据\n data.query = \"{data:\" + objectName + \"(filters: \" + JSON.stringify([\"_id\", \"=\", null]) + \", top: 1){_id}}\";\n }\n api.data = data;\n ${options.initApiRequestAdaptor || ''}\n return api;\n `,\n adaptor: `\n const recordId = api.body.recordId;\n let initialValues={};\n if(recordId && payload.data.data){\n var data = payload.data.data[0];\n const dataKeys = _.keys(data);\n const uiSchema = api.body.uiSchema;\n const fieldKeys = uiSchema && _.keys(uiSchema.fields);\n\n if(data){\n ${getScriptForAddUrlPrefixForImgFields(fields, false)}\n ${getScriptForRewriteValueForFileFields(fields)}\n\n _.each(dataKeys, function(key){\n if(fieldKeys.indexOf(key)<0 && key !== \"_display\"){\n delete data[key];\n }\n })\n \n //初始化接口返回的字段移除字段值为null的字段\n for (key in data){\n if(data[key] === null){\n delete data[key];\n }\n }\n };\n initialValues = data;\n }\n else{\n var uiSchema = api.body.uiSchema;\n var defaultData = api.body.defaultData;\n var defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function(field){\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if(!_.isNil(value)){\n defaultValues[field.name] = value;\n }\n });\n if(defaultData && _.isObject(defaultData) && !_.isArray(defaultData)){\n defaultValues = Object.assign({}, defaultValues, defaultData)\n }\n if(uiSchema.form){\n try{\n var objectFormConfig = JSON.parse(uiSchema.form);\n var formInitialValuesFun = objectFormConfig.initialValues;\n if(formInitialValuesFun){\n formInitialValuesFun = new Function(\"return \" + formInitialValuesFun)();\n }\n if(typeof formInitialValuesFun === \"function\"){\n initialValues = formInitialValuesFun.apply({doc: defaultValues || {} , global: api.body.global, master: api.body._master })\n }\n }\n catch(ex){\n console.warn(ex);\n }\n }\n if(_.isObject(initialValues)){\n // uiSchema.form.initialValues为函数且执行后为json,则优先取initialValues中的默认值\n initialValues = Object.assign({}, defaultValues, initialValues);\n }\n else{\n initialValues = defaultValues;\n }\n }\n // data下的变量需要在保存接口(getSaveApi)中被删除。\n payload.data = {\n ...initialValues\n }\n ${options.initApiAdaptor || ''}\n // console.log('getEditFormInitApi======>', payload);\n return payload;\n `,\n responseData: {\n \"&\": \"$$\",\n editFormInited: true\n },\n data: data,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\n\nfunction getSaveApi(object, recordId, fields, options){\n return {\n method: 'post',\n url: getApi$2(),\n data: getSaveQuery(object, recordId),\n requestAdaptor: getSaveRequestAdaptor(fields, options),\n responseData: {\n \"recordId\": \"${record._id}\"\n },\n adaptor: `\n if(payload.errors){\n delete payload.data;\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n ${options.apiAdaptor || ''}\n return payload;\n `,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nfunction getBatchDelete(objectName){\n return {\n method: 'post',\n url: getApi$2(),\n adaptor: `\n if(payload.errors){\n payload.data.deleteErrorMessage = [];\n payload.errors.forEach(function(error){\n let errorRecord = error.path.map(function (item) {\n return item.split('delete__')[1].to_float() + 1;\n }).toString();\n payload.data.deleteErrorMessage.push(\"第\" + errorRecord + \"条记录删除出现异常,报错信息为(\" + (window.t ? window.t(error.message) : error.message) + \")\");\n })\n }\n return payload;\n `,\n requestAdaptor: `\n var ids = api.data.ids.split(\",\");\n var deleteArray = [];\n ids.forEach((id,index)=>{\n deleteArray.push(\\`delete__\\${index}:${objectName}__delete(id: \"\\${id}\")\\`);\n })\n api.data = {query: \\`mutation{\\${deleteArray.join(',')}}\\`};\n return api;\n `,\n data: {\n ids: `\\${ids}`\n },\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nconst DEFAULT_CALENDAR_OPTIONS = {\n startDateExpr: \"start\",\n endDateExpr: \"end\",\n allDayExpr: \"is_all_day\",\n textExpr: \"name\"\n};\n\nasync function getCalendarApi(mainObject, fields, options) {\n if (!options) {\n options = {};\n }\n const calendarOptions = options.calendarOptions;\n const searchableFields = [];\n let { filter, sort, top, setDataToComponentId = '' } = options;\n\n if (!top) {\n // 日历请求不翻页\n top = 200;\n }\n\n if (___default.isArray(filter)) {\n filter = ___default.map(filter, function (item) {\n if (item.operation) {\n return [item.field, item.operation, item.value];\n } else {\n return item\n }\n });\n }\n if (!filter) {\n filter = [];\n }\n\n ___default.each(fields, function (field) {\n if (field.searchable) {\n searchableFields.push(field.name);\n }\n });\n\n const idFieldName = mainObject.idFieldName || \"_id\";\n let valueField = mainObject.key_field || '_id';\n const api = await getApi$1(mainObject, null, fields, { alias: 'rows', limit: top, queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\"` });\n api.data.$term = \"$term\";\n api.data.$self = \"$$\";\n api.data.filter = \"$filter\";\n api.data.pageSize = top || 10;\n api.requestAdaptor = `\n let selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = api.data.filter || ${JSON.stringify(filter)} || [];\n const eventFetchInfo = selfData.fetchInfo;\n const startDateExpr = \"${calendarOptions.startDateExpr}\";\n const endDateExpr = \"${calendarOptions.endDateExpr}\";\n const eventDurationFilters = [[endDateExpr, \">=\", eventFetchInfo.start], [startDateExpr, \"<=\", eventFetchInfo.end]];\n if(_.isEmpty(filters)){\n filters = eventDurationFilters;\n }else{\n filters = [filters, 'and', eventDurationFilters]\n }\n\n if(api.data.$self.additionalFilters){\n filters.push(api.data.$self.additionalFilters)\n }else if(api.data.$self.event.data.additionalFilters){\n filters.push(api.data.$self.event.data.additionalFilters)\n }\n\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 sort = orderBy ? sort : \"${sort}\";\n var allowSearchFields = ${JSON.stringify(searchableFields)};\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n filters = [[\"${valueField.name}\", \"=\", selfData.value]];\n }\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n if(selfData.__keywords && allowSearchFields){\n const keywordsFilters = [];\n allowSearchFields.forEach(function(key, index){\n const keyValue = selfData.__keywords;\n if(keyValue){\n keywordsFilters.push([key, \"contains\", keyValue]);\n if(index < allowSearchFields.length - 1){\n keywordsFilters.push('or');\n }\n }\n })\n filters.push(keywordsFilters);\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 delete api.data.$term;\n delete api.data.filter;\n delete api.data.pageSize;\n delete api.data.pageNo;\n delete api.data.orderBy;\n delete api.data.orderDir;\n return api;\n `;\n api.adaptor = `\n window.postMessage(Object.assign({type: \"listview.loaded\"}), \"*\");\n const setDataToComponentId = \"${setDataToComponentId}\";\n if(setDataToComponentId){\n var scope = SteedosUI.getRef(api.body.$self.scopeId);\n var setDataToComponent = scope && scope.getComponentById(setDataToComponentId);\n if(setDataToComponent){\n setDataToComponent.setData({$count: payload.data.count});\n }\n // SteedosUI.getRef(api.body.$self.scopeId)?.getComponentById(setDataToComponentId)?.setData({$count: payload.data.count})\n }\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const events = rows.map(function(n){\n return {\n id: n[\"${idFieldName}\"],\n title: n[\"${calendarOptions.textExpr}\"],\n start: n[\"${calendarOptions.startDateExpr}\"],\n end: n[\"${calendarOptions.endDateExpr}\"],\n allDay: n[\"${calendarOptions.allDayExpr}\"],\n extendedProps: n\n }\n });\n const successCallback = selfData.successCallback;\n const failureCallback = selfData.failureCallback;\n successCallback(events);\n return payload;\n `;\n return api;\n}\n\nfunction getCalendarRecordPermissionsApi(mainObject, recordId) {\n const api = getRecordPermissionsApi(mainObject, recordId, { alias: 'rows', limit: 1, fields: [\"allowEdit\"] });\n api.data.$self = \"$$\";\n api.adaptor = `\n const rows = payload.data.rows || [];\n const selfData = api.data.$self;\n const revert = selfData.revert;\n const recordPermissions = rows[0] && rows[0].recordPermissions;\n const editable = !!(recordPermissions && recordPermissions.allowEdit);\n if(!editable){\n // 没有权限时还原\n revert && revert();\n }\n payload.data.editable = editable;\n return payload;\n `;\n return api;\n}\n\nfunction getCalendarRecordSaveApi(object, calendarOptions) {\n const formData = {};\n const idFieldName = object.idFieldName || \"_id\";\n formData[idFieldName] = \"${event.data.event.id}\";\n const nameFieldKey = object.NAME_FIELD_KEY || \"name\";\n formData[nameFieldKey] = \"${event.data.event.title}\";\n formData[calendarOptions.startDateExpr] = \"${event.data.event.start}\";\n formData[calendarOptions.endDateExpr] = \"${event.data.event.end}\";\n formData[calendarOptions.allDayExpr] = \"${event.data.event.allDay}\";\n // formData[calendarOptions.textExpr] = \"${event.data.event.title}\";\n const apiData = {\n objectName: \"${objectName}\",\n $: formData,\n $self: \"$$\"\n };\n const saveDataTpl = `\n const formData = api.data.$;\n const objectName = api.data.objectName;\n let query = \\`mutation{record: \\${objectName}__update(id: \"\\${formData.${idFieldName}}\", doc: {__saveData}){${idFieldName}}}\\`;\n delete formData.${idFieldName};\n let __saveData = JSON.stringify(JSON.stringify(formData));\n `;\n const requestAdaptor = `\n ${saveDataTpl}\n api.data.query = query.replace('{__saveData}', __saveData);\n return api;\n `;\n\n return {\n method: 'post',\n url: getApi$2(),\n data: apiData,\n requestAdaptor: requestAdaptor,\n adaptor: `\n if(payload.errors){\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n const revert = api.data.$self.event.data.revert;\n revert && revert();\n }\n return payload;\n `,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n };\n}\n\n/**\n * 列表视图Calendar amisSchema\n * @param {*} objectSchema 对象UISchema\n * @returns amisSchema\n */\nasync function getObjectCalendar(objectSchema, calendarOptions, options) {\n const permissions = objectSchema.permissions;\n if (!options) {\n options = {};\n }\n\n calendarOptions = Object.assign({}, DEFAULT_CALENDAR_OPTIONS, omitBy(calendarOptions, isNil));\n\n const titleFields = calendarOptions.title || [\n calendarOptions.startDateExpr,\n calendarOptions.endDateExpr,\n calendarOptions.allDayExpr,\n calendarOptions.textExpr\n ];\n let fields = [];\n each(titleFields, function (n) {\n if (objectSchema.fields[n]) {\n fields.push(objectSchema.fields[n]);\n }\n });\n\n if (objectSchema.fields[calendarOptions.allDayExpr]) {\n fields.push(objectSchema.fields[calendarOptions.allDayExpr]);\n }\n\n let sort = options.sort;\n if (!sort) {\n const sortField = options.sortField;\n const sortOrder = options.sortOrder;\n if (sortField) {\n let sortStr = sortField + ' ' + sortOrder || 'asc';\n sort = sortStr;\n }\n }\n let initialView = calendarOptions.currentView;\n if (initialView) {\n // day, week, month, agenda\n switch (initialView) {\n case \"day\":\n initialView = \"timeGridDay\";\n break;\n case \"week\":\n initialView = \"timeGridWeek\";\n break;\n case \"month\":\n initialView = \"dayGridMonth\";\n break;\n case \"agenda\":\n initialView = \"listWeek\";\n break;\n }\n }\n else {\n initialView = \"timeGridWeek\";\n }\n\n options.calendarOptions = calendarOptions;\n const api = await getCalendarApi(objectSchema, fields, options);\n\n const onGetEventsScript = `\n const api = ${JSON.stringify(api)};\n event.data.calendarOptions = ${JSON.stringify(calendarOptions)};\n doAction({\n \"actionType\": 'ajax',\n \"args\": {\n \"api\": api\n },\n });\n `;\n\n const onSelectScript = `\n const data = event.data;\n const doc = {};\n doc[\"${calendarOptions.startDateExpr}\"] = data.start;\n doc[\"${calendarOptions.endDateExpr}\"] = data.end;\n doc[\"${calendarOptions.allDayExpr}\"] = data.allDay;\n doc[\"${calendarOptions.textExpr}\"] = data.title;\n // ObjectForm会认作用域下的变量值\n // TODO: 待组件支持initValues属性后应该改掉,不应该通过data直接传值\n // TODO: 全天事件属性传入doc了但是没有生效,需要手动在ObjectForm中勾选全天事件\n const title = \"${i18next.t('frontend_form_new')} ${objectSchema.label}\";\n doAction(\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": title,\n data,\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"objectApiName\": \"\\${objectName}\",\n \"mode\": \"edit\",\n \"defaultData\": doc,\n //改回为通用的提交事件\n // \"onEvent\": {\n // \"submitSucc\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": \"event.data.view?.calendar.refetchEvents();\"\n // }\n // ]\n // }\n // }\n }\n ],\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"size\": \"lg\"\n }\n });\n `;\n\n const onEventClickScript = `\n const data = event.data;\n const eventData = data.event;\n const appId = data.appId;\n const objectName = data.objectName;\n const eventId = data.event && data.event.id;\n doAction({\n \"actionType\": \"link\",\n \"args\": {\n \"link\": \"/app/\" + appId + \"/\" + objectName + \"/view/\" + eventId\n }\n });\n // doAction({\n // \"actionType\": \"dialog\",\n // \"dialog\": {\n // \"type\": \"dialog\",\n // \"title\": \"\",\n // \"body\": [\n // {\n // \"type\": \"steedos-record-detail\",\n // \"objectApiName\": \"\\${objectName}\",\n // \"recordId\": data.event && data.event.id\n // }\n // ],\n // \"closeOnEsc\": false,\n // \"closeOnOutside\": false,\n // \"showCloseButton\": true,\n // \"size\": \"lg\",\n // \"actions\": []\n // }\n // });\n `;\n\n const recordId = \"${event.id}\";\n const recordPermissionsApi = getCalendarRecordPermissionsApi(objectSchema, recordId);\n const recordSaveApi = getCalendarRecordSaveApi(objectSchema, calendarOptions);\n\n const businessHours = {\n daysOfWeek: [1, 2, 3, 4, 5],\n startTime: '08:00',\n endTime: '18:00',\n };\n if (!isEmpty(calendarOptions.startDayHour)) {\n businessHours.startTime = `${calendarOptions.startDayHour}:00`;\n }\n if (!isEmpty(calendarOptions.endDayHour)) {\n businessHours.endTime = `${calendarOptions.endDayHour}:00`;\n }\n\n // api.trackExpression=\"\\\\\\${additionalFilters}\";\n const onEvent = {\n \"getEvents\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n },\n \"actionType\": \"custom\",\n \"script\": onGetEventsScript\n }\n // {\n // \"actionType\": \"ajax\",\n // \"outputVar\": \"responseResult\",\n // \"args\": {\n // \"options\": {\n // },\n // \"api\": api\n // // {\n // // \"url\": \"111\",\n // // \"method\": \"post\",\n // // \"data\": {\n // // \"calendarOptions\": JSON.stringify(calendarOptions);\n // // }\n // // }\n // }\n // }\n ]\n },\n \"select\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n },\n \"actionType\": \"custom\",\n \"script\": onSelectScript\n }\n ]\n },\n \"eventClick\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onEventClickScript\n },\n // amis 升级到 3.2后,以下的\"actionType\": \"link\"方式拿不到appId和objectName了\n // {\n // \"actionType\": \"link\",\n // \"args\": {\n // \"link\": \"/app/${appId}/${objectName}/view/${event.id}\"\n // }\n // }\n ]\n },\n \"eventAdd\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n },\n \"actionType\": \"custom\",\n \"script\": \"console.log('eventAdd'); console.log(event);\"\n }\n ]\n },\n \"eventChange\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"actionType\": 'ajax',\n \"args\": {\n \"api\": recordPermissionsApi\n }\n },\n {\n \"actionType\": \"toast\",\n \"expression\": \"!event.data.editable\",\n \"args\": {\n \"msgType\": \"error\",\n \"msg\": i18next.t('frontend_message_no_permission_to_edit'),\n \"position\": \"top-center\"\n }\n },\n {\n \"actionType\": 'ajax',\n \"expression\": \"event.data.editable\",\n \"args\": {\n \"api\": recordSaveApi,\n \"messages\": {\n \"success\": objectSchema.label + i18next.t('frontend_message_modification_successful'),\n \"failed\": objectSchema.label + i18next.t('frontend_message_modification_successful')\n }\n }\n }\n ]\n },\n \"eventRemove\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n },\n \"actionType\": \"custom\",\n \"script\": \"console.log('eventRemove'); console.log(event);\"\n }\n ]\n },\n \"eventsSet\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n },\n \"actionType\": \"custom\",\n \"script\": \"console.log('eventsSet'); console.log(event);\"\n }\n ]\n },\n \"getRef\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": `service_${options.id}`,\n \"args\": {\n \"value\":{\n \"calendarRef\": \"${event.data.calendarRef}\"\n }\n },\n \"actionType\": \"setValue\",\n }\n ]\n }\n };\n\n Object.assign(onEvent, options.onEvent);\n\n const config = options.config || {};\n if(config.eventContent && typeof config.eventContent === \"string\"){\n const hasReturn = /\\breturn\\b/.test(config.eventContent);\n if(hasReturn){\n try {\n // 如果是包括return语句的字符串,则按函数解析,见 https://fullcalendar.io/docs/content-injection\n let fn = new Function(\"arg\", config.eventContent);\n config.eventContent = fn;\n } catch (e) {\n console.warn(e);\n }\n }\n }\n\n if(config.noEventsContent && typeof config.noEventsContent === \"string\"){\n const hasReturn = /\\breturn\\b/.test(config.noEventsContent);\n if(hasReturn){\n try {\n // 如果是包括return语句的字符串,则按函数解析,见 https://fullcalendar.io/docs/content-injection\n let fn = new Function(\"arg\", config.noEventsContent);\n config.noEventsContent = fn;\n } catch (e) {\n console.warn(e);\n }\n }\n }\n\n const amisSchema = {\n \"type\": \"steedos-fullcalendar\",\n \"label\": \"\",\n \"id\": options.id,\n \"name\": \"fullcalendar\",\n \"placeholder\":\"${additionalFilters}\",//用于触发reload\n \"editable\": permissions.allowEdit,\n \"selectable\": permissions.allowCreate,\n \"selectMirror\": permissions.allowCreate,\n \"initialView\": initialView,\n \"businessHours\": businessHours,\n \"views\":{\n listWeek: {\n buttonText: i18next.t('frontend_calendar_listWeek')\n }\n },\n ...config,\n \"onEvent\": onEvent\n };\n return amisSchema;\n}\n\n/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\ntypeof SuppressedError === \"function\" ? SuppressedError : function (error, suppressed, message) {\r\n var e = new Error(message);\r\n return e.name = \"SuppressedError\", e.error = error, e.suppressed = suppressed, e;\r\n};\n\n/**\n * 将例如像 a.b.c 或 a[1].b 的字符串转换为路径数组\n *\n * @param string 要转换的字符串\n */\nvar keyToPath = function (string) {\n var result = [];\n if (string.charCodeAt(0) === '.'.charCodeAt(0)) {\n result.push('');\n }\n string.replace(new RegExp('[^.[\\\\]]+|\\\\[(?:([^\"\\'][^[]*)|([\"\\'])((?:(?!\\\\2)[^\\\\\\\\]|\\\\\\\\.)*?)\\\\2)\\\\]|(?=(?:\\\\.|\\\\[\\\\])(?:\\\\.|\\\\[\\\\]|$))', 'g'), function (match, expression, quote, subString) {\n var key = match;\n if (quote) {\n key = subString.replace(/\\\\(\\\\)?/g, '$1');\n }\n else if (expression) {\n key = expression.trim();\n }\n result.push(key);\n return '';\n });\n return result;\n};\n\n// 方便取值的时候能够把上层的取到,但是获取的时候不会全部把所有的数据获取到。\nfunction createObject(superProps, props, properties) {\n if (superProps && Object.isFrozen(superProps)) {\n superProps = cloneObject(superProps);\n }\n var obj = superProps\n ? Object.create(superProps, __assign(__assign({}, properties), { __super: {\n value: superProps,\n writable: false,\n enumerable: false\n } }))\n : Object.create(Object.prototype, properties);\n props &&\n isObject(props) &&\n Object.keys(props).forEach(function (key) { return (obj[key] = props[key]); });\n return obj;\n}\nfunction cloneObject(target, persistOwnProps) {\n if (persistOwnProps === void 0) { persistOwnProps = true; }\n var obj = target && target.__super\n ? Object.create(target.__super, {\n __super: {\n value: target.__super,\n writable: false,\n enumerable: false\n }\n })\n : Object.create(Object.prototype);\n persistOwnProps &&\n target &&\n Object.keys(target).forEach(function (key) { return (obj[key] = target[key]); });\n return obj;\n}\nfunction extendObject(target, src, persistOwnProps) {\n if (persistOwnProps === void 0) { persistOwnProps = true; }\n var obj = cloneObject(target, persistOwnProps);\n src && Object.keys(src).forEach(function (key) { return (obj[key] = src[key]); });\n return obj;\n}\nfunction isObject(obj) {\n var typename = typeof obj;\n return (obj &&\n typename !== 'string' &&\n typename !== 'number' &&\n typename !== 'boolean' &&\n typename !== 'function' &&\n !Array.isArray(obj));\n}\nfunction setVariable(data, key, value, convertKeyToPath) {\n data = data || {};\n if (key in data) {\n data[key] = value;\n return;\n }\n var parts = convertKeyToPath !== false ? keyToPath(key) : [key];\n var last = parts.pop();\n while (parts.length) {\n var key_1 = parts.shift();\n if (isPlainObject(data[key_1])) {\n data = data[key_1] = __assign({}, data[key_1]);\n }\n else if (Array.isArray(data[key_1])) {\n data[key_1] = data[key_1].concat();\n data = data[key_1];\n }\n else if (data[key_1]) {\n // throw new Error(`目标路径不是纯对象,不能覆盖`);\n // 强行转成对象\n data[key_1] = {};\n data = data[key_1];\n }\n else {\n data[key_1] = {};\n data = data[key_1];\n }\n }\n data[last] = value;\n}\nfunction deleteVariable(data, key) {\n if (!data) {\n return;\n }\n else if (data.hasOwnProperty(key)) {\n delete data[key];\n return;\n }\n var parts = keyToPath(key);\n var last = parts.pop();\n while (parts.length) {\n var key_2 = parts.shift();\n if (isPlainObject(data[key_2])) {\n data = data[key_2] = __assign({}, data[key_2]);\n }\n else if (data[key_2]) {\n throw new Error(\"\\u76EE\\u6807\\u8DEF\\u5F84\\u4E0D\\u662F\\u7EAF\\u5BF9\\u8C61\\uFF0C\\u4E0D\\u80FD\\u4FEE\\u6539\");\n }\n else {\n break;\n }\n }\n if (data && data.hasOwnProperty && data.hasOwnProperty(last)) {\n delete data[last];\n }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-23 09:12:14\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-11-25 13:28:35\n * @Description: \n */\n\nasync function getListBody(fields, options){\n const columns = [];\n for (const field of fields) {\n\n const tpl = await getFieldTpl(field, options);\n\n let type = 'text';\n if(tpl){\n type = 'tpl';\n }\n if(!field.hidden && !field.extra){\n columns.push({\n name: field.name,\n label: field.label,\n sortable: field.sortable,\n // searchable: field.searchable,\n width: field.width,\n type: type,\n tpl: tpl,\n toggled: field.toggled\n // toggled: true \n });\n }\n }\n return {\n \"type\": \"hbox\",\n \"columns\": columns\n };\n}\n\nfunction getDefaultParams(options){\n return {\n perPage: options.top || options.perPage || 20\n }\n}\n\nasync function getListSchema$1(fields, options){\n const listBody = await getListBody(fields, options);\n const columns = listBody.columns;\n return {\n mode: \"list\",\n name: \"thelist\",\n draggable: false,\n headerToolbar: ['reload'],\n syncLocation: false,\n keepItemSelectionOnPageChange: true,\n checkOnItemClick: false,\n labelTpl: `\\${name}`, //TODO 获取name字段\n listItem: {\n body: [...columns],\n actions: options.actions === false ? null : [\n {\n icon: \"fa fa-eye\",\n label: i18next.t('frontend_form_view'),\n type: \"button\",\n actionType: \"link\",\n link: Router.getObjectDetailPath({\n formFactor: options.formFactor, \n appId: options.appId, \n objectName: options.tabId, \n listView: options.listView,\n recordId: `\\${_id}`\n })\n }\n ]\n },\n ...getDefaultParams(options) //不可以使用crud的defaultParams属性,会造成翻页bug,https://github.com/steedos/steedos-platform/issues/6576\n }\n}\n\n\nasync function getCardSchema(fields, options){\n let title = null;\n const titleField = _.find(fields, (f)=>{\n return f.name === options.labelFieldName;\n });\n if(titleField){\n title = await getFieldTpl(titleField, options);\n }\n const listBody = await getListBody(_.filter(fields, (f)=>{\n return f.name != options.labelFieldName\n }), options);\n return {\n mode: \"cards\",\n name: \"cards\",\n draggable: false,\n headerToolbar: ['statistics', 'pagination'],\n syncLocation: false,\n keepItemSelectionOnPageChange: false,\n checkOnItemClick: false,\n labelTpl: `\\${${options.labelFieldName}}`,\n card: {\n \"type\": \"card\",\n \"header\": {\n \"title\": title\n },\n \"body\": [...listBody.columns]\n },\n ...getDefaultParams(options)\n }\n}\n\n// lodash的defaultsDeep函数有bug,无法正确合并值为数值的节点,重写修正该函数\n// 源码出处:https://github.com/nodeutils/defaults-deep\nconst defaultsDeep = (...args)=>{\n let output = {};\n toArray(args).reverse().forEach(item=> {\n mergeWith(output, item, (objectValue, sourceValue) => {\n return isArray(sourceValue) ? sourceValue : undefined;\n });\n });\n return output;\n};\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2023-03-22 09:31:21\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2023-11-05 16:31:38\n */\n\nconst globalTag = '__G_L_O_B_A_L__';\n\nconst getParentPath = function (path) {\n var pathArr;\n if (typeof path === 'string') {\n pathArr = path.split('.');\n if (pathArr.length === 1) {\n return '#';\n }\n pathArr.pop();\n return pathArr.join('.');\n }\n return '#';\n};\n\nconst getValueByPath = function (formData, path) {\n if (path === '#' || !path) {\n return formData || {};\n } else if (typeof path === 'string') {\n return get(formData, path);\n } else {\n console.error('path has to be a string');\n }\n};\n\nconst isExpression = function (func) {\n var pattern, reg1, reg2;\n if (typeof func !== 'string') {\n return false;\n }\n pattern = /^{{(.+)}}$/;\n reg1 = /^{{(function.+)}}$/;\n reg2 = /^{{(.+=>.+)}}$/;\n if (typeof func === 'string' && func.match(pattern) && !func.match(reg1) && !func.match(reg2)) {\n return true;\n }\n return false;\n};\n\nconst getMoment$1 = () => {\n if (window.amisRequire) {\n return window.amisRequire(\"moment\");\n } else if (window.moment) {\n return window.moment;\n }\n};\n\nconst getGlobalNowData = () => {\n let now = new Date();\n let moment = getMoment$1();\n let today = moment().utc();\n today.set(\"hours\", 0);\n today.set(\"minutes\", 0);\n today.set(\"seconds\", 0);\n today.set(\"milliseconds\", 0);\n today = today.toDate();\n let timeNow = moment();\n timeNow.set(\"year\", 1970);\n timeNow.set(\"month\", 0);\n timeNow.set(\"date\", 1);\n timeNow.set(\"hours\", timeNow.hours() + timeNow.utcOffset() / 60);\n timeNow.set(\"seconds\", 0);\n timeNow.set(\"milliseconds\", 0);\n timeNow = timeNow.toDate();\n return {\n now,\n today,\n timeNow\n };\n};\n\nconst parseSingleExpression = function (func, formData, dataPath, global, userSession = {}) {\n if (global) {\n Object.assign(global, getGlobalNowData());\n }\n\n var error, funcBody, parent, parentPath, str;\n\n if (formData === void 0) {\n formData = {};\n }\n parentPath = getParentPath(dataPath);\n parent = getValueByPath(formData, parentPath) || {};\n if (typeof func === 'string') {\n funcBody = func.substring(2, func.length - 2);\n str = `\\n var $user=${JSON.stringify(userSession)}; return ` + funcBody.replace(/\\bformData\\b/g, JSON.stringify(formData).replace(/\\bglobal\\b/g, globalTag)).replace(/\\bglobal\\b/g, JSON.stringify(global)).replace(new RegExp('\\\\b' + globalTag + '\\\\b', 'g'), 'global').replace(/rootValue/g, JSON.stringify(parent));\n try {\n return Function(str)();\n } catch (_error) {\n error = _error;\n console.log(error, func, dataPath);\n return func;\n }\n } else {\n return func;\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-11-01 15:51:00\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-12-26 20:28:43\n * @Description: \n */\n\nconst getSchema$5 = async (uiSchema, ctx) => {\n const schemaApiAdaptor = `\n let formSchema = {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"\\${objectName}\",\n \"recordId\": \"\",\n \"mode\": \"edit\",\n };\n\n if (payload && payload.schema) {\n formSchema = _.isString(payload.schema) ? JSON.parse(payload.schema) : payload.schema;\n }\n\n const fields = ${JSON.stringify(uiSchema.fields)};\n const selectedRowResponseResult = api.body.selectedRowResponseResult;\n let defaultData = {}; \n\n if(!_.isEmpty(selectedRowResponseResult)){\n const fieldsKeys = _.keys(fields);\n // 如果新建记录时复制的数据中有omit或其他不相关字段数据时不应该一起保存到数据库,\n // 原规则见:https://github.com/steedos/steedos-frontend/issues/297\n _.forEach(selectedRowResponseResult, (val, key) => {\n if (fieldsKeys.indexOf(key) > -1 && fields[key].omit !== true) {\n defaultData[key] = val;\n }\n })\n }\n\n const _master = api.body._master;\n if(_master && _master._isRelated){\n const relatedKey = _master.relatedKey;\n const masterObjectName = _master.objectName;\n const recordId = _master.recordId;\n let relatedKeySaveValue = recordId;\n const relatedField = fields[relatedKey];\n if(relatedField && relatedField.reference_to_field && relatedField.reference_to_field !== '_id'){\n relatedKeySaveValue = _master.record[relatedField.reference_to_field];\n }\n let relatedKeyValue; \n if(relatedField && !_.isString(relatedField.reference_to)){\n relatedKeyValue = { o: masterObjectName, ids: [relatedKeySaveValue] };\n }else if (relatedField && relatedField.multiple) {\n relatedKeyValue = [relatedKeySaveValue];\n } else {\n relatedKeyValue = relatedKeySaveValue;\n }\n defaultData[relatedKey]=relatedKeyValue;\n }\n\n if(!_.isEmpty(defaultData)){\n if(payload.schema){\n // 表单微页面第一层要求是page\n formSchema.data.defaultData = defaultData;\n }else{\n formSchema.defaultData = defaultData;\n }\n }\n\n return {\n data: formSchema\n };\n `;\n const getSelectedRowsScript = `\n const isLookup = event.data.isLookup;\n if(isLookup){\n // lookup弹出窗口的新建功能不需要支持复制新建\n return;\n }\n const uiSchema = event.data.uiSchema;\n const objectName = event.data.objectName;\n const listViewRef = event.context.scoped.getComponentById(\"listview_\" + objectName);\n const selectedItems = listViewRef && listViewRef.props.store.toJSON().selectedItems || [];\n event.data.selectedIds = _.map(selectedItems, uiSchema.idFieldName || '_id');\n `;\n return {\n \"type\": \"service\",\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_new'),\n \"id\": \"u:standard_new\",\n \"level\": \"default\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": getSelectedRowsScript\n },\n {\n \"actionType\": \"ajax\",\n \"outputVar\": \"selectedRowResponseResult\",\n \"args\": {\n \"api\": {\n \"url\": \"${context.rootUrl}/api/v1/${uiSchema.name}/${selectedIds|first}\",\n \"method\": \"get\"\n }\n },\n \"expression\": \"${selectedIds.length > 0}\"\n },\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"data\": {\n \"$master\": \"$$\",\n \"_master\": \"${_master}\",\n \"_master._isRelated\": \"${_isRelated}\",\n \"_master.relatedKey\": \"${relatedKey}\",\n \"appId\": \"${appId}\",\n \"objectName\": \"${objectName}\",\n \"context\": \"${context}\",\n \"global\": \"${global}\",\n \"listViewId\": \"${listViewId}\",\n \"displayAs\": \"${displayAs}\",\n \"uiSchema\": \"${uiSchema}\",\n \"isLookup\": \"${isLookup}\",\n \"listName\": \"${listName}\",\n \"selectedRowResponseResult\": \"${selectedRowResponseResult}\",\n },\n \"title\":i18next.t('frontend_form_new') + \" ${uiSchema.label | raw}\",\n \"body\": [\n {\n \"type\": \"service\",\n \"id\": \"u:1678e148c4d2\",\n \"messages\": {},\n \"schemaApi\": {\n \"data\": {\n \"isLookup\": \"${isLookup}\",\n \"_master\": \"${_master}\",\n \"url\": \"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}\",\n \"selectedRowResponseResult\": \"${selectedRowResponseResult}\"\n },\n \"url\": \"${context.rootUrl}/api/pageSchema/form?app=${appId}&objectApiName=${objectName}&formFactor=${formFactor}\",\n \"method\": \"get\",\n \"messages\": {\n },\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"requestAdaptor\": \"return { ...api, url: api.body.url }\",\n \"adaptor\": schemaApiAdaptor\n }\n }\n ],\n \"showCloseButton\": true,\n \"id\": \"u:e11347411d2d\",\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"size\": \"lg\",\n \"actions\": [\n {\n type: 'button',\n actionType: 'cancel',\n label: i18next.t('frontend_form_cancel'),\n className: 'form-btn-cancel'\n },\n {\n type: 'button',\n label: i18next.t('frontend_form_save_and_new'),\n actionType: 'confirm',\n close: false,\n id: \"confirmAndNew\",\n className: 'form-btn-save_and_new'\n },\n {\n type: 'button',\n actionType: 'confirm',\n label: i18next.t('frontend_form_save'),\n primary: true,\n className: 'form-btn-save'\n },\n ]\n }\n }\n ]\n }\n }\n }\n ],\n \"regions\": [\n \"body\"\n ],\n \"className\": \"p-0 border-0\",\n \"id\": \"u:aef99d937b10\"\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-11-01 15:49:58\n * @LastEditors: yinlianghui@hotoa.com yinlianghui@hotoa.com\n * @LastEditTime: 2024-05-19 10:01:07\n * @Description:\n */\n\nconst getSchema$4 = async (uiSchema, ctx) => {\n const title = i18next.t('frontend_form_edit') + \" \" + uiSchema.label;\n\n const defaultFormSchema = {\n type: \"steedos-object-form\",\n label: \"对象表单\",\n objectApiName: \"${objectName}\",\n recordId: \"${recordId}\",\n id: \"u:d2b0c083c38f\",\n mode: \"edit\",\n };\n\n let formSchema = defaultFormSchema;\n const page = await getPage({\n type: \"form\",\n appId: ctx.appId,\n objectName: ctx.objectName,\n formFactor: ctx.formFactor,\n });\n\n if (page) {\n formSchema = _.isString(page.schema)\n ? JSON.parse(page.schema)\n : page.schema;\n }\n \n\n return {\n type: \"service\",\n body: [\n {\n type: \"button\",\n label: i18next.t('frontend_form_edit'),\n id: \"u:standard_edit\",\n onEvent: {\n click: {\n actions: [\n {\n actionType: \"dialog\",\n dialog: {\n type: \"dialog\",\n title: title,\n bodyClassName: \"\",\n body: [formSchema],\n id: \"u:ee95697baa4f\",\n closeOnEsc: false,\n closeOnOutside: false,\n showCloseButton: true,\n \"data\": {\n \"&\": \"$$\",\n \"_master\": \"${_master}\",\n \"_master._isRelated\": \"${_isRelated}\",\n \"_master.relatedKey\": \"${relatedKey}\"\n },\n size: \"lg\",\n \"actions\": [\n {\n type: 'button',\n actionType: 'cancel',\n label: i18next.t('frontend_form_cancel')\n },\n {\n type: 'button',\n actionType: 'confirm',\n label: i18next.t('frontend_form_save'),\n primary: true\n },\n ]\n },\n },\n ],\n weight: 0,\n },\n },\n },\n ],\n regions: [\"body\"],\n className: \"\",\n id: \"u:3c5cbc0429bb\",\n };\n};\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2023-03-22 09:31:21\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-02-18 16:06:21\n */\nconst getSchema$3 = (uiSchema)=>{\n return {\n \"type\": \"service\",\n \"className\": \"p-0\",\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_delete'),\n \"confirmText\": i18next.t('frontend_delete_many_confirm_text'),\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"args\": {\n \"api\": {\n \"method\": \"post\",\n \"url\": \"${context.rootUrl}/graphql\",\n \"data\": {\n \"&\": \"$$\",\n \"recordId\": \"${recordId}\",\n \"objectName\": \"${objectName}\"\n },\n \"requestAdaptor\": \"const {recordId, objectName} = api.body; var deleteArray = []; deleteArray.push(`delete:${objectName}__delete(id: \\\"${recordId}\\\")`); api.data = {query: `mutation{${deleteArray.join(',')}}`}; return api;\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"adaptor\": `\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n return payload;\n `,\n }\n },\n \"actionType\": \"ajax\"\n },\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": `@data.changed.${uiSchema.name}`\n },\n \"data\": {\n \"objectName\": `${uiSchema.name}`,\n \"__deletedRecord\": true,\n \"_inDrawer\": \"${_inDrawer}\"\n }\n },\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@data.changed.${_master.objectName}\"\n },\n \"data\": {\n \"objectName\": \"${_master.objectName}\",\n \"_isRelated\": \"${_isRelated}\"\n },\n \"expression\": `\\${_master.objectName != '${uiSchema.name}' && _master.objectName}`\n }\n ]\n }\n }\n }\n ],\n \"regions\": [\n \"body\"\n ]\n }\n};\n\nconst getSchema$2 = (uiSchema) => {\n return {\n type: \"service\",\n body: [\n {\n type: \"button\",\n label: i18next.t('frontend_import_data'),\n id: \"u:import_data\",\n onEvent: {\n click: {\n actions: [\n {\n actionType: \"dialog\",\n dialog: {\n data: {\n \"&\": \"$$\",\n \"object_name\": \"${objectName}\"\n },\n type: \"dialog\",\n title: i18next.t('frontend_import_data'),\n body: [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"queue_import_history\",\n \"recordId\": \"\",\n \"mode\": \"edit\",\n \"layout\": \"normal\",\n \"defaultData\":{\n \"object_name\": \"${objectName}\"\n },\n \"fieldsExtend\":{\n \"object_name\": {\n \"amis\": {\n \"hidden\": true\n }\n }\n },\n \"form\": {\n debug: false,\n resetAfterSubmit: false,\n data: {\n editFormInited: true,\n },\n initApi: {\n method: 'GET',\n url: '/api/v1/queue_import_history/${recordId}?fields=[\"state\"]',\n sendOn: 'this.recordId',\n data: null,\n requestAdaptor: \"return api;\",\n adaptor: \"return payload;\",\n responseData: {\n importState: \"${state}\"\n }\n },\n interval: 3000,\n stopAutoRefreshWhen: \"this.importState === 'finished'\",\n initFetch: false,\n onEvent: {\n inited: {\n weight: 0,\n actions: [\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": `@data.changed.${uiSchema.name}`\n },\n \"data\": {\n \"objectName\": `${uiSchema.name}`,\n \"displayAs\": \"${displayAs}\",\n \"recordId\": \"xxxx\" //不可以省略,否则会进入进入记录详细页面\n },\n \"expression\": \"this.importState === 'finished'\"\n },\n {\n \"actionType\": \"closeDialog\",\n \"expression\": \"this.importState === 'finished'\"\n }\n ]\n },\n submitSucc: {\n weight: 0,\n actions: [\n {\n args: {\n api: {\n url: \"${context.rootUrl}/api/data/initiateImport\",\n method: \"post\",\n data: {\n eventData: \"${event.data}\",\n },\n dataType: \"json\",\n requestAdaptor:\n \"\\napi.data = {\\n importObjectHistoryId: api.body.eventData.result.data.recordId\\n}\\nreturn api;\",\n adaptor:\n \"payload.status = payload.status === 'success' ? 0 : payload.status;\\nconsole.log(\\\"payload ssss==>\\\", payload)\\nreturn payload;\",\n headers: {\n Authorization:\n \"Bearer ${context.tenantId},${context.authToken}\",\n },\n },\n messages: {\n success: i18next.t('frontend_import_data_message_success'),\n failed: i18next.t('frontend_import_data_message_failed'),\n },\n },\n actionType: \"ajax\",\n expression: \"event.data.result\",\n },\n ],\n },\n },\n closeDialogOnSubmit: false,\n }\n }\n ],\n id: \"u:dc05498d3bd4\",\n closeOnEsc: false,\n closeOnOutside: false,\n showCloseButton: true,\n size: \"lg\",\n },\n },\n ],\n weight: 0,\n },\n },\n level: \"default\",\n },\n ],\n regions: [\"body\"],\n className: \"p-0\",\n id: \"u:bd2f9c4e986f\",\n };\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-11-07 17:00:38\n * @LastEditors: liaodaxue\n * @LastEditTime: 2023-12-13 10:09:05\n * @Description: \n */\n\nconst getSchema$1 = (uiSchema)=>{\n return {\n \"type\": \"service\",\n \"className\": \"p-0\",\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_details'),\n \"className\": \"border-none\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {\n \"blank\": false,\n \"url\": \"/app/${app_id}/${objectName}/view/${_id}?side_object=${objectName}&side_listview_id=${listName}\"\n },\n \"actionType\": \"link\"\n }\n ]\n }\n },\n \"id\": \"u:ef35c9ae1d19\"\n }\n ],\n \"regions\": [\n \"body\"\n ]\n }\n};\n\nconst getSchema = async (uiSchema, ctx) => {\n const requestAdaptor = function () {\n let uiSchema = api.body.uiSchema;\n let list_views_name = api.body.listName;\n let list_views = uiSchema.list_views;\n const listViewPropsStoreKey = location.pathname + \"/crud/query\";\n const query = JSON.parse(sessionStorage.getItem(listViewPropsStoreKey));\n const { filters, sort, fields: select } = query;\n let filename = uiSchema.label + \"-\" + list_views[list_views_name].label;\n\n var url_tmp = api.url.split('?')[0];\n api.url = url_tmp + \"?$select=\" + encodeURIComponent(select.toString()) + \"&filename=\" + encodeURIComponent(filename);\n // 判断sort 和 filters\n if (sort.length > 0) {\n api.url += \"&$orderby=\" + encodeURIComponent(sort);\n }\n if (filters && filters.length > 0) {\n api.url = api.url + \"&filters=\" + encodeURIComponent(JSON.stringify(filters));\n }\n return api;\n };\n return {\n \"type\": \"service\",\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_export_excel'),\n \"id\": \"u:standard_export_excel\",\n \"level\": \"default\",\n \"disabledTip\": i18next.t('frontend_export_excel_toast'),\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [{\n \"componentId\": \"u:standard_export_excel\",\n \"actionType\": \"disabled\"\n },\n {\n \"args\": {\n \"api\": {\n \"url\": \"${context.rootUrl}/api/record/export/${objectName}\",\n \"method\": \"get\",\n \"messages\": {},\n \"requestAdaptor\": requestAdaptor.toString().match(/function[^{]+\\{([\\s\\S]*)\\}$/)[1],\n \"data\": {\n \"uiSchema\": \"${uiSchema}\",\n \"listName\": \"${listName}\"\n },\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n },\n \"actionType\": \"download\"\n },\n {\n \"componentId\": \"u:standard_export_excel\",\n \"actionType\": \"enabled\"\n }\n ]\n }\n }\n }\n ]\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-11-01 15:53:07\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-02-28 17:06:22\n * @Description: \n */\n\nconst StandardButtons = {\n getStandardNew: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema$5(uiSchema)\n }\n },\n getStandardEdit: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema$4(uiSchema, ctx)\n }\n },\n getStandardDelete: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema$3(uiSchema)\n }\n },\n getStandardDeleteMany: async (uiSchema, ctx)=>{\n return {\n type: 'script',\n todo: function(){\n const {\n appId,\n objectName,\n uiSchema\n } = this;\n const scopeId = this.scopeId || `amis-${appId}-${objectName}-listview`;\n const scope = this.scope || SteedosUI?.getRef(scopeId);\n //https://github.com/baidu/amis/pull/6807 .parent的改动是为适应3.2getComponentById的规则改动,不影响2.9\n const listViewRef = scope.parent?.getComponentById(`listview_${uiSchema.name}`);\n if(_.isEmpty(listViewRef.props.store.toJSON().selectedItems)){\n listViewRef.handleAction({}, {\n \"actionType\": \"toast\",\n \"toast\": {\n \"items\": [\n {\n \"position\": \"top-right\",\n \"body\": i18next.t('frontend_delete_many_selected_required')\n }\n ]\n }\n });\n }else {\n listViewRef.handleBulkAction(listViewRef.props.store.toJSON().selectedItems,[],{},listViewRef.props.bulkActions[0]);\n }\n }\n }\n },\n getStandardImportData: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema$2(uiSchema)\n }\n },\n getStandardOpenView: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema$1()\n }\n },\n getStandardExportExcel: async (uiSchema, ctx)=>{\n return {\n type: 'amis_button',\n amis_schema: await getSchema()\n }\n }\n};\n\nconst getGlobalData = () => {\n return {\n now: new Date(),\n };\n};\n\nfunction getButtonVisibleOn(button){\n let visible= button.visible;\n\n if(button._visible){\n visible = button._visible;\n }\n\n if(_$1.isBoolean(visible)){\n visible = visible.toString();\n }\n\n if(visible){\n // if(visible.indexOf(\"Meteor.\") > 0 || visible.indexOf(\"Creator.\") > 0 || visible.indexOf(\"Session.\") > 0){\n // console.warn('无效的visible', visible)\n // return 'false';\n // }\n if(visible.trim().startsWith('function')){\n visible = `${visible}.apply({\n object: uiSchema\n }, [objectName, typeof _id === 'undefined' ? null: _id, typeof record === 'undefined' ? (typeof recordPermissions === 'undefined' ? {} : recordPermissions) : record.recordPermissions, data])`;\n }\n }\n\n if(button.type === 'amis_button'){\n let amisSchema = button.amis_schema;\n if(_$1.isString(amisSchema)){\n amisSchema = JSON.parse(amisSchema);\n }\n if(amisSchema && amisSchema.body && amisSchema.body.length > 0){\n const btn1 = amisSchema.body[0];\n if(_$1.hasIn(btn1, 'visibleOn')){\n /* 当含有“更多”按钮或者“下拉”箭头按钮时,单个按钮的visibleOn需要合并到 “更多”按钮或者“下拉”箭头按钮的 visibleOn 中,用||隔开。\n visibleOn的格式需要保持一致; 不能是 js 和 ${xxx} 混合的表达式;\n visibleOn的值需要是js格式,因为默认的编辑、删除等系统按钮的visibleOn的格式就是js格式(function(){}); \n */\n return btn1.visibleOn\n } \n }\n }\n return visible;\n}\n\nconst getButtonVisible = (button, ctx) => {\n if (button._visible) {\n if (_$1.startsWith(_$1.trim(button._visible), \"function\")) {\n window.eval(\"var fun = \" + button._visible);\n button.visible = fun;\n } else if (isExpression(button._visible)) {\n button.visible = (props) => {\n parseSingleExpression(\n button._visible,\n props.record,\n \"#\",\n getGlobalData(),\n props.userSession\n );\n };\n }\n }\n if (_$1.isFunction(button.visible)) {\n try {\n return button.visible(ctx);\n } catch (error) {\n // console.error(`${button.name} visible error: ${error}`);\n }\n } else {\n return button.visible;\n }\n};\n\n\nconst standardButtonsTodo = {\n // 批量删除比较特殊, CRUD组件在外部无法触发批量操作action.\n standard_delete_many: function(){\n const {\n listViewId,\n uiSchema,\n scopeId\n } = this;\n const listViewRef = SteedosUI?.getRef(scopeId || listViewId).getComponentById(`listview_${uiSchema.name}`);\n \n if(_$1.isEmpty(listViewRef.props.store.toJSON().selectedItems)){\n listViewRef.handleAction({}, {\n \"actionType\": \"toast\",\n \"toast\": {\n \"items\": [\n {\n \"position\": \"top-right\",\n \"body\": \"请选择要删除的项\"\n }\n ]\n }\n });\n }else {\n listViewRef.handleBulkAction(listViewRef.props.store.toJSON().selectedItems,[],{},listViewRef.props.bulkActions[0]);\n }\n }\n};\n\n\n/**\n * 按钮显隐规则: 优先使用页面布局上的配置.\n * @param {*} uiSchema \n * @param {*} ctx \n * @returns \n */\nconst getButtons = (uiSchema, ctx) => {\n const disabledButtons = uiSchema.permissions && uiSchema.permissions.disabled_actions;\n let buttons = _$1.sortBy(_$1.values(uiSchema.actions), \"sort\");\n if (_$1.has(uiSchema, \"allow_customActions\")) {\n buttons = _$1.filter(buttons, (button) => {\n return _$1.include(uiSchema.allow_customActions, button.name); // || _.include(_.keys(Creator.getObject('base').actions) || {}, button.name)\n });\n }\n if (_$1.has(uiSchema, \"exclude_actions\")) {\n buttons = _$1.filter(buttons, (button) => {\n return !_$1.include(uiSchema.exclude_actions, button.name);\n });\n }\n\n _$1.each(buttons, (button) => {\n button.objectName = uiSchema.name;\n if (\n ctx.isMobile &&\n [\"record\", \"record_only\"].indexOf(button.on) > -1 &&\n button.name != \"standard_edit\"\n ) {\n if (button.on == \"record_only\") {\n button.on = \"record_only_more\";\n } else {\n button.on = \"record_more\";\n }\n }\n });\n\n if (\n ctx.isMobile &&\n [\"cms_files\", \"cfs.files.filerecord\"].indexOf(uiSchema.name) > -1\n ) {\n _$1.map(buttons, (button) => {\n if (button.name === \"standard_edit\") {\n button.on = \"record_more\";\n }\n if (button.name === \"download\") {\n button.on = \"record\";\n }\n });\n }\n\n return _$1.filter(buttons, (button) => {\n return _$1.indexOf(disabledButtons, button.name) < 0 && button.name != 'standard_query';\n });\n};\n\nconst getListViewButtons = (uiSchema, ctx) => {\n const buttons = getButtons(uiSchema, ctx);\n const listButtons = _$1.filter(buttons, (button) => {\n return button.on == \"list\";\n });\n return listButtons;\n};\n\nconst getObjectDetailButtons = (uiSchema, ctx) => {\n const buttons = getButtons(uiSchema, ctx);\n const detailButtons = _$1.filter(buttons, (button) => {\n return button.on == \"record\" || button.on == \"record_only\";\n });\n return _$1.sortBy(detailButtons, \"sort\");\n};\n\nconst getObjectDetailMoreButtons = (uiSchema, ctx) => {\n const buttons = getButtons(uiSchema, ctx);\n const moreButtons = _$1.filter(buttons, (button) => {\n return button.on == \"record_more\" || button.on == \"record_only_more\";\n });\n return _$1.sortBy(moreButtons, \"sort\");\n};\n\nconst getListViewItemButtons = async (uiSchema, ctx)=>{\n const buttons = getButtons(uiSchema, ctx);\n const listButtons = _$1.filter(buttons, (button) => {\n return button.on == \"record\" || button.on == \"list_item\" || button.on === 'record_more';\n });\n return listButtons;\n};\n\nconst getObjectRelatedListButtons = (uiSchema, ctx)=>{\n // const buttons = getButtons(uiSchema, ctx);\n // const relatedListButtons = _.filter(buttons, (button) => {\n // if(button.objectName === 'cms_files'){\n // // TODO:附件对象本身没有上传按钮,需要自定义\n // }else{\n // return button.name == \"standard_new\";\n // }\n // });\n // return relatedListButtons;\n const buttons = getButtons(uiSchema, ctx);\n const listButtons = _$1.filter(buttons, (button) => {\n return button.on == \"list\";\n });\n return listButtons;\n};\n\n/**\n * 由此函数负责内置按钮的转换\n * @param {*} objectName \n * @param {*} buttonName \n * @param {*} ctx \n * @returns \n */\nconst getButton = async (objectName, buttonName, ctx)=>{\n const uiSchema = await getUISchema(objectName);\n if(uiSchema){\n const buttons = await getButtons(uiSchema, ctx);\n const button = _$1.find(buttons, (button)=>{\n return button.name === buttonName\n });\n\n if(!button){\n return ;\n }\n\n if(button.name == 'standard_edit' && (button.todo === 'standard_edit' && button.type != \"amis_button\")){ // && button._visible.indexOf('Steedos.StandardObjects.Base.Actions.standard_edit.visible.apply') > 0\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n ...await StandardButtons.getStandardEdit(uiSchema, ctx)\n };\n }\n if(objectName != 'cms_files' && button.name == 'standard_new' && (button.todo === 'standard_new' && button.type != \"amis_button\")){ //&& button._visible.indexOf('Steedos.StandardObjects.Base.Actions.standard_new.visible.apply') > 0\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n ...await StandardButtons.getStandardNew(uiSchema, ctx)\n }\n }\n\n // 如果是standard_delete 且 _visible 中调用了 Steedos 函数, 则自动添加标准的删除功能\n if(button.name == 'standard_delete' && (button.todo === 'standard_delete' && button.type != \"amis_button\")){ // && button._visible.indexOf('Steedos.StandardObjects.Base.Actions.standard_delete.visible.apply') > 0\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n sort: button.sort,\n ...await StandardButtons.getStandardDelete(uiSchema, ctx)\n }\n }\n\n if(uiSchema.hasImportTemplates && button.name === 'standard_import_data'){\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n sort: button.sort,\n ...await StandardButtons.getStandardImportData(uiSchema, ctx)\n }\n }\n\n if(button.name === 'standard_export_excel'){\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n sort: button.sort,\n ...await StandardButtons.getStandardExportExcel(uiSchema, ctx)\n }\n }\n\n if(button.name === 'standard_open_view'){\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n sort: button.sort,\n ...await StandardButtons.getStandardOpenView(uiSchema, ctx)\n }\n }\n\n if(button.name === 'standard_delete_many'){\n return {\n label: button.label,\n name: button.name,\n on: button.on,\n sort: button.sort,\n ...await StandardButtons.getStandardDeleteMany(uiSchema, ctx)\n }\n }\n\n return button;\n\n }\n};\n\nconst execute = (button, props) => {\n if (!button.todo) {\n return; //TODO 弹出提示未配置todo\n }\n\n if (_$1.isString(button.todo)) {\n if (_$1.startsWith(_$1.trim(button.todo), \"function\")) {\n window.eval(\"var fun = \" + button.todo);\n button.todo = fun;\n }\n }\n if (_$1.isFunction(button.todo)) {\n const todoThis = {\n objectName: props.objectName, \n object_name: props.objectName, \n object: props.uiSchema, \n record: props.record,\n recordId: props.recordId,\n record_id: props.recordId,\n ...props,\n action: button\n };\n return button.todo.apply(todoThis, [todoThis.objectName, todoThis.recordId]);\n }\n};\n\nconst executeButton = execute;\n\n\nconst getObjectDetailHeaderButtons = (objectSchema, recordId)=>{\n const { name } = objectSchema;\n const buttons = getObjectDetailButtons(objectSchema, {});\n const moreButtons = getObjectDetailMoreButtons(objectSchema, {\n recordId: recordId,\n objectName: name\n });\n let amisButtonsSchema = _$1.map(buttons, (button) => {\n return {\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n className: `button_${button.name}`\n }\n });\n let moreButtonsVisibleOn = '';\n let dropdownButtons = _$1.map(moreButtons, (button, index) => {\n if(index === 0){\n moreButtonsVisibleOn = getButtonVisibleOn(button);\n }else {\n moreButtonsVisibleOn = moreButtonsVisibleOn + ' || ' +getButtonVisibleOn(button);\n }\n \n return {\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n }\n });\n return {\n buttons: amisButtonsSchema,\n moreButtons: dropdownButtons,\n moreButtonsVisibleOn\n };\n};\n\nconst getDropdown = (dropdownButtons)=>{\n const dropdown = {\n \"type\": \"dropdown-button\",\n \"icon\": \"fa fa-angle-down\",\n \"size\": \"sm\",\n \"hideCaret\": true,\n \"className\": \"mr-0 steedos-mobile-header-drop-down\",\n \"closeOnClick\": true,\n \"menuClassName\": \"buttons-drawer fixed bg-none border-0 shadow-none\",\n \"align\": \"right\",\n \"body\": [\n {\n \"type\": \"action\",\n \"style\": {\n \"z-index\": 1,\n \"background\": \"var(--Drawer-overlay-bg)\",\n \"height\": \"100%\",\n \"width\": \"100%\",\n \"padding\": \"0\",\n \"margin\": \"0\",\n \"border-radius\": \"0\"\n }\n },\n {\n \"type\": \"wrapper\",\n \"style\": {\n \"position\": \"fixed\",\n \"bottom\": 0,\n \"z-index\": 2,\n \"width\": \"100vw\",\n \"left\": \"0\",\n \"padding\": \"0\",\n \"background\": \"white\",\n \"box-shadow\": \"0 -10px 10px -10px rgba(0, 0, 0, 0.2)\"\n },\n \"body\": [\n {\n \"type\": \"flex\",\n \"justify\": \"space-between\",\n \"items\": [\n {\n \"type\": \"tpl\",\n \"tpl\": \"操作\",\n \"style\": {\n \"padding\": \"4px 12px\",\n \"align-items\": \"center\",\n \"display\": \"flex\"\n }\n },\n {\n \"type\": \"action\",\n \"label\": \"\",\n \"icon\": \"fa fa-times\",\n \"level\": \"link\",\n \"style\": {\n \"color\": \"black\"\n },\n }\n ],\n \"style\": {\n \"padding-top\": \"0.5rem\",\n \"padding-bottom\": \"0.5rem\",\n \"border-bottom\": \"var(--Drawer-content-borderWidth) solid var(--Drawer-header-borderColor)\"\n }\n },\n {\n \"type\": \"wrapper\",\n \"body\": [\n {\n \"type\": \"button-group\",\n \"id\": \"u:fd837823be5b\",\n \"vertical\": true,\n \"tiled\": true,\n \"buttons\": dropdownButtons,\n \"className\": \"w-full overflow-auto\",\n \"btnClassName\": \"w-full\",\n \"size\": \"lg\"\n }\n ],\n \"style\": {\n \"padding\": \"0\",\n \"overflow\": \"auto\",\n \"max-height\": \"70vh\"\n }\n }\n\n ]\n }\n ]\n };\n\n return dropdown;\n};\n\nconst getObjectDetailButtonsSchemas = (objectSchema, recordId, ctx)=>{\n const { buttons, moreButtons, moreButtonsVisibleOn } = getObjectDetailHeaderButtons(objectSchema, recordId);\n if(ctx.formFactor === 'SMALL'){\n const dropdownButtons = [\n ..._$1.map(buttons, (button) => {\n button.className += ' w-full';\n return button;\n }),\n ..._$1.map(moreButtons, (button) => {\n button.className += ' w-full';\n return button;\n })\n ];\n\n let phoneMoreButtonsVisibleOn = '';\n _$1.forEach(dropdownButtons, (button, index) => {\n if(index === 0){\n phoneMoreButtonsVisibleOn = button.visibleOn;\n }else {\n phoneMoreButtonsVisibleOn = phoneMoreButtonsVisibleOn + ' || ' + button.visibleOn;\n }\n });\n\n return [getDropdown(dropdownButtons)];\n }else {\n if(moreButtons.length > 0){\n const dropdownButtonsSchema = {\n type: \"steedos-dropdown-button\",\n label: \"\",\n buttons: moreButtons,\n \"overlayClassName\": \"border rounded !min-w-[160px]\",\n className: 'slds-icon ml-1',\n visibleOn: moreButtonsVisibleOn\n };\n buttons.push(dropdownButtonsSchema);\n }\n return buttons;\n }\n};\n\n\nconst getObjectListViewButtonsSchemas = (objectSchema, ctx)=>{\n const buttons = getListViewButtons(objectSchema, ctx);\n if(ctx.formFactor === 'SMALL'){\n const dropdownButtons = _$1.map(buttons, (button)=>{\n return {\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n className: `button_${button.name} w-full`\n }\n });\n return getDropdown(dropdownButtons);\n }else {\n return _$1.map(buttons, (button) => {\n return {\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n className: `button_${button.name}`\n }\n });\n }\n};\n\nconst getObjectRecordDetailRelatedListButtonsSchemas = (objectSchema, ctx)=>{\n const buttons = getObjectRelatedListButtons(objectSchema, ctx);\n if(ctx.formFactor === 'SMALL'){\n const dropdownButtons = _$1.map(buttons, (button)=>{\n return {\n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n className: `button_${button.name} w-full`\n }\n });\n return [getDropdown(dropdownButtons)];\n }else {\n return _$1.map(buttons, (button) => {\n return { \n type: 'steedos-object-button',\n name: button.name,\n objectName: button.objectName,\n visibleOn: getButtonVisibleOn(button),\n className: `button_${button.name}`\n }\n });\n }\n};\n\nasync function getObjectFieldsFilterButtonSchema(objectSchema) {\n // const amisListViewId = `listview_${objectSchema.name}`;\n return {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": \"fa fa-search\",\n \"className\": \"bg-white p-2 rounded border-gray-300 text-gray-500\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"broadcast_toggle_fields_filter\"\n }\n }\n ]\n }\n }\n }\n}\n\nasync function getObjectFieldsFilterFormSchema(ctx) {\n\n if (!ctx) {\n ctx = {};\n }\n const formSchema = {\n \"type\": \"service\",\n \"visibleOn\": \"this.filterFormSearchableFields && this.filterFormSearchableFields.length\",\n \"className\": ctx.formFactor === 'SMALL' ? \"slds-filters__body p-0 mb-2 overflow-y-auto overflow-x-hidden\" : \"slds-filters__body p-0 sm:grid sm:gap-4 sm:grid-cols-4 p-2\",\n \"style\":{\n \"max-height\":ctx.formFactor === 'SMALL'?\"30vh\":\"unset\"\n },\n \"schemaApi\": {\n method: 'post',\n url: `\\${context.rootUrl}/graphql?reload=\\${filterFormSearchableFields|join}`,\n data: {\n $self: \"$$\",\n query: \"{\\n data: objects(filters: [[\\\"_id\\\",\\\"=\\\",null]],top: 1, skip: 0){_id}\\n }\"\n },\n requestAdaptor: `\n return {\n ...api,\n data: {\n query: api.data.query\n }\n };\n `,\n adaptor: `\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const filterFormSearchableFields = (selfData.filterFormSearchableFields || []).filter(function(item){\n return !!fields[item]\n });\n const resolveAll = function(values){\n payload.data = {\n \"body\": values\n };\n return payload;\n }\n\n const rejectAll = function(){\n console.warn(\"run function getFieldSearchable failed.\");\n }\n\n return Promise.all(filterFormSearchableFields.map(function (item) {\n const field = _.clone(fields[item]);\n if (\n field && window.isFieldTypeSearchable(field.type)\n ) {\n var ctx = ${JSON.stringify(ctx)};\n const amisField = window.getFieldSearchable(field, fields, ctx);\n return amisField;\n }\n })).then(resolveAll, rejectAll);\n `,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n };\n\n return formSchema;\n}\n\nasync function getObjectFieldsFilterBarSchema(objectSchema, ctx) {\n if (!ctx) {\n ctx = {};\n }\n const searchableFields = ctx.searchable_fields;\n const autoOpenFilter = !!ctx.auto_open_filter;\n const btnSearchId = \"btn_filter_form_search_\" + new Date().getTime();\n const filterFormSchema = await getObjectFieldsFilterFormSchema(ctx);\n const keywordsSearchBoxName = ctx.keywordsSearchBoxName || \"__keywords\";\n const onSearchScript = `\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n // 使用filterForm.getValues()的话,并不能拿到本地存储中的过滤条件,所以需要从event.data中取,因为本地存储中的过滤条件自动填充到表单上时filterForm.getValues()拿不到。\n let filterFormValues = event.data;\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 同步__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // var filterFormValues = filterForm.getValues();\n // var listView = scope.parent.parent.parent.getComponents().find(function(n){\n // return n.props.type === \"crud\";\n // });\n // const removedValues = {};\n // // 设置搜索项中移除搜索项后,filterFormValues未把其字段的空值保存为own property,即hasOwnProperty属性中\n // // 这会造成handleFilterSubmit时把移除掉的搜索项字段之前的值加到过滤条件中\n // for(var k in filterFormValues){\n // if(filterFormValues[k] === \"\" && !filterFormValues.hasOwnProperty(k)){\n // removedValues[k] = null;\n // }\n // }\n // listView.handleFilterSubmit(Object.assign({}, removedValues, filterFormValues));\n // 点击搜索的时候自动收起搜索栏\n //触发amis crud 高度重算\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.${objectSchema.name}\"\n },\n \"data\": {\n \"timeOut\": 500\n }\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n let showFieldsFilter = false;\n const isMobile = window.innerWidth < 768;\n if(event.data.__from_fields_filter_settings_confirm){\n // 如果是从设置搜索项点击确认按钮触发的搜索事件不应该自动关闭搜索栏\n showFieldsFilter = true;\n }\n else if(isMobile){\n // 如果是手机端,点击搜索后自动关闭搜索栏\n showFieldsFilter = false;\n }\n else if(event.data.displayAs === \"split\") {\n // PC上分栏模式下的列表,始终按手机上效果处理,即自动关闭搜索栏\n showFieldsFilter = false;\n }\n else if(window.innerHeight >= 1200){\n // 高分辨率屏幕(2k+),列表高度比较高,没必要自动关闭搜索栏\n showFieldsFilter = true;\n }\n filterService.setData({showFieldsFilter});\n // resizeWindow();//已迁移到搜索栏表单提交事件中执行,因为表单项change后也会触发表单提交了\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty, showFieldsFilter});\n `;\n const onCancelScript = `\n // console.log(\"===onCancelScript=form==\");\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n var filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n var filterFormValues = filterForm.getValues();\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const removedValues = {};\n for(var k in filterFormValues){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n if(!event.data.isLookup){\n // 刷新浏览器后,filterFormValues值是空的,只能从本地存储中取出并重置为空值\n const listName = event.data.listName;\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n for(var k in localListViewProps){\n if(/^__searchable__/.test(k)){\n removedValues[k] = null;\n }\n }\n }\n }\n else{\n const keywordsSearchBoxName = \"${keywordsSearchBoxName}\";\n //lookup字段保留快速搜索条件\n removedValues[keywordsSearchBoxName] = filterFormValues[keywordsSearchBoxName];\n }\n filterForm.setValues(removedValues);//会把表单提交到toolbar的快速搜索区域,造成在快速搜索框中触发搜索时再次把搜索表单中的字段值清除掉的bug,已单独在快速搜索框那边添加搜索事件代码处理过了\n // 以下方法都无法实现清除表单值\n // filterForm.setValues({}, true)\n // filterForm.reset();\n // filterForm.handleAction({},{\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": removedValues\n // }\n // });\n // 下面触发clear动作可以清除表单值,且不会把表单提交到toolbar的快速搜索区域,但是会把金额等范围字段清空成非范围字段\n // filterForm.handleAction({},{\n // \"actionType\": \"clear\"\n // });\n\n // 清除__changedFilterFormValues中的值\n // crud && crud.setData({__changedFilterFormValues: {}});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = {};\n crud.setData(crudData);\n }\n filterForm.handleFormSubmit(event);\n // crud.handleFilterSubmit(removedValues);\n\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n filterFormService.setData({showFieldsFilter: !!!filterFormService.props.data.showFieldsFilter});\n //触发amis crud 高度重算\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.${objectSchema.name}\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n \n // 移除搜索按钮上的红点\n // let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty: true, showFieldsFilter: false});\n `;\n const dataProviderInited = `\n const searchableFields = ${JSON.stringify(searchableFields)};\n const autoOpenFilter = ${autoOpenFilter};\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const listName = data.listName;\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n let defaultSearchableFields = localStorage.getItem(searchableFieldsStoreKey);\n if(defaultSearchableFields){\n defaultSearchableFields = defaultSearchableFields.split(\",\");\n }\n if(_.isEmpty(defaultSearchableFields) && searchableFields){\n if(searchableFields.length){\n defaultSearchableFields = _.map(searchableFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n let listView = data.uiSchema.list_views[data.listName];\n const sFields = listView && listView.searchable_fields;\n if(sFields && sFields.length){\n defaultSearchableFields = _.map(sFields, 'field');\n }\n }\n if(_.isEmpty(defaultSearchableFields) && data.uiSchema){\n defaultSearchableFields = _.map(\n _.sortBy(_.filter(_.values(data.uiSchema.fields), (field) => {\n return field.filterable;\n }), \"sort_no\"),\n \"name\"\n );\n }\n setData({ filterFormSearchableFields: defaultSearchableFields });\n if(isLookup){\n // looup字段过滤器不在本地缓存记住过滤条件,所以初始始终隐藏过滤器\n setData({ showFieldsFilter: autoOpenFilter });\n }\n else{\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n let filterFormValues = _.pickBy(localListViewProps, function(n,k){\n return /^__searchable__/g.test(k);\n });\n if(!_.isEmpty(filterFormValues)){\n setData({ ...filterFormValues });\n const omitedEmptyFormValue = _.omitBy(filterFormValues, function(n){\n return _.isNil(n) \n || (_.isObject(n) && _.isEmpty(n)) \n || (_.isArray(n) && _.isEmpty(n.filter(function(item){return !_.isNil(item)})))\n || (_.isString(n) && n.length === 0);\n });\n // 有过滤条件时只显示搜索按钮上的红点,不自动展开搜索栏\n if(!_.isEmpty(omitedEmptyFormValue)){\n let crudService = SteedosUI.getRef(data.$scopeId).parent.getComponentById(\"service_listview_\" + data.objectName)\n crudService && crudService.setData({isFieldsFilterEmpty: false});\n // setData({ showFieldsFilter: true });//自动展开搜索栏\n }\n }\n }\n }\n `;\n const onSearchableFieldsChangeScript = `\n const data = context.props.data;\n const listName = data.listName;\n const objectName = data.objectName;\n const isLookup = data.isLookup;\n const value = data.fields;\n const scope = event.context.scoped;\n // 这里的filterForm不是name为\"listview-filter-form\"的内部form,而是crud自带的filter form\n const filterForm = scope.parent.parent.getComponents().find(function(n){\n return n.props.type === \"form\";\n });\n const filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n });\n filterService.setData({ filterFormSearchableFields: value });\n let searchableFieldsStoreKey = location.pathname + \"/searchable_fields\";\n if(isLookup){\n searchableFieldsStoreKey += \"/lookup/\" + objectName;\n }\n searchableFieldsStoreKey = searchableFieldsStoreKey + \"/\" + (data.context && data.context.userId);\n localStorage.setItem(searchableFieldsStoreKey, value);\n\n // ===START===:当变更可搜索字段时,如果被移除的可搜索字段在本地存储中已经存入过滤条件中则应该清除本地存储中相关字段的过滤条件。\n const searchableFields = data.fields;\n let preSearchableFields = data.__super.fields;\n if(typeof preSearchableFields === \"string\"){\n preSearchableFields = preSearchableFields.split(\",\");\n }\n const removedFields = _.difference(preSearchableFields, searchableFields);\n\n // const getClosestAmisComponentByType = function (scope, type, name) {\n // // 递归children找到listview-filter-form\n // let re = scope.getComponents().find(function (n) {\n // return n.props.type === type && n.props.name === name;\n // });\n // if (re) {\n // return re;\n // }\n // else {\n // if (scope.children && scope.children.length) {\n // for (let i = 0; i < scope.children.length; i++) {\n // re = getClosestAmisComponentByType(scope.children[i], type, name);\n // if (re) {\n // break;\n // }\n // }\n // return re;\n // }\n \n // }\n // }\n // // 这里第二层form才是真正要提交到crud过滤条件的form\n // filterInnerForm = getClosestAmisComponentByType(filterForm.context, \"form\", \"listview-filter-form\");\n\n const filterFormValues = filterForm.getValues();\n let removedKeys = [];\n _.each(filterFormValues, function(n,k){\n // __searchable__开头的不在searchableFields范围则清除其值\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__\\.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n removedKeys.push(k);\n }\n });\n const removedValues = {};\n removedKeys.forEach(function(key){\n removedValues[key] = null;\n });\n filterForm.setValues(removedValues);//这里使用filterInnerForm也可以\n\n if(isLookup){\n return;\n }\n \n // 列表视图crud支持本地缓存,所以需要进一步清除浏览器本地缓存里面用户在可搜索项中移除的字段值\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n if(localListViewProps){\n localListViewProps = JSON.parse(localListViewProps);\n _.each(localListViewProps, function(n,k){\n // __searchable__开头的不在searchableFields范围则清除其值\n let isRemoved = !!removedFields.find(function(fieldName){\n return new RegExp(\"__searchable__\\.*\" + fieldName + \"$\").test(k);\n });\n if(isRemoved){\n delete localListViewProps[k];\n }\n });\n sessionStorage.setItem(listViewPropsStoreKey, JSON.stringify(localListViewProps));\n }\n //触发amis crud 高度重算\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.${objectSchema.name}\"\n },\n \"data\": {\n \"timeOut\": 100\n }\n });\n // ===END===\n `;\n return {\n \"type\": \"service\",\n \"name\": \"service_listview_filter_form\",\n \"data\": {\n // \"showFieldsFilter\": false\n // \"filterFormSearchableFields\": [\"name\"],//默认可搜索项\n // \"filterFormValues\": {\"__searchable__name\": \"xxx\"},//搜索项表单值\n // \"listViewId\": \"${listViewId}\"\n },\n // \"id\": `service_listview_filter_form_${objectSchema.name}`,\n \"dataProvider\": {\n \"inited\": dataProviderInited\n },\n \"body\": {\n \"type\": \"wrapper\",\n \"body\": {\n \"type\": \"wrapper\",\n \"body\": [filterFormSchema, {\n \"type\": \"wrapper\",\n \"body\": {\n \"type\": \"wrapper\",\n \"body\": [\n {\n \"type\": \"button\",\n \"id\": btnSearchId,\n \"label\": i18next.t('frontend_fields_filter_button_search'),\n \"icon\": \"fa fa-search\",\n // \"visibleOn\": \"this.filterFormSearchableFields && this.filterFormSearchableFields.length\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onSearchScript\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_cancel'),\n \"name\": \"btn_filter_form_cancel\",\n // \"visibleOn\": \"this.filterFormSearchableFields && this.filterFormSearchableFields.length\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onCancelScript\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_fields_filter_button_settings'),\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"size\": \"md\",\n \"title\": i18next.t('frontend_fields_filter_button_settings'),\n \"body\": [\n {\n \"type\": \"form\",\n \"title\": \"\",\n \"body\": [\n {\n \"label\": \"\",\n \"type\": \"transfer\",\n \"name\": \"fields\",\n \"id\": \"u:92c0b3cccca0\",\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${objectName}/fields/options\",\n \"dataType\": \"json\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"data\": {\n \"$self\": \"$$\"\n },\n \"requestAdaptor\": \"\",\n \"adaptor\": `\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n const selfData = api.body.$self;\n const uiSchema = selfData.uiSchema;\n const fields = uiSchema.fields;\n const options = ((payload.data && payload.data.options) || []).filter(function(item){\n let field = fields[item.value];\n // TODO: 暂时禁用location类型字段的列表搜索\n return !!field && window.isFieldTypeSearchable(field.type) && field.type !== 'location'\n });\n payload.data = {\n \"options\": options\n };\n return payload;\n `\n },\n \"options\": [],\n \"required\": true,\n \"placeholder\": \"-\",\n \"className\": \"col-span-2 m-0\",\n \"checkAll\": false,\n \"searchable\": true,\n \"sortable\": true,\n \"joinValues\": false,\n \"extractValue\": true,\n \"multiple\": true\n }\n ],\n \"id\": \"u:e5ac506d5683\",\n \"mode\": \"normal\",\n \"persistData\": false,\n \"promptPageLeave\": true,\n \"name\": \"form\",\n \"debug\": false,\n \"actions\": [],\n \"panelClassName\": \"m-0\",\n \"bodyClassName\": \"p-4\",\n \"className\": \"steedos-amis-form\"\n }\n ],\n \"id\": \"u:ca99fa9fe1b1\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_cancel'),\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"closeDialog\"\n }\n ]\n }\n },\n \"id\": \"u:4e447b5ca72a\"\n },\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_form_confirm'),\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onSearchableFieldsChangeScript\n },\n {\n \"actionType\": \"click\",\n \"componentId\": btnSearchId,\n \"args\": {\n \"__from_fields_filter_settings_confirm\": true\n }\n },\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"closeDrawer\"\n }\n ]\n }\n },\n \"id\": \"u:14e7388fecd3\",\n \"level\": \"primary\"\n }\n ],\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"data\": {\n \"&\": \"$$\",\n \"objectName\": \"${objectName}\",\n \"listName\": \"${listName}\",\n \"listViewId\": \"${listViewId}\",\n \"uiSchema\": \"${uiSchema}\",\n \"isLookup\": \"${isLookup}\",\n \"context\": \"${context}\",\n \"fields\": \"${filterFormSearchableFields}\"\n }\n }\n }\n ]\n }\n },\n \"id\": \"u:b96d84868a5a\",\n \"level\": \"link\"\n }\n ],\n \"size\": \"xs\",\n \"className\": \"space-x-4\"\n },\n \"size\": \"xs\",\n \"className\": \"slds-filters__footer slds-grid slds-shrink-none flex justify-between p-0\"\n }],\n \"size\": \"xs\",\n \"className\": \"slds-filters\"\n },\n \"size\": \"xs\",\n \"className\": `border-y slds-grid slds-grid_vertical slds-nowrap ${!ctx.isLookup && \"mt-2\"}`,\n \"visibleOn\": \"this.showFieldsFilter\",\n },\n \"className\": \"bg-white\"\n };\n}\n\nconst getNewListviewButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_new_label'),\n \"className\": \"steedos-listview-new-button\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_new_title'),\n \"data\": {\n //\"&\":\"$$\",2.7、2.9、3.0在此处失效\n \"all\": \"${uiSchema.list_views.all}\",\n \"list_view\": \"${uiSchema.list_views[listName]}\",\n \"appId\": \"${appId}\",\n \"global\": \"${global}\",\n \"targetObjectName\": \"${objectName}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"\",\n \"mode\": \"edit\",\n \"layout\": \"normal\",\n \"defaultData\": {\n \"&\": \"${list_view}\",\n \"name\":\"\",\n \"label\":\"\",\n \"filters\":\"\",\n \"shared\":false,\n \"object_name\": \"${targetObjectName}\",\n \"_id\":\"\",\n \"shared_to\": null,\n \"shared_to_organizations\": null,\n \"locked\": false,\n \"owner\": null,\n \"company_id\": null,\n \"company_ids\": null,\n \"is_system\": false\n },\n \"fieldsExtend\": fieldsExtend$5(),\n \"fields\": fields$1(),\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n // 直接使用recordId不能拿到数据,只能通过result里面拿数据\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/listview_${result.data.recordId|lowerCase}\",\n \"blank\": false\n },\n \"actionType\": \"url\",\n }\n ]\n }\n },\n \"messages\": {\n \"success\": i18next.t('frontend_listview_control_new_message_success'),\n \"failed\": i18next.t('frontend_listview_control_new_message_failed')\n },\n }\n ],\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"closeOnEsc\": false,\n \"dataMapSwitch\": false,\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\nfunction fields$1(){\n return [\n \"label\",\n \"name\",\n \"object_name\",\n \"filter_scope\",\n \"show_count\",\n \"columns\",\n \"sort\",\n \"filters\",\n \"mobile_columns\",\n \"searchable_fields\",\n \"is_system\",\n \"shared\",\n \"shared_to\",\n \"shared_to_organizations\"\n ]\n}\n\nfunction fieldsExtend$5(){\n return {\n \"group\": \"\",\n \"label\": {\n \"group\": \"\",\n \"is_wide\": true\n },\n \"name\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"object_name\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_scope\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"columns\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"mobile_columns\":{\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"searchable_fields\":{\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"filter_fields\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"scrolling_mode\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"sort\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"show_count\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"type\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true,\n \"required\": false\n }\n },\n \"shared\": {\n \"group\": \"\",\n \"amis\": {\n \"visibleOn\": \"${false}\"\n }\n },\n \"shared_to\": {\n \"group\": \"\",\n \"amis\":{\n \"type\": \"radios\",\n \"inline\": false\n }\n },\n \"shared_to_organizations\": {\n \"group\": \"\"\n },\n \"filters\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true\n }\n }\n }\n}\n\n/**\n * 列表视图顶部第一行amisSchema\n * @param {*} objectSchema 对象UISchema\n * @returns amisSchema\n */\nfunction getObjectListHeaderFirstLine(objectSchema, listViewName, ctx) {\n const { icon, label } = objectSchema;\n const disabled_list_views = objectSchema.permissions.disabled_list_views;\n const listViewButtonOptions = [];\n const initApiAdaptor = `\n var data;\n if (recordId) {\n data = payload.data || { _filters_type_controller: 'conditions' };\n //数据格式转换\n if (data) {\n data.sort = lodash.map(data.sort, (item) => {\n return item.field_name + \":\" + item.order;\n });\n data.searchable_fields = lodash.map(data.searchable_fields, 'field');\n \n if (data.filters && lodash.isString(data.filters)) {\n try {\n data.filters = JSON.parse(data.filters);\n } catch (e) { }\n }\n \n if (data.filters && lodash.isString(data.filters)) {\n data._filters_type_controller = 'function';\n } else {\n data._filters_type_controller = 'conditions'\n }\n \n if (data._filters_type_controller === 'conditions') {\n data._filters_conditions = window.amisConvert.filtersToConditions(data.filters || []);\n } else {\n data._filters_function = data.filters;\n }\n }\n } else {\n const uiSchema = api.body.uiSchema;\n const contextDefaultData = context && context.data && context.data.defaultData; const defaultData = api.body.defaultData || contextDefaultData;\n let defaultValues = {};\n _.each(uiSchema && uiSchema.fields, function (field) {\n var value = SteedosUI.getFieldDefaultValue(field, api.body.global);\n if (!_.isNil(value)) {\n defaultValues[field.name] = value;\n }\n });\n if (defaultData && _.isObject(defaultData) && !_.isArray(defaultData)) {\n data = Object.assign({}, defaultValues, defaultData); \n }else{data = Object.assign({}, defaultValues) } \n }\n for (key in data) {\n if (data[key] === null) {\n delete data[key];\n }\n }\n payload.data = data;\n delete payload.extensions; if (data.is_enable != false) { data.is_enable = true; };\n return payload;\n `;\n const apiRequestAdaptor = `\n delete formData.created;\n delete formData.created_by;\n delete formData.modified;\n delete formData.modified_by;\n delete formData._display;\n \n //数据格式转换\n formData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n });\n \n formData.searchable_fields = lodash.map(formData.searchable_fields, (item) => {\n return { field: item };\n });\n \n if (!formData._filters_type_controller) {\n formData._filters_type_controller = 'conditions';\n }\n \n if (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData._filters_conditions);\n // formData.filters = JSON.stringify(window.amisConvert.conditionsToFilters(formData._filters_conditions), null, 4);\n } else {\n formData.filters = formData._filters_function || null;\n }\n \n delete formData._filters_type_controller;\n delete formData._filters_conditions;\n delete formData._filters_function;\n \n query = \\`mutation{record: object_listviews__insert(doc: {__saveData}){_id}}\\`;\n if (formData.recordId) {\n query = \\`mutation{record: object_listviews__update(id: \"\\` + formData._id + \\`\", doc: {__saveData}){_id}}\\`;\n };\n __saveData = JSON.stringify(JSON.stringify(formData));\n \n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n `;\n each(\n objectSchema.list_views,\n (listView, name) => {\n if(name === \"lookup\" || (disabled_list_views && disabled_list_views.indexOf(listView._id)>-1)){\n // 内置lookup为弹出选择专用视图,根据用户权限被禁用的视图,不显示在列表切换区域\n return;\n }\n listViewButtonOptions.push({\n type: \"button\",\n label: listView.label,\n body: [\n {\n \"type\": \"flex\",\n \"alignItems\": \"center\",\n \"justify\": \"space-between\",\n \"items\": [\n {\n \"type\": \"tpl\",\n \"tpl\": listView.label \n },\n {\n \"type\": \"button\",\n \"className\": \"steedos-listview-edit-button ml-3\",\n \"icon\": \"fa fa-edit\",\n \"actionType\": \"dialog\",\n \"hiddenOn\": `!((global.user.is_space_admin || global.userId == '${listView.owner || \"\"}') && !!'${listView.owner || \"\"}')`,\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"编辑 列表视图\",\n \"data\": {\n \"object_name\": \"${objectName}\",\n \"recordId\": listView._id,\n \"listName\": \"${listName}\",\n \"appId\": \"${appId}\",\n \"context\": \"${context}\",\n \"global\": \"${global}\",\n \"_id\": listView._id\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"className\": \"sm:rounded sm:border-gray-300 bg-white\",\n \"layout\": \"horizontal\",\n \"form\": {\n \"id\": \"form_object_listviews\"\n },\n \"mode\": \"edit\",\n \"enableTabs\": true,\n \"fields\": [\n \"label\",\n \"sort_no\",\n \"crud_mode\",\n \"shared\",\n \"shared_to\",\n 'shared_to_organizations',\n \"columns\",\n \"columns.$\",\n \"columns.$.field\",\n \"columns.$.width\",\n \"columns.$.wrap\",\n \"mobile_columns\",\n \"mobile_columns.$\",\n \"mobile_columns.$.field\",\n \"sort\",\n \"sort.$\",\n \"sort.$.field_name\",\n \"sort.$.order\",\n \"filters\",\n \"searchable_fields\",\n \"searchable_fields.$\",\n \"searchable_fields.$.field\",\n ],\n \"tabsMode\": \"line\",\n \"fieldsExtend\": {\n \"columns\": {\n \"amis\": {\n \"showIndex\": true,\n \"footerToolbar\": [\n {\n \"type\": \"button\",\n \"label\": \"${'object_listviews.listview_form.field_set' | t}\",\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"${'object_listviews.listview_form.displayed_columns' | t}\",\n \"size\": \"md\",\n \"body\": [\n {\n \"type\": \"transfer\",\n \"options\": [\n ],\n \"multiple\": true,\n \"id\": \"u:92c0b3cccca0\",\n \"required\": true,\n \"placeholder\": \"-\",\n \"className\": \"col-span-2 m-0\",\n \"checkAll\": false,\n \"searchable\": true,\n \"sortable\": true,\n \"itemHeight\": 40,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"requestAdaptor\": \"\",\n \"adaptor\": \"\"\n },\n \"joinValues\": false,\n \"extractValue\": true,\n \"name\": \"columns_quick_select\",\n \"value\": \"${columns|pick:field|split}\"\n }\n ],\n \"onEvent\": {\n \"confirm\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const columns = [];\\nconst columns_quick_select = _.cloneDeep(event.data.columns_quick_select);\\n_.forEach(columns_quick_select, function (field) {\\n const column_field = _.find(event.data.columns, { field });\\n if (column_field) {\\n columns.push(column_field)\\n } else {\\n columns.push({\\n field\\n })\\n }\\n});\\ndoAction({\\n \\\"componentId\\\": \\\"form_object_listviews\\\",\\n \\\"actionType\\\": \\\"setValue\\\",\\n \\\"args\\\": {\\n \\\"value\\\": {\\n columns\\n }\\n }\\n});\"\n }\n ]\n }\n }\n }\n }\n ],\n \"addable\": false,\n \"draggable\": false,\n \"columns\": [\n {\n \"name\": \"field\",\n \"inlineEditMode\": false\n },\n {\n \"name\": \"width\",\n \"width\": 100\n },\n {\n \"name\": \"wrap\",\n \"width\": 50\n }\n ],\n \"enableDialog\": false\n }\n },\n \"sort\": {\n \"label\": \"\",\n \"amis\": {\n \"type\": \"tabs-transfer\",\n \"options\": [\n ],\n \"id\": \"u:32f3e4e73115\",\n \"strictMode\": true,\n \"itemHeight\": 40,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/sortFields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"data\": null,\n \"requestAdaptor\": \"\",\n \"adaptor\": \"\",\n \"sendOn\": \"!!this.object_name\"\n },\n \"visibleOn\": \"!!this.object_name\",\n \"sortable\": true,\n \"className\": \"col-span-2 m-0\",\n \"searchable\": true,\n \"checkAll\": false,\n \"clearValueOnHidden\": false,\n \"joinValues\": false,\n \"extractValue\": true,\n \"en-US\": {\n \"label\": \"Default Sort Order\"\n },\n \"multiple\": true\n }\n },\n \"filters\": {\n \"label\": \"\",\n \"amis\": {\n \"type\": \"group\",\n \"body\": [\n {\n \"type\": \"radios\",\n \"label\": \"${'object_listviews.listview_form.filter_configuration_method' | t}\",\n \"name\": \"_filters_type_controller\",\n \"options\": [\n {\n \"label\": \"${'object_listviews.listview_form.conditions_combination' | t}\",\n \"value\": \"conditions\"\n },\n {\n \"label\": \"${'object_listviews.listview_form.javascript' | t}\",\n \"value\": \"function\"\n }\n ],\n \"id\": \"u:318671bc196c\",\n \"joinValues\": true,\n \"className\": \"col-span-2 m-0\",\n \"language\": \"javascript\",\n \"visibleOn\": \"false\",\n \"en-US\": {\n \"label\": \"Controller\"\n }\n },\n {\n \"type\": \"condition-builder\",\n \"label\": \"\",\n \"labelClassName\": \"none\",\n \"name\": \"_filters_conditions\",\n \"description\": \"\",\n \"id\": \"u:a9f2232e30d7\",\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${object_name}\",\n \"dataType\": \"json\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n },\n \"disabled\": false,\n \"className\": \"col-span-2 m-0\",\n \"visibleOn\": \"!!this.object_name\",\n \"en-US\": {\n \"label\": \"Filters Conditions\"\n }\n },\n {\n \"type\": \"editor\",\n \"label\": \"${'object_listviews.listview_form.javascript' | t}\",\n \"name\": \"_filters_function\",\n \"id\": \"u:84714ec9abba\",\n \"visibleOn\": \"!!this.object_name && !!this._filters_type_controller && _filters_type_controller== 'function'\",\n \"className\": \"col-span-2 m-0\",\n \"labelClassName\": \"hidden\"\n }\n ]\n }\n },\n \"mobile_columns\": {\n \"amis\": {\n \"showIndex\": true,\n \"footerToolbar\": [\n {\n \"type\": \"button\",\n \"label\": \"${'object_listviews.listview_form.field_set' | t}\",\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": \"${'object_listviews.listview_form.displayed_columns' | t}\",\n \"size\": \"md\",\n \"body\": [\n {\n \"type\": \"transfer\",\n \"options\": [\n ],\n \"multiple\": true,\n \"id\": \"u:92c0b3cccca0\",\n \"required\": true,\n \"placeholder\": \"-\",\n \"className\": \"col-span-2 m-0\",\n \"itemHeight\": 40,\n \"checkAll\": false,\n \"searchable\": true,\n \"sortable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"requestAdaptor\": \"\",\n \"adaptor\": \"\"\n },\n \"joinValues\": false,\n \"extractValue\": true,\n \"name\": \"columns_quick_select\",\n \"value\": \"${mobile_columns|pick:field|split}\"\n }\n ],\n \"onEvent\": {\n \"confirm\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const mobile_columns = [];\\nconst columns_quick_select = _.cloneDeep(event.data.columns_quick_select);\\n_.forEach(columns_quick_select, function (field) {\\n const column_field = _.find(event.data.mobile_columns, { field });\\n if (column_field) {\\n mobile_columns.push(column_field)\\n } else {\\n mobile_columns.push({\\n field\\n })\\n }\\n});\\ndoAction({\\n \\\"componentId\\\": \\\"form_object_listviews\\\",\\n \\\"actionType\\\": \\\"setValue\\\",\\n \\\"args\\\": {\\n \\\"value\\\": {\\n mobile_columns\\n }\\n }\\n});\"\n }\n ]\n }\n }\n }\n }\n ],\n \"columns\": [\n {\n \"name\": \"field\",\n \"inlineEditMode\": false\n }\n ],\n \"addable\": false,\n \"draggable\": false,\n \"enableDialog\": false\n }\n },\n \"searchable_fields\": {\n \"label\": \"\",\n \"amis\": {\n \"type\": \"transfer\",\n \"options\": [\n ],\n \"selectMode\": \"list\",\n \"searchable\": true,\n \"searchApi\": \"\",\n \"sortable\": true,\n \"mode\": \"normal\",\n \"searchResultMode\": \"list\",\n \"joinValues\": false,\n \"extractValue\": true,\n \"itemHeight\": 40,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${object_name}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"data\": null,\n \"requestAdaptor\": \"\",\n \"adaptor\": \"\",\n \"sendOn\": \"!!this.object_name\"\n },\n \"visibleOn\": \"!!this.object_name\",\n \"className\": \"col-span-2 m-0\",\n \"multiple\": true,\n \"id\": \"u:adb91066539e\"\n }\n },\n \"shared_to\": {\n \"amis\":{\n \"type\": \"radios\",\n \"inline\": false\n },\n \"group\": \"\",\n \"is_wide\": true\n }\n },\n initApiAdaptor,\n apiRequestAdaptor,\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${object_name}/grid/${name}\",\n \"blank\": false\n },\n \"actionType\": \"url\",\n },\n ]\n }\n },\n \"id\": \"u:ce9e3fcc411a\"\n }\n ],\n \"className\": \"steedos-overflow-visible-dialog\",\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"closeOnEsc\": false,\n \"dataMapSwitch\": false,\n \"size\": \"lg\"\n }\n }\n ]\n }\n ],\n actionType: \"link\",\n link: `/app/\\${appId}/${objectSchema.name}/grid/${name}`\n });\n }\n );\n\n let amisButtonsSchema = getObjectListViewButtonsSchemas(objectSchema, {formFactor: ctx.formFactor});\n const reg = new RegExp('_', 'g');\n const standardIcon = icon && icon.replace(reg, '-');\n const standardNewButton = _.find(amisButtonsSchema, { name: \"standard_new\" });\n const buttonSchema = [{\n \"type\": \"flex\",\n \"items\": amisButtonsSchema,\n \"visibleOn\": \"${display == 'split'?false:true}\"\n }];\n if(ctx.formFactor !== 'SMALL'){\n const restButtons = Array.isArray(amisButtonsSchema) ? amisButtonsSchema.filter(obj => obj.name !== \"standard_new\"):[];\n buttonSchema.push({\n \"type\": \"flex\",\n \"items\":[\n standardNewButton,\n (restButtons.length > 0) && {\n \"type\": \"dropdown-button\",\n \"buttons\": restButtons,\n \"className\": \" ml-1\",\n \"menuClassName\": \"p-none split-dropdown-buttons\",\n \"align\": \"right\",\n \"size\": \"sm\"\n }\n ],\n \"visibleOn\": \"${display == 'split'?true:false}\"\n });\n }\n const listviewNewButton = getNewListviewButtonSchema();\n listviewNewButton.visibleOn = \"global.user.is_space_admin\";\n return {\n \"type\": \"grid\",\n \"columns\": [\n {\n \"body\": [\n {\n \"type\": \"grid\",\n \"columns\": [\n {\n \"body\": {\n \"type\": \"tpl\",\n \"className\": \"block\",\n \"tpl\":`<svg class=\"slds-icon slds-icon_container slds-icon-standard-${standardIcon} slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${icon}\"></use></svg>`\n },\n \"md\": \"auto\",\n \"className\": \"\",\n \"columnClassName\": \"flex justify-center items-center\",\n \"valign\": \"middle\",\n },\n {\n \"body\": [\n {\n \"type\": \"tpl\",\n \"tpl\": `${label}`,\n \"inline\": false,\n \"wrapperComponent\": \"\",\n \"className\": \"text-md leading-none text-black\",\n },\n {\n \"type\": \"dropdown-button\",\n \"className\": \"steedos-listview-change-button\", \n \"label\": \"\\${listName ? uiSchema.list_views[listName].label : uiSchema.list_views[defaultListName].label}\",\n \"rightIcon\": \"fa fa-caret-down\",\n \"size\": \"sm\",\n \"hideCaret\": true,\n \"closeOnClick\": true,\n \"btnClassName\": \"!bg-transparent !border-none !hover:border-none text-lg h-5 font-bold p-0 text-black leading-none\",\n \"buttons\": [\n ...listViewButtonOptions,\n {\n \"children\": [\n {\n \"type\": \"divider\"\n }\n ]\n },\n listviewNewButton\n ]\n }\n ],\n \"md\": \"\",\n \"columnClassName\": \"p-l-xs\"\n }\n ],\n \"className\": \"flex justify-between\"\n }\n ],\n \"md\": \"auto\"\n },\n {\n \"body\": buttonSchema,\n \"md\": \"auto\",\n \"valign\": \"middle\",\n }\n ],\n \"className\": \"flex justify-between\"\n }\n}\n\n/**\n * 列表视图顶部第二行amisSchema\n * @param {*} objectSchema 对象UISchema\n * @returns amisSchema\n */\nasync function getObjectListHeaderSecordLine(objectSchema, listViewName, ctx) {\n const amisListViewId = `listview_${objectSchema.name}`;\n const fieldsFilterButtonSchema = await getObjectFieldsFilterButtonSchema();\n // const onFilterChangeScript = `\n // const eventData = event.data;\n // const uiSchema = eventData.uiSchema;\n // const listName = eventData.listName;\n // const listViewId = eventData.listViewId;\n // var selectedListView = uiSchema.list_views[listName]\n // var filter = eventData.filter;\n // SteedosUI.ListView.showFilter(uiSchema.name, {\n // listView: selectedListView,\n // data: {\n // filters: SteedosUI.ListView.getVisibleFilter(selectedListView, filter, { listViewId }),\n // },\n // onFilterChange: (filter) => {\n // doAction({\n // componentId: \\`service_listview_\\${uiSchema.name}\\`,\n // actionType: 'setValue',\n // \"args\": {\n // \"value\": {\n // filter: filter\n // }\n // }\n // });\n // doAction({\n // componentId: \\`listview_\\${uiSchema.name}\\`,\n // actionType: 'reload',\n // \"args\": {\n // filter: filter\n // }\n // });\n // }\n // });\n // `;\n let secordLineSchema = {\n \"type\": \"grid\",\n \"columns\": [\n {\n \"body\": [\n {\n \"type\": \"tpl\",\n \"tpl\": \"${$count} 个项目\",\n \"visibleOn\": \"this.$count >= 0\",\n \"inline\": false,\n \"wrapperComponent\": \"\",\n \"className\": \"leading-none\",\n \"style\": {\n \"fontFamily\": \"\",\n \"fontSize\": 14\n },\n \"id\": \"u:1661f8471235\"\n }\n ],\n \"md\": \"auto\",\n \"columnClassName\": \"flex items-center\"\n },\n {\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": \"fa fa-refresh\",\n \"actionType\": \"reload\",\n \"target\": amisListViewId,\n \"className\": \"bg-white p-2 rounded text-gray-500\"\n },\n fieldsFilterButtonSchema,\n // {\n // \"type\": \"button\",\n // \"label\": \"\",\n // \"icon\": \"fa fa-filter\",\n // \"actionType\": \"custom\",\n // \"className\": \"bg-transparent p-2 rounded text-gray-500\",\n // \"id\": \"u:c20cb87d96c9\",\n // \"onEvent\": {\n // \"click\": {\n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": onFilterChangeScript\n // }\n // ],\n // \"weight\": 0\n // }\n // }\n // }\n ],\n \"md\": \"auto\"\n }\n ],\n \"className\": \"flex justify-between\"\n };\n return secordLineSchema;\n}\n\n\n/**\n * 列表视图顶部放大镜过滤条件栏amisSchema\n * @param {*} objectSchema 对象UISchema\n * @returns amisSchema\n */\nasync function getObjectListHeaderFieldsFilterBar(objectSchema, listViewName, ctx) {\n const fieldsFilterBarSchema = await getObjectFieldsFilterBarSchema(objectSchema, ctx);\n return fieldsFilterBarSchema;\n}\n\n/**\n * 列表视图顶部amisSchema\n * @param {*} objectSchema 对象UISchema\n * @returns amisSchema\n */\nfunction getObjectListHeader(objectSchema, listViewName, ctx) {\n if (!ctx) {\n ctx = {};\n }\n let firstLineSchema = getObjectListHeaderFirstLine(objectSchema, listViewName, ctx);\n let body = [firstLineSchema];\n let headerSchema = [{\n \"type\": \"wrapper\",\n \"body\": body,\n \"className\": `sm:rounded-tl sm:rounded-tr p-4 -mb-4`\n }];\n return headerSchema;\n}\n\nfunction getBackButtonSchema(){\n return {\n \"type\": \"service\",\n \"className\": \"steedos-object-record-detail-header-back-button\",\n \"onEvent\": {\n \"@history_paths.changed\": {\n \"actions\": [\n {\n \"actionType\": \"reload\",\n // amis 3.6需要传入data来触发下面的window:historyPaths重新计算,此问题随机偶发,加上data后正常\n \"data\": {\n }\n }\n ]\n }\n },\n \"body\":[{\n \"type\": \"button\",\n \"visibleOn\": \"${window:innerWidth > 768 && (window:historyPaths.length > 1 || window:historyPaths[0].params.record_id) && display !== 'split'}\",\n \"className\":\"flex mr-4\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"window.goBack()\"\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"steedos-icon\",\n \"category\": \"utility\",\n \"name\": \"back\",\n \"colorVariant\": \"default\",\n \"className\": \"slds-button_icon slds-global-header__icon w-4\"\n }\n ]\n }]\n }\n}\n\n/**\n * 记录详细界面顶部头amisSchema,也是标题面板组件的amisSchema\n * @param {*} objectSchema 对象UISchema\n * @param {*} recordId 记录id\n * @param {*} optioins: {showRecordTitle: true}\n * @returns amisSchema\n */\nasync function getObjectRecordDetailHeader(objectSchema, recordId, options) {\n // console.log(`getObjectRecordDetailHeader====>`, options)\n const { showRecordTitle = true } = options || {};\n // console.log('getObjectRecordDetailHeader==>', objectSchema, recordId)\n const { name, label, icon, NAME_FIELD_KEY } = objectSchema;\n \n let amisButtonsSchema = [];\n if(options.showButtons != false){\n amisButtonsSchema = getObjectDetailButtonsSchemas(objectSchema, recordId, options);\n }\n\n amisButtonsSchema.push(\n {\n \"type\": \"button\",\n \"visibleOn\": \"${_inDrawer === true || _inRecordMini === true}\",\n \"className\":\"ant-dropdown-trigger slds-button slds-button_icon slds-button_icon-border-filled slds-button_icon-x-small slds-icon ml-1 flex\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"const data = event.data; window.open(`/app/${data.app_id}/${data.objectName}/view/${data.recordId}?side_object=${data.side_object}&side_listview_id=${data.side_listview_id}`)\"\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"steedos-icon\",\n \"category\": \"utility\",\n \"name\": \"new_window\",\n \"colorVariant\": \"default\",\n \"className\": \"slds-button_icon slds-global-header__icon w-4\"\n }\n ]\n }\n );\n\n let backButtonsSchema = null;\n\n if(options.showBackButton != false){\n backButtonsSchema = getBackButtonSchema();\n }\n\n // console.log(`getObjectRecordDetailHeader==>`, amisButtonsSchema)\n \n const reg = new RegExp('_', 'g');\n const standardIcon = icon && icon.replace(reg, '-');\n\n const gridBody = [];\n if(showRecordTitle){\n gridBody.push({\n \"body\": [\n {\n \"type\": \"grid\",\n \"columns\": [\n {\n \"body\": [\n backButtonsSchema,\n {\n \"type\": \"button\",\n \"visibleOn\": \"${_inDrawer === true}\",\n \"className\":\"flex mr-4\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"closeDrawer\"\n }\n ]\n }\n },\n \"body\": [\n {\n \"type\": \"steedos-icon\",\n \"category\": \"utility\",\n \"name\": \"close\",\n \"colorVariant\": \"default\",\n \"className\": \"slds-button_icon slds-global-header__icon w-4\"\n }\n ]\n }\n ,{\n \"type\": \"tpl\",\n \"className\": \"block\",\n // \"tpl\": `<img class='slds-icon slds-icon_container slds-icon-standard-${standardIcon}' src='\\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${icon}.svg'>`\n \"tpl\":`<svg class=\"slds-icon slds-icon_container slds-icon-standard-${standardIcon} slds-page-header__icon\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${icon}\"></use></svg>`\n }],\n \"md\": \"auto\",\n \"className\": \"\",\n \"columnClassName\": \"flex justify-center items-center\"\n },\n {\n \"body\": [\n {\n \"type\": \"tpl\",\n \"tpl\": `${label}`,\n \"inline\": false,\n \"wrapperComponent\": \"\",\n \"className\": \"leading-4 text-md\"\n },\n {\n \"type\": \"tpl\",\n \"tpl\": \"${NAME_FIELD_VALUE}\",\n \"inline\": false,\n \"wrapperComponent\": \"\",\n \"className\": \"record-detail-header-name leading-5 text-xl font-bold\"\n }\n ],\n \"columnClassName\": \"p-l-xs\"\n }\n ],\n \"className\": \"flex justify-between\"\n }\n ],\n \"columnClassName\": \"flex-initial\",\n \"md\": \"auto\",\n });\n }\n gridBody.push({\n \"body\": {\n \"type\": \"flex\",\n \"items\": amisButtonsSchema,\n },\n \"md\": \"auto\",\n // \"hiddenOn\": \"${recordLoaded != true}\"\n });\n\n let body = [\n {\n \"type\": \"wrapper\",\n \"className\": \"p-4\",\n \"body\": [\n {\n \"type\": \"grid\",\n \"columns\": gridBody,\n \"className\": \"flex justify-between flex-nowrap\"\n }\n ],\n \"hiddenOn\": \"${recordLoaded != true}\"\n }\n ];\n\n if(showRecordTitle){\n body.push({\n \"type\": \"wrapper\",\n \"className\": \"p-4\",\n \"body\": [\n {\n \"type\": \"grid\",\n \"columns\": [gridBody[0]],\n \"className\": \"flex justify-between\"\n }\n ],\n \"hiddenOn\": \"${recordLoaded == true}\"\n });\n }\n\n let max = 10;\n if(options.formFactor === 'SMALL'){\n max = 4;\n }else {\n\n let divWidth = window.innerWidth;\n\n if(options.display === 'split'){\n divWidth = divWidth - 388;\n }\n\n if(document.body.classList.contains('sidebar')){\n divWidth = divWidth - 210;\n }\n\n if(options._inDrawer){\n try {\n divWidth = new Number($(\"html\").css(\"font-size\").replace('px', '')) * 60;\n } catch (error) {\n console.error(error);\n divWidth = 16 * 60;\n }\n }\n\n // 根据屏幕宽度计算显示数量, 使高亮字段只占1行\n max = Math.trunc(divWidth / 200 );\n if(max > 10){\n max = 10;\n }\n }\n\n // console.log('=======================max=========================', max)\n\n if(objectSchema.compactLayouts && objectSchema.compactLayouts.length > 0){\n const details = [];\n _.each(_.slice(_.difference(objectSchema.compactLayouts, [objectSchema.NAME_FIELD_KEY]), 0, max), (fieldName)=>{\n const field = objectSchema.fields[fieldName];\n if(field){\n details.push({\n type: 'steedos-field',\n static: true,\n config: field,\n });\n }\n });\n\n // 注意: 以下注释不能删除. tailwind css 动态编译时会识别以下注释, 生成对应的样式\n // lg:grid-cols-1\n // lg:grid-cols-2\n // lg:grid-cols-3\n // lg:grid-cols-4\n // lg:grid-cols-5\n // lg:grid-cols-6\n // lg:grid-cols-7\n // lg:grid-cols-8\n // lg:grid-cols-9\n // lg:grid-cols-10\n // lg:grid-cols-11\n // lg:grid-cols-12\n\n body.push({\n \"type\": \"wrapper\",\n \"body\": {\n \"type\": \"form\",\n // \"className\": \"gap-2 grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 xl:grid-cols-5 2xl:grid-cols-5 3xl:grid-cols-8 4xl:grid-cols-8 5xl:grid-cols-10\", //max-h-12 overflow-hidden \n \"className\": `gap-2 grid grid-cols-1 lg:grid-cols-${max}`,\n \"wrapWithPanel\": false,\n \"actions\": [],\n \"body\": details,\n \"hiddenOn\": \"${recordLoaded != true}\"\n },\n \"className\": \"steedos-record-compact-layouts p-4 pb-2 border-t compact-layouts\"\n });\n }\n\n return {\n type: 'service',\n id: `page_readonly_${name}_header`,\n name: `page`,\n body: body, \n className: \"steedos-object-record-detail-header\"\n }\n\n}\n\n/**\n * 记录详细界面中相关表顶部头amisSchema\n * @param {*} relatedObjectSchema 相关对象UISchema\n * @returns amisSchema\n */\nasync function getObjectRecordDetailRelatedListHeader(relatedObjectSchema, relatedLabel, ctx) {\n const { icon, label } = relatedObjectSchema;\n let amisButtonsSchema = getObjectRecordDetailRelatedListButtonsSchemas(relatedObjectSchema, {formFactor: ctx.formFactor});\n const reg = new RegExp('_', 'g');\n const standardIcon = icon && icon.replace(reg, '-');\n const recordRelatedListHeader = {\n \"type\": \"wrapper\",\n \"body\": [\n {\n \"type\": \"grid\",\n \"valign\": \"middle\",\n \"columns\": [\n {\n \"body\": [\n {\n \"type\": \"grid\",\n \"valign\": \"middle\",\n \"className\": \"flex justify-between\",\n \"columns\": [\n {\n \"body\": {\n \"type\": \"tpl\",\n \"className\": \"block\",\n // \"tpl\": `<img class=\\\"slds-icon_small slds-icon_container slds-icon-standard-${standardIcon}\\\" src=\\\"\\${context.rootUrl}/unpkg.com/@salesforce-ux/design-system/assets/icons/standard/${icon}.svg\\\" />`\n \"tpl\":`<svg class=\"w-6 h-6 slds-icon slds-icon_container slds-icon-standard-${standardIcon}\" aria-hidden=\"true\"><use xlink:href=\"/assets/icons/standard-sprite/svg/symbols.svg#${icon}\"></use></svg>`\n },\n \"md\": \"auto\",\n \"className\": \"\",\n \"columnClassName\": \"flex justify-center items-center\"\n },\n {\n \"body\": [\n {\n \"type\": \"tpl\",\n \"tpl\": `<a class=\"text-black text-base font-bold hover:font-bold\" href=\"/app/\\${appId}/\\${_master.objectName}/\\${_master.recordId}/\\${objectName}/grid?related_field_name=\\${relatedKey}\">${relatedLabel}(\\${$count})</a>`,\n \"inline\": false,\n \"wrapperComponent\": \"\",\n \"className\": \"\",\n }\n ],\n \"md\": \"\",\n \"valign\": \"middle\",\n \"columnClassName\": \"p-l-xs\"\n }\n ]\n }\n ],\n \"md\": \"auto\"\n },\n {\n \"body\": {\n \"type\": \"flex\",\n \"items\": amisButtonsSchema,\n },\n \"md\": \"auto\"\n }\n ],\n \"className\": \"flex justify-between min-h-8 items-center\"\n }\n ],\n \"className\": \"steedos-record-related-header py-2 px-3 bg-gray-50 border rounded\"\n };\n return recordRelatedListHeader;\n}\n\n/**\n * 点击记录详细界面相关表顶部标题进入的相关表页面的顶部amisSchema\n * @param {*} objectSchema \n * @param {*} recordId \n * @param {*} relatedObjectName \n * @returns amisSchema\n */\nasync function getObjectRelatedListHeader(objectSchema, recordId, relatedObjectName) {\n}\n\nconst getCopyListviewButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_clone_label'),\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_clone_title'),\n \"data\": {\n //\"&\":\"$$\",2.7、2.9、3.0在此处失效\n \"listName\": \"${listName}\",\n \"targetObjectName\": \"${objectName}\",\n \"list_view\": \"${uiSchema.list_views[listName]}\",\n \"appId\": \"${appId}\",\n \"global\": \"${global}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"\",\n \"mode\": \"edit\",\n \"layout\": \"normal\",\n \"defaultData\": {\n \"&\": \"${list_view}\",\n \"name\":\"\",\n \"label\": i18next.t('frontend_listview_control_clone_defaultData_label_start') + \" ${list_view.label} \" + i18next.t('frontend_listview_control_clone_defaultData_label_end'),\n \"shared\":false,\n \"object_name\": \"${targetObjectName}\",\n \"_id\":\"\",\n \"shared_to\": null,\n \"shared_to_organizations\": null,\n \"locked\": false,\n \"owner\": null,\n \"company_id\": null,\n \"company_ids\": null,\n \"is_system\": false\n },\n \"fieldsExtend\": fieldsExtend$4(),\n \"fields\": fields(),\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/listview_${result.data.recordId|lowerCase}\",\n \"blank\": false\n },\n \"actionType\": \"url\",\n }\n ]\n }\n }\n }\n ],\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"closeOnEsc\": false,\n \"dataMapSwitch\": false,\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\nfunction fields(){\n return [\n \"label\",\n \"name\",\n \"object_name\",\n \"filter_scope\",\n \"show_count\",\n \"columns.$.field\",\n \"columns.$.width\",\n \"sort.$.field_name\",\n \"sort.$.order\",\n \"filters\",\n \"mobile_columns.$.field\",\n \"searchable_fields.$.field\",\n \"is_system\",\n \"shared\",\n \"shared_to\",\n \"shared_to_organizations\"\n ]\n}\n\nfunction fieldsExtend$4(){\n return {\n \"label\": {\n \"group\": \"\",\n \"is_wide\": true\n },\n \"name\": {\n \"is_wide\": true,\n \"amis\": {\n \"hidden\": true\n }\n },\n \"object_name\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_scope\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"columns\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"filter_fields\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"scrolling_mode\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"sort\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"show_count\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"type\": {\n \"amis\": {\n \"hidden\": true\n }\n },\n \"shared\": {\n \"group\": \"\",\n \"amis\": {\n \"visibleOn\": \"${false}\"\n }\n },\n \"shared_to\": {\n \"group\": \"\",\n \"amis\":{\n \"type\": \"radios\",\n \"inline\": false\n }\n },\n \"shared_to_organizations\": {\n \"group\": \"\"\n },\n \"filters\": {\n \"group\": \"\",\n \"amis\": {\n \"hidden\": true\n }\n }\n }\n}\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2023-06-13 13:51:19\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2024-02-05 11:25:09\n */\nconst getRenameListviewButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_rename_label'),\n \"disabledOn\": \"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_rename_title'),\n \"data\": {\n \"targetObjectName\": \"${objectName}\",\n \"recordId\": \"${uiSchema.list_views[listName]._id}\",\n \"appId\": \"${appId}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"layout\": \"normal\",\n \"mode\": \"edit\",\n \"fields\": [\n \"label\"\n ],\n \"fieldsExtend\": \"{\\n \\\"label\\\":{\\n \\\"is_wide\\\": true\\n }\\n}\",\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${name}\",\n \"blank\": false\n },\n \"actionType\": \"url\",\n },\n ]\n }\n }\n }\n ],\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2023-06-13 13:51:19\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2024-02-06 15:38:49\n */\nconst getSetListviewShareButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_share'),\n \"disabledOn\": \"!(global.user.is_space_admin && !!uiSchema.list_views[listName].owner)\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_share'),\n \"data\": {\n \"recordId\": \"${uiSchema.list_views[listName]._id}\",\n \"appId\": \"${appId}\",\n \"global\": \"${global}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"mode\": \"edit\",\n \"layout\": \"normal\",\n \"fields\": [\n \"shared_to\",\n \"shared_to_organizations\"\n ],\n \"fieldsExtend\": fieldsExtend$3(),\n }\n ],\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"closeOnEsc\": false,\n \"dataMapSwitch\": false,\n \"size\": \"md\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\nfunction fieldsExtend$3(){\n return {\n \"shared_to\": {\n \"group\": \"\",\n \"amis\":{\n \"type\": \"radios\",\n \"inline\": false\n }\n },\n \"shared_to_organizations\": {\n \"group\": \"\"\n }\n }\n}\n\nconst getSetListviewFiltersButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_filters'),\n \"disabledOn\": \"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_filters'),\n \"data\": {\n \"targetObjectName\": \"${objectName}\",\n \"recordId\": \"${uiSchema.list_views[listName]._id}\",\n \"listName\": \"${listName}\",\n \"appId\": \"${appId}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"mode\": \"edit\",\n \"fields\": [\n \"filters\"\n ],\n \"initApiAdaptor\": initApiAdaptor$2(),\n \"apiRequestAdaptor\": apiRequestAdaptor$2(),\n \"fieldsExtend\": fieldsExtend$2(),\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${listName}\",\n \"blank\": false\n },\n \"actionType\": \"url\",\n }\n ]\n }\n }\n }\n ],\n \"className\": \"steedos-overflow-visible-dialog\",\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"closeOnEsc\": false,\n \"dataMapSwitch\": false,\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\n\nfunction initApiAdaptor$2(){\n return `\n const recordId_tmp = api.body.recordId;\n let data_tmp;\n if (recordId_tmp) {\n data_tmp = payload.data;\n // 数据格式转换\n if (data_tmp) {\n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n try {\n data_tmp.filters = JSON.parse(data_tmp.filters);\n } catch (e) { }\n }\n \n if (data_tmp.filters && lodash.isString(data_tmp.filters)) {\n data_tmp._filters_type_controller = 'function';\n } else {\n data_tmp._filters_type_controller = 'conditions'\n }\n \n if (data_tmp._filters_type_controller === 'conditions') {\n data_tmp._filters_conditions = window.amisConvert.filtersToConditions(data_tmp.filters || []);\n data_tmp.filters = data_tmp._filters_conditions;\n } else {\n data_tmp._filters_function = data_tmp.filters;\n }\n }\n }\n for (key in data_tmp) {\n if (data_tmp[key] === null) {\n delete data_tmp[key];\n }\n }\n payload.data = Object.assign(payload.data, data_tmp);\n delete payload.extensions;\n return payload;\n `\n}\n\nfunction apiRequestAdaptor$2(){\n return `\n const recordId = api.body.recordId;\n if (formData._filters_type_controller === 'conditions' && formData._filters_conditions) {\n formData.filters = window.amisConvert.conditionsToFilters(formData.filters);\n } else {\n formData.filters = formData._filters_function || null;\n }\n \n delete formData._filters_type_controller;\n delete formData._filters_conditions;\n delete formData._filters_function;\n \n query = 'mutation{record: ' + objectName + '__insert(doc: {__saveData}){_id}}';\n if (api.body.recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n };\n __saveData = JSON.stringify(JSON.stringify(formData));\n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n `\n}\n\nfunction fieldsExtend$2(){\n return {\n \"filters\": {\n \"label\": \"\",\n \"group\": \"\",\n \"visible_on\": \"true\",\n \"amis\": {\n \"type\": \"condition-builder\",\n // \"label\": i18next.t('frontend_listview_control_filters_fields_extend'),\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-listviews/getFilterFields?objectName=${targetObjectName}\",\n \"dataType\": \"json\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n }\n}\n\nconst getSetListviewColumnsButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_columns'),\n \"disabledOn\": \"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {},\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_columns'),\n \"data\": {\n //\"&\":\"$$\",2.7、2.9、3.0在此处失效\n \"targetObjectName\": \"${objectName}\",\n \"recordId\": \"${uiSchema.list_views[listName]._id}\",\n \"listName\": \"${listName}\",\n \"appId\": \"${appId}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"mode\": \"edit\",\n \"layout\": \"normal\",\n \"fieldsExtend\": fieldsExtend$1(),\n \"initApiAdaptor\": initApiAdaptor$1(),\n \"apiRequestAdaptor\": apiRequestAdaptor$1(),\n \"fields\": [\n \"columns\",\n \"mobile_columns\"\n ],\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${listName}\",\n \"blank\": false\n },\n \"actionType\": \"url\"\n }\n ]\n }\n }\n }\n ],\n \"searchable\": true,\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\nfunction fieldsExtend$1(){\n return {\n \"columns\": {\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n },\n \"mobile_columns\": {\n \"amis\": {\n \"type\": \"transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/fields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n }\n}\n\nfunction initApiAdaptor$1(){\n return `\n const recordId_tmp = api.body.recordId;\n let columns_tmp = {}, mobile_columns_tmp = {};\n if (recordId_tmp) {\n columns_tmp = payload.data.columns;\n mobile_columns_tmp = payload.data.mobile_columns;\n if (columns_tmp) {\n columns_tmp = lodash.map(columns_tmp, 'field');\n }\n if (mobile_columns_tmp) {\n mobile_columns_tmp = lodash.map(mobile_columns_tmp, 'field');\n }\n }\n payload.data.columns = columns_tmp;\n payload.data.mobile_columns = mobile_columns_tmp;\n \n delete payload.extensions;\n return payload;\n `\n}\n\nfunction apiRequestAdaptor$1(){\n return `\n const formData_tmp = api.body.$;\n const objectName_tmp = api.body.objectName;\n const recordId_tmp = api.body.recordId;\n \n if (typeof formData_tmp.columns == 'string') {\n formData_tmp.columns = formData_tmp.columns && formData_tmp.columns.split(',');\n }\n if (typeof formData_tmp.mobile_columns == 'string') {\n formData_tmp.mobile_columns = formData_tmp.mobile_columns && formData_tmp.mobile_columns.split(',');\n }\n \n // 数据格式转换\n formData_tmp.columns = lodash.map(formData_tmp.columns, (item) => {\n return { field: item };\n });\n formData.mobile_columns = lodash.map(formData.mobile_columns, (item) => {\n return { field: item };\n });\n \n let query_tmp = 'mutation{record: ' + objectName_tmp + '__insert(doc: {__saveData}){_id}}';\n if (api.body.recordId) {\n query_tmp = 'mutation{record: ' + objectName_tmp + '__update(id: \"' + recordId_tmp +'\", doc: {__saveData}){_id}}';\n };\n delete formData_tmp._id;\n let __saveData_tmp = JSON.stringify(JSON.stringify(formData_tmp));\n api.data = { query: query_tmp.replace('{__saveData}', __saveData_tmp) };\n \n return api;\n `\n}\n\nconst getSetListviewSortButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_sort'),\n \"disabledOn\": \"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)\",\n \"onEvent\": {\n \"click\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": i18next.t('frontend_listview_control_sort'),\n \"data\": {\n //\"&\":\"$$\",2.7、2.9、3.0在此处失效\n \"targetObjectName\": \"${objectName}\",\n \"recordId\": \"${uiSchema.list_views[listName]._id}\",\n \"listName\": \"${listName}\",\n \"appId\": \"${appId}\",\n \"context\": \"${context}\"\n },\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"object_listviews\",\n \"recordId\": \"${recordId}\",\n \"className\": \"\",\n \"id\": \"u:061f158b4c5a\",\n \"mode\": \"edit\",\n \"fields\": [\n \"sort\",\n \"sort.$.field_name\",\n \"sort.$.order\"\n ],\n \"onEvent\": {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${targetObjectName}/grid/${listName}\",\n \"blank\": false\n },\n \"actionType\": \"url\"\n }\n ]\n }\n },\n \"fieldsExtend\": fieldsExtend(),\n \"initApiAdaptor\": initApiAdaptor(),\n \"apiRequestAdaptor\": apiRequestAdaptor()\n }\n ],\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"id\": \"u:d3f6947b6acf\",\n \"size\": \"lg\"\n },\n \"actionType\": \"dialog\"\n }\n ]\n }\n }\n }\n};\n\nfunction fieldsExtend(){\n return {\n \"sort\": {\n \"label\": \"\",\n \"group\": \"\",\n \"amis\": {\n \"type\": \"tabs-transfer\",\n \"sortable\": true,\n \"searchable\": true,\n \"source\": {\n \"method\": \"get\",\n \"url\": \"${context.rootUrl}/service/api/amis-metadata-objects/objects/${targetObjectName}/sortFields/options\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n }\n }\n }\n}\n\nfunction initApiAdaptor(){\n return `\n let sort;\n if (recordId) {\n sort = payload.data.sort;\n //数据格式转换\n if (sort instanceof Array) {\n sort = lodash.map(sort, (item) => {\n return item.field_name + ':' + (item.order || 'asc')\n });\n }\n }\n payload.data.sort = sort;\n delete payload.extensions;\n return payload;\n `\n}\n\nfunction apiRequestAdaptor(){\n return `\n const recordId = api.body.recordId;\n //数据格式转换\n if (typeof formData.sort == 'string') {\n formData.sort = formData.sort && formData.sort.split(',');\n }\n formData.sort = lodash.map(formData.sort, (item) => {\n const arr = item.split(':');\n return { field_name: arr[0], order: arr[1] };\n });\n if (recordId) {\n query = 'mutation{record: ' + objectName + '__update(id: \"' + recordId + '\", doc: {__saveData}){_id}}';\n }\n __saveData = JSON.stringify(JSON.stringify(formData));\n api.data = { query: query.replace('{__saveData}', __saveData) };\n return api;\n `\n}\n\nconst getDeleteListviewButtonSchema = ()=>{\n return {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_listview_control_delete_label'),\n \"disabledOn\": \"!((global.user.is_space_admin || global.userId == uiSchema.list_views[listName].owner) && !!uiSchema.list_views[listName].owner)\",\n \"confirmText\": i18next.t('frontend_listview_control_delete_confirm_text'),\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"ajax\",\n \"args\": {\n \"api\": {\n \"url\": \"${context.rootUrl}/graphql\",\n \"method\": \"post\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"data\": {\n \"&\": \"$$\",\n \"uiSchema\": \"${uiSchema}\",\n \"recordId\": \"${uiSchema.list_views[listName]._id}\"\n },\n \"messages\": {\n \"success\": i18next.t('frontend_listview_control_delete_message_success')\n },\n \"requestAdaptor\": requestAdaptor(),\n \"adaptor\": adaptor(),\n }\n }\n },\n {\n \"actionType\": \"url\",\n \"args\": {\n \"url\": \"${context.rootUrl}/app/${appId}/${objectName}/grid/all\",\n \"blank\": false\n },\n \"expression\": \"data.delete == 1\"\n }\n ]\n }\n }\n }\n};\n\n\nfunction requestAdaptor(){\n return `\n const { recordId } = api.body;\n var deleteArray = [];\n if (recordId) { deleteArray.push(\\`delete:object_listviews__delete(id: \"\\${recordId}\")\\`); }\n api.data = { query: \\`mutation{\\${deleteArray.join(',')}}\\` };\n return api;\n `\n}\n\nfunction adaptor(){\n return `\n if (payload.errors) {\n payload.status = 2;\n payload.msg = payload.errors[0].message;\n }\n return payload;\n `\n}\n\nconst getSettingListviewToolbarButtonSchema = ()=>{\n return {\n \"type\": \"dropdown-button\",\n \"trigger\": \"click\",\n \"icon\": \"fa fa-cog\",\n //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // \"tooltip\": i18next.t('frontend_button_listview_control_tooltip'),\n \"btnClassName\": \"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500\",\n \"align\": \"right\",\n \"visibleOn\": \"${!isLookup && !!isObjectListview}\",\n \"buttons\": [\n {\n \"label\": i18next.t('frontend_button_listview_control_label'),\n \"children\": [\n getNewListviewButtonSchema(),\n getCopyListviewButtonSchema(),\n getRenameListviewButtonSchema(),\n getSetListviewShareButtonSchema(),\n getSetListviewFiltersButtonSchema(),\n getSetListviewColumnsButtonSchema(),\n getSetListviewSortButtonSchema(),\n getDeleteListviewButtonSchema()\n ]\n }\n ]\n }\n};\n\nconst getDisplayAsButton = function(objectName, defaultEnableSplit){\n let displayAs = Router$1.getTabDisplayAs(objectName, defaultEnableSplit);\n let buttons = [\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_display_type_is_table'),\n \"onClick\": \"const key = 'tab_\"+objectName+\"_display';sessionStorage.setItem(key, 'grid');let url = document.location.pathname; var urlSearch = new URLSearchParams(document.location.search); if(urlSearch.get(\\\"side_object\\\") && urlSearch.get(\\\"side_listview_id\\\")){url=`/app/${props.data.appId}/${urlSearch.get(\\\"side_object\\\")}/grid/${urlSearch.get(\\\"side_listview_id\\\")}`;}; props.env.jumpTo(url + '?display=grid');\",\n \"rightIcon\": displayAs != 'split' ? \"fa fa-check\" : null,\n \"rightIconClassName\": \"m-l-sm\"\n },\n {\n \"type\": \"button\",\n \"label\": i18next.t('frontend_display_type_is_split'),\n \"onClick\": \"const key = 'tab_\"+objectName+\"_display';sessionStorage.setItem(key, 'split');const url = document.location.pathname + '?display=split'; props.env.jumpTo(url);\",\n \"rightIcon\": displayAs === 'split' ? \"fa fa-check\" : null,\n \"rightIconClassName\": \"m-l-sm\"\n }\n ];\n displayAs === 'split'? i18next.t('frontend_display_type_is_split') : i18next.t('frontend_display_type_is_table');\n return {\n \"type\": \"dropdown-button\",\n \"icon\": \"fa fa-table-columns\",\n //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // \"tooltip\": `${i18next.t('frontend_display_as')} ${displayAsLabel}`,\n \"btnClassName\": \"antd-Button--iconOnly bg-white !p-2 rounded text-gray-500\",\n \"align\": \"right\",\n \"visibleOn\": \"${window:innerWidth > 768 && !!!isLookup && !!isObjectListview}\",\n \"buttons\": [ \n {\n \"label\": i18next.t('frontend_display_as'),\n \"children\": buttons\n }\n ]\n };\n};\n\n\nconst onFieldsFilterToggleScript = `\nconst scope = event.context.scoped;\nconst filterForm = scope.getComponents().find(function(n){\n return n.props.type === \"form\";\n});\nconst filterService = filterForm.context.getComponents().find(function(n){\n return n.props.type === \"service\";\n});\nlet toShowFieldsFilter = !!!filterService.props.data.showFieldsFilter;\nfilterService.setData({showFieldsFilter: toShowFieldsFilter});\n//触发amis crud 高度重算\ndoAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.\" + event.data.objectName\n },\n \"data\": {\n \"timeOut\": 1000\n }\n});\n// 手机端在显示搜索栏时隐藏crud上的刷新按钮,因为点击后crud高度显示有问题\nlet crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\ncrudService && crudService.setData({showFieldsFilter: toShowFieldsFilter});\n// if(filterService.props.data.showFieldsFilter){\n// if(isMobile){\n// // 手机上只能通过取消按钮来关闭搜索栏\n// return;\n// }\n// let buttonCancel = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"button\", { \n// direction: \"down\", \n// name: \"btn_filter_form_cancel\" \n// });\n// buttonCancel.props.dispatchEvent('click', {}).then(function(){\n// resizeWindow();\n// });\n// }\n// else{\n// if(isMobile){\n// // 手机端在显示搜索栏时隐藏crud上的刷新按钮,因为点击后crud高度显示有问题\n// let crudService = scope.getComponentById(\"service_listview_\" + event.data.objectName);\n// crudService && crudService.setData({showFieldsFilter: true});\n// }\n// }\n`;\n\n// function getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = \"__keywords\", crudId } = {}){\nfunction getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup = false, keywordsSearchBoxName = \"__keywords\" } = {}){\n const searchableFieldsLabel = [];\n _.each(mainObject.fields, function (field) {\n if (isFieldQuickSearchable(field, mainObject.NAME_FIELD_KEY)) {\n searchableFieldsLabel.push(field.label);\n }\n });\n\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n let crudKeywords = \"\";\n if(localListViewProps && !isLookup){\n localListViewProps = JSON.parse(localListViewProps);\n crudKeywords = (localListViewProps && localListViewProps.__keywords) || \"\";\n }\n\n const onChangeScript = `\n const scope = event.context.scoped;\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n let __changedSearchBoxValues = {};\n __changedSearchBoxValues[\"${keywordsSearchBoxName}\"] = event.data[\"${keywordsSearchBoxName}\"];\n // crudService && crudService.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedSearchBoxValues: __changedSearchBoxValues});\n if(crud){\n let crudData = crud.getData();\n crudData.__changedSearchBoxValues = __changedSearchBoxValues;\n crud.setData(crudData);\n }\n `;\n\n // 之前onSearchScript中加上了onChangeScript中的脚本,是因为amis 3.2不能用change事件执行onChangeScript\n // 而点击回车按键又不会触发blur事件,所以只能每次回车事件中额外再执行一次onChangeScript\n // 等升级到amis 3.4+,blur事件换成change事件执行onChangeScript,就可以不用在onSearchScript中执行onChangeScript了\n // 基于amis3.6,已经不再用blur事件触发onChangeScript,所以这里把之前加上的onChangeScript去掉了,如果以后还要换blur来触发onChangeScript脚本的话,这里又要加回onChangeScript脚本\n // 这里重新额外先执行下onChangeScript,是因为不执行还有bug:[Bug]: amis升级到6.3后列表快速搜索功能,有时点击右上角的刷新按钮会按上次搜索的过滤条件请求数据 #6734\n const onSearchScript = `\n ${onChangeScript}\n\n // 下面的脚本只为解决点击搜索表单取消按钮,再重新在其中输入过滤条件但是不点击搜索按钮或回车按键触发搜索,此时在快速搜索框输入过滤条件按回车按键会把搜索表单中的过滤条件清空的问题\n // const scope = event.context.scoped;\n // 如果点击过顶部搜索栏表单的取消按钮,会把此处event.data.__super.__super.__super中的搜索表单项的所有字段设置为null\n // 点击取消按钮后继续在表单项中输入过滤条件且最后没有点击回车按键或点击表单项搜索按钮的话,在快速搜索中点击回车按钮提交搜索会所顶部搜索表单中的字段值清空\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n if(!filterForm){\n return;\n }\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n setTimeout(function(){\n filterForm && filterForm.setValues(event.data[__changedFilterFormValuesKey]);\n }, 500);\n `;\n\n // const onBlurScript = `\n // // 失去焦点事件触发搜索,先去掉,因为会有bug,见:[Bug]: 列表上快速搜索输入框输入内容后点击放大镜界面上列表未显示过滤后的内容 #6742\n // const value = event.data.value;\n // setTimeout(function(){\n // const scope = event.context.scoped;\n // const sb = SteedosUI.getClosestAmisComponentByType(scope, \"search-box\");\n // sb.handleSearch(value);\n // }, 500);\n // `;\n\n return {\n \"type\": \"tooltip-wrapper\",\n \"id\": \"steedos_crud_toolbar_quick_search\",\n \"align\": \"right\",\n \"title\": \"\",\n \"content\": \"可搜索字段:\" + searchableFieldsLabel.join(\",\"),\n \"placement\": \"bottom\",\n \"tooltipTheme\": \"dark\",\n \"trigger\": \"click\",\n \"className\": formFactor !== 'SMALL' ? \"mr-1\" : '',\n \"visible\": !!searchableFieldsLabel.length,\n \"body\": [\n {\n \"type\": \"search-box\",\n \"name\": keywordsSearchBoxName,\n \"placeholder\": \"快捷搜索\",\n \"value\": crudKeywords,\n \"clearable\": true,//因为清除并不会触发失去焦点事件,只有禁用,但是它会触发change事件,所以等升级到amis 3.4+后可以重新放开\n \"clearAndSubmit\": true,\n \"searchImediately\": false,\n \"onEvent\": {\n \"search\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onSearchScript\n }\n ]\n },\n \"change\": { //amis 3.2change事件中setData会卡,升级到amis 3.4+应该不会再卡了,所以这里换回change事件,如果还是会卡就要考虑重新换成blur事件\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onChangeScript\n },\n ]\n },\n // \"blur\": { \n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": onBlurScript\n // },\n // ]\n // }\n }\n }\n ]\n }\n}\n\nfunction getObjectHeaderToolbar(mainObject, fields, formFactor, { \n showDisplayAs = false, hiddenCount = false, headerToolbarItems,\n filterVisible = true, isLookup = false, keywordsSearchBoxName } = {}){\n // console.log(`getObjectHeaderToolbar====>`, filterVisible)\n // console.log(`getObjectHeaderToolbar`, mainObject)\n\n const isMobile = window.innerWidth < 768;\n if(isMobile){\n showDisplayAs = false;\n }\n let toolbarCount;\n if(!hiddenCount){\n toolbarCount = {\n \"type\": \"tpl\",\n \"tpl\": \"${count} \" + i18next.t('frontend_record_sum')\n };\n }\n let toolbarReloadButton;\n const onReloadScript = `\n // 触发搜索,而不是reload,因为使用search-box可以在amissdk是3.6.3-patch.8+实现在非第一页的情况下,快速搜索输入框中过滤条件变更时再点刷新可以自动跳转翻页到第一页\n const scope = event.context.scoped;\n const sb = SteedosUI.getClosestAmisComponentByType(scope, \"search-box\");\n if (sb) {\n const sbValue = sb.state.value;\n sb.handleSearch(sbValue);\n }else{\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleChangePage(1);\n }\n \n `;\n toolbarReloadButton = {\n // \"type\": \"reload\",//不可以直接使用reload,因为它不会设置页码到第一页,这在加载更多按钮的翻页模式下会有问题\n \"type\": \"button\",\n \"align\": \"right\",\n //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // \"tooltip\": i18next.t('frontend_button_reload_tooltip'),\n \"tooltipPlacement\": \"top\",\n \"className\": \"bg-white p-2 rounded text-gray-500\",\n \"label\": \"\",\n \"icon\": \"fa fa-sync\",\n // \"visibleOn\": \"${!showFieldsFilter}\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onReloadScript\n }\n ]\n }\n },\n };\n // if(formFactor === 'SMALL'){\n // // 后续如果换成加载更多按钮的翻页模式的话,不可以直接使用下面的reload,需要换成上面的自定义脚本模式\n // toolbarReloadButton = {\n // \"type\": \"reload\",\n // \"align\": \"right\",\n // //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // // \"tooltip\": i18next.t('frontend_button_reload_tooltip'),\n // \"tooltip\":\"\",\n // \"tooltipPlacement\": \"top\",\n // \"className\": \"bg-white p-2 rounded text-gray-500\"\n // };\n // }\n // else{\n // toolbarReloadButton = {\n // \"type\": \"reload\",\n // \"align\": \"right\",\n // //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // // \"tooltip\": i18next.t('frontend_button_reload_tooltip'),\n // \"tooltip\":\"\",\n // \"tooltipPlacement\": \"top\",\n // \"className\": \"bg-white p-2 rounded text-gray-500\"\n // };\n // }\n let toolbarFilter;\n if(filterVisible){\n toolbarFilter ={\n \"label\": i18next.t('frontend_button_search_tooltip'),\n \"icon\": \"fa fa-filter\",\n //TODO: dropdown-button只支持在按钮上方配置提示,对于上方按钮的点击会有影响,为保持统一,暂时去除,等待amis优化,https://github.com/baidu/amis/issues/7330\n // \"tooltip\": i18next.t('frontend_button_search_tooltip'),\n // \"tooltipPlacement\": \"top\",\n \"type\": \"button\",\n \"badge\": {\n \"offset\": [\n -5,\n 1\n ],\n \"size\":8,\n \"animation\": true,\n \"visibleOn\": \"${isFieldsFilterEmpty == false && isLookup != true}\"\n },\n \"align\": \"right\",\n \"className\": \"bg-white p-2 rounded text-gray-500\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onFieldsFilterToggleScript\n }\n ]\n }\n },\n \"id\": \"steedos_crud_toolbar_filter\"\n };\n }\n let toolbarDisplayAsButton = getDisplayAsButton(mainObject?.name, mainObject?.enable_split);\n let toolbarDQuickSearchBox = getObjectHeaderQuickSearchBox(mainObject, fields, formFactor, { isLookup, keywordsSearchBoxName });\n\n // toolbars返回的数组元素不可以是空对象{},比如hiddenCount ? {} : {\"type\": \"tpl\",...},因为空对象最终还是会生成一个空的.antd-Crud-toolbar-item dom\n // 当出现空的.antd-Crud-toolbar-item dom时会影响toolbar元素的maring-right css样式计算,如果有动态需要应该加到动态数组变量toolbars中\n let toolbars = [];\n if(formFactor === 'SMALL'){\n if(toolbarCount){\n toolbars.push(toolbarCount);\n }\n if(toolbarFilter){\n toolbars.push(toolbarFilter);\n }\n toolbars.push(toolbarReloadButton);\n toolbars.push(toolbarDisplayAsButton);\n toolbars.push(toolbarDQuickSearchBox);\n return [\n // \"bulkActions\",\n ...(headerToolbarItems || []),\n ...toolbars,\n ]\n }else {\n if(toolbarCount){\n toolbars.push(toolbarCount);\n }\n if(toolbarFilter){\n toolbars.push(toolbarFilter);\n }\n toolbars.push(toolbarReloadButton);\n toolbars.push(toolbarDisplayAsButton);\n if(mainObject?.permissions?.allowCreateListViews){\n toolbars.push(getSettingListviewToolbarButtonSchema());\n }\n toolbars.push(toolbarDQuickSearchBox);\n return [\n // \"filter-toggler\",\n ...(headerToolbarItems || []),\n \"bulkActions\",\n // 不能放开crud columns-toggler否则crud card模式会报错\n // {\n // \"type\": \"columns-toggler\",\n // \"className\": \"hidden\"\n // },\n ...toolbars,\n // {\n // \"type\": \"columns-toggler\",\n // \"className\": \"mr-2\"\n // },\n // getExportExcelToolbarButtonSchema(),\n // {\n // \"type\": \"drag-toggler\",\n // \"align\": \"right\"\n // },\n // {\n // \"type\": \"pagination\",\n // \"align\": \"right\"\n // }\n ]\n }\n\n\n \n}\n\nfunction getObjectFooterToolbar(mainObject, formFactor, options) {\n // crud card模式与table模式两种情况下showPageInput默认值不一样,所以需要显式设置为false\n if (formFactor === 'SMALL') {\n // return [\n // \"load-more\",\n // ]\n if(options.displayAs === 'split'){\n return [\n {\n \"type\": \"switch-per-page\",\n \"visibleOn\": \"${count >= 20}\"\n },\n {\n \"type\": \"pagination\",\n \"maxButtons\": 5,\n \"showPageInput\": false\n }\n ]\n }else {\n return [\n // \"statistics\",\n {\n \"type\": \"pagination\",\n \"maxButtons\": 5,\n \"showPageInput\": true,\n \"layout\": \"total,pager,go\"\n }\n ]\n }\n }\n else {\n if(options && options.isRelated){\n return [\n {\n \"type\": \"pagination\",\n \"maxButtons\": 10,\n \"showPageInput\": false\n }\n ]\n\n }\n else {\n const no_pagination = mainObject.paging && (mainObject.paging.enabled === false);\n const is_lookup = options.isLookup;\n const commonConfig = [\n {\n \"type\": \"pagination\",\n \"maxButtons\": 10,\n \"showPageInput\": false\n }\n ];\n\n if (no_pagination && is_lookup) {\n return commonConfig;\n } else {\n return [{\n \"type\": \"switch-per-page\",\n \"visibleOn\": \"${count >= 20}\"\n }, ...commonConfig];\n }\n }\n }\n}\n\nasync function getObjectFilter(objectSchema, fields, options) {\n const fieldsFilterBarSchema = await getObjectListHeaderFieldsFilterBar(objectSchema, null, options);\n let onSubmitSuccScript = `\n let isLookup = event.data.isLookup;\n if(isLookup){\n return;\n }\n // 列表搜索栏字段值变更后立刻触发提交表单执行crud搜索,所以这里需要额外重算crud高度及筛选按钮红色星号图标显示隐藏\n //触发amis crud 高度重算\n doAction({\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@height.changed.${objectSchema.name}\"\n },\n \"data\": {\n \"timeOut\": 1000\n }\n });\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n let isFieldsFilterEmpty = SteedosUI.isFilterFormValuesEmpty(filterFormValues);\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n\n let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n crudService && crudService.setData({isFieldsFilterEmpty});\n `;\n let onChangeScript = `\n let isLookup = event.data.isLookup;\n let __lookupField = event.data.__lookupField;\n const scope = event.context.scoped;\n // let filterFormValues = event.data;\n let filterForm = SteedosUI.getClosestAmisComponentByType(scope, \"form\");\n let filterFormService = SteedosUI.getClosestAmisComponentByType(filterForm.context, \"service\");\n // 使用event.data的话,并不能拿到本地存储中的过滤条件,所以需要从filterFormService中取。\n let filterFormValues = filterFormService.getData();\n filterFormValues = JSON.parse(JSON.stringify(filterFormValues)); //只取当层数据域中数据,去除__super层数据\n let crud = SteedosUI.getClosestAmisComponentByType(scope, \"crud\");\n const changedFilterFormValues = _.pickBy(filterFormValues, function(n,k){return /^__searchable__/.test(k);});;\n // let crudService = crud && SteedosUI.getClosestAmisComponentByType(crud.context, \"service\", {name: \"service_object_table_crud\"});\n // crudService && crudService.setData({__changedFilterFormValues: changedFilterFormValues});\n // 这里不用crudService而用crud是因为lookup字段弹出的列表中的crudService中的变量无法传入crud的发送适配器中\n // crud && crud.setData({__changedFilterFormValues: changedFilterFormValues});\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n if(isLookup && __lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n if(crud){\n let crudData = crud.getData();\n crudData[__changedFilterFormValuesKey] = changedFilterFormValues;\n crud.setData(crudData);\n }\n `;\n return {\n \"title\": \"\",\n \"submitText\": \"\",\n \"className\": \"\",\n \"debug\": false,\n \"mode\": \"normal\",\n \"wrapWithPanel\": false,\n \"body\": [\n fieldsFilterBarSchema\n ],\n \"onEvent\": {\n \"submitSucc\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onSubmitSuccScript\n }\n ]\n },\n \"change\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onChangeScript\n }\n ]\n }\n }\n }\n}\n\nfunction getBulkActions(objectSchema){\n return [\n {\n \"type\": \"button\",\n \"level\": \"danger\",\n \"label\": \"批量删除\",\n \"actionType\": \"ajax\",\n \"confirmText\": i18next.t('frontend_delete_many_confirm_text'),\n \"className\": \"hidden\",\n \"id\": \"batchDelete\",\n \"api\": getBatchDelete(objectSchema.name),\n \"feedback\": {\n \"title\": \"删除警告\",\n \"visibleOn\": \"${deleteErrorMessage}\",\n \"body\": [\n {\n \"type\": \"each\",\n \"name\": \"deleteErrorMessage\",\n \"items\": {\n \"type\": \"alert\",\n \"body\": \"${item}\",\n \"level\": \"danger\",\n \"className\": \"mb-3\"\n }\n }\n ],\n \"actions\": [\n {\n \"type\": \"button\",\n \"actionType\": \"close\",\n \"label\": \"关闭\"\n }\n ]\n }\n }\n // {\n // \"label\": \"批量修改\",\n // \"actionType\": \"dialog\",\n // \"dialog\": {\n // \"title\": \"批量编辑\",\n // \"name\": \"sample-bulk-edit\",\n // \"body\": {\n // \"type\": \"form\",\n // \"api\": \"https://3xsw4ap8wah59.cfc-execute.bj.baidubce.com/api/amis-mock/sample/bulkUpdate2\",\n // \"controls\": [\n // {\n // \"type\": \"hidden\",\n // \"name\": \"ids\"\n // },\n // {\n // \"type\": \"text\",\n // \"name\": \"name\",\n // \"label\": \"Name\"\n // }\n // ]\n // }\n // }\n // }\n ]\n}\n\nasync function getCrudSchemaWithDataFilter(crud, options = {}){\n const { crudDataFilter, amisData, env } = options;\n let onCrudDataFilter = options.onCrudDataFilter;\n if (!onCrudDataFilter && typeof crudDataFilter === 'string') {\n onCrudDataFilter = new Function(\n 'crud',\n 'env',\n 'data',\n crudDataFilter\n );\n }\n\n try {\n onCrudDataFilter && (crud = await onCrudDataFilter(crud, env, amisData) || crud);\n } catch (e) {\n console.warn(e);\n }\n return crud;\n}\n\nasync function getObjectCRUD(objectSchema, fields, options){\n // console.time('getObjectCRUD');\n const { top, perPage, showDisplayAs = false, displayAs, crudClassName = \"\",\n crudDataFilter, onCrudDataFilter, amisData, env } = options;\n const nonpaged = objectSchema.paging && objectSchema.paging.enabled === false;\n const isTreeObject = objectSchema.enable_tree;\n const bulkActions = getBulkActions(objectSchema);\n const defaults = options.defaults;\n const listSchema = (defaults && defaults.listSchema) || {};\n\n const bodyProps = {\n // toolbar: getToolbar(),\n // headerToolbar: getObjectHeaderToolbar(objectSchema, options.formFactor, {showDisplayAs}),\n headerToolbarClassName: \"px-4 py-2 border-b\",\n footerToolbar: getObjectFooterToolbar(objectSchema, options.formFactor, {\n ...options,\n disableStatistics: options.queryCount === false\n }), \n filter: options.filterVisible !== false && await getObjectFilter(objectSchema, fields, options),\n };\n if(options.formFactor !== 'SMALL' || [\"split\"].indexOf(options.displayAs) == -1){\n if(listSchema.mode !== \"cards\"){\n // card模式时默认不显示勾选框\n Object.assign(bodyProps, {\n bulkActions: options.bulkActions != false ? bulkActions : false\n });\n }\n }\n // yml里配置的 不分页和enable_tree:true 优先级最高,组件中输入的top次之。\n options.queryCount = true;\n if(nonpaged || isTreeObject){\n options.top = 5000;\n bodyProps.footerToolbar = [];\n options.queryCount = true; // 禁止翻页的时候, 需要查找总数\n }else if(top){\n bodyProps.footerToolbar = [];\n if(options.isRelated){\n options.queryCount = true;\n }else {\n options.queryCount = false;\n }\n }\n // console.log(`getObjectHeaderToolbar====2===>`, options.filterVisible)\n bodyProps.headerToolbar = getObjectHeaderToolbar(objectSchema, fields, options.formFactor, {\n showDisplayAs, \n hiddenCount: options.queryCount === false, \n headerToolbarItems: options.headerToolbarItems,\n filterVisible: options.filterVisible\n });\n\n options.amisData = createObject(options.amisData, {\n objectName: objectSchema.name,\n // _id: null,\n recordPermissions: objectSchema.permissions,\n uiSchema: objectSchema,\n // loaded: false //crud接收适配器中设置为true,否则就是刷新浏览器第一次加载\n });\n\n\n let body = null;\n const id = `listview_${objectSchema.name}`;\n if(options.formFactor === 'SMALL' && false){\n delete bodyProps.bulkActions;\n delete bodyProps.headerToolbar;\n delete bodyProps.footerToolbar;\n const card = await getCardSchema(fields, Object.assign({idFieldName: objectSchema.idFieldName, labelFieldName: objectSchema.NAME_FIELD_KEY || 'name'}, options, {actions: false}));\n body = Object.assign({}, card , {\n type: 'crud', \n primaryField: '_id', \n id: id,\n name: id,\n keepItemSelectionOnPageChange: false, \n api: await getTableApi(objectSchema, fields, options),\n hiddenOn: options.tableHiddenOn,\n }, \n bodyProps\n );\n }else {\n let labelFieldName = objectSchema.NAME_FIELD_KEY || 'name';\n // organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.\n if(objectSchema.name === 'organizations'){\n labelFieldName = 'name';\n }\n let tableOptions = Object.assign({\n idFieldName: objectSchema.idFieldName, labelFieldName: labelFieldName, \n permissions:objectSchema.permissions,enable_inline_edit:objectSchema.enable_inline_edit,\n crudId: listSchema.id || id, enable_tree: objectSchema.enable_tree\n }, options);\n tableOptions.amisData = createObject(options.amisData || {}, {});\n const table = await getTableSchema$1(objectSchema, fields, tableOptions);\n // delete table.mode;\n //image与avatar需要在提交修改时特别处理\n const imageNames = ___default.compact(___default.map(___default.filter(fields, (field) => [\"image\",\"avatar\"].includes(field.type)), 'name'));\n const quickSaveApiRequestAdaptor = `\n var graphqlOrder = \"\";\n var imageNames = ${JSON.stringify(imageNames)};\n const rowsDiff = _.cloneDeep(api.data.rowsDiff);\n rowsDiff.forEach(function (item, index) {\n for(key in item){\n // image、select等字段清空值后保存的空字符串转换为null。\n if(item[key] === ''){\n item[key] = null;\n }\n if(_.includes(imageNames, key)){\n if(typeof item[key] == \"string\"){\n const match = item[key].match(/\\\\/([^\\\\/]+)$/);\n item[key] = match && match.length > 1?match[1]:\"\";\n }else{\n item[key] = _.map(item[key], function(ele){\n const match = ele.match(/\\\\/([^\\\\/]+)$/);\n return match && match.length > 1?match[1]:\"\";\n })\n }\n }\n }\n item = _.omit(item, '_display');\n const itemOrder = 'update' + index + ':' + api.data.objectName + '__update(id:\"' + item._id + '\", doc:' + JSON.stringify(JSON.stringify(_.omit(item, '_id'))) + ') {_id}';\n graphqlOrder += itemOrder;\n })\n graphqlOrder = 'mutation {' + graphqlOrder + '}';\n return {\n ...api,\n data: {\n query: graphqlOrder\n }\n }\n `;\n\n body = Object.assign({}, table, {\n type: 'crud', \n primaryField: '_id', \n affixHeader: false,\n id: id,\n name: id,\n keepItemSelectionOnPageChange: true, \n api: await getTableApi(objectSchema, fields, options),\n hiddenOn: options.tableHiddenOn,\n // autoFillHeight,//autoFillHeight按amis规范默认为false,需要配置此属性时在各个组件层配置,比如列表视图组件那边传入此属性为true\n className: `flex-auto ${crudClassName || \"\"}`,\n // 这里不可以用动态className,因为它会把样式类加到.antd-Crud和.antd-Table.antd-Crud-body这两层div中,而子表列表中crudClassName中有hidden样式类会造成所有子表都不显示的bug\n // className: {\n // [`flex-auto ${crudClassName || \"\"}`]: \"true\",\n // \"is-steedos-crud-data-empty\": \"${!items || COUNT(items) == 0}\"\n // },\n bodyClassName: {\n \"mb-0\": true,\n \"is-steedos-crud-data-empty\": \"${!items || COUNT(items) == 0}\"\n },\n crudClassName: crudClassName,\n quickSaveApi: {\n url: `\\${context.rootUrl}/graphql`,\n method: \"post\",\n dataType: \"json\",\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\",\n },\n requestAdaptor: quickSaveApiRequestAdaptor\n },\n // 外层data发生变化的时候, 不会重新渲染rowClassNameExpr, 所以先用css标记tr唯一标识\n // 使用表达式给tr添加初始选中状态\n rowClassNameExpr: options.rowClassNameExpr || \"<%= data._id === data.recordId ? 'steedos-record-tr steedos-record-tr-' + data._id + ' steedos-record-selected' : 'steedos-record-tr steedos-record-tr-' + data._id %>\" \n }, bodyProps);\n\n }\n\n body = defaultsDeep({}, listSchema, body);\n body = await getCrudSchemaWithDataFilter(body, { crudDataFilter, onCrudDataFilter, amisData, env });\n\n let crudModeClassName = \"\";\n if(body.mode){\n crudModeClassName = `steedos-crud-mode-${body.mode}`;\n }\n\n body.quickSaveApi.adaptor = `\n if(payload.errors){\n payload.status = 2;\n payload.msg = window.t ? window.t(payload.errors[0].message) : payload.errors[0].message;\n }\n var scope = SteedosUI.getRef(context.scopeId);\n var scopeParent = scope && scope.parent;\n var crudScoped = scopeParent.getComponentById('${body.id}');\n setTimeout(()=>{\n crudScoped && crudScoped.control.updateAutoFillHeight();\n }, 500);\n return payload;\n `;\n\n if(body.columns && options.formFactor != 'SMALL'){\n //将_display放入crud的columns的倒数第二列中(最后一列会影响固定列),可以通过setvalue修改行内数据域的_display,而不影响上层items的_display,用于批量编辑\n body.columns.splice(body.columns.length -1 , 0, {name: '_display',type: 'static', width: 1, placeholder: \"\",id: objectSchema.name + \"_display_${_index}\", tpl: \"${''}\"});\n }\n // 去除数组中的异常值,如null,undefined等\n body.columns = ___default.compact(body.columns);\n\n if (defaults) {\n const headerSchema = defaults.headerSchema;\n const footerSchema = defaults.footerSchema;\n if (headerSchema || footerSchema) {\n let wrappedBody = [body];\n if (headerSchema) {\n if(___default.isArray(headerSchema)){\n wrappedBody = ___default.union(headerSchema,wrappedBody);\n }\n else {\n wrappedBody.unshift(headerSchema);\n }\n }\n if (footerSchema) {\n if(___default.isArray(footerSchema)){\n wrappedBody = ___default.union(wrappedBody,footerSchema);\n }\n else {\n wrappedBody.push(footerSchema);\n }\n }\n body = wrappedBody;\n }\n }\n \n // console.timeEnd('getObjectCRUD');\n // TODO: data应该只留loaded,其他属性都改为从上层传递下来\n return {\n type: 'service',\n className: crudModeClassName,\n //目前crud的service层id不认用户自定义id,只支持默认规则id,许多地方的格式都写死了service_listview_${objectname}\n id: `service_${id}`,\n name: \"service_object_table_crud\",\n data: options.amisData,\n body: body,\n //监听广播事件,重算crud高度\n onEvent: {\n [`@height.changed.${objectSchema.name}`]: {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": `\n var crudScoped = event.context.scoped.getComponentById('${body.id}');\n var timeOut = event.data.timeOut || 500;\n setTimeout(()=>{\n crudScoped && crudScoped.control.updateAutoFillHeight();\n }, timeOut);\n `\n }\n ]\n }\n }\n }\n}\n\nconst getFormFields$1 = (objectSchema, formProps)=>{\n /**\n * fieldsExtend: 重写字段定义\n * fields: 包含的字段\n * excludedFields: 排除的字段\n */\n const { fieldsExtend, fields: includedFields, excludedFields } = formProps;\n \n let fields = {};\n // 以uiSchema fields 为基础, 遍历字段, 并更新字段定义\n ___default.forEach(objectSchema.fields, (field, fieldName)=>{\n if(!lodash.has(field, \"name\")){\n field.name = fieldName;\n }\n if(fieldsExtend && fieldsExtend[fieldName]){\n fields[field.name] = Object.assign({}, field, fieldsExtend[fieldName], {name: field.name});\n }else {\n fields[field.name] = field;\n }\n });\n\n if(!___default.isEmpty(includedFields) && ___default.isArray(includedFields)){\n const includedFieldsMap = {};\n ___default.each(includedFields, (fName, index)=>{\n if(fields[fName]){\n includedFieldsMap[fName] = Object.assign({}, fields[fName], {sort_no: index});\n }\n });\n fields = includedFieldsMap;\n }\n\n if(!___default.isEmpty(excludedFields) && ___default.isArray(excludedFields)){\n ___default.each(excludedFields, (fName)=>{\n delete fields[fName];\n });\n }\n\n return lodash.sortBy(___default.values(fields), \"sort_no\");\n};\n\nasync function getFormSchemaWithDataFilter(form, options = {}){\n const { formDataFilter, amisData, env } = options;\n let onFormDataFilter = options.onFormDataFilter;\n if (!onFormDataFilter && typeof formDataFilter === 'string') {\n onFormDataFilter = new Function(\n 'form',\n 'env',\n 'data',\n formDataFilter\n );\n }\n\n try {\n onFormDataFilter && (form = await onFormDataFilter(form, env, amisData) || form);\n } catch (e) {\n console.warn(e);\n }\n return form;\n}\n\nasync function getObjectForm(objectSchema, ctx){\n const { recordId, formFactor, layout = formFactor === 'SMALL' ? 'normal' : \"horizontal\", labelAlign, tabId, appId, defaults, submitSuccActions = [], \n formDataFilter, onFormDataFilter, amisData, env } = ctx;\n let enableTabs = ctx.enableTabs;\n //优先识别组件上的enableTabs属性,若不存在,则识别对象上定义的\n if (typeof enableTabs !== 'boolean') {\n enableTabs = objectSchema.enable_form_tabs;\n }\n const fields = ___default.values(objectSchema.fields);\n const formFields = getFormFields$1(objectSchema, ctx);\n const formSchema = defaults && defaults.formSchema || {};\n if(___default.has(formSchema, 'className')){\n formSchema.className = 'steedos-amis-form';\n }\n if(!formSchema.id){\n formSchema.id = 'form_' + objectSchema.name;\n }\n const amisSchema = {\n type: 'service',\n id: `service_${formSchema.id}`,\n className: 'p-0',\n name: `page_edit_${recordId}`,\n data:{\n ...amisData\n },\n // data: {global: getGlobalData('edit'), recordId: recordId, objectName: objectSchema.name, context: {rootUrl: getRootUrl(), tenantId: getTenantId(), authToken: getAuthToken()}},\n initApi: null,\n initFetch: null ,\n body: [defaultsDeep({}, formSchema, {\n type: \"form\",\n mode: layout,\n initApi: await getEditFormInitApi(objectSchema, recordId, fields, ctx),\n data: {\n editFormInited: false,\n },\n labelAlign,\n persistData: false,\n resetAfterSubmit: true,\n preventEnterSubmit: true,\n promptPageLeave: true,\n canAccessSuperData: false,\n name: `form_edit_${recordId}`,\n debug: false,\n title: \"\",\n submitText: \"\", // amis 表单不显示提交按钮, 表单提交由项目代码接管\n api: await getSaveApi(objectSchema, recordId, fields, ctx),\n initFetch: recordId != 'new',\n body: {\n type: 'wrapper',\n className: 'p-0 m-0',\n body: await getFormBody(fields, formFields, Object.assign({}, ctx, {fieldGroups: objectSchema.field_groups, omitReadonlyFields: true, enableTabs})),\n hiddenOn: \"${editFormInited != true}\",\n },\n panelClassName:'m-0 sm:rounded-lg shadow-none border-none',\n bodyClassName: 'p-0',\n className: 'steedos-amis-form',\n onEvent: {\n \"submitSucc\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": `@data.changed.${objectSchema.name}`\n },\n \"data\": {\n \"objectName\": `${objectSchema.name}`,\n \"displayAs\": \"${displayAs}\"\n }\n },\n {\n \"actionType\": \"broadcast\",\n \"args\": {\n \"eventName\": \"@data.changed.${_master.objectName}\"\n },\n \"data\": {\n \"objectName\": \"${_master.objectName}\",\n \"_isRelated\": \"${_isRelated || _master._isRelated}\"\n },\n \"expression\": `\\${_master.objectName != '${objectSchema.name}' && _master.objectName}`\n },\n ...submitSuccActions,\n // {\n // \"actionType\": \"custom\",\n // \"script\": `setTimeout(function(){doAction({'actionType': 'setValue','componentId': '${formSchema.id}','args': {'value': {'sort_no': 879}}})}, 300)`\n // },\n // {\n // \"args\": {},\n // \"actionType\": \"closeDialog\"\n // }\n ]\n }\n }\n })]\n };\n amisSchema.body[0] = await getFormSchemaWithDataFilter(amisSchema.body[0], { formDataFilter, onFormDataFilter, amisData, env });\n return amisSchema;\n}\n\nasync function getObjectDetail(objectSchema, recordId, ctx){\n const { formFactor, layout = formFactor === 'SMALL' ? 'normal' : \"horizontal\", labelAlign, \n formDataFilter, onFormDataFilter, amisData, env, enableInitApi } = ctx;\n const fields = ___default.values(objectSchema.fields);\n const formFields = getFormFields$1(objectSchema, ctx);\n const serviceId = `service_detail_page`;\n let enableTabs = ctx.enableTabs;\n //优先识别组件上的enableTabs属性,若不存在,则识别对象上定义的\n if (typeof enableTabs !== 'boolean') {\n enableTabs = objectSchema.enable_form_tabs;\n }\n const amisSchema = {\n type: 'service',\n name: `page_readonly_${recordId}`,\n id: serviceId,\n // api: await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx),\n body: [\n {\n \"type\": \"wrapper\", //form 的 hiddenOn 会导致 form onEvent 异常, 使用wrapper包裹一次form,并在wrapper上控制显隐\n hiddenOn: \"${recordLoaded != true}\",\n \"className\": \"p-0 m-0\",\n \"body\": {\n type: \"form\",\n mode: layout,\n labelAlign,\n persistData: false,\n promptPageLeave: false,\n name: `form_readonly_${recordId}`,\n debug: false,\n title: \"\",\n data: {\n \"formData\": \"$$\"\n },\n wrapWithPanel: false, \n body: await getFormBody(\n map(fields, (field) => { field.readonly = true; return field; }),\n map(formFields, (field) => { field.readonly = true; return field; }),\n Object.assign({}, ctx, { showSystemFields: true, fieldGroups: objectSchema.field_groups, enableTabs })\n ),\n className: 'steedos-amis-form bg-white',\n actions: [], // 不显示表单默认的提交按钮\n },\n }\n ],\n // onEvent: {\n // \"fetchInited\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // actionType: 'broadcast',\n // eventName: \"recordLoaded\",\n // args: {\n // eventName: \"recordLoaded\"\n // },\n // data: {\n // objectName: \"${event.data.__objectName}\",\n // record: \"${event.data.__record}\"\n // },\n // expression: \"${event.data.__response.error != true}\"\n // },\n // {\n // \"actionType\": \"setValue\",\n // \"args\": {\n // value: {\n // \"recordLoaded\": true,\n // }\n // },\n // expression: \"${event.data.__response.error != true}\"\n // }\n // ]\n // }\n // }\n };\n\n if(enableInitApi){\n amisSchema.api = await getReadonlyFormInitApi(objectSchema, recordId, fields, ctx);\n // 开启初始化api请求时,如果不把recordLoaded默认设置为false,recordLoaded值会取RecordServic组件中的recordLoaded值\n // 这会造成表单内steedos field组件lookup字段中props.data取到的是RecordServic组件\n amisSchema.data = {\n ...amisSchema.data,\n recordLoaded: false\n };\n }\n\n amisSchema.body[0].body = await getFormSchemaWithDataFilter(amisSchema.body[0].body, { formDataFilter, onFormDataFilter, amisData, env });\n // console.log('getObjectDetail=====>', amisSchema, objectSchema, recordId, ctx);\n return amisSchema;\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-01 09:00:26\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-09-03 13:21:38\n * @Description: \n */\n\nconst getGraphqlFieldsQuery = (fields)=>{\n const fieldsName = ['_id'];\n fields.push('record_permissions');\n //TODO 此处需要考虑相关对象查询\n each(fields, (fieldName)=>{\n if(fieldName.indexOf('.') > -1){\n fieldName = fieldName.split('.')[0];\n }\n fieldsName.push(`${fieldName}`);\n });\n return `${fieldsName.join(' ')}`;\n};\n\nconst getFindOneQuery = (objectName, id, fields)=>{\n objectName = objectName.replace(/\\./g, '_');\n const queryFields = getGraphqlFieldsQuery(fields);\n let queryOptions = '';\n let alias = \"record\";\n \n const queryOptionsArray = [`id: \"${id}\"`];\n \n if(queryOptionsArray.length > 0){\n queryOptions = `(${queryOptionsArray.join(',')})`;\n }\n\n return `{${alias}:${objectName}__findOne${queryOptions}{${queryFields}}}`\n};\n\nconst getRecord = async (objectName, recordId, fields)=>{\n const result = await fetchAPI('/graphql', {\n method: 'post',\n body: JSON.stringify({\n query: getFindOneQuery(objectName, recordId, fields)\n })\n });\n return result.data.record;\n};\n\nconst getRelatedsCount = async (masterRecordId, relateds) => {\n const relatedQuery = [];\n\n each(relateds, (relate)=>{\n relatedQuery.push(`${relate.object_name}: ${relate.object_name}__count(filters: [[\"${relate.foreign_key}\",\"=\",\"${masterRecordId}\"]])`);\n });\n\n const query = `\n {\n ${relatedQuery.join(',')}\n }\n `;\n const result = await fetchAPI('/graphql', {\n method: 'POST',\n body: JSON.stringify({ query })\n });\n\n return result.data\n};\n\nconst getRecordPermissions = async (objectName, recordId)=>{\n const result = await fetchAPI(`/service/api/@${objectName}/recordPermissions/${recordId}`, {\n method: 'GET'\n });\n return result;\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-05 15:55:39\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2025-01-08 13:32:51\n * @Description:\n */\n\nfunction str2function(\n contents,\n ...args\n ) {\n try {\n let fn = new Function(...args, contents);\n return fn;\n } catch (e) {\n console.warn(e);\n return null;\n }\n}\n\nconst getRelatedFieldValue = (masterObjectName, record_id, uiSchema, foreign_key) => {\n const relatedField = find(uiSchema.fields, (field) => {\n return foreign_key === field?.name\n });\n // console.log(`getRelatedFieldValue`, relatedField, uiSchema, foreign_key)\n if (!isString(relatedField.reference_to)) {\n return { o: masterObjectName, ids: [record_id] }\n } else if (relatedField.multiple) {\n return [record_id]\n } else {\n return record_id\n }\n};\n\n// 获取所有相关表\nasync function getObjectRelatedList(\n objectName,\n recordId,\n formFactor\n) {\n const uiSchema = await getUISchema(objectName);\n const related = [];\n const relatedLists = [].concat(uiSchema.related_lists || []);\n if(!isEmpty(relatedLists)){\n for (const relatedList of relatedLists) {\n const arr = relatedList.related_field_fullname.split(\".\");\n const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];\n related.push({\n masterObjectName: objectName,\n object_name: arr[0],\n foreign_key,\n label: relatedList.label,\n columns: relatedList.field_names,\n sort: relatedList.sort,\n filters: relatedList.filters,\n visible_on: relatedList.visible_on,\n page_size: relatedList.page_size\n }); \n }\n }else {\n const details = [].concat(uiSchema.details || []);\n for (const detail of details) {\n const arr = detail.split(\".\");\n const foreign_key = arr[2] ? arr[1]+'.'+arr[2] : arr[1];\n related.push({\n masterObjectName: objectName,\n object_name: arr[0],\n foreign_key\n });\n }\n }\n\n return related;\n}\n\n// 获取单个相关表\nasync function getRecordDetailRelatedListSchema(objectName, recordId, relatedObjectName, relatedKey, ctx){\n let { top, perPage, appId, relatedLabel, className, columns, sort, filters, visible_on, enableHeaderToolbar } = ctx;\n // console.log('getRecordDetailRelatedListSchema==>',objectName,recordId,relatedObjectName)\n const relatedObjectUiSchema = await getUISchema(relatedObjectName);\n if(!relatedObjectUiSchema){\n // 子表对象不存在时直接返回空值.\n return {\n uiSchema: {},\n amisSchema: {}\n }\n }\n const { label , fields } = relatedObjectUiSchema;\n if(!relatedLabel){\n relatedLabel = label;\n }\n if(!relatedKey){\n let mainRelated = {};\n const mainObjectUiSchema = await getUISchema(objectName);\n if(mainObjectUiSchema){\n const mainRelatedLists = mainObjectUiSchema.related_lists || [];\n if(!isEmpty(mainRelatedLists)){\n for (const relatedList of mainRelatedLists) {\n const arr = relatedList.related_field_fullname.split(\".\");\n const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];\n mainRelated[arr[0]] = foreign_key_value;\n }\n }\n // 防止related_lists中没有相关子表,但是details中有相关子表的情况\n if(!mainRelated[relatedObjectName]){\n const details = union(mainObjectUiSchema.details,mainObjectUiSchema.lookup_details) || [];\n for (const detail of details) {\n const arr = detail.split(\".\");\n const foreign_key_value = arr[2] ? arr[1]+'.'+arr[2] : arr[1];\n if(!has(mainRelated,arr[0])){\n mainRelated[arr[0]] = foreign_key_value;\n }\n }\n }\n }\n relatedKey = mainRelated[relatedObjectName];\n }\n let globalFilter = null;\n // TODO: refField变量去掉,写到amis运行时脚本中,uiSchema.fields[relatedKey];可以取到\n const refField = await getField(relatedObjectName, relatedKey);\n // if(refField.reference_to_field && refField.reference_to_field != '_id'){\n // const masterRecord = await getRecord(objectName, recordId, [refField.reference_to_field]);\n // relatedValue = masterRecord[refField.reference_to_field]\n // }\n \n // if (\n // refField._reference_to ||\n // (refField.reference_to && !isString(refField.reference_to))\n // ) {\n // globalFilter = [\n // [`${relatedKey}/o`, \"=\", objectName],\n // [`${relatedKey}/ids`, \"=\", relatedValue],\n // ];\n // } else {\n // globalFilter = [`${relatedKey}`, \"=\", relatedValue];\n // }\n const recordRelatedListHeader = await getObjectRecordDetailRelatedListHeader(relatedObjectUiSchema, relatedLabel, ctx);\n const componentId = `steedos-record-related-list-${relatedObjectName}_${new Date().getTime()}`;\n const isMobile = window.innerWidth < 768;\n let headerToolbar = [];\n if(!isMobile){\n headerToolbar.push(\"bulkActions\");\n if (enableHeaderToolbar) {\n // 通过 enableHeaderToolbar = true 可以控制是否显示内置的带过滤器的headerToolbar\n headerToolbar = undefined;\n }\n }\n const options = {\n globalFilter,\n defaults: {\n listSchema: { \n headerToolbar,\n columnsTogglable: false,\n onEvent: {\n [`@data.changed.${relatedObjectName}`]: {\n \"actions\": [\n {\n \"actionType\": \"reload\"\n }\n ]\n }\n }\n },\n headerSchema: recordRelatedListHeader\n },\n showHeader: true,\n top: top,\n perPage: perPage,\n setDataToComponentId: componentId,\n // tableHiddenOn: hiddenEmptyTable ? \"this.$count === 0\" : null,\n appId: appId,\n crudClassName: 'steedos-record-related-crud hidden',\n refField,\n ...ctx\n };\n const amisSchema= (await getRelatedListSchema(relatedObjectName, 'all', options)).amisSchema;\n if(!amisSchema){\n return;\n }\n return {\n uiSchema: relatedObjectUiSchema,\n amisSchema: {\n type: \"service\",\n id: componentId,\n className: `steedos-record-related-list mb-4 last:mb-0 ${componentId} ${className} ${enableHeaderToolbar ? 'enable-header-toolbar' : ''}`,\n data: {\n relatedKey: relatedKey, \n listViewId: `amis-\\${appId}-${relatedObjectName}-listview`,\n _isRelated: true\n },\n body:[\n amisSchema\n ]\n }\n };\n}\n\n/**\n* \n* @param {*} uiSchema \n* @param {*} ctx \n* @returns \n* 1 对象uiSchema\n* 2 列表视图名称: (排除日历视图)当无视图传入,取is_name为true的字段显示。\n* 3 options\n*/\nfunction getDefaultRelatedListProps(uiSchema, listName, ctx) {\n // console.log('getDefaultRelatedListProps==>', uiSchema, listName, ctx)\n const listView = find(\n uiSchema.list_views,\n (listView, name) => {\n // 日历视图不在相关子表中出现\n if(listView.type === 'calendar'){\n return false;\n }\n // 传入listViewName空值则取第一个\n if (!listName) {\n listName = name;\n }\n return name === listName;\n }\n );\n let columns = [];\n let sort = '';\n let filter = null;\n let filtersFunction = null;\n if(listView){\n columns = getListViewColumns(listView, ctx.formFactor);\n sort = getListViewSort(listView);\n filter = getListViewFilter(listView);\n // if(isArray(ctx.globalFilter) && ctx.globalFilter.length && isArray(filter) && filter.length){\n // // 都有值\n // filter = [ctx.globalFilter, 'and', filter]\n // }else if(ctx.globalFilter && (!filter || !filter.length)){\n // // globalFilter有值,filter无值\n // filter = ctx.globalFilter;\n // }\n filtersFunction = listView && listView._filters;\n }else {\n const isNameField = find(\n uiSchema.fields,\n (field,name)=>{\n return field.is_name;\n }\n );\n columns = isNameField ? [isNameField.name] : ['name'];\n // if(ctx.globalFilter){\n // filter = ctx.globalFilter;\n // }\n }\n\n return {\n columns,\n sort,\n filter,\n filtersFunction\n }\n} \nfunction getRelatedListProps(uiSchema, listViewName, ctx) {\n if (ctx.columns) {\n const sort = getListViewSort({sort: ctx.sort});\n let { filters , filtersFunction} = ctx;\n if(!filtersFunction && filters){\n filtersFunction = str2function(\n filters,\n 'filters',\n 'data'\n ); \n }\n return {\n columns: ctx.columns,\n sort,\n // filter: ctx.globalFilter,\n filtersFunction: filtersFunction\n }\n } else {\n return getDefaultRelatedListProps(uiSchema, listViewName, ctx);\n }\n}\n\n// 仅提供给单个相关子表内部使用\nasync function getRelatedListSchema(\n objectName,\n listViewName,\n ctx\n ) {\n const { enableHeaderToolbar } = ctx;\n const uiSchema = await getUISchema(objectName);\n if(!uiSchema){\n return {}\n }\n const listViewNames = map(uiSchema.list_views, 'name');\n const listView = find(\n uiSchema.list_views,\n (listView, name) => {\n // 传入listViewName空值 或者 不存在 则取第一个\n if(!listViewName || listViewNames.indexOf(listViewName)<0){\n listViewName = name;\n }\n return name === listViewName || listView._id === listViewName;\n }\n );\n const listViewProps = getRelatedListProps(uiSchema,listViewName, ctx);\n // console.log('listViewProps==>', listViewProps)\n const {columns: listViewColumns, sort: listViewSort, filter: listviewFilter, filtersFunction } = listViewProps;\n\n const refFieldName = ctx.refField && ctx.refField.name;\n\n let relatedListColumns = listViewColumns;\n if(refFieldName){\n relatedListColumns = listViewColumns.filter(function(columnItem){\n if(typeof columnItem === \"string\"){\n return columnItem !== refFieldName;\n }\n else {\n return columnItem.field !== refFieldName;\n }\n });\n }\n \n const defaults = ctx.defaults || {};\n \n if(!defaults.headerSchema && ctx.showHeader){\n defaults.headerSchema = await getObjectListHeader(uiSchema, listViewName);\n }\n \n if(!ctx.showHeader){\n defaults.headerSchema = null;\n }\n \n ctx.defaults = defaults;\n\n // 由于steedos-object-table组件的上下文覆盖规则异常,此处手动删除无需的ctx参数\n delete ctx.filtersFunction;\n delete ctx.sort;\n delete ctx.extraColumns;\n delete ctx.filters;\n\n delete ctx.globalFilter;\n delete ctx.enableHeaderToolbar;\n\n const adaptor = `\n try{\n if(setDataToComponentId){\n // 子表列表在headerToolbar过滤器中设置过过滤条件的话,始终显示子表列表,无论是否查询到数据\n // 改为使用css样式控制子表列表放开headerToolbar时,始终显示crud,只隐藏crud内部的表格,从而始终显示headerToolbar不受这里逻辑影响\n // var headerToolbarFilterChanged = context.isFieldsFilterEmpty === false;\n if(payload.data.count){\n setTimeout(function(){\n // 设计器中获取不到window.$从而导致报错, 所以用纯js替换下。\n // window.$(\".\" + setDataToComponentId + \" .antd-Crud\").removeClass(\"hidden\");\t\t\n document.querySelectorAll(\".\" + setDataToComponentId + \" .antd-Crud\").forEach(function(element) {\n element.classList.remove(\"hidden\");\n });\n }, 10);\n }\n };\n }catch(e){\n console.log(e);\n }\n `;\n const amisSchema = {\n \"type\": \"steedos-object-table\",\n \"objectApiName\": objectName,\n \"columns\": relatedListColumns,\n \"extraColumns\": listView.extra_columns,\n \"filters\": listviewFilter,\n \"filtersFunction\": filtersFunction,\n \"sort\": listViewSort,\n \"filterVisible\": !!enableHeaderToolbar,\n \"requestAdaptor\": ctx.requestAdaptor, \n \"adaptor\": adaptor + ctx.adaptor || '',\n \"ctx\": ctx,\n \"crud\": ctx.crud,\n \"crudDataFilter\": ctx.crudDataFilter,\n \"onCrudDataFilter\": ctx.onCrudDataFilter\n };\n // console.log(`getRelatedListSchema amisSchema`, amisSchema);\n return {\n uiSchema,\n amisSchema,\n };\n }\n\nasync function getObjectRelatedListsMiniSchema(objectApiName){\n const relatedLists = await getObjectRelatedList(objectApiName);\n\n const relatedListsMiniSchema = [];\n\n for (const relatedList of relatedLists) {\n relatedListsMiniSchema.push(\n {\n type: 'steedos-record-detail-list-mini',\n objectApiName: objectApiName,\n // recordId: recordId,\n formFactor: formFactor,\n relatedObjectApiName: relatedList.object_name,\n foreign_key: relatedList.foreign_key,\n relatedKey: relatedList.foreign_key,\n columns: relatedList.columns,\n sort: relatedList.sort,\n filters: relatedList.filters,\n visible_on: relatedList.visible_on,\n perPage: relatedList.page_size || perPage,\n hiddenEmptyTable: true,\n relatedLabel: relatedList.label\n }\n );\n }\n\n return {\n type: 'wrapper',\n className: \"steedos-record-detail-related-lists-mini\",\n body: relatedListsMiniSchema\n }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-05 15:55:39\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2025-02-21 13:31:43\n * @Description:\n */\n\nlet UI_SCHEMA_CACHE = {};\n\nlet UISchemaFunction;\nconst setUISchemaFunction = function(fun){\n UISchemaFunction = fun;\n};\n\nif('undefined' != typeof window){\n if(!window.UI_SCHEMA_CACHE){\n window.UI_SCHEMA_CACHE = UI_SCHEMA_CACHE;\n }\n UI_SCHEMA_CACHE = window.UI_SCHEMA_CACHE;\n}\n\nconst setUISchemaCache = (key, value) => {\n UI_SCHEMA_CACHE[key] = value;\n};\n\nconst getUISchemaCache = (key) => {\n return cloneDeep(UI_SCHEMA_CACHE[key]);\n};\n\nconst hasUISchemaCache = (key) => {\n return has(UI_SCHEMA_CACHE, key);\n};\n\nfunction getListViewColumns(listView, formFactor) {\n let listViewColumns = [];\n if (formFactor === \"SMALL\") {\n listViewColumns = !isEmpty(listView.mobile_columns)\n ? listView.mobile_columns\n : slice(listView.columns, 0, 4);\n } else {\n listViewColumns = listView.columns;\n }\n return listViewColumns;\n}\nfunction getListViewSort(listView) {\n let sort = '';\n if(listView && listView.sort && listView.sort.length){\n each(listView.sort,function(item,index){\n if(isArray(item)){\n const field_name = item[0];\n const order = item[1] || '';\n let sortStr = field_name + ' ' + order;\n sortStr = index > 0 ? ','+sortStr : sortStr;\n sort += sortStr;\n }else {\n let sortStr = item.field_name + ' ' + item.order;\n sortStr = index > 0 ? ','+sortStr : sortStr;\n sort += sortStr;\n }\n });\n }\n return sort;\n}\nfunction getListViewFilter(listView){\n if(!listView){\n return ;\n }\n try {\n const userId = getUserId();\n let filters = listView.filters;\n if(listView.filter_scope === 'mine'){\n if(___default.isEmpty(filters)){\n filters = [[\"owner\", \"=\", userId]];\n }else {\n if(___default.isString(filters) && ___default.startsWith(___default.trim(filters), \"function\")){\n filters = new Function(`return ${filters}`);\n filters = filters();\n }\n if(___default.isArray(filters)){\n filters.push([\"owner\", \"=\", userId]);\n }else {\n console.debug(`listView filters is not array`, listView);\n throw new Error('filters is not array')\n }\n }\n };\n return filters;\n } catch (error) {\n console.error(error);\n }\n}\n\nfunction formatUISchemaCache(objectName, uiSchema){\n setUISchemaCache(objectName, uiSchema);\n each(uiSchema.fields, (field)=>{\n try {\n if(field.type === \"lookup\" && field._reference_to && ___default.isString(field._reference_to)){\n field.reference_to = eval(`(${field._reference_to})`)();\n }\n } catch (exception) {\n field.reference_to = undefined;\n console.error(exception);\n }\n });\n each(uiSchema.list_views, (v, k)=>{\n v.name = k;\n if(!has(v, 'columns')){\n v.columns = uiSchema.list_views.all.columns;\n }\n });\n}\n\nasync function getUISchema(objectName, force) {\n if (!objectName) {\n return;\n }\n if (hasUISchemaCache(objectName) && !force) {\n return getUISchemaCache(objectName);\n }\n let uiSchema = null;\n try {\n if(UISchemaFunction){\n uiSchema = await UISchemaFunction(objectName, force);\n }\n else {\n const url = `/service/api/@${objectName.replace(/\\./g, \"_\")}/uiSchema`;\n uiSchema = await fetchAPI(url, { method: \"get\" });\n }\n if(!uiSchema){\n return ;\n }\n formatUISchemaCache(objectName, uiSchema);\n } catch (error) {\n console.error(`getUISchema`, objectName, error);\n setUISchemaCache(objectName, null);\n }\n return getUISchemaCache(objectName);\n}\n\nfunction getUISchemaSync$1(objectName, force) {\n if (!objectName) {\n return;\n }\n if (hasUISchemaCache(objectName) && !force) {\n return getUISchemaCache(objectName);\n }\n let uiSchema = null;\n try {\n \n const url = `/service/api/@${objectName.replace(/\\./g, \"_\")}/uiSchema`;\n uiSchema = Steedos.authRequest(url, {\n type: 'GET',\n async: false,\n });\n\n if(!uiSchema){\n return ;\n }\n formatUISchemaCache(objectName, uiSchema);\n } catch (error) {\n console.error(`getUISchema`, objectName, error);\n setUISchemaCache(objectName, null);\n }\n return getUISchemaCache(objectName);\n}\n\nasync function getField(objectName, fieldName) {\n const uiSchema = await getUISchema(objectName);\n return uiSchema?.fields[fieldName];\n}\n\n// 获取表单页面\nasync function getFormSchema(objectName, ctx) {\n const uiSchema = await getUISchema(objectName);\n const amisSchema = await getObjectForm(uiSchema, ctx);\n // console.log(`getFormSchema====>`, amisSchema)\n return {\n uiSchema,\n amisSchema,\n };\n}\n\n// 获取只读页面 recordId 已废弃, 函数签名保持不变, 但recordId变量不可再使用, 请使用运行时的${recordId}\nasync function getViewSchema(objectName, recordId, ctx) {\n const uiSchema = await getUISchema(objectName);\n const amisSchema = await getObjectDetail(uiSchema, recordId, ctx);\n // console.log(`getViewSchema amisSchema`, amisSchema)\n return {\n uiSchema,\n amisSchema\n };\n}\n\n// 获取列表视图\nasync function getListSchema(\n appName,\n objectName,\n listViewName,\n ctx = {}\n) {\n const uiSchema = await getUISchema(objectName);\n if(!uiSchema){\n return {}\n }\n const listView = find(\n uiSchema.list_views,\n (listView, name) => {\n // 传入listViewName空值则取第一个\n if(!listViewName){\n listViewName = name;\n }\n return name === listViewName || listView._id === listViewName;\n }\n );\n\n if (!listView) {\n return { uiSchema };\n }\n\n // 直接返回自定义的列表视图schema\n if(listView.enable_amis_schema && listView.amis_schema){\n const amisSchema = isString(listView.amis_schema) ? JSON.parse(listView.amis_schema) : listView.amis_schema;\n return {\n uiSchema,\n isCustomAmisSchema: true,\n amisSchema\n };\n }\n\n let listViewColumns = getListViewColumns(listView, ctx.formFactor);\n let sort = getListViewSort(listView);\n let listviewFilter = getListViewFilter(listView);\n let listview_filters = listView && listView._filters;\n // 返回 calendar 组件\n if(listView.type === \"calendar\"){\n const amisSchema = {\n \"type\": \"steedos-object-calendar\",\n \"objectApiName\": objectName,\n \"filters\": listviewFilter,\n \"filtersFunction\": listview_filters,\n \"sort\": sort,\n ...listView.options\n };\n return {\n uiSchema,\n isCalendar: true,\n amisSchema\n };\n }\n\n const defaults = ctx.defaults || {};\n\n // // 未自定义header 且显示header的时候, 使用系统header\n // if(!defaults.headerSchema && ctx.showHeader){\n // defaults.headerSchema = getObjectListHeader(uiSchema, listViewName);\n // }\n \n // // 如果不显示header,则清理掉\n // if(!ctx.showHeader){\n // defaults.headerSchema = null;\n // }\n\n defaults.headerSchema = null;\n\n /**\n * 本次存储代码段\n */\n try {\n const listViewPropsStoreKey = location.pathname + \"/crud\";\n let localListViewProps = sessionStorage.getItem(listViewPropsStoreKey);\n /**\n * localListViewProps规范来自crud请求api中api.data.$self参数值的。\n * 比如:{\"perPage\":20,\"page\":1,\"__searchable__name\":\"7\",\"__searchable__between__n1__c\":[null,null],\"filter\":[[\"name\",\"contains\",\"a\"]]}\n * __searchable__...:顶部放大镜搜索条件\n * filter:右侧过滤器\n * perPage:每页条数\n * page:当前页码\n * orderBy:排序字段\n * orderDir:排序方向\n */\n if (localListViewProps) {\n localListViewProps = JSON.parse(localListViewProps);\n // localListViewProps.perPage = 3;\n let listSchema = {};\n if (localListViewProps.orderBy) {\n listSchema.orderBy = localListViewProps.orderBy;\n }\n if (localListViewProps.orderDir) {\n listSchema.orderDir = localListViewProps.orderDir;\n }\n\n if (localListViewProps.perPage) {\n listSchema.perPage = localListViewProps.perPage;\n }\n defaults.listSchema = defaultsDeep$1({}, listSchema, defaults.listSchema || {});\n }\n }\n catch (ex) {\n console.error(\"本地存储中crud参数解析异常:\", ex);\n }\n\n if (window.innerWidth > 768) {\n // 列表视图组件PC端高度自动计算实现满屏效果,手机端不需要满屏效果,所以不用autofillheight,且允许重写微页面中重新组件autoFillHeight属性\n defaults.listSchema = defaultsDeep$1({}, defaults.listSchema || {}, {\n autoFillHeight: true\n });\n }\n\n ctx.defaults = defaults;\n\n if (listViewName == \"recent\") {\n listview_filters = `\n function(filters, data) {\n var result = Steedos.authRequest('/graphql', {\n type: 'POST',\n async: false,\n data: JSON.stringify({\n query: '{object_recent_viewed(filters: [[\"record.o\",\"=\",\"' + data.objectName + '\"],[\"space\",\"=\",\"' + data.context.tenantId + '\"],[\"owner\",\"=\",\"' + data.context.userId + '\"]],sort:\"modified desc\",top:50){ _id,record} }'\n }),\n });\n var _ids = []\n result.data.object_recent_viewed.forEach(function (item) {\n _ids = _ids.concat(item.record.ids)\n })\n return [\"_id\", \"=\", _ids];\n }\n `;\n }\n const amisSchema = {\n \"type\": \"steedos-object-table\",\n \"objectApiName\": objectName,\n \"columns\": listViewColumns,\n \"extraColumns\": listView.extra_columns,\n \"filters\": listviewFilter,\n \"filtersFunction\": listview_filters,\n \"sort\": sort,\n \"ctx\": ctx,\n \"requestAdaptor\": listView.requestAdaptor || ctx.requestAdaptor, \n \"adaptor\": listView.adaptor || ctx.adaptor,\n \"headerToolbarItems\": ctx.headerToolbarItems,\n \"filterVisible\": ctx.filterVisible,\n \"rowClassNameExpr\": ctx.rowClassNameExpr,\n \"crudDataFilter\": ctx.crudDataFilter,\n \"onCrudDataFilter\": ctx.onCrudDataFilter\n };\n // console.log(`getListSchema===>`,amisSchema)\n return {\n uiSchema,\n amisSchema,\n };\n}\n\nasync function convertColumnsToTableFields(columns, uiSchema, ctx = {}) {\n let fields = [];\n for (const column of columns) {\n let columnField, fieldName, displayName, filedInfo, rfUiSchema, rfFieldInfo;\n if (isString(column)) {\n if (column.indexOf('.') > 0) {\n fieldName = column.split('.')[0];\n displayName = column.split('.')[1];\n filedInfo = uiSchema.fields[fieldName];\n if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {\n rfUiSchema = await getUISchema(filedInfo.reference_to);\n rfFieldInfo = rfUiSchema.fields[displayName];\n columnField = Object.assign({}, rfFieldInfo, { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } }, ctx);\n }else if(filedInfo && filedInfo.type === 'object'){\n columnField = uiSchema.fields[column];\n }\n } else {\n if (uiSchema.fields[column]) {\n columnField = Object.assign({}, uiSchema.fields[column], ctx);\n }\n else if(ctx.extra){\n // 配置列表视图extra_columns时允许字段是hidden的,hidden的字段在uiSchema.fields中不存在\n columnField = {\n extra: true,\n name: column\n };\n }\n }\n if(columnField){\n // 列上的字段不认uiSchema.fields中定义的amis属性\n columnField = Object.assign({}, columnField, {amis: undefined});\n fields.push(columnField);\n }\n\n } else if (isObject$1(column)) {\n if (column.field.indexOf('.') > 0) {\n fieldName = column.field.split('.')[0];\n displayName = column.field.split('.')[1];\n filedInfo = uiSchema.fields[fieldName];\n if (filedInfo && (filedInfo.type === 'lookup' || filedInfo.type === 'master_detail') && isString(filedInfo.reference_to)) {\n rfUiSchema = await getUISchema(filedInfo.reference_to);\n rfFieldInfo = rfUiSchema.fields[displayName];\n columnField = Object.assign({}, rfFieldInfo, ctx,\n { name: `${fieldName}__expand.${displayName}`, expand: true, expandInfo: { fieldName, displayName } },\n {\n width: column.width,\n wrap: column.wrap // wrap = true 是没效果的\n }\n );\n } else if (filedInfo && filedInfo.type === 'object') {\n columnField = uiSchema.fields[column.field];\n }\n } else {\n if (uiSchema.fields[column.field]) {\n columnField = Object.assign({}, uiSchema.fields[column.field], ctx, {\n width: column.width,\n wrap: column.wrap // wrap = true 是没效果的\n });\n }\n else if(ctx.extra){\n // 配置列表视图extra_columns时允许字段是hidden的,hidden的字段在uiSchema.fields中不存在\n columnField = {\n extra: true,\n name: column.field\n };\n }\n }\n if(columnField){\n // 列上的字段不认uiSchema.fields中定义的amis属性,用列上配置的amis覆盖\n columnField = Object.assign({}, columnField, {amis: column.amis});\n fields.push(columnField);\n }\n }\n }\n return fields;\n}\n\n// 获取对象表格\nasync function getTableSchema(\n appName,\n objectName,\n columns,\n ctx = {}\n) {\n // console.time('getTableSchema', columns);\n const uiSchema = await getUISchema(objectName);\n\n let sort = ctx.sort;\n if(!sort){\n const sortField = ctx.sortField;\n const sortOrder = ctx.sortOrder;\n if(sortField){\n let sortStr = sortField + ' ' + sortOrder || 'asc';\n sort = sortStr;\n }\n }\n\n let fields = await convertColumnsToTableFields(columns, uiSchema);\n\n const extraColumns = ctx.extraColumns;\n\n if (extraColumns) {\n let extraFields = await convertColumnsToTableFields(extraColumns, uiSchema, {extra: true});\n fields = fields.concat(extraFields);\n }\n \n let crudOptions = {\n tabId: objectName,\n appId: appName,\n objectName: objectName,\n ...ctx,\n filter: ctx.filters,\n sort,\n headerToolbarItems: ctx.headerToolbarItems,\n buttons: await getListViewItemButtons(uiSchema, ctx)\n };\n crudOptions.amisData = createObject(ctx.amisData || {}, {});\n const amisSchema = await getObjectCRUD(uiSchema, fields, crudOptions);\n // console.timeEnd('getTableSchema');\n return {\n uiSchema,\n amisSchema,\n };\n}\n\n// 获取对象日历\nasync function getCalendarSchema(\n appName,\n objectName,\n calendarOptions,\n ctx = {}\n) {\n const uiSchema = await getUISchema(objectName);\n const amisSchema = await getObjectCalendar(uiSchema, calendarOptions, {\n tabId: objectName,\n appId: appName,\n objectName: objectName,\n ...ctx\n });\n return {\n uiSchema,\n amisSchema\n };\n}\n\nasync function getRecordDetailHeaderSchema(objectName,recordId, options){\n const uiSchema = await getUISchema(objectName);\n const amisSchema = await getObjectRecordDetailHeader(uiSchema, recordId, options);\n return {\n uiSchema,\n amisSchema,\n };\n}\n\nasync function getRecordDetailSchema(objectName, appId, props = {}){\n const uiSchema = await getUISchema(objectName);\n const relatedLists = await getObjectRelatedList(objectName);\n const detailed = {\n \"title\": i18next.t('frontend_record_detail_tab_detailed'),\n \"className\": \"px-0 py-4\",\n \"body\": [\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n appId: appId\n }\n ],\n };\n const related = {\n \"title\": i18next.t('frontend_record_detail_tab_related'),\n \"className\": \"px-0 py-4\",\n \"body\": [\n {\n \"type\": \"steedos-object-related-lists\",\n \"label\": \"相关列表\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n appId: appId\n }\n ],\n };\n const content = {\n \"type\": \"tabs\",\n \"className\": \"steedos-record-tabs bg-white p-4 sm:m-4 sm:shadow sm:rounded\",\n \"contentClassName\": \"bg-none\",\n \"tabs\": [\n detailed\n ],\n };\n if(relatedLists.length){\n content.tabs.push(related);\n }\n // content.tabs = reverse(content.tabs)\n return {\n uiSchema,\n amisSchema: {\n \"type\": \"steedos-record-service\",\n \"body\": [\n {\n \"type\": \"steedos-record-detail-header\",\n \"label\": \"标题面板\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n \"id\": \"u:48d2c28eb755\",\n \"showButtons\": props.showButtons,\n \"showBackButton\": props.showBackButton,\n },\n content\n ],\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n onEvent: props.onEvent,\n }\n }\n}\n\nasync function getRecordServiceSchema(objectName, appId, props = {}, body) {\n const uiSchema = await getUISchema(objectName);\n const fields = ___default.values(uiSchema.fields);\n const serviceId = `u:steedos-record-service-${objectName}`;\n return {\n uiSchema,\n amisSchema: {\n type: 'service',\n className: \"p-0 m-0\",\n onEvent: {\n [`@data.changed.${objectName}`]: {\n \"actions\": [\n {\n \"actionType\": \"reload\",\n \"componentId\": serviceId,\n \"expression\": \"this.__deletedRecord != true\"\n },\n {\n \"actionType\": \"closeDialog\",\n \"expression\": \"this.__deletedRecord === true && this._inDrawer === true\"\n },\n {\n \"actionType\": \"custom\",\n \"script\": \"window.goBack()\",\n \"expression\": \"this.__deletedRecord === true && this._inDrawer != true\"\n }\n ]\n },\n },\n body: {\n \"type\": \"service\",\n id: serviceId,\n className: 'steedos-record-service p-0',\n api: await getReadonlyFormInitApi(uiSchema, props.recordId, fields, props),\n body: {\n \"type\": \"wrapper\",\n \"className\": \"p-0 m-0\",\n \"body\": body || [],\n \"hiddenOn\": \"${recordLoaded != true}\"\n },\n data: {\n \"_master.objectName\": \"${objectName}\",\n \"_master.recordId\": \"${recordId}\",\n // 微页面设计器中用RecordServic组件包裹一个ObjectForm只读组件时,如果这里不把recordLoaded默认设置为false\n // recordLoaded值会取父作用域中已经被设置为true的值(比如父级有RecordServic组件,在加载完数据后,父作用域中recordLoaded值为true)\n // 这会造成表单内steedos field组件lookup字段中props.data取到的是父作用域中的数据\n \"recordLoaded\": false,\n ...(props.data || {})\n },\n \"style\": {\n // \"padding\": \"var(--Page-body-padding)\",\n ...props.style\n },\n onEvent: {\n // 如果定义了fetchInited,则无法接收到广播事件@data.changed\n \"fetchInited\": { \n \"weight\": 0,\n \"actions\": [\n {\n actionType: 'broadcast',\n eventName: \"recordLoaded\",\n data: {\n objectName: \"${event.data.__objectName}\",\n record: \"${event.data.record}\"\n },\n expression: \"${event.data.__response.error != true}\"\n },\n ]\n },\n ...props.onEvent\n }\n }\n }\n \n \n }\n}\n\nasync function getRecordDetailMiniSchema(objectName, appId, props = {}){\n const uiSchema = await getUISchema(objectName);\n const fields = ___default.values(uiSchema.fields);\n\n props.initApiAdaptor = 'payload.data=Object.assign({}, payload.data, payload.data.record); payload.data._finished=true; console.log(\"payload data is ====>\", payload)';\n\n // TODO 处理相关表\n // getObjectRelatedListsMiniSchema\n\n return {\n type: \"form\",\n wrapWithPanel: false,\n actions: [],\n initApi: await getReadonlyFormInitApi(uiSchema, props.recordId, fields, props),\n body: {\n \"type\": \"wrapper\",\n \"className\": \"p-0 m-0\",\n \"body\": [\n {\n \"type\": \"steedos-record-detail-header\",\n \"showButtons\": false,\n \"showBackButton\": false,\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n },\n // {\n // \"type\": \"steedos-object-related-lists\",\n // \"label\": \"相关列表\",\n // \"objectApiName\": \"${objectName}\",\n // \"staticRecordId\": \"${recordId}\",\n // formFactor: \"SMALL\", \n // appId: appId\n // }\n ],\n \"hiddenOn\": \"${_finished != true}\"\n }\n }\n}\n\n// 获取单个相关表\nasync function getObjectRelated(\n {appName,\n masterObjectName,\n objectName,\n relatedFieldName,\n recordId,\n formFactor}\n) {\n let filter = null;\n const refField = await getField(objectName, relatedFieldName);\n if (\n refField._reference_to ||\n (refField.reference_to && !isString(refField.reference_to))\n ) {\n filter = [\n [`${relatedFieldName}/o`, \"=\", masterObjectName],\n [`${relatedFieldName}/ids`, \"=\", recordId],\n ];\n } else {\n filter = [`${relatedFieldName}`, \"=\", recordId];\n }\n const masterObjectUISchema = await getUISchema(masterObjectName);\n return {\n masterObjectName: masterObjectName,\n object_name: objectName,\n foreign_key: relatedFieldName,\n schema: await getListSchema(appName, objectName, \"all\", {\n globalFilter: filter,\n formFactor: formFactor,\n }),\n record: await getRecord(masterObjectName, recordId, [\n masterObjectUISchema.NAME_FIELD_KEY,\n ]),\n masterObjectUISchema: masterObjectUISchema,\n };\n}\n\n\nif(typeof window != 'undefined'){\n window.getUISchema = getUISchema;\n window.getUISchemaSync = getUISchemaSync$1;\n window.getListSchema = getListSchema;\n}\n\nconst refUsersObjectName = \"space_users\";\nconst refOrgsObjectName = \"organizations\";\n\nasync function getSource$1(field, ctx) {\n // data.query 最终格式 \"{ \\tleftOptions:organizations(filters: {__filters}){value:_id,label:name,children}, children:organizations(filters: {__filters}){ref:_id,children}, defaultValueOptions:space_users(filters: {__options_filters}){user,name} }\"\n const data = await getFindQuery({ name: refOrgsObjectName }, null, [{ name: \"_id\", alias: \"value\" },{name: \"parent\"}, { name: \"name\", alias: \"label\" }, { name: \"children\" }], {\n alias: \"leftOptions\",\n filters: \"{__filters}\"\n });\n data.query = data.query.replace(/,count\\:.+/, \"}\");\n const childrenData = await getFindQuery({ name: refOrgsObjectName }, null, [{ name: \"_id\", alias: \"ref\" }], {\n alias: \"children\",\n filters: \"{__filters}\"\n });\n childrenData.query = childrenData.query.replace(/,count\\:.+/, \"}\");\n data.query = data.query.replace(/}$/, \",\" + childrenData.query.replace(/{(.+)}/, \"$1}\"));\n const defaultValueOptionsData = await getFindQuery({ name: refUsersObjectName }, null, [{ name: \"user\", alias: \"value\" }, { name: \"name\", alias: \"label\" }], {\n alias: \"defaultValueOptions\",\n filters: \"{__options_filters}\"\n });\n defaultValueOptionsData.query = defaultValueOptionsData.query.replace(/,count\\:.+/, \"}\");\n data.query = data.query.replace(/}$/, \",\" + defaultValueOptionsData.query.replace(/{(.+)}/, \"$1}\"));\n let valueField = `${field.name}`;\n if(field._prefix){\n // field._prefix一般来object类型字段的子字段的父字段api名称,比如流程对象的字段perms.users_can_add前缀为perms.\n valueField = `${field._prefix}${field.name}`;\n }\n if(ctx.fieldNamePrefix){\n // ctx.fieldNamePrefix一般来自列表搜索,值为__searchable__\n valueField = `${ctx.fieldNamePrefix}${valueField}`;\n }\n data.$value = `$${valueField}`;\n // data[\"&\"] = \"$$\";\n\n const requestAdaptor = `\n var filters = [];\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"${field.multiple ? \"in\" : \"=\"}\";\n var optionsFilters = [[\"user\", optionsFiltersOp, []]];\n if (defaultValue) { \n optionsFilters = [[\"user\", optionsFiltersOp, defaultValue]];\n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n `;\n const adaptor = `\n const data = payload.data;\n const rows = data.leftOptions\n data.children = data.children.map(function (child) { \n // child.defer = !!(child.children && child.children.length);\n child.defer = true;\n delete child.children;\n return child;\n });\n\n var getTreeOptions = SteedosUI.getTreeOptions\n data.leftOptions = getTreeOptions(rows);\n\n \n var defaultValueOptions = data.defaultValueOptions;\n data.children = _.union(data.children, defaultValueOptions);\n delete data.defaultValueOptions;\n payload.data = { options: [data] };\n return payload;\n `;\n return {\n \"method\": \"post\",\n // 这里需要ObjectForm在api请求成功后才显示其中的amis form,否则就会有bug\n // 见issue: https://github.com/baidu/amis/issues/6065\n // \"url\": graphql.getApi() + `?value=\\${${field.multiple ? valueField + \"|join\" : valueField}}`,\n // \"url\": graphql.getApi() + `?value=\\${editFormInited}`,\n \"url\": getApi$2(),\n \"requestAdaptor\": requestAdaptor,\n \"adaptor\": adaptor,\n \"data\": data,\n // \"sendOn\": `this.editFormInited`,\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n }\n}\n\nasync function getDeferApi$1(field, ctx) {\n // data.query 最终格式 \"{ \\toptions:{__object_name}(filters:{__filters}){{__fields}} }\"\n const data = await getFindQuery({ name: \"{__object_name}\" }, null, [], {\n alias: \"options\",\n // filters: \"{__filters}\",\n queryOptions: `filters: {__filters}, sort: \"{__sort}\"`\n });\n // 传入的默认过滤条件,比如[[\"name\", \"contains\", \"三\"]],将会作为基本过滤条件\n let filters = field.filters;\n if(typeof filters === \"string\"){\n filters = new Function(`return ${filters}`);\n filters = filters();\n }\n if(typeof filters === \"function\"){\n filters = filters(field);\n }\n data.query = data.query.replace(/,count\\:.+/, \"}\");\n // 字段要根据请求参数动态生成,写死为__fields后续在发送适配器中替换\n data.query = data.query.replace(\"{_id}\", \"{{__fields}}\");\n const requestAdaptor = `\n var dep = api.query.dep;\n var ref = api.query.ref;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"${refOrgsObjectName}\";\n fields = \"value:_id,label:name,children\";\n filters = [['parent', '=', dep]];\n sort = \"${ctx.orgsSort}\";\n }\n else if (ref) { \n objectName = \"${refUsersObjectName}\";\n // 这里要额外把字段转为value和label是因为valueField和labelField在deferApi/searchApi中不生效,所以字段要取两次\n fields = \"_id,value:user,label:name\";\n // fields = \"user,name,value:user,label:name\";\n filters = [['user_accepted', '=', true]];\n var defaultFilters = ${filters && JSON.stringify(filters)};\n if(defaultFilters){\n filters.push(defaultFilters);\n }\n filters.push(['organizations_parents', '=', ref]);\n sort = \"${ctx.usersSort}\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__fields}/g, fields).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n `;\n const adaptor = `\n if (api.query.dep) {\n // 展开组织时才需要根据children值设置defer属性\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n `;\n return {\n \"method\": \"post\",\n \"url\": getApi$2() + \"&ref=${ref}&dep=${value}\",\n \"requestAdaptor\": requestAdaptor,\n \"adaptor\": adaptor,\n \"data\": data,\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nasync function getSearchApi(field, ctx) {\n // data.query 最终格式 \"{ \\toptions:space_users(filters: {__filters}){user,name,value:user,label:name}}\"\n // 这里要额外把字段转为value和label是因为valueField和labelField在deferApi/searchApi中不生效,所以字段要取两次\n const data = await getFindQuery({ name: refUsersObjectName }, null, [{ name: \"user\", alias: \"value\" }, { name: \"name\", alias: \"label\" }], {\n alias: \"options\",\n // filters: \"{__filters}\",\n queryOptions: `filters: {__filters}, sort: \"{__sort}\"`\n });\n data.query = data.query.replace(/,count\\:.+/, \"}\");\n // 传入的默认过滤条件,比如[[\"name\", \"contains\", \"三\"]],将会作为基本过滤条件\n const filters = field.filters;\n const requestAdaptor = `\n var term = api.query.term;\n var filters;\n var sort = \"\";\n if (term) { \n filters = [['user_accepted', '=', true]];\n var defaultFilters = ${filters && JSON.stringify(filters)};\n if(defaultFilters){\n filters.push(defaultFilters);\n }\n var fieldsForSearch = [\"name\", \"username\", \"email\", \"mobile\"];\n var termFilters = [];\n fieldsForSearch.forEach(function (field) {\n termFilters.push([field, 'contains', term]);\n termFilters.push(\"or\");\n });\n termFilters.pop();\n filters.push(termFilters);\n sort = \"${ctx.usersSort}\";\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n `;\n return {\n \"method\": \"post\",\n \"url\": getApi$2() + \"?term=${term}\",\n \"requestAdaptor\": requestAdaptor,\n \"data\": data,\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nfunction getRefListViewSort$1(refObject){\n let listView = getLookupListView(refObject);\n let sort = \"\";\n if(listView){\n sort = getListViewSort(listView);\n }\n return sort;\n}\n\nasync function getSelectUserSchema(field, readonly, ctx) {\n if (!field) {\n return {}\n }\n\n if (!ctx) {\n ctx = {};\n }\n const amisSchema = {\n \"type\": getAmisStaticFieldType('select', readonly)\n };\n\n if (readonly) {\n amisSchema.tpl = await getLookupTpl(field, ctx);\n }\n else {\n const refUsersObjectConfig = await getUISchema(refUsersObjectName);\n ctx.usersSort = getRefListViewSort$1(refUsersObjectConfig);\n const refOrgsObjectConfig = await getUISchema(refOrgsObjectName);\n ctx.orgsSort = getRefListViewSort$1(refOrgsObjectConfig);\n Object.assign(amisSchema, {\n // \"labelField\": \"name\",\n // \"valueField\": \"user\",\n \"multiple\": field.multiple,\n \"searchable\": field.searchable,\n \"selectMode\": \"associated\",\n \"leftMode\": \"tree\",\n \"extractValue\": true,\n \"clearable\": true,\n \"source\": await getSource$1(field, ctx),\n \"deferApi\": await getDeferApi$1(field, ctx),\n \"searchApi\": await getSearchApi(field, ctx)\n });\n if(field.multiple){\n // 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题\n Object.assign(amisSchema, {\n \"joinValues\": false,\n });\n }\n if (typeof amisSchema.searchable !== \"boolean\") {\n amisSchema.searchable = true;\n }\n\n if(ctx.value){\n amisSchema.value = ctx.value;\n }\n\n const onEvent = field.onEvent;\n if (onEvent) {\n amisSchema.onEvent = onEvent;\n }\n }\n return amisSchema;\n}\n\nasync function getSource(field, ctx) {\n // data.query 最终格式 \"{ \\tleftOptions:organizations(filters: {__filters}){value:_id,label:name,children}, children:organizations(filters: {__filters}){ref:_id,children}, defaultValueOptions:space_users(filters: {__options_filters}){user,name} }\"\n const refObjectName = ctx.objectName;\n let optionQueryFields = [{ name: ctx.valueField, alias: \"value\" }, { name: ctx.labelField, alias: \"label\" }, { name: \"children\" }];\n let defaultOptionQueryFields = optionQueryFields.filter(function (f) { return f.name !== \"children\" });\n\n // 把自动填充规则中依赖的字段也加到api请求中\n let autoFillMapping = !field.multiple && field.auto_fill_mapping;\n if (autoFillMapping && autoFillMapping.length) {\n autoFillMapping.forEach(function (item) {\n if(item.from !== \"children\"){\n optionQueryFields.push({ name: item.from });\n }\n defaultOptionQueryFields.push({ name: item.from });\n });\n }\n\n const data = await getFindQuery({ name: refObjectName }, null, optionQueryFields, {\n expand: false,\n alias: \"options\",\n filters: \"{__filters}\"\n });\n data.query = data.query.replace(/,count\\:.+/, \"}\");\n // const childrenData = await graphql.getFindQuery({ name: refObjectName }, null, [{ name: ctx.valueField, alias: \"ref\" }], {\n // alias: \"children\",\n // filters: \"{__filters}\"\n // });\n // childrenData.query = childrenData.query.replace(/,count\\:.+/, \"}\");\n // data.query = data.query.replace(/}$/, \",\" + childrenData.query.replace(/{(.+)}/, \"$1}\"));\n const defaultValueOptionsData = await getFindQuery({ name: refObjectName }, null, defaultOptionQueryFields, {\n expand: false,\n alias: \"defaultValueOptions\",\n filters: \"{__options_filters}\"\n });\n defaultValueOptionsData.query = defaultValueOptionsData.query.replace(/,count\\:.+/, \"}\");\n data.query = data.query.replace(/}$/, \",\" + defaultValueOptionsData.query.replace(/{(.+)}/, \"$1}\"));\n let valueField = `${field.name}`;\n if(field._prefix){\n // field._prefix一般来object类型字段的子字段的父字段api名称,比如流程对象的字段perms.users_can_add前缀为perms.\n valueField = `${field._prefix}${field.name}`;\n }\n if(ctx.fieldNamePrefix){\n // ctx.fieldNamePrefix一般来自列表搜索,值为__searchable__\n valueField = `${ctx.fieldNamePrefix}${valueField}`;\n }\n data.$value = `$${valueField}`;\n data['$'] = `$$`;\n const requestAdaptor = `\n var filters = [['parent', '=', null]];\n const filtersFunction = ${field.filtersFunction || field._filtersFunction};\n if(filtersFunction){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters));\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"${field.multiple ? \"in\" : \"=\"}\";\n var optionsFilters = [[\"${ctx.valueField}\", optionsFiltersOp, []]];\n if (defaultValue) { \n optionsFilters = [[\"${ctx.valueField}\", optionsFiltersOp, defaultValue]];\n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n `;\n const adaptor = `\n const data = payload.data;\n data.options = data.options.map(function (optionItem) {\n optionItem.defer = !!(optionItem.children && optionItem.children.length);\n delete optionItem.children;\n return optionItem;\n });\n var defaultValueOptions = data.defaultValueOptions;\n // 字段值下拉选项合并到options中\n data.options = _.unionWith(data.options, defaultValueOptions, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data = data;\n return payload;\n `;\n return {\n \"method\": \"post\",\n \"url\": getApi$2(),\n \"requestAdaptor\": requestAdaptor,\n \"adaptor\": adaptor,\n \"data\": data,\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n }\n}\n\nasync function getDeferApi(field, ctx) {\n // data.query 最终格式 \"{ \\toptions:{__object_name}(filters:{__filters}){{__fields}} }\"\n const refObjectName = ctx.objectName;\n let optionQueryFields = [{ name: ctx.valueField, alias: \"value\" }, { name: ctx.labelField, alias: \"label\" }, { name: \"children\" }];\n\n // 把自动填充规则中依赖的字段也加到api请求中\n let autoFillMapping = !field.multiple && field.auto_fill_mapping;\n if (autoFillMapping && autoFillMapping.length) {\n autoFillMapping.forEach(function (item) {\n if(item.from !== \"children\"){\n optionQueryFields.push({ name: item.from });\n }\n });\n }\n\n const data = await getFindQuery({ name: \"{__object_name}\" }, null, optionQueryFields, {\n expand: false,\n alias: \"options\",\n // filters: \"{__filters}\",\n queryOptions: `filters: {__filters}, sort: \"{__sort}\"`\n });\n // 传入的默认过滤条件,比如[[\"name\", \"contains\", \"三\"]],将会作为基本过滤条件\n let filters = field.filters;\n if(typeof filters === \"string\"){\n filters = new Function(`return ${filters}`);\n filters = filters();\n }\n if(typeof filters === \"function\"){\n filters = filters(field);\n }\n data.query = data.query.replace(/,count\\:.+/, \"}\");\n const requestAdaptor = `\n var dep = api.query.dep;\n var term = api.query.term;\n var filters;\n var objectName;\n var fields;\n var sort = \"\";\n if (dep) {\n objectName = \"${refObjectName}\";\n filters = [['parent', '=', dep]];\n sort = \"${ctx.sort}\";\n }\n api.data.query = api.data.query.replace(/{__object_name}/g, objectName).replace(/{__filters}/g, JSON.stringify(filters)).replace('{__sort}', sort.trim());\n return api;\n `;\n const adaptor = `\n if (api.query.dep) {\n // 展开组织时才需要根据children值设置defer属性\n const data = payload.data;\n data.options = data.options.map(function (option) {\n option.defer = !!(option.children && option.children.length);\n delete option.children;\n return option;\n });\n payload.data = data;\n }\n return payload;\n `;\n return {\n \"method\": \"post\",\n \"url\": getApi$2() + \"&dep=${value}\",\n \"requestAdaptor\": requestAdaptor,\n \"adaptor\": adaptor,\n \"data\": data,\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nfunction getRefListViewSort(refObject){\n let listView = getLookupListView(refObject);\n \n let sort = \"\";\n if(listView){\n sort = getListViewSort(listView);\n }\n return sort;\n}\n\nasync function lookupToAmisTreeSelect(field, readonly, ctx) {\n if (!field) {\n return {}\n }\n\n if (!ctx) {\n ctx = {};\n }\n const amisSchema = {\n \"type\": getAmisStaticFieldType('tree-select', readonly)\n };\n\n if (readonly) {\n amisSchema.tpl = await getLookupTpl(field, ctx);\n }\n else {\n const refObjectConfig = await getUISchema(ctx.objectName);\n ctx.sort = getRefListViewSort(refObjectConfig);\n Object.assign(amisSchema, {\n // \"labelField\": ctx.labelField,\n // \"valueField\": ctx.valueField,\n \"multiple\": field.multiple,\n \"searchable\": field.searchable,\n \"extractValue\": true,\n \"hideNodePathLabel\": true,\n \"clearable\": true,\n \"source\": await getSource(field, ctx),\n \"deferApi\": await getDeferApi(field, ctx),\n // \"searchApi\": await getSearchApi(field, ctx)\n });\n if(field.multiple){\n // 单选时如果配置joinValues为false,清空字段值会把字段值设置为空数组,这是amis人员单选功能的bug,普通的select没有这个问题\n Object.assign(amisSchema, {\n \"joinValues\": false,\n });\n }\n if (typeof amisSchema.searchable !== \"boolean\") {\n amisSchema.searchable = true;\n }\n const onEvent = field.onEvent;\n if (onEvent) {\n amisSchema.onEvent = onEvent;\n }\n }\n return amisSchema;\n}\n\nconst getReferenceToFieldSchema = (field, refObjectConfig)=>{\n let referenceTo = field.reference_to;\n if(!referenceTo){\n return;\n }\n\n // 如果lookup 引用的对象未定义\n if (!refObjectConfig)\n return null;\n\n let valueField = null;\n let valueFieldName = field.reference_to_field;\n if(!valueFieldName){\n valueFieldName = refObjectConfig.idFieldName || '_id';\n }\n if(valueFieldName === '_id'){\n valueField = {name: '_id', label: 'ID', type: 'text', toggled: false};\n }else {\n valueField = refObjectConfig.fields[valueFieldName] || {name: valueFieldName};\n }\n return {\n objectName: referenceTo,\n valueField: valueField,\n labelField: refObjectConfig.fields[refObjectConfig.NAME_FIELD_KEY || 'name'],\n NAME_FIELD_KEY: refObjectConfig.NAME_FIELD_KEY || 'name'\n }\n};\n\nconst getReferenceTo = async (field)=>{\n let referenceTo = field.reference_to;\n if(referenceTo === 'users'){\n field.reference_to = 'space_users';\n field.reference_to_field = 'user';\n }\n\n const refObjectConfig = await getUISchema(field.reference_to);\n return getReferenceToFieldSchema(field, refObjectConfig);\n};\n\nfunction getReferenceToSync(field) {\n let referenceTo = field.reference_to;\n if(referenceTo === 'users'){\n field.reference_to = 'space_users';\n field.reference_to_field = 'user';\n }\n\n const refObjectConfig = getUISchemaSync(field.reference_to);\n return getReferenceToFieldSchema(field, refObjectConfig);\n}\n\nfunction getLookupSapceUserTreeSchema(isMobile){\n let apiAdaptor = `\n const records = payload.data.options;\n const treeRecords = [];\n const getChildren = (currentRecord, records, childrenIds) => {\n if (currentRecord.children && typeof currentRecord.children[0] === \"object\") {\n // 考虑api配置了cache缓存的话,不会请求接口但是会重新进这个接收适配器脚本且payload.data.options返回的会是上一次计算结果,这里直接返回计算过的children\n return currentRecord.children;\n }\n if (!childrenIds) {\n return;\n }\n const children = _.filter(records, (record) => {\n return _.includes(childrenIds, record.value)\n });\n _.each(children, (item) => {\n if (item.children) {\n item.children = getChildren(item, records, item.children)\n }else{\n item.children = [];\n }\n })\n return children;\n }\n \n const getRoot = (records) => {\n for (var i = 0; i < records.length; i++) {\n records[i].noParent = 0;\n if (!!records[i].parent) {\n biaozhi = 1\n for (var j = 0; j < records.length; j++) {\n if (records[i].parent == records[j].value)\n biaozhi = 0;\n }\n if (biaozhi == 1) records[i].noParent = 1;\n } else records[i].noParent = 1;\n }\n }\n getRoot(records);\n console.log(records)\n \n _.each(records, (record) => {\n if (record.noParent == 1) {\n treeRecords.push(Object.assign({}, record, { children: getChildren(record, records, record.children) }));\n }\n });\n console.log(treeRecords)\n \n payload.data.options = treeRecords;\n return payload;\n `;\n const treeSchema = {\n \"type\": \"input-tree\",\n \"className\":\"steedos-select-user-tree\",\n \"inputClassName\": \"p-0\",\n \"source\": {\n \"method\": \"post\",\n \"url\": \"${context.rootUrl}/graphql\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"adaptor\": apiAdaptor,\n \"data\": {\n \"query\": \"{options:organizations(filters:[\\\"hidden\\\", \\\"!=\\\", true],sort:\\\"sort_no desc\\\"){value:_id label:name,parent,children}}\"\n },\n \"messages\": {\n },\n \"cache\": 300000\n },\n \"onEvent\": {\n \"change\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": `\n const scope = event.context.scoped;\n var filterFormValues={\n \"__searchable__organizations_parents\":event.data.value.value\n }\n var listView = scope.parent.getComponents().find(function(n){\n return n.props.type === \"crud\";\n });\n listView.handleFilterSubmit(Object.assign({}, filterFormValues));\n `\n },\n {\n \"actionType\": \"custom\",\n \"script\": \" if(window.innerWidth < 768){ document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open'); }\"\n }\n ]\n }\n },\n \"label\": \"\",\n \"mode\": \"normal\",\n \"name\": \"organizations\",\n \"multiple\": false,\n \"joinValues\": false,\n \"clearValueOnHidden\": false,\n \"fieldName\": \"organizations\",\n \"hideRoot\": true,\n \"initiallyOpen\": false,\n \"extractValue\": true,\n \"onlyChildren\": true,\n \"treeContainerClassName\": \"no-border\",\n \"showIcon\": false,\n \"enableNodePath\": false,\n \"autoCheckChildren\": false,\n \"searchable\": true,\n \"searchConfig\": {\n \"sticky\": true,\n \"placeholder\": \"查找部门\"\n },\n \"unfoldedLevel\": 2,\n \"originPosition\": \"left-top\"\n };\n const tree = [];\n if(isMobile){\n tree.push({\n type: \"action\",\n body:[\n {\n type: \"action\",\n body:[\n treeSchema\n ],\n className:\"h-full w-[240px]\"\n }\n ],\n className: \"absolute inset-0 steedos-select-user-sidebar\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.querySelector('.steedos-select-user-sidebar').classList.remove('steedos-select-user-sidebar-open')\"\n }\n ]\n }\n },\n id: \"steedos_crud_toolbar_select_user_tree\"\n });\n tree.push({\n \"type\": \"button\",\n \"label\": \"组织\",\n \"icon\": \"fa fa-sitemap\",\n \"className\": \"bg-white p-2 rounded border-gray-300 text-gray-500\",\n \"align\": \"left\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": \"document.querySelector('.steedos-select-user-sidebar').classList.toggle('steedos-select-user-sidebar-open')\"\n }\n ]\n }\n },\n \"id\": \"steedos_crud_toolbar_organization_button\"\n });\n }else {\n tree.push(treeSchema);\n }\n \n return tree;\n}\n\nasync function lookupToAmisPicker(field, readonly, ctx){\n let referenceTo = await getReferenceTo(field);\n if(!referenceTo){\n return ;\n }\n const refObjectConfig = await getUISchema(referenceTo.objectName);\n\n ctx.idFieldName = refObjectConfig.idFieldName;\n ctx.objectName = refObjectConfig.name;\n\n // 是否显示lookup字段左侧的过滤器(如果有的话),默认为true,目前只有lookup选人字段有左侧树过滤器\n const showLeftFilter = field.show_left_filter !== false;\n\n let tableFields = [];\n const searchableFields = [];\n\n let fieldsArr = [];\n \n const isMobile = window.innerWidth < 768;\n\n let listView = getLookupListView(refObjectConfig);\n let listName = listView && listView.name;\n if (listView && listView.columns) {\n _$1.each(listView.columns, function (column) {\n if (_$1.isString(column) && refObjectConfig.fields[column]) {\n fieldsArr.push(refObjectConfig.fields[column]);\n } else if (_$1.isObject(column) && refObjectConfig.fields[column.field]) {\n fieldsArr.push(\n Object.assign({}, refObjectConfig.fields[column.field], {\n width: column.width,\n wrap: column.wrap,\n amis: column.amis\n })\n );\n }\n });\n _$1.each(listView.extra_columns || [], function (column) {\n // Lookup弹出列表跟列表视图组件一样,支持配置列表视图extra_columns,且允许其中字段是hidden的,hidden的字段在uiSchema.fields中不存在\n if (_$1.isString(column)) {\n fieldsArr.push({\n extra: true,\n name: column\n });\n } else if (_$1.isObject(column)) {\n fieldsArr.push({\n extra: true,\n name: column.field\n });\n }\n });\n }else {\n _$1.each(refObjectConfig.fields, (field, field_name)=>{\n if(field_name != '_id' && !field.hidden){\n if(!_$1.has(field, \"name\")){\n field.name = field_name;\n }\n fieldsArr.push(field);\n }\n });\n // 没有视图权限时,取对象上前5个字段,按sort_no排序\n fieldsArr = _$1.sortBy(fieldsArr, \"sort_no\").slice(0,5);\n }\n\n _$1.each(fieldsArr,function(field){\n if(!_$1.find(tableFields, function(f){\n return f.name === field.name\n })){\n tableFields.push(field);\n }\n });\n\n // 把自动填充规则中依赖的字段也加到api请求中\n let autoFillMapping = field.auto_fill_mapping;\n if (autoFillMapping && autoFillMapping.length) {\n autoFillMapping.forEach(function (item) {\n if(!_$1.find(tableFields, function(f){\n return f.name === item.from\n })){\n tableFields.push(refObjectConfig.fields[item.from]);\n }\n });\n }\n\n _$1.each(refObjectConfig.fields, function (field) {\n if(isFieldQuickSearchable(field, refObjectConfig.NAME_FIELD_KEY)){\n searchableFields.push(field.name);\n }\n });\n\n const fields = {\n [referenceTo.labelField.name]: referenceTo.labelField,\n [referenceTo.valueField.name]: referenceTo.valueField\n };\n\n _$1.each(tableFields, (tableField)=>{\n if(!tableField.hidden){\n fields[tableField.name] = tableField;\n }\n });\n\n let listviewFilter = getListViewFilter(listView);\n let listviewFiltersFunction = listView && listView._filters;\n\n let sort = \"\";\n if(listView){\n sort = getListViewSort(listView);\n }\n\n const source = await getApi(refObjectConfig, null, fields, {expand: true, alias: 'rows', queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\"`});\n \n if(source.url && !ctx.inFilterForm){\n const depend_on = [];\n const sendOn = [];\n _$1.each(field.depend_on, (fName)=>{\n depend_on.push(`depend_on_${fName}=\\${${fName}}`);\n sendOn.push(`this.${fName}`);\n });\n if(depend_on.length > 0){\n source.url = `${source.url}?${depend_on.join('&')}`;\n source.sendOn = `${sendOn.join(' && ')}`;\n }\n }\n \n // amis@3.6.3和6.3.0如果不配置 trackExpression监听当前字段值变化,那么当前lookup字段(比如T)作为其它lookup字段(比如F)autoFill自动填充的目标字段的话,\n // F字段值变更后,虽然会自动填充值到T字段中,但是并不会触发T字段的source接口重新请求,这会造成T字段被填充后,可能会显示为字段id而不是label了,见issue:https://github.com/steedos/steedos-platform/issues/6601\n // amis@6.2.2不需要配置trackExpression不会有#6601所示问题,但是更高版本6.3.0也会有,所以这里只能加上trackExpression避开相关bug。\n source.trackExpression = `\\${${field.name}}`;\n \n source.data.$term = \"$term\";\n source.data.$self = \"$$\";\n\n // field.name可能是带点的名称,比如审批王中子表字段'instances.instances_submitter',如果不替换掉点,会造成审批王表单中新建子表行时报错\n let keywordsSearchBoxName = `__keywords_lookup__${field.name.replace(/\\./g, \"_\")}__to__${refObjectConfig.name}`;\n\n source.requestAdaptor = `\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.data.$self[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.data.$self.__changedSearchBoxValues || {};\n // 把表单搜索和快速搜索中的change事件中记录的过滤条件也拼到$self中,是为解决触发搜索请求时,两边输入的过滤条件都带上,即:\n // 有时在搜索表单中输入过滤条件事,忘记点击回车键或搜索按钮,而是进一步修改快速搜索框中的关键字点击其中回车键触发搜索\n // 这种情况下,触发的搜索请求中没有带上搜索表单中输入的过滤条件。\n // 反过来先在快速搜索框中输入过滤条件却不点击其中回车键触发搜索,而是到搜索表单中触发搜索请求也是一样的。\n if(api.data.$self.op !== 'loadOptions'){\n Object.assign(api.data.$self, __changedSearchBoxValues, __changedFilterFormValues);\n }\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n ${listviewFilter && !ctx.inFilterForm ? `var filters = ${JSON.stringify(listviewFilter)};` : '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 sort = orderBy ? sort : \"${sort}\";\n var allowSearchFields = ${JSON.stringify(searchableFields)};\n let fieldValue;\n if(api.data.$term){\n filters = [[\"name\", \"contains\", \"'+ api.data.$term +'\"]];\n }else if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n fieldValue = selfData.value.split(',');\n filters = [[\"${referenceTo.valueField.name}\", \"=\", fieldValue]];\n }else{\n fieldValue = selfData.value;\n filters = [[\"${referenceTo.valueField.name}\", \"=\", fieldValue]];\n }\n }\n\n var searchableFilter = SteedosUI.getSearchFilter(selfData) || [];\n\n if(searchableFilter.length > 0){\n if(filters.length > 0 ){\n filters = [filters, 'and', searchableFilter];\n }else{\n filters = searchableFilter;\n }\n }\n\n if(${referenceTo?.objectName === \"space_users\"} && ${field.reference_to_field === \"user\"}){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n if(allowSearchFields){\n allowSearchFields.forEach(function(key){\n const keyValue = selfData[key];\n if(_.isString(keyValue)){\n filters.push([key, \"contains\", keyValue]);\n }else if(_.isArray(keyValue) || _.isBoolean(keyValue) || keyValue){\n filters.push([key, \"=\", keyValue]);\n }\n })\n }\n\n var keywordsFilters = SteedosUI.getKeywordsSearchFilter(selfData.${keywordsSearchBoxName}, allowSearchFields);\n if(keywordsFilters && keywordsFilters.length > 0){\n filters.push(keywordsFilters);\n }\n\n var fieldFilters = ${JSON.stringify(field.filters)};\n var currentAmis = (window.amisRequire && window.amisRequire('amis')) || Amis;\n //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // 如果当前元素是数组,则递归调用自身继续遍历\n traverseNestedArray(arr[i]);\n } else {\n // 如果当前元素不是数组,则处理该元素\n // 下面正则用于匹配amis公式\\${}\n if(/\\\\\\$\\\\\\{([^}]*)\\\\\\}/.test(arr[i])) {\n try{\n arr[i] = currentAmis.evaluate(arr[i], api.context);\n }catch(ex){\n console.error(\"运行lookup过滤公式时出现错误:\",ex);\n }\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n \n const inFilterForm = ${ctx.inFilterForm};\n\n const listviewFiltersFunction = ${listviewFiltersFunction};\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$self.__super);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ${field.filtersFunction || field._filtersFunction};\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$self.__super);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n\n const enable_tree = ${refObjectConfig.enable_tree};\n if(enable_tree){\n pageSize = 10000;\n }\n if(fieldValue && _.isArray(fieldValue) && fieldValue.length > pageSize){\n pageSize = fieldValue.length;\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 `;\n source.adaptor = `\n const enable_tree = ${refObjectConfig.enable_tree};\n const op = api.data.$self.op;\n if(!_.isEmpty(op)){\n // op不为空,表示处于字段初始编辑状态,不是点击后出现弹窗状态。\n // 这里不可以用_.pick函数让payload只返回labelField和valueField,因为字段上配置的amis autoFill功能可能依赖了其他字段\n /*\n const rows = _.map(payload.data.rows, (item)=>{\n return _.pick(item, [\"${referenceTo.labelField.name}\", \"${referenceTo.valueField.name}\"]);\n })\n payload.data.rows = rows;\n */\n if(enable_tree){\n const rows = _.map(payload.data.rows, (item)=>{\n if (!item.children) {\n return { ...item, children: [] };\n } else {\n return item;\n }\n })\n payload.data.rows = rows;\n }\n return payload;\n }\n if(!payload.data.rows){\n payload.data.rows = [];\n }\n if(enable_tree){\n const records = payload.data.rows;\n const treeRecords = [];\n\n const getParentIds = (records)=>{\n const ids = _.map(records, (item)=>{\n return item._id;\n });\n const parents = _.filter(records,(record)=>{\n return !record.parent || !_.includes(ids,record.parent);\n })\n const parentsIds = _.map(parents,(item)=>{\n return item._id;\n })\n return parentsIds;\n }\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 }else{\n item.children = [];\n }\n })\n return children;\n }\n\n const parentIds = getParentIds(records);\n _.each(records, (record)=>{\n if(!record.parent || _.includes(parentIds, record._id)){\n treeRecords.push(Object.assign({}, record, {children: getChildren(records, record.children)}));\n }\n });\n payload.data.rows = treeRecords;\n }\n const result = payload.data.rows;\n if(result && result.length){\n const updatedResult = _.map(result, (element) => {\n const data = { ...element };\n // image字段值添加URL前缀\n ${getScriptForAddUrlPrefixForImgFields(_$1.values(refObjectConfig.fields))}\n return data;\n });\n payload.data.rows = updatedResult;\n }\n let __changedFilterFormValuesKey = \"__changedFilterFormValues\";\n let __lookupField = api.data.$self.__lookupField;\n if(__lookupField){\n let lookupTag = \"__lookup__\" + __lookupField.name + \"__\" + __lookupField.reference_to;\n if(__lookupField.reference_to_field){\n lookupTag += \"__\" + __lookupField.reference_to_field;\n }\n __changedFilterFormValuesKey += lookupTag;\n }\n let __changedFilterFormValues = api.context[__changedFilterFormValuesKey] || {};\n let __changedSearchBoxValues = api.context.__changedSearchBoxValues || {};\n // 列表搜索和快速搜索,有时在某些操作情况下还是会造成crud接口请求使用的过滤条件是上次的,这里强制把正确的过滤条件返回到crud,详细规则见:https://github.com/steedos/steedos-platform/issues/7112\n payload.data[__changedFilterFormValuesKey] = __changedFilterFormValues;\n payload.data.__changedSearchBoxValues = __changedSearchBoxValues;\n return payload;\n `;\n if(field.optionsFunction || field._optionsFunction){\n source.adaptor = `\n payload.data.rows = eval(${field.optionsFunction || field._optionsFunction})(api.data.$self);\n return payload;\n `;\n }\n let top = 20;\n\n if(refObjectConfig.paging && refObjectConfig.paging.enabled === false){\n top = 1000;\n }\n\n let pickerSchema = null;\n {\n let labelFieldName = refObjectConfig.NAME_FIELD_KEY || 'name';\n // organizations 对象的历史遗留问题, fullname 被标记为了 名称字段. 在此处特殊处理.\n if(refObjectConfig.name === 'organizations'){\n labelFieldName = 'name';\n }\n pickerSchema = await getTableSchema$1(refObjectConfig, tableFields, {\n labelFieldName,\n top: top,\n isLookup: true,\n enable_tree: refObjectConfig.enable_tree,\n ...ctx\n });\n\n pickerSchema.affixHeader = false;\n\n \n\n pickerSchema.headerToolbar = getObjectHeaderToolbar(refObjectConfig, fieldsArr, ctx.formFactor, { isLookup: true, keywordsSearchBoxName });\n \n if(referenceTo.objectName === \"space_users\" && field.reference_to_field === \"user\" && showLeftFilter){\n pickerSchema.headerToolbar.push(getLookupSapceUserTreeSchema(isMobile));\n pickerSchema.className = pickerSchema.className || \"\" + \" steedos-select-user\";\n }\n \n const isAllowCreate = refObjectConfig.permissions.allowCreate;\n const isCreate = _$1.isBoolean(field.create) ? field.create : true;\n // lookup字段配置过滤条件就强制不显示新建按钮\n let hasFilters = !_$1.isEmpty(field.filters) || !!field.filtersFunction || !!field._filtersFunction;\n if (isAllowCreate && isCreate && !hasFilters) {\n const new_button = await getSchema$5(refObjectConfig, { appId: ctx.appId, objectName: refObjectConfig.name, formFactor: ctx.formFactor });\n new_button.align = \"right\";\n // 保持快速搜索放在最左侧,新建按钮往里插,而不是push到最后\n pickerSchema.headerToolbar.splice(pickerSchema.headerToolbar.length - 1, 0, new_button);\n }\n pickerSchema.footerToolbar = refObjectConfig.enable_tree ? [] : getObjectFooterToolbar(refObjectConfig,ctx.formFactor,{isLookup: true});\n if (ctx.filterVisible !== false) {\n pickerSchema.filter = await getObjectFilter(refObjectConfig, fields, {\n ...ctx,\n isLookup: true,\n keywordsSearchBoxName,\n searchable_fields: field.searchable_fields,\n auto_open_filter: field.auto_open_filter,\n show_left_filter: field.show_left_filter\n });\n }\n pickerSchema.data = Object.assign({}, pickerSchema.data, {\n \"&\": \"$$\",\n \"objectName\": refObjectConfig.name,\n \"uiSchema\": refObjectConfig,\n \"listName\": listName,// 需要按视图取可搜索项\n \"isLookup\": true,\n \"__lookupField\": {\n \"name\": field.name,\n \"reference_to\": refObjectConfig.name,\n \"reference_to_field\": field.reference_to_field\n }\n });\n\n if(!pickerSchema.onEvent){\n pickerSchema.onEvent = {};\n }\n\n pickerSchema.onEvent[`@data.changed.${refObjectConfig.name}`] = {\n \"actions\": [\n {\n \"actionType\": \"reload\"\n },\n {\n \"actionType\": \"custom\",\n \"script\": `\n const masterRecord = event.data._master && event.data._master.record;\n const fieldConfig = ${JSON.stringify(field)};\n let reference_to = fieldConfig.reference_to;\n let saveValue;\n const newRecord = {\n _id: event.data.result.data.recordId,\n ...event.data.__super.__super\n }\n const saveField = fieldConfig.reference_to_field || '_id';\n const saveFieldValue = newRecord[saveField];\n\n if( fieldConfig._reference_to && (_.isArray(fieldConfig._reference_to) || _.isFunction(fieldConfig._reference_to) || fieldConfig._reference_to.startsWith('function') ) ){\n \n const fieldValue = masterRecord ? masterRecord[fieldConfig.name] : {o: reference_to, ids: []};\n const baseSaveValue = {\n o: reference_to,\n ids: [saveFieldValue]\n };\n if(fieldValue && fieldValue.o){\n if(fieldValue.o === reference_to){\n saveValue = fieldConfig.multiple ? { o: reference_to, ids: fieldValue.ids.concat(saveFieldValue)} : baseSaveValue;\n }else{\n saveValue = baseSaveValue;\n }\n }else{\n saveValue = baseSaveValue;\n }\n\n }else{\n if(fieldConfig.multiple){\n // TODO: 连续新建多个记录时,因为获取的主记录不是实时的,所以只会勾选最后一个新建的记录。\n const fieldValue = (masterRecord && masterRecord[fieldConfig.name]) || [];\n saveValue = fieldValue.concat(saveFieldValue);\n }else{\n saveValue = saveFieldValue;\n }\n }\n \n const ctx = ${JSON.stringify(ctx)};\n const componentId = ctx.defaults.formSchema.id;\n doAction({\n actionType: 'setValue',\n componentId: componentId, \n args: {\n value: { [fieldConfig.name]: saveValue }\n }\n });\n `\n }\n ]\n };\n }\n\n if(field.pickerSchema){\n pickerSchema = Object.assign({}, pickerSchema, field.pickerSchema);\n }\n\n if(referenceTo.objectName === \"space_users\" && field.reference_to_field === \"user\" && isMobile){\n //手机端选人控件只保留部分toolbar\n pickerSchema.headerToolbar = pickerSchema.headerToolbar && pickerSchema.headerToolbar.filter(function(item){\n if([\"steedos_crud_toolbar_quick_search\",\"steedos_crud_toolbar_filter\",\"steedos_crud_toolbar_select_user_tree\",\"steedos_crud_toolbar_organization_button\"].indexOf(item.id) > -1){\n return true;\n }else {\n return false;\n }\n });\n pickerSchema.footerToolbar = [\"pagination\"];\n }\n\n if(field.inlineHelpText){\n pickerSchema.toolbarClassName = \"hasHelpText\";\n pickerSchema.headerToolbar = [{\n \"type\": \"tpl\",\n \"tpl\": field.inlineHelpText,\n \"className\": \"text-secondary\"\n }, ...pickerSchema.headerToolbar];\n }\n pickerSchema.className = (pickerSchema.className || \"\") + \" steedos-lookup-crud\";\n \n const data = {\n type: getAmisStaticFieldType('picker', readonly),\n className: ctx.className || '',\n modalTitle: i18next.t('frontend_form_please_select') + \" \" + refObjectConfig.label,\n labelField: referenceTo.labelField.name,\n valueField: referenceTo.valueField.name,\n // disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。\n disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || ((this.relatedKey ==='${field.name}') && (${field.multiple} != true)) )`,\n modalMode: 'dialog', //TODO 设置 dialog 或者 drawer,用来配置弹出方式\n source: source,\n size: \"lg\",\n pickerSchema: pickerSchema,\n joinValues: false,\n extractValue: true\n };\n if(field.multiple){\n data.multiple = true;\n data.extractValue = true;\n }\n\n if(readonly){\n data.tpl = await getLookupTpl(field, ctx);\n }\n return data;\n}\n\nasync function lookupToAmisSelect(field, readonly, ctx){\n let referenceTo = await getReferenceTo(field);\n const isMobile = window.innerWidth <= 768;\n const valueFieldKey = referenceTo && referenceTo.valueField?.name || '_id' ;\n // const labelFieldKey = referenceTo && referenceTo.labelField?.name || 'name';\n\n let apiInfo;\n let defaultValueOptionsQueryData;\n const refObjectConfig = referenceTo && await getUISchema(referenceTo.objectName);\n if(referenceTo){\n let queryFields = [\n Object.assign({}, referenceTo.labelField, {alias: 'label'}),\n Object.assign({}, referenceTo.valueField, {alias: 'value'})\n ];\n\n // 把自动填充规则中依赖的字段也加到api请求中\n let autoFillMapping = field.auto_fill_mapping;\n if (autoFillMapping && autoFillMapping.length) {\n autoFillMapping.forEach(function (item) {\n queryFields.push(refObjectConfig.fields[item.from]);\n });\n }\n\n // 字段值单独走一个请求合并到source的同一个GraphQL接口中\n defaultValueOptionsQueryData = await getFindQuery({ name: referenceTo.objectName }, null, queryFields, {\n expand: false,\n alias: \"defaultValueOptions\",\n filters: \"{__options_filters}\",\n count: false\n });\n apiInfo = await getApi({\n name: referenceTo.objectName\n }, null, queryFields, {expand: false, alias: 'options', queryOptions: `filters: {__filters}, top: {__top}, sort: \"{__sort}\"`});\n\n apiInfo.adaptor = `\n const data = payload.data;\n var defaultValueOptions = data.defaultValueOptions;\n // 字段值下拉选项合并到options中\n data.options = _.unionWith(defaultValueOptions, data.options, function(a,b){\n return a[\"value\"]=== b[\"value\"];\n });\n delete data.defaultValueOptions;\n payload.data.options = data.options;\n return payload;\n `;\n }else {\n apiInfo = {\n method: \"post\",\n url: getApi$2(),\n data: {query: '{objects(filters: [\"_id\", \"=\", \"-1\"]){_id}}', $: \"$$\"},\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n }\n };\n }\n\n let listView = getLookupListView(refObjectConfig);\n\n let listviewFilter = getListViewFilter(listView);\n let listviewFiltersFunction = listView && listView._filters;\n\n let sort = \"\";\n if(listView){\n sort = getListViewSort(listView);\n }\n\n // 列表视图搜索栏中,即inFilterForm=true时,不需要执行depend_on\n if(apiInfo.url && !ctx.inFilterForm){\n const depend_on = [];\n const sendOn = [];\n _$1.each(field.depend_on, (fName)=>{\n depend_on.push(`depend_on_${fName}=\\${${fName}}`);\n sendOn.push(`this.${fName}`);\n });\n if(depend_on.length > 0){\n apiInfo.url = `${apiInfo.url}&${depend_on.join('&')}`;\n apiInfo.sendOn = `${sendOn.join(' && ')}`;\n }\n }\n \n apiInfo.data.$term = \"$term\";\n // apiInfo.data.$value = `$${field.name}.${referenceTo ? referenceTo.valueField.name : '_id'}`;\n apiInfo.data.$value = ctx.isRefToMutiple ? `$${field.name}.ids` : `$${field.name}`;\n _$1.each(field.depend_on, function(fName){\n apiInfo.data[fName] = `$${fName}`;\n });\n apiInfo.data['$'] = `$$`;\n apiInfo.data['rfield'] = `\\${object_name}`;\n // [[\"_id\", \"=\", \"$${field.name}._id\"],\"or\",[\"name\", \"contains\", \"$term\"]]\n apiInfo.requestAdaptor = `\n ${listviewFilter && !ctx.inFilterForm ? `var filters = ${JSON.stringify(listviewFilter)};` : 'var filters = [];'}\n var top = 200;\n if(api.data.$term){\n filters = [[\"${referenceTo?.NAME_FIELD_KEY || 'name'}\", \"contains\", api.data.$term]];\n }\n // else if(api.data.$value){\n // filters = [[\"_id\", \"=\", api.data.$value]];\n // }\n\n var fieldFilters = ${JSON.stringify(field.filters)};\n var currentAmis = (window.amisRequire && window.amisRequire('amis')) || Amis;\n //递归fieldFilters数组,检查每一个元素,判断若是公式,就仅把它解析\n function traverseNestedArray(arr) {\n for (let i = 0; i < arr.length; i++) {\n if (Array.isArray(arr[i])) {\n // 如果当前元素是数组,则递归调用自身继续遍历\n traverseNestedArray(arr[i]);\n } else {\n // 如果当前元素不是数组,则处理该元素\n // 下面正则用于匹配amis公式\\${}\n if(/\\\\\\$\\\\\\{([^}]*)\\\\\\}/.test(arr[i])) {\n try{\n arr[i] = currentAmis.evaluate(arr[i], api.context);\n }catch(ex){\n console.error(\"运行lookup过滤公式时出现错误:\",ex);\n }\n }\n }\n }\n }\n if(fieldFilters && fieldFilters.length){\n traverseNestedArray(fieldFilters);\n filters.push(fieldFilters);\n }\n\n if(${referenceTo?.objectName === \"space_users\"} && ${field.reference_to_field === \"user\"}){\n if(filters.length > 0){\n filters = [ [\"user_accepted\", \"=\", true], \"and\", filters ]\n }else{\n filters = [[\"user_accepted\", \"=\", true]];\n }\n }\n\n const inFilterForm = ${ctx.inFilterForm};\n\n const listviewFiltersFunction = ${listviewFiltersFunction};\n\n if(listviewFiltersFunction && !inFilterForm){\n const _filters0 = listviewFiltersFunction(filters, api.data.$);\n if(_filters0 && _filters0.length){\n filters.push(_filters0);\n }\n }\n \n const filtersFunction = ${field.filtersFunction || field._filtersFunction};\n\n if(filtersFunction && !inFilterForm){\n const _filters = filtersFunction(filters, api.data.$);\n if(_filters && _filters.length > 0){\n filters.push(_filters);\n }\n }\n var sort = \"${sort}\";\n api.data.query = api.data.query.replace(/{__filters}/g, JSON.stringify(filters)).replace('{__top}', top).replace('{__sort}', sort.trim());\n\n var defaultValue = api.data.$value;\n var optionsFiltersOp = \"${field.multiple ? \"in\" : \"=\"}\";\n var optionsFilters = [[\"${valueFieldKey}\", optionsFiltersOp, []]];\n if (defaultValue && !api.data.$term) { \n const defaultValueOptionsQueryData = ${JSON.stringify(defaultValueOptionsQueryData)};\n const defaultValueOptionsQuery = defaultValueOptionsQueryData && defaultValueOptionsQueryData.query && defaultValueOptionsQueryData.query.replace(/^{/,\"\").replace(/}$/,\"\");\n // 字段值单独请求,没值的时候在请求中返回空\n optionsFilters = [[\"${valueFieldKey}\", optionsFiltersOp, defaultValue]];\n if(filters.length > 0){\n optionsFilters = [filters, optionsFilters];\n }\n if(defaultValueOptionsQuery){\n api.data.query = \"{\"+api.data.query.replace(/^{/,\"\").replace(/}$/,\"\")+\",\"+defaultValueOptionsQuery+\"}\";\n } \n }\n api.data.query = api.data.query.replace(/{__options_filters}/g, JSON.stringify(optionsFilters));\n return api;\n `;\n referenceTo ? referenceTo.labelField.name : '';\n referenceTo ? referenceTo.valueField.name : '';\n if(field.optionsFunction || field._optionsFunction){\n apiInfo.adaptor = `\n var options = eval(${field.optionsFunction || field._optionsFunction})(api.data.$);\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n `;\n }else if(field.options){\n apiInfo.adaptor = `\n var options = ${JSON.stringify(field.options)}\n if(api.data.$term){\n options = _.filter(options, function(o) {\n var label = o.label;\n return label.toLowerCase().indexOf(api.data.$term.toLowerCase()) > -1;\n });\n }\n payload.data.options = options;\n return payload;\n `;\n }\n\n const data = {\n type: getAmisStaticFieldType('select', readonly),\n joinValues: false,\n extractValue: true,\n clearable: true,\n // disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。\n disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || ((this.relatedKey ==='${field.name}') && (${field.multiple} != true)) )`,\n // labelField: labelField,\n // valueField: valueField,\n // source: apiInfo,\n autoComplete: apiInfo,\n searchable: true,\n };\n let amisVersion = getComparableAmisVersion();\n if(amisVersion >= 3.6){\n // amis 3.6中不加source会造成子表组件中弹出行编辑窗口的lookup字段有时不请求接口(概率现象,同一个地方反复操作有时请求有时不请求)\n // 但是同时配置autoComplete和source会多请求一次接口\n // TODO:应该想办法把是否字段在子表组件内,即ctx.isInputTable,如果不在子表组件内不需要加source\n data.source = apiInfo;\n delete data.autoComplete;\n }\n //删除xlink:href中的rootUrl前缀,解决客户端svg为空的问题\n const select_menuTpl = `<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-\\${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#\\${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>\\${label}</span>\n </span>`;\n const menuTpl = \"${icon ? `\"+select_menuTpl+\"` : label}\";\n // TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。\n if(!(isMobile && field.multiple)){\n data.menuTpl = menuTpl;\n }\n if(field.multiple){\n data.multiple = true;\n data.extractValue = true;\n }\n\n if(readonly){\n data.tpl = await getLookupTpl(field, ctx);\n }\n return data;\n}\n\nasync function getApi(object, recordId, fields, options){\n const data = await getFindQuery(object, recordId, fields, options);\n return {\n method: \"post\",\n url: getApi$2(),\n data: data,\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n }\n }\n}\n\nasync function getAutoFill(field, refObject) {\n let autoFillMapping = field.auto_fill_mapping;\n if (autoFillMapping && autoFillMapping.length) {\n let fillMapping = {};\n if (field.multiple) {\n autoFillMapping.forEach(function (item) {\n //from的字段类型为lookup、master_detail、select时,需要保留数组格式;其他类型需要转变为字符串格式\n if (_$1.includes([\"lookup\",\"master_detail\",\"select\"], refObject.fields[item.from].type)) {\n fillMapping[item.to] = `\\${items | pick:${item.from}}`;\n } else {\n fillMapping[item.to] = `\\${items | pick:${item.from} | join}`;\n }\n });\n }else {\n autoFillMapping.forEach(function (item) {\n fillMapping[item.to] = `\\${${item.from}}`;\n });\n }\n // let fieldsForApi = [];\n // fieldsForApi.push(item.from);\n // let api = {\n // // \"url\": \"/amis/api/mock2/form/autoUpdate?browser=${browser}&version=${version}\",\n // \"url\": `/api/v1/${refObject.name}/\\${${field.name}}?fields=${JSON.stringify(fieldsForApi)}`,\n // // \"responseData\": {\n // // \"name\": \"${name}\"\n // // },\n // \"silent\": false\n // }\n // return {\n // fillMapping,\n // // api\n // }\n // 因为autoFill中配置了api的话,在表单初始化(比如新建记录)时并不会触发执行autoFill,所以只能暂时不用api\n // 给amis报过问题了,见:https://github.com/baidu/amis/issues/9631\n return fillMapping;\n }\n}\n\nasync function lookupToAmis(field, readonly, ctx){\n if(!ctx){\n ctx = {};\n }\n // console.log(`lookupToAmis====`, field, readonly, ctx)\n if(readonly){\n if(field.reference_to && !field.isTableField){\n //isTableField只在grid字段内存在\n return {\n type: 'steedos-field',\n config: field,\n static: true\n }\n }else {\n return {\n type: getAmisStaticFieldType('picker', readonly),\n tpl: getRelatedFieldTpl(field, ctx)\n }\n }\n }\n if(field.reference_to && !_$1.isString(field.reference_to) && !readonly){\n return {\n type: 'steedos-field-lookup',\n field,\n readonly,\n ctx,\n }\n // return await lookupToAmisGroup(field, readonly, ctx);\n }\n\n let referenceTo = await getReferenceTo(field);\n if(!referenceTo){\n return await lookupToAmisSelect(field, readonly, ctx);\n }\n\n if(referenceTo.objectName === \"space_users\" && field.reference_to_field === \"user\"){\n ctx = Object.assign({}, ctx, {\n onlyDisplayLookLabel: true\n });\n if(ctx.idsDependOn){\n // ids人员点选模式\n return await lookupToAmisIdsPicker(field, readonly, ctx);\n }\n // 左侧树右侧人员列表的下拉框模式,不再支持,而是执行下面的lookupToAmisPicker函数弹出选人窗口\n // return await lookupToAmisSelectUser(field, readonly, ctx);\n }\n\n const refObject = await getUISchema(referenceTo.objectName);\n\n // 优先取字段中配置的enable_enhanced_lookup,字段上没配置时,才从对象上取enable_enhanced_lookup属性\n let enableEnhancedLookup = _$1.isBoolean(field.enable_enhanced_lookup) ? field.enable_enhanced_lookup : refObject.enable_enhanced_lookup;\n let amisVersion = getComparableAmisVersion();\n if(amisVersion >= 3.6){\n // amis 3.6.3单选和多选的树picker都有bug(https://github.com/baidu/amis/issues/9279,https://github.com/baidu/amis/issues/9295),我们改amis源码修正了\n // amis 3.6.3多选的下拉树组件有bug,多选树字段的选中值在编辑模式展开树时不会自动勾选树里面的节点,而是始终勾选显示在最外面的选中值选项(即defaultValueOptions),amis 3.2没有这个问题\n // 这里强制禁用多选下拉树,统一改为弹出树,如果以后需要下拉树功能,可以把下拉树组件改为一次性加载所有树节点数据模式来跳过这个问题\n if(!enableEnhancedLookup && refObject.enable_tree && field.multiple){\n enableEnhancedLookup = true;\n }\n }\n let amisSchema;\n // 默认使用下拉框模式显示lookup选项,只能配置了enable_enhanced_lookup才使用弹出增强模式\n if(enableEnhancedLookup == true){\n amisSchema = await lookupToAmisPicker(field, readonly, ctx);\n }else if(refObject.enable_tree) {\n amisSchema = await lookupToAmisTreeSelect(field, readonly, Object.assign({}, ctx, {\n labelField: referenceTo.labelField?.name || 'name',\n valueField: referenceTo.valueField?.name || '_id',\n objectName: referenceTo.objectName\n }));\n }else {\n amisSchema = await lookupToAmisSelect(field, readonly, ctx);\n }\n let refLookupPage = refObject.pages && refObject.pages.lookup;\n if(refLookupPage){\n if(refLookupPage.is_enable){\n let pageAmisSchema = refLookupPage.amis_schema;\n if(typeof pageAmisSchema == 'string'){\n pageAmisSchema = JSON.parse(pageAmisSchema);\n }\n amisSchema = _$1.defaultsDeep({}, pageAmisSchema, amisSchema);\n }\n }\n const autoFill = await getAutoFill(field, refObject);\n if(autoFill){\n amisSchema.autoFill = autoFill;\n // 这里不配置initAutoFill值,按amis规则initAutoFill默认值为fillIfNotSet处理--需要amis sdk 版本 > 3.6.3-patch.6(不包括)版本\n // amisSchema.initAutoFill = false; \n }\n return amisSchema;\n}\n\nasync function lookupToAmisSelectUser(field, readonly, ctx){\n return getSelectUserSchema(field, readonly, ctx);\n}\n\nasync function lookupToAmisIdsPicker(field, readonly, ctx){\n return getIdsPickerSchema(field, readonly, ctx);\n}\n\nasync function getIdsPickerSchema(field, readonly, ctx){\n if(!ctx){\n ctx = {};\n }\n let referenceTo = await getReferenceTo(field);\n if(!referenceTo){\n return ;\n }\n const refObjectConfig = await getUISchema(referenceTo.objectName);\n\n const { idsDependOn } = ctx;\n\n const fields = {\n [referenceTo.labelField.name]: referenceTo.labelField,\n [referenceTo.valueField.name]: referenceTo.valueField\n };\n\n const tableFields = [referenceTo.labelField];\n\n const source = await getApi(refObjectConfig, null, fields, {expand: true, alias: 'rows', queryOptions: `filters: {__filters}, top: {__top}, skip: {__skip}, sort: \"{__sort}\"`});\n \n source.data.$term = \"$term\";\n source.data.$self = \"$$\";\n\n if(idsDependOn && source.url && !ctx.inFilterForm){\n source.sendOn = `\\${${idsDependOn} && ${idsDependOn}.length}`;\n source.url = `${source.url}&depend_on_${idsDependOn}=\\${${idsDependOn}|join}`;\n }\n\n let listView = getLookupListView(refObjectConfig);\n let sort = \"\";\n if(listView){\n sort = getListViewSort(listView);\n }\n \n source.requestAdaptor = `\n const selfData = JSON.parse(JSON.stringify(api.data.$self));\n var filters = [];\n var pageSize = api.data.pageSize || 1000;\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 sort = orderBy ? sort : \"${sort}\";\n if(selfData.op === 'loadOptions' && selfData.value){\n if(selfData.value && selfData.value.indexOf(',') > 0){\n filters = [[\"${referenceTo.valueField.name}\", \"=\", selfData.value.split(',')]];\n }else{\n filters = [[\"${referenceTo.valueField.name}\", \"=\", selfData.value]];\n }\n }\n\n var ids;\n var idsDependOn = \"${idsDependOn}\";\n if(idsDependOn){\n ids = api.data.$self[idsDependOn];\n }\n if(ids && ids.length){\n filters.push([\"${referenceTo.valueField.name}\", \"=\", ids]);\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 `;\n\n let top = 1000;\n\n let pickerSchema = null;\n if(ctx.formFactor === 'SMALL'){\n pickerSchema = await getListSchema$1(tableFields, {\n top: top,\n ...ctx,\n actions: false\n });\n }else {\n pickerSchema = await getTableSchema$1(refObjectConfig, tableFields, {\n labelFieldName: refObjectConfig.NAME_FIELD_KEY,\n top: top,\n isLookup: true,\n ...ctx\n });\n\n pickerSchema.affixHeader = false;\n\n }\n\n const data = {\n type: getAmisStaticFieldType('picker', readonly),\n labelField: referenceTo.labelField.name,\n valueField: referenceTo.valueField.name,\n modalMode: 'dialog', \n source: source,\n // disabledOn: this._master目的是相关表新建时禁止编辑关联字段; this.relatedKey目的是相关表编辑时禁止编辑关联字段,多选字段可以编辑。\n disabledOn: `${readonly} || ( (this._master && (this._master.relatedKey ==='${field.name}')) || ((this.relatedKey ==='${field.name}') && (${field.multiple} != true)) )`,\n size: \"lg\",\n pickerSchema: pickerSchema,\n joinValues: false,\n extractValue: true\n };\n if(field.multiple){\n data.multiple = true;\n data.extractValue = true;\n }\n\n if(ctx.value){\n data.value = ctx.value;\n }\n\n if(ctx.selectFirst != undefined){\n data.selectFirst = ctx.selectFirst;\n }\n\n if(readonly){\n data.tpl = await getLookupTpl(field, ctx);\n }\n return data;\n}\n\n\nif(typeof window != 'undefined'){\n window.getReferenceTo = getReferenceTo;\n window.getReferenceToSync = getReferenceToSync;\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2023-01-13 17:27:54\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-06-07 13:39:34\n * @Description: \n */\n\nconst getMarkdownFieldSchema = (field, readonly, ctx)=>{\n if(readonly){\n return {\n \"type\": \"control\",\n \"label\": field.label,\n \"body\": {\n \"type\": \"markdown\",\n \"name\": field.name,\n \"options\": {\n \"linkify\": true,\n \"html\": true,\n \"breaks\": true\n }\n }\n }\n }else {\n return {\n \"type\": \"control\",\n \"label\": field.label,\n \"body\": [\n {\n \"type\": \"tabs\",\n \"tabsMode\": \"strong\",\n \"className\": \"steedos-markdown\",\n \"tabs\": [\n {\n \"title\": i18next.t('frontend_form_edit'),\n \"tab\": [\n {\n \"type\": \"editor\",\n \"name\": field.name,\n \"labelClassName\": \"none\",\n \"language\": \"markdown\",\n \"options\": field.amis ? field.amis.editorOptions : null\n }\n ]\n },\n {\n \"title\": i18next.t('frontend_form_preview'),\n \"tab\": [\n {\n \"type\": \"markdown\",\n \"name\": field.name,\n \"options\": {\n \"linkify\": true,\n \"html\": true,\n \"breaks\": true\n }\n }\n ]\n }\n ]\n }\n ]\n }\n }\n};\n\nconst getHtmlFieldSchema = (field, readonly, ctx)=>{\n if(readonly){\n // return {\n // \"type\": \"control\",\n // \"label\": field.label,\n // \"body\": {\n // \"type\": \"html\",\n // \"name\": field.name\n // }\n // }\n return {\n \"type\": \"input-rich-text\",\n \"receiver\": \"${context.rootUrl}/s3/images\",\n \"name\": field.name,\n \"options\": {\n // \"menu\": {\n // \"insert\": {\n // \"title\": \"Insert\",\n // \"items\": \"image link media addcomment pageembed codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime\"\n // }\n // },\n \"plugins\": [\n \"autoresize\"\n ],\n // \"max_height\": 2000,\n \"statusbar\": false,\n \"readonly\": true,\n \"toolbar\": false,\n \"menubar\": false\n }\n }\n }else {\n return {\n \"type\": \"input-rich-text\",\n \"receiver\": \"${context.rootUrl}/s3/images\",\n \"options\":{\n // \"menu\": {\n // \"insert\": {\n // \"title\": \"Insert\",\n // \"items\": \"image link media addcomment pageembed codesample inserttable | charmap emoticons hr | pagebreak nonbreaking anchor tableofcontents | insertdatetime\"\n // }\n // },\n \"statusbar\": false,\n \"menubar\": false\n },\n \"name\": field.name\n }\n // return {\n // \"type\": \"group\",\n // \"body\": [\n // {\n // \"type\": \"editor\",\n // \"name\": field.name,\n // \"language\": \"html\"\n // },\n // {\n // \"type\": \"html\",\n // \"name\": field.name\n // }\n // ]\n // }\n }\n};\n\nconst QUICK_SEARCHABLE_FIELD_TYPES = [\"text\", \"textarea\", \"autonumber\", \"url\", \"email\"];\nconst OMIT_FIELDS = ['created', 'created_by', 'modified', 'modified_by'];\n// const Lookup = require('./lookup');\n\nfunction getBaseFields(readonly){\n let className = 'm-0';\n if(readonly){\n className = `${className}`;\n }\n return [\n { \n name: \"createdInfo\", \n label: \"创建人\",\n type: \"static\",\n labelClassName: 'text-left',\n className: className,\n tpl: getCreatedInfoTpl()\n },\n { \n name: \"modifiedInfo\", \n label: \"修改人\",\n type: \"static\",\n labelClassName: 'text-left',\n className: className,\n tpl: getModifiedInfoTpl()\n }\n ]\n}\n\n\nfunction getAmisFieldType(sField){\n switch (sField.type) {\n case 'text':\n return 'text';\n case 'textarea':\n return 'textarea';\n case 'html':\n return 'html';\n case 'markdown':\n return 'markdown';\n case 'select':\n return 'select';\n case 'boolean':\n return 'checkbox';\n case 'date':\n return 'date';\n case 'datetime':\n return 'datetime';\n case 'number':\n return 'number';\n case 'currency':\n return 'number';\n case 'percent':\n return 'number'\n case 'password':\n return 'password';\n case 'lookup':\n // TODO 根据字段配置返回 select || picker\n return 'select';\n case 'master_detail':\n // TODO 根据字段配置返回 select || picker\n return 'picker';\n case 'autonumber':\n return 'text';\n case 'url':\n return 'url'\n case 'email':\n return 'email'\n case 'image':\n return 'image'\n case 'formula':\n //TODO\n break;\n case 'summary':\n //TODO\n break;\n case 'grid':\n return 'table';\n case 'table':\n return 'steedos-input-table';\n default:\n console.log('convertData default', sField.type);\n // convertData.type = field.type\n break;\n }\n\n}\nfunction getObjectFieldSubFields(mainField, fields){\n const newMainField = Object.assign({subFields: []}, mainField);\n const subFields = _$1.filter(fields, function(field){\n let result = field.name.startsWith(`${mainField.name}.`) && _$1.split(field.name, \".\").length < 3;\n if(result){\n field._prefix = `${mainField.name}.`;\n }\n return result;\n });\n newMainField.subFields = subFields;\n return newMainField;\n}\n\nfunction getGridFieldSubFields(mainField, fields){\n const newMainField = Object.assign({subFields: []}, mainField);\n const subFields = _$1.filter(fields, function(field){\n let result = field.name.startsWith(`${mainField.name}.`);\n if(result){\n field._prefix = `${mainField.name}.`;\n }\n return result;\n });\n newMainField.subFields = subFields;\n return newMainField;\n}\n\nfunction getTabledFieldSubFields(mainField, fields){\n const newMainField = Object.assign({subFields: []}, mainField);\n const subFields = _$1.filter(fields, function(field){\n let result = field.name.startsWith(`${mainField.name}.`);\n if(result){\n field._prefix = `${mainField.name}.`;\n }\n return result;\n });\n newMainField.subFields = subFields;\n return newMainField;\n}\n\n/**\n * TODO 处理权限\n * @param {*} object steedos object\n * @param {*} userSession \n */\n function getPermissionFields(object, userSession){\n const permissionFields = [];\n const fieldsArr = [];\n\t_$1.each(object.fields , (field, field_name)=>{\n\t\tif(!_$1.has(field, \"name\")){\n\t\t\tfield.name = field_name;\n }\n\t\tfieldsArr.push(field);\n });\n _$1.each(_$1.sortBy(fieldsArr, \"sort_no\"), function(field){\n if(!field.hidden){\n permissionFields.push( Object.assign({}, field, {permission: {allowEdit: true}}));\n }\n });\n return permissionFields;\n}\n\n\nfunction getSelectFieldOptions(field){\n const dataType = field.data_type || 'text';\n const options = [];\n _$1.each(field.options, (item)=>{\n switch (dataType) {\n case 'number':\n options.push({label: item.label, value: Number(item.value), icon: item.icon});\n break;\n case 'text':\n options.push({label: item.label, value: String(item.value), icon: item.icon});\n break;\n case 'boolean':\n options.push({label: item.label, value: item.value === 'false' ? false : true, icon: item.icon});\n break;\n }\n });\n return options;\n}\n\nasync function convertSFieldToAmisField(field, readonly, ctx) {\n // console.log('convertSFieldToAmisField====>', field, readonly, ctx)\n const isMobile = window.innerWidth <= 768;\n // 创建人和修改人、创建时间和修改时间不显示\n if(_$1.includes(OMIT_FIELDS, field.name) && ctx.showSystemFields != true){\n return;\n }\n const baseData = {name: ctx.fieldNamePrefix ? `${ctx.fieldNamePrefix}${field.name}` : field.name, label: field.label, labelRemark: field.inlineHelpText, description: field.description, required: _$1.has(ctx, 'required') ? ctx.required : field.required};\n let convertData = {\n };\n // if(_.includes(OMIT_FIELDS, field.name)){\n // readonly = true;\n // }\n switch (field.type) {\n case 'text':\n convertData.type = getAmisStaticFieldType('text', readonly, field);\n break;\n case 'textarea':\n convertData.type = getAmisStaticFieldType('textarea', readonly);\n // convertData.tpl = `<b><%=data.${field.name}%></b>`;\n convertData.tpl = `<%=(data.${field.name} || \"\").split(\"\\\\n\").join('<br>')%>`;\n break;\n case 'html':\n convertData = getHtmlFieldSchema(field, readonly);\n break;\n // convertData = {\n // type: getAmisStaticFieldType('html', readonly)\n // }\n // break;\n case 'markdown':\n convertData = getMarkdownFieldSchema(field, readonly);\n break;\n // convertData = {\n // type: getAmisStaticFieldType('html', readonly)\n // }\n // break;\n case 'select':\n if(readonly){\n const map = getSelectMap(field.options);\n convertData = {\n type: \"static-mapping\",\n name: field.name,\n label: field.label,\n options: field.options,\n map: map\n };\n }else {\n convertData = {\n type: getAmisStaticFieldType('select', readonly),\n joinValues: false,\n options: getSelectFieldOptions(field),\n extractValue: true,\n clearable: true,\n labelField: 'label',\n valueField: 'value'\n };\n const select_menuTpl = `<span class='flex items-center mt-0.5'>\n <span role='img' aria-label='smile' class='anticon anticon-smile'>\n <span class='slds-icon_container slds-icon-standard-\\${REPLACE(icon,'_','-')}'>\n <svg class='slds-icon slds-icon_x-small' aria-hidden='true'>\n <use xlink:href='/assets/icons/standard-sprite/svg/symbols.svg#\\${icon}'></use>\n </svg>\n </span> \n </span>\n <span class='pl-1.5'>\\${label}</span>\n </span>`;\n const menuTpl = \"${icon ? `\"+select_menuTpl+\"` : label}\";\n // TODO: 待amis修复了此bug, 就可以撤销添加menuTpl的判断。\n if(!(isMobile && field.multiple)){\n convertData.menuTpl = menuTpl;\n }\n if(field.multiple){\n convertData.multiple = true;\n convertData.extractValue = true;\n }\n }\n\n break;\n case 'color':\n convertData = {\n type: getAmisStaticFieldType('color', readonly),\n name: field.name,\n label: field.label\n };\n if(readonly){\n convertData.defaultColor = null;\n }else {\n convertData.pipeIn = (value, data) => {\n if(value && value.indexOf('#')<0){\n return '#'+value;\n }\n return value;\n };\n }\n break;\n case 'boolean':\n convertData = {\n type: getAmisStaticFieldType('checkbox', readonly),\n // option: field.inlineHelpText,\n tpl: readonly ? getSwitchTpl(field) : null\n };\n break;\n case 'input-date-range':\n convertData = {\n type: \"input-date-range\",\n inputFormat: \"YYYY-MM-DD\",\n format:'YYYY-MM-DDT00:00:00.000[Z]',\n tpl: readonly ? getDateTpl(field) : null,\n // utc: true,\n joinValues: false,\n \"shortcuts\": [\n \"thismonth\",\n \"2monthsago\",\n \"3monthslater\",\n \"prevquarter\",\n \"thisquarter\",\n \"thisyear\",\n \"lastYear\"\n ]\n };\n break;\n case 'date':\n // convertData = isMobile && !readonly ? {\n // type: \"native-date\",\n // pipeIn: (value, data) => {\n // if (value) {\n // value = moment(value).utc().format('YYYY-MM-DD');\n // return value;\n // } else {\n // return \"\";\n // }\n\n // },\n // pipeOut: (value, oldValue, data) => {\n // if (value) {\n // value = moment(value).format('YYYY-MM-DDT00:00:00.000[Z]');\n // return value;\n // } else {\n // return \"\";\n // }\n // }\n // } : {\n // type: getAmisStaticFieldType('date', readonly),\n // inputFormat: \"YYYY-MM-DD\",\n // format:'YYYY-MM-DDT00:00:00.000[Z]',\n // tpl: readonly ? Tpl.getDateTpl(field) : null,\n // // utc: true\n // }\n convertData = {\n type: getAmisStaticFieldType('date', readonly),\n inputFormat: \"YYYY-MM-DD\",\n format:'YYYY-MM-DDT00:00:00.000[Z]',\n tpl: readonly ? getDateTpl(field) : null,\n // utc: true\n };\n break;\n case 'input-datetime-range':\n // convertData = {\n // type: \"input-datetime-range\",\n // inputFormat: 'YYYY-MM-DD HH:mm',\n // format:'YYYY-MM-DDTHH:mm:ss.SSSZ',\n // tpl: readonly ? Tpl.getDateTimeTpl(field) : null,\n // utc: true,\n // joinValues: false\n // }\n // 日期时间字段,按日期方式展现显示控件,用户不用关心小时分钟\n convertData = {\n type: \"input-datetime-range\",\n inputFormat: \"YYYY-MM-DD HH:mm\",\n format:'YYYY-MM-DDTHH:mm:ss.SSSZ',\n tpl: readonly ? getDateTimeTpl(field) : null,\n utc: true,\n joinValues: false,\n \"shortcuts\": [\n \"thismonth\",\n \"2monthsago\",\n \"3monthslater\",\n \"prevquarter\",\n \"thisquarter\",\n \"thisyear\",\n \"lastYear\"\n ]\n };\n break;\n case 'datetime':\n // convertData = isMobile && !readonly ? {\n // type: \"combo\",\n // pipeIn: (value, data) => {\n // let revalue = {};\n // if (value && value != \"Invalid date\") {\n // value = moment(value).format('YYYY-MM-DD HH:mm:ss');\n // revalue[field.name + \"-native-date\"] = value.split(' ')[0];\n // revalue[field.name + \"-native-time\"] = value.split(' ')[1];\n // } else {\n // revalue[field.name + \"-native-date\"] = \"\";\n // revalue[field.name + \"-native-time\"] = \"\";\n // }\n // return revalue;\n // },\n // pipeOut: (value, oldValue, data) => {\n // let revalue = \"\";\n // if (value[field.name + \"-native-date\"] && value[field.name + \"-native-time\"]) {\n // revalue = value[field.name + \"-native-date\"] + \" \" + value[field.name + \"-native-time\"];\n // revalue = moment(revalue).utc().format('YYYY-MM-DDTHH:mm:ss.SSS[Z]');\n // }\n // return revalue;\n // },\n // items: [\n // {\n // type: \"native-date\",\n // name: field.name + \"-native-date\",\n // className: \"steedos-native-date\",\n // value: \"\"\n // },\n // {\n // type: \"native-time\",\n // name: field.name + \"-native-time\",\n // className: \"steedos-native-time\",\n // value: \"\"\n // }\n // ]\n // } : {\n // type: getAmisStaticFieldType('datetime', readonly),\n // inputFormat: 'YYYY-MM-DD HH:mm',\n // format: 'YYYY-MM-DDTHH:mm:ss.SSSZ',\n // tpl: readonly ? Tpl.getDateTimeTpl(field) : null,\n // utc: true,\n // }\n\n convertData = {\n type: getAmisStaticFieldType('datetime', readonly),\n inputFormat: 'YYYY-MM-DD HH:mm',\n format: 'YYYY-MM-DDTHH:mm:00.000Z',\n tpl: readonly ? getDateTimeTpl(field) : null,\n utc: true,\n };\n break;\n case 'input-time-range':\n convertData = {\n type: 'input-time-range',\n inputFormat: 'HH:mm',\n timeFormat:'HH:mm',\n format:'1970-01-01THH:mm:00.000[Z]',\n tpl: readonly ? getDateTimeTpl(field) : null,\n // utc: true,\n joinValues: false\n };\n break;\n case 'time':\n // convertData = isMobile && !readonly ? {\n // type: \"native-time\",\n // pipeIn: (value, data) => {\n // if (value) {\n // value = moment(value).utc().format('HH:mm');\n // return value;\n // } else {\n // return \"\";\n // }\n\n // },\n // pipeOut: (value, oldValue, data) => {\n // if (value) {\n // value = moment('1970-01-01 ' + value).format('1970-01-01THH:mm:00.000[Z]');\n // return value;\n // } else {\n // return \"\";\n // }\n // }\n // } : {\n // type: getAmisStaticFieldType('time', readonly),\n // inputFormat: 'HH:mm',\n // timeFormat:'HH:mm',\n // format:'1970-01-01THH:mm:00.000[Z]',\n // tpl: readonly ? Tpl.getDateTimeTpl(field) : null,\n // // utc: true\n // }\n convertData = {\n type: getAmisStaticFieldType('time', readonly),\n inputFormat: 'HH:mm',\n timeFormat:'HH:mm',\n format:'1970-01-01THH:mm:00.000[Z]',\n tpl: readonly ? getDateTimeTpl(field) : null,\n // utc: true\n };\n break;\n case 'currency':\n case 'number':\n if(readonly){\n convertData = {\n type: 'static-tpl',\n tpl: getNumberTpl(field)\n };\n }else {\n convertData = {\n type: getAmisStaticFieldType('number', readonly),\n min: field.min,\n max: field.max,\n precision: field.scale\n };\n }\n \n break;\n case 'input-array':\n convertData = Object.assign({}, field, baseData);\n break;\n case 'input-range':\n convertData = {\n type: 'input-range',\n min: field.min,\n max: field.max,\n value: [0, 0],\n multiple: true,\n showInput: true\n };\n break;\n case 'percent':\n if(readonly){\n // convertData = {\n // type: 'static-tpl',\n // tpl: Tpl.getUiFieldTpl(field)\n // }\n convertData = {\n \"type\": \"static-progress\",\n \"name\": \"progress\",\n pipeIn: (value, data) => {\n if(value){\n // 因为例如 1.11 * 100 的值不是111,所以调整下。\n const result = value*100;\n return Number(result.toFixed(field.scale));\n }\n return value;\n }\n };\n }else {\n convertData = {\n type: getAmisStaticFieldType('number', readonly),\n min: field.min,\n max: field.max,\n precision: field.scale,\n suffix: \"%\",\n pipeIn: (value, data) => {\n if(value){\n // 因为例如 1.11 * 100 的值不是111,所以调整下。\n const result = value*100;\n return Number(result.toFixed(field.scale));\n }\n return value;\n },\n pipeOut: (value, oldValue, data) => {\n if(value){\n const result = value/100;\n return Number(result.toFixed(field.scale+2));\n }\n return value;\n },\n };\n }\n break;\n case 'password':\n convertData = {\n type: getAmisStaticFieldType('password', readonly),\n tpl: readonly ? getPasswordTpl(field) : null\n };\n break;\n case 'lookup':\n convertData = await lookupToAmis(field, readonly, ctx); //TODO\n break;\n case 'master_detail':\n convertData = await lookupToAmis(field, readonly, ctx); //TODO\n break;\n case 'autonumber':\n if(readonly){\n convertData = {\n type: 'static-text'\n };\n }else if(field.autonumber_enable_modify){\n convertData = {\n \"type\": \"input-group\",\n \"body\": [\n {\n \"type\": \"input-text\",\n \"name\": field.name\n },\n {\n \"type\": \"button\",\n \"label\": \"自动获取\",\n \"actionType\": \"ajax\",\n \"api\": {\n \"url\": `\\${context.rootUrl}/api/autonumber/generator/\\${objectName}/${field.name}`,\n \"method\": \"post\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"adaptor\": `\n var tempValue = payload.data && payload.data.autonumber;\n delete payload.data.autonumber;\n payload.data[\"${field.name}\"] = tempValue;\n return payload;\n `\n },\n \"messages\": {\n \"success\": \"获取成功\"\n }\n }\n ]\n };\n }\n break;\n case 'url':\n convertData = {\n type: getAmisStaticFieldType('url', readonly, field),\n static: readonly ? true : false\n };\n if(!readonly){\n // amis input-url控件不支持相对路径,这里支持下\n // 如果要使用amis原生input-url控件的默认的isUrl验证效果或自定义字段validations效果,配置字段的amis.validations属性即可,配置为null或空字符串则使用amis默认的isUrl效果\n let fieldAmisValidations = field.amis?.validations;\n if(typeof fieldAmisValidations === \"undefined\"){\n Object.assign(convertData, {\n \"validations\": {\n \"matchRegexp\": \"^((http:\\\\/\\\\/|https:\\\\/\\\\/|ftp:\\\\/\\\\/|sftp:\\\\/\\\\/)+([^\\\\s\\\\/\\\\.]+(\\\\.[^\\\\s\\\\/\\\\.]+)+))*(\\\\/[^\\\\s\\\\.\\\\/]+)*$\"\n },\n \"validationErrors\": {\n \"matchRegexp\": i18next.t('frontend_form_validation_failed_url')//\"URL 格式不正确\"\n }\n });\n }\n }\n if(readonly && field.show_as_qr){\n convertData = {\n type: \"control\",\n label: field.label,\n body: {\n type: \"qr-code\",\n codeSize: 128,\n name: field.name\n }\n };\n }\n break;\n case 'email':\n convertData = {\n type: getAmisStaticFieldType('email', readonly)\n };\n break;\n case 'location':\n // 申请ak后需要设置白名单; https://lbsyun.baidu.com/apiconsole/key/create#/home\n // console.log('fie==>', field.name, field);\n let ak = \"LiZT5dVbGTsPI91tFGcOlSpe5FDehpf7\";\n let vendor = \"baidu\"; /* 'baidu' | 'gaode' */\n if(window.Meteor){\n const map_ak = Meteor.settings?.public?.amis?.map_ak;\n if(map_ak){\n ak = map_ak;\n }\n const map_vendor = Meteor.settings?.public?.amis?.map_vendor;\n if(map_vendor){\n vendor = map_vendor;\n }\n }\n \n const coordinatesType = field.coordinatesType || \"bd09\";\n convertData = {\n type: getAmisStaticFieldType('location', readonly),\n tpl: readonly ? getLocationTpl(field) : null,\n ak,\n vendor,\n clearable: true,\n coordinatesType,\n label: field.label,\n pipeOut: (value, oldValue, data) => {\n if (value) {\n const lng = value.lng;\n const lat = value.lat;\n let coordinates = [lng,lat];\n if(window.coordtransform){\n if(coordinatesType.toLowerCase() === 'bd09'){\n const bd09togcj02 = window.coordtransform.bd09togcj02(lng,lat);\n coordinates = window.coordtransform.gcj02towgs84(bd09togcj02[0],bd09togcj02[1]);\n }else if(coordinatesType.toLowerCase() === 'gcj02'){\n coordinates = window.coordtransform.gcj02towgs84(lng,lat);\n }\n }\n value.wgs84 = {\n type: \"Point\",\n coordinates\n };\n return value; // 切换到数字之后的默认值\n }\n }\n };\n break;\n case 'avatar':\n convertData = await getAmisFileSchema(field, readonly, ctx);\n break;\n case 'image':\n convertData = await getAmisFileSchema(field, readonly, ctx);\n break;\n case 'file':\n convertData = await getAmisFileSchema(field, readonly, ctx);\n break;\n case 'formula':\n if(readonly){\n convertData = {\n type: 'static-tpl',\n tpl: getUiFieldTpl(field)\n };\n }\n break;\n case 'summary':\n if(readonly){\n convertData = {\n type: 'static-tpl',\n tpl: getUiFieldTpl(field)\n };\n }\n break;\n case 'code':\n convertData = {\n type: \"editor\",\n disabled: readonly ? true : false,\n language: field.language,\n editorDidMount: new Function('editor', 'monaco', field.editorDidMount)\n };\n break;\n case 'toggle':\n convertData = {\n type: \"switch\",\n name: field.name,\n label: field.label,\n width: field.width,\n toggled: field.toggled,\n disabled: readonly,\n };\n break;\n case 'grid':\n if(field.subFields){\n convertData = {\n type: 'input-table',\n showIndex: true,\n columnsTogglable: false,\n strictMode:false,\n affixHeader: false, // 是否固定表头, 不固定表头, 否则form有y轴滚动条时, 表头会跟随滚动条滚动.\n needConfirm: false,\n editable: !readonly,\n addable: !readonly,\n removable: !readonly,\n draggable: !readonly,\n columns: []\n };\n // console.log(`convertData ==2====>`, field, convertData)\n for (const subField of field.subFields) {\n const subFieldName = subField.name.replace(`${field._prefix || ''}${field.name}.$.`, '').replace(`${field.name}.`, '');\n const gridSub = await convertSFieldToAmisField(Object.assign({}, subField, {name: subFieldName, isTableField: true}), readonly, ctx);\n if(gridSub){\n delete gridSub.name;\n delete gridSub.label;\n const gridItemSchema = {\n name: subFieldName,\n label: subField.label,\n quickEdit: readonly ? false : gridSub\n };\n if([\"lookup\", \"boolean\", \"toggle\"].indexOf(subField.type) > -1){\n gridItemSchema.type = gridSub.type;\n gridItemSchema.tpl = gridSub.tpl;\n }\n convertData.columns.push(Object.assign({}, gridItemSchema, subField.amis, {name: subFieldName}));\n }\n }\n }\n break;\n case 'table':\n if(field.subFields){\n convertData = {\n type: 'steedos-input-table',\n editable: !readonly,\n addable: !readonly,\n removable: !readonly,\n fields: [],\n amis:{\n columnsTogglable: false\n }\n };\n // console.log(`convertData ======>`, field, convertData)\n for (const subField of field.subFields) {\n if(!subField.name.endsWith(\".$\")){\n const subFieldName = subField.name.replace(`${field._prefix || ''}${field.name}.$.`, '').replace(`${field.name}.`, '');\n // const gridSub = await convertSFieldToAmisField(Object.assign({}, subField, {name: subFieldName, isTableField: true}), readonly, ctx);\n convertData.fields.push(Object.assign({}, subField, {name: subFieldName}));\n }\n }\n }\n break;\n case 'object':\n if(field.subFields){\n convertData = {\n type: 'combo',\n items: []\n };\n // console.log(`convertData ======>`, field, convertData)\n for (let subField of field.subFields) {\n let subFieldName = subField.name.replace(`${field.name}.$.`, '').replace(`${field.name}.`, '');\n if(subField.type === 'grid'){\n subField = await getGridFieldSubFields(subField, ctx.__formFields);\n }else if(subField.type === 'table'){\n subField = await getTabledFieldSubFields(subField, ctx.__formFields);\n }else {\n if(readonly){\n subFieldName = `${field.name}.${subFieldName}`;\n }\n }\n const gridSub = await convertSFieldToAmisField(Object.assign({}, subField, {name: subFieldName}), readonly, ctx);\n if(gridSub){\n delete gridSub.name;\n delete gridSub.label;\n //去除重复样式\n gridSub.className = gridSub.className.replace('border-b', '');\n convertData.items.push(\n Object.assign({}, gridSub, {label: subField.label}, subField.amis, {\n name: subFieldName\n })\n );\n }\n }\n }\n break;\n }\n if(!_$1.isEmpty(convertData)){\n const className = convertData.className;\n if(field.is_wide || convertData.type === 'group'){\n convertData.className = className ? 'col-span-2 m-0 ' + className : 'col-span-2 m-0';\n }else {\n convertData.className = className ? 'm-0 ' + className : 'm-0';\n }\n if(readonly && ctx.mode !== 'edit'){\n convertData.className = `${convertData.className} border-b`;\n }\n if(readonly){\n convertData.quickEdit = false;\n convertData.static = true;\n }\n\n let fieldTypeClassName = ' steedos-' + convertData.type + (readonly ? '-readonly' : '-edit');\n convertData.className = convertData.className + fieldTypeClassName;\n\n if(field.visible_on && !ctx.inFilterForm){\n // convertData.visibleOn = `\\$${field.visible_on.substring(1, field.visible_on.length -1).replace(/formData./g, '')}`;\n if(field.visible_on.startsWith(\"{{\")){\n convertData.visibleOn = `${field.visible_on.substring(2, field.visible_on.length -2).replace(/formData./g, 'data.')}`;\n }else {\n convertData.visibleOn = `${field.visible_on.replace(/formData./g, 'data.')}`;\n }\n }\n\n if(ctx.amisData && ctx.amisData._master && ctx.amisData._master.relatedKey === field.name){\n convertData.className = `${convertData.className || ''} hidden`;\n }\n\n if(_$1.isString(baseData.required)){\n if(baseData.required.startsWith(\"{{\")){\n baseData.requiredOn = `${baseData.required.substring(2, baseData.required.length -2).replace(/formData./g, 'data.')}`;\n delete baseData.required;\n }\n }\n\n if(convertData.type === 'group'){\n convertData.body[0] = Object.assign({}, baseData, convertData.body[0], { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name});\n return convertData\n }\n // if(ctx.mode === 'edit'){\n let convertDataResult = Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name}, field.amis, {name: baseData.name});\n // 只读时file字段的外层control层若存在name,内部each组件存在问题\n if(readonly && field.type == \"file\") {\n convertDataResult.name = \"\";\n }\n // console.log(\"convertDataResult:\", convertDataResult);\n return convertDataResult;\n // }else{\n // return Object.assign({}, baseData, convertData, { labelClassName: 'text-left', clearValueOnHidden: true, fieldName: field.name});\n // }\n }\n \n}\n\nasync function getFieldSearchable(perField, permissionFields, ctx){\n if(!ctx){\n ctx = {};\n }\n let field = perField;\n if(field.type === 'grid'){\n field = await getGridFieldSubFields(perField, permissionFields);\n }else if(perField.type === 'object'){\n field = await getObjectFieldSubFields(perField, permissionFields);\n }\n\n let fieldNamePrefix = '__searchable__';\n if(field.name.indexOf(\".\") < 0){\n let _field = cloneDeep(field);\n if(includes(['textarea', 'html', 'code', 'autonumber'], field.type)){\n _field.type = 'text';\n }\n\n if(includes(['formula', 'summary'], field.type)){\n _field.type = field.data_type;\n _field.precision = field.precision;\n _field.scale = field.scale;\n }\n // else if(field.type === \"select\" && field.data_type && field.data_type != \"text\"){\n // _field.type = field.data_type;\n // }\n\n if(_field.type === 'number' || _field.type === 'currency'){\n _field.type = 'input-array';\n _field.inline = true;\n _field.addable = false;\n _field.removable = false;\n _field.value = [null,null];\n _field.items = {\n type: \"input-number\"\n };\n _field.is_wide = true;\n fieldNamePrefix = `${fieldNamePrefix}between__`;\n }\n\n if(_field.type ==='date'){\n _field.type = 'input-date-range';\n _field.is_wide = true;\n fieldNamePrefix = `${fieldNamePrefix}between__`;\n }\n if(_field.type === 'datetime'){\n // 这里如果想把搜索范围展示效果改为日期范围,不可以直接改为input-date-range,因为它们规则不一样,包括时区规则和小时分秒的存值规则都不一样\n // 所以想改为展示日期范围效果,只能改input-datetime-range类型本身的属性来实现\n _field.type = 'input-datetime-range';\n _field.is_wide = true;\n fieldNamePrefix = `${fieldNamePrefix}between__`;\n }\n if(_field.type === 'time'){\n _field.type = 'input-time-range';\n _field.is_wide = true;\n fieldNamePrefix = `${fieldNamePrefix}between__`;\n }\n if(_field.reference_to === 'users'){\n _field.reference_to = 'space_users';\n _field.reference_to_field = 'user';\n }\n _field.readonly = false;\n _field.disabled = false;\n _field.multiple = true;\n _field.is_wide = false;\n _field.defaultValue = undefined;\n _field.required = false;\n _field.hidden = false;\n _field.omit = false;\n\n if(_field.amis){\n delete _field.amis.static;\n delete _field.amis.staticOn;\n delete _field.amis.disabled;\n delete _field.amis.disabledOn;\n delete _field.amis.required;\n delete _field.amis.requiredOn;\n delete _field.amis.visible;\n delete _field.amis.visibleOn;\n delete _field.amis.hidden;\n delete _field.amis.hiddenOn;\n delete _field.amis.autoFill;\n }\n\n const amisField = await convertSFieldToAmisField(_field, false, Object.assign({}, ctx, {fieldNamePrefix: fieldNamePrefix, required: false, showSystemFields: true, inFilterForm: true}));\n if(amisField){\n return amisField;\n }\n }\n}\n\nif(typeof window != 'undefined'){\n window.getFieldSearchable = getFieldSearchable;\n}\n\n\nfunction isFieldTypeSearchable(fieldType) {\n return !_$1.includes(\n [\n \"grid\",\n \"table\",\n \"avatar\",\n \"image\",\n \"object\",\n \"[object]\",\n \"[Object]\",\n \"[grid]\",\n \"[text]\",\n \"audio\",\n \"file\",\n ],\n fieldType\n )\n}\n\nif (typeof window != 'undefined') {\n window.isFieldTypeSearchable = isFieldTypeSearchable;\n}\n\n\nfunction isFieldQuickSearchable(field, nameFieldKey) {\n let fieldSearchable = field.searchable;\n if(fieldSearchable !== false && field.name === nameFieldKey){\n // 对象上名称字段的searchable默认认为是true\n fieldSearchable = true;\n }\n if (fieldSearchable && QUICK_SEARCHABLE_FIELD_TYPES.indexOf(field.type) > -1) {\n return true;\n }\n return false;\n}\n\nvar index = /*#__PURE__*/Object.freeze({\n __proto__: null,\n QUICK_SEARCHABLE_FIELD_TYPES: QUICK_SEARCHABLE_FIELD_TYPES,\n OMIT_FIELDS: OMIT_FIELDS,\n getBaseFields: getBaseFields,\n getAmisFieldType: getAmisFieldType,\n getObjectFieldSubFields: getObjectFieldSubFields,\n getGridFieldSubFields: getGridFieldSubFields,\n getTabledFieldSubFields: getTabledFieldSubFields,\n getPermissionFields: getPermissionFields,\n getSelectFieldOptions: getSelectFieldOptions,\n convertSFieldToAmisField: convertSFieldToAmisField,\n getFieldSearchable: getFieldSearchable,\n isFieldTypeSearchable: isFieldTypeSearchable,\n isFieldQuickSearchable: isFieldQuickSearchable,\n getAmisStaticFieldType: getAmisStaticFieldType\n});\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-05-26 16:02:08\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-09-11 15:27:32\n * @Description: \n */\n\nconst getFieldSchemaArray = (formFields, ctx) => {\n let fieldSchemaArray = [];\n fieldSchemaArray.length = 0;\n ctx && ctx.recordId;\n\n _$1.forEach(formFields, (field) => {\n if (!field.group || field.group == 'null' || field.group == '-')\n field.group = i18next.t('frontend_field_group_generalization');\n const fieldName = field.name;\n let isObjectField = /\\w+\\.\\w+/.test(fieldName);\n if (field.type == 'grid' || field.type == 'object' || field.type == 'table') {\n // field.group = field.label\n field.is_wide = true;\n }\n\n let forceHidden = false;\n if(ctx.omitReadonlyFields && field.readonly){\n forceHidden = true;\n }\n\n if (!isObjectField) {\n if (!field.hidden && !forceHidden) {\n fieldSchemaArray.push(Object.assign({ name: fieldName }, field, { permission: { allowEdit: true } }));\n }\n }\n });\n return fieldSchemaArray;\n};\n\nconst getSection = async (formFields, permissionFields, fieldSchemaArray, sectionName, ctx) => {\n if (!ctx) {\n ctx = {};\n }\n const sectionFields = _$1.filter(fieldSchemaArray, { 'group': sectionName });\n if (sectionFields.length == _$1.filter(sectionFields, ['hidden', true]).length) {\n return;\n }\n\n const fieldSetBody = [];\n\n for (const perField of sectionFields) {\n let field = perField;\n if (perField.type === 'grid') {\n field = await getGridFieldSubFields(perField, formFields);\n // console.log(`perField.type grid ===> field`, field)\n } else if (perField.type === 'table') {\n field = await getTabledFieldSubFields(perField, formFields);\n } else if (perField.type === 'object') {\n field = await getObjectFieldSubFields(perField, formFields);\n // console.log(`perField.type object ===> field`, field)\n }\n if (field.name.indexOf(\".\") < 0) {\n // let _field = _.cloneDeep(field);\n // if(field.type === \"select\" && field.data_type && field.data_type != \"text\"){\n // _field.type = field.data_type;\n // }\n if(field.type === \"steedos-field\"){\n // 如果是steedos-field则不需要通过convertSFieldToAmisField函数转换,因为steedos-field组件会转换\n fieldSetBody.push(field);\n }\n else {\n ctx.__formFields = formFields;\n const amisField = await convertSFieldToAmisField(field, field.readonly, ctx);\n // 如果steedos-field稳定了,可以放开下面的代码直接用组件统一渲染字段\n // const amisField = {\n // \"type\": \"steedos-field\",\n // \"config\": field,\n // \"readonly\": field.readonly,\n // \"ctx\": ctx\n // };\n // console.log(`${field.name} amisField`, field, amisField)\n if (amisField) {\n fieldSetBody.push(amisField);\n }\n }\n }\n }\n\n fieldSetBody.forEach((field)=>{\n //判断label是否存在,不存在时将label的空占位元素隐藏\n if(!field.label){\n field.labelClassName = \"none\";\n }\n });\n\n // fieldSet 已支持显隐控制\n const sectionFieldsVisibleOn = _$1.map(_$1.compact(_$1.map(fieldSetBody, 'visibleOn')), (visibleOn) => {\n let visible = visibleOn;\n if(visible.indexOf('${')>-1){\n visible = visible.substring(visible.indexOf('{')+1, visible.indexOf('}'));\n }\n return visible ? \"(\"+visible+\")\" : visible;\n });\n\n let section = {\n \"type\": \"fieldSet\",\n \"title\": sectionName,\n \"collapsable\": true,\n \"body\": fieldSetBody,\n };\n\n if (ctx.enableTabs) {\n section = {\n \"title\": sectionName,\n \"body\": fieldSetBody,\n };\n }\n\n if (sectionFieldsVisibleOn.length > 0 && fieldSetBody.length === sectionFieldsVisibleOn.length) {\n section.visibleOn = `${sectionFieldsVisibleOn.join(\" || \")}`;\n }\n\n const fieldGroups = ctx.fieldGroups;\n const group = fieldGroups && fieldGroups.find(function(groupItem){\n return groupItem.group_name == sectionName;\n });\n let groupVisibleOn = group && group.visible_on;\n if (groupVisibleOn) {\n if (groupVisibleOn.startsWith(\"{{\")) {\n groupVisibleOn = `${groupVisibleOn.substring(2, groupVisibleOn.length - 2).replace(/formData./g, 'data.')}`;\n } else {\n groupVisibleOn = `${groupVisibleOn.replace(/formData./g, 'data.')}`;\n }\n if (section.visibleOn) {\n section.visibleOn = `${section.visibleOn + \" && \" + groupVisibleOn}`;\n }\n else {\n section.visibleOn = groupVisibleOn;\n }\n }\n\n let groupCollapsed = group && group.collapsed;\n if(groupCollapsed === true) {\n section.collapsed = true;\n }\n return section\n};\n\nconst getSections = async (permissionFields, formFields, ctx) => {\n if (!ctx) {\n ctx = {};\n }\n const fieldSchemaArray = getFieldSchemaArray(formFields, ctx);\n const _sections = _$1.groupBy(fieldSchemaArray, 'group');\n const sections = [];\n var sectionVisibleOns = [];\n for (const key in _sections) {\n const section = await getSection(formFields, permissionFields, fieldSchemaArray, key, ctx);\n if (section.body.length > 0) {\n if (section.visibleOn) {\n sectionVisibleOns.push(\"(\"+section.visibleOn+\")\");\n }\n else {\n sectionVisibleOns.push(\"true\");\n }\n sections.push(section);\n }\n }\n /*\n 为了实现只有一个分组时隐藏该分组标题,需要分三种情况(分组如果没有visibleon属性就代表一定显示,有visibleon需要进行判断)\n 1 当前分组为隐藏时,标题就设置为隐藏\n 2 当前分组为显示时,其他分组只要有一个是显示,就显示该分组标题\n 3 当前分组为显示时,其他分组都隐藏,就隐藏该分组标题\n */\n sections.forEach((section, index) => {\n var tempSectionVisibleOns = sectionVisibleOns.slice();\n tempSectionVisibleOns.splice(index, 1);\n section.headingClassName = {\n \"hidden\": `!((${tempSectionVisibleOns.join(\" || \") || 'false'}) && ${sectionVisibleOns[index]})`\n };\n });\n\n if (ctx.enableTabs) {\n // TODO: 以下sectionHeaderVisibleOn代码逻辑是为实现只有一个选项卡时给选项卡添加sectionHeaderVisibleOn样式类来把选项卡顶部卡头隐藏\n // 但是 amis filter过滤器有两个bug造成此功能不好实现:\n // 1.filter过滤器只支持对象数组,并不支持boolean或字符串数组,见: https://github.com/baidu/amis/issues/7078\n // 2.filter过滤器的返回结果无法进一步获取最终过滤后的数组长度,见:https://github.com/baidu/amis/issues/7077\n // let sectionHeaderVisibleOn = \"false\";\n // if(sectionVisibleOns.length){\n // sectionHeaderVisibleOn = \"[\" + sectionVisibleOns.join(\",\") + \"]\" + \"|filter:equals:true.length > 1\";\n // }\n // console.log(\"===sectionHeaderVisibleOn===\", sectionHeaderVisibleOn);\n // sectionHeaderVisibleOn = \"[true]|filter:equals:true.length > 1\";\n // sectionHeaderVisibleOn = \"false\";\n // sectionHeaderVisibleOn = \"[1,1,1]|filter:equals:1.length > 1\";\n return [\n {\n \"type\": \"tabs\",\n // \"className\": {\n // \"hiddenFormTabs\": `!(${sectionHeaderVisibleOn})`\n // },\n \"tabs\": sections,\n \"tabsMode\": ctx.tabsMode\n }\n ]\n }\n\n return sections;\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-07 11:02:29\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-03-07 17:19:34\n * @Description: \n */\n\nasync function getFormBody(permissionFields, formFields, ctx){\n return await getSections(permissionFields, formFields, ctx);\n}\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2024-01-18 15:12:41\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2024-05-20 13:46:41\n */\n/**\n * 生成符合标准uuid格式的36位满足唯一性的随机串\n * @returns uuid\n */\nfunction uuidv4() {\n return \"10000000-1000-4000-8000-100000000000\".replace(/[018]/g, function (c) {\n return (c ^ window.crypto.getRandomValues(new Uint8Array(1))[0] & 15 >> c / 4).toString(16);\n });\n}\n\n/*\n * @Author: 殷亮辉 yinlianghui@hotoa.com\n * @Date: 2023-11-15 09:50:22\n * @LastEditors: 殷亮辉 yinlianghui@hotoa.com\n * @LastEditTime: 2024-06-14 06:31:33\n */\n\n/**\n * 子表组件字段值中每行数据补上字段值为空的的字段值,把值统一设置为空字符串,是为了解决amis amis 3.6/6.0 input-table组件bug:行中字段值为空时会显示为父作用域中的同名变量值,见:https://github.com/baidu/amis/issues/9520\n * amis #9520修正后此函数及相关代码可以移除\n * @param {*} value 子表组件字段值,数组\n * @param {*} fields 子表组件fields属性,数组\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValueWithEmptyValue(value, fields) {\n return (value || []).map((itemValue) => {\n //这里不clone的话,会造成在pipeIn函数执行该函数后像pipeOut一样最终输出到表单项中,即库里字段值会被改了\n const newItemValue = clone(itemValue);\n (fields || []).forEach((itemField) => {\n if(itemField.name && (newItemValue[itemField.name] === undefined || newItemValue[itemField.name] === null)){\n // 这里newItemValue中不存在 itemField.name 属性,或者值为null时都会有“显示为父作用域中的同名变量值”的问题,所以null和undefined都要重置为空字符串\n // 实测数字、下拉框、多选lookup等字段类型重置为空字符串都不会有问题,而且实测amis from组件的清空表单字段值功能就是把表单中的各种字段类型设置为空字符串,所以看起来也符合amis规范\n newItemValue[itemField.name] = \"\";\n }\n if (newItemValue.children) {\n newItemValue.children = getTableValueWithEmptyValue(newItemValue.children, fields);\n }\n });\n return newItemValue;\n });\n}\n\n/**\n * 把子表组件字段值中每行数据中经过上面getTableValueWithEmptyValue函数空字段值移除\n * amis #9520修正后此函数及相关代码可以移除\n * @param {*} value 子表组件字段值,数组\n * @param {*} fields 子表组件fields属性,数组\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValueWithoutEmptyValue(value, fields) {\n return (value || []).map((itemValue) => {\n const newItemValue = clone(itemValue);\n (fields || []).forEach((itemField) => {\n if(itemField.name && (newItemValue[itemField.name] === \"\" || newItemValue[itemField.name] === undefined || newItemValue[itemField.name] === null)){\n // 这里额外把null和undefined值也删除掉纯粹是没必要输出保存它们\n delete newItemValue[itemField.name];\n }\n if (newItemValue.children) {\n newItemValue.children = getTableValueWithoutEmptyValue(newItemValue.children, fields);\n }\n });\n return newItemValue;\n });\n}\n\nfunction getTablePrimaryKey(props) {\n return props.primaryKey || \"_id\";\n}\n\n/**\n * 子表组件字段值中每行数据的补上唯一标识字段值,其值为随机uuid\n * @param {*} value 子表组件字段值,数组\n * @param {*} primaryKey 主键字段名,一般为_id\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValueWithPrimaryKeyValue(value, primaryKey) {\n if (!primaryKey) {\n return value;\n }\n return (value || []).map((itemValue) => {\n //这里不clone的话,会造成在pipeIn函数执行该函数后像pipeOut一样最终输出到表单项中,即库里把primaryKey字段值保存了\n const newItemValue = clone(itemValue);\n if (newItemValue[primaryKey]) {\n if (newItemValue.children) {\n newItemValue.children = getTableValueWithPrimaryKeyValue(newItemValue.children, primaryKey);\n }\n return newItemValue;\n }\n else {\n newItemValue[primaryKey] = uuidv4();\n if (newItemValue.children) {\n newItemValue.children = getTableValueWithPrimaryKeyValue(newItemValue.children, primaryKey);\n }\n return newItemValue;\n }\n });\n}\n\n/**\n * 子表组件字段值中每行数据的移除唯一标识字段值,因为该字段值一般只作临时标记,不存库\n * @param {*} value 子表组件字段值,数组\n * @param {*} primaryKey 主键字段名,一般为_id\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValueWithoutPrimaryKeyValue(value, primaryKey) {\n if (!primaryKey) {\n return value;\n }\n return (value || []).map((itemValue) => {\n //这里clone只是为了保险,不是必须的,每次修改子表数据是否都会生成新的primaryKey字段值是由pipeOut中识别autoGeneratePrimaryKeyValue决定的,跟这里没关系\n const newItemValue = clone(itemValue);\n if (newItemValue.children) {\n newItemValue.children = getTableValueWithoutPrimaryKeyValue(newItemValue.children, primaryKey);\n }\n delete newItemValue[primaryKey];\n return newItemValue;\n });\n}\n\n/**\n * 子表组件字段值中每行数据的键值key移除指定前缀\n * @param {*} value 子表组件字段值,数组\n * @param {*} fieldPrefix 字段前缀\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValueWithoutFieldPrefix(value, fieldPrefix) {\n let convertedValue = [];\n (value || []).forEach((itemValue) => {\n var newItemValue = {};\n for (let n in itemValue) {\n if (itemValue.hasOwnProperty(n)) {\n if(n === \"children\"){\n newItemValue.children = getTableValueWithoutFieldPrefix(itemValue.children, fieldPrefix);\n }\n else {\n newItemValue[n.replace(new RegExp(`^${fieldPrefix}`), \"\")] = itemValue[n];\n }\n }\n }\n convertedValue.push(newItemValue);\n });\n return convertedValue;\n}\n\n/**\n * 子表组件字段值中每行数据的键值key补上指定前缀\n * @param {*} value 子表组件字段值,数组\n * @param {*} fieldPrefix 字段前缀\n * @param {*} primaryKey 主键字段名,主键不参与被键值key规则,需要排除,审批王amis表单也是这个规则\n * @returns 转换后的子表组件字段值\n */\nfunction getTableValuePrependFieldPrefix(value, fieldPrefix, primaryKey) {\n let convertedValue = [];\n (value || []).forEach((itemValue) => {\n var newItemValue = {};\n for (let n in itemValue) {\n if (itemValue.hasOwnProperty(n) && typeof itemValue[n] !== undefined && n !== primaryKey) {\n if(n === \"children\"){\n newItemValue.children = getTableValuePrependFieldPrefix(itemValue.children, fieldPrefix, primaryKey);\n }\n else {\n newItemValue[`${fieldPrefix}${n}`] = itemValue[n];\n }\n }\n }\n if (primaryKey && itemValue[primaryKey]) {\n newItemValue[primaryKey] = itemValue[primaryKey];\n }\n convertedValue.push(newItemValue);\n });\n return convertedValue;\n}\n\n/**\n * 子表组件字段集合属性中每个字段name移除指定前缀\n * @param {*} fields 子表组件字段集合,数组\n * @param {*} fieldPrefix 字段前缀\n * @returns 转换后的子表组件字段值\n */\nfunction getTableFieldsWithoutFieldPrefix(fields, fieldPrefix) {\n return (fields || []).map((item) => {\n const newItem = clone(item);//这里不clone的话,会造成子表组件重新render,从而审批王那边点开子表行编辑窗口时报错\n newItem.name = newItem.name.replace(new RegExp(`^${fieldPrefix}`), \"\");\n return newItem;\n });\n}\n\n/**\n * 子表组件字段集合属性中每个字段name补上指定前缀\n * 因amis存在bug:input-table内的字段在行编辑模式时会受到外层相同name的字段的影响 https://github.com/baidu/amis/issues/9653\n * 在渲染input table组件时统一调用此函数加上前缀来避开同名字段问题\n * @param {*} fields 子表组件字段集合,数组\n * @param {*} fieldPrefix 字段前缀\n * @returns 转换后的子表组件字段值\n */\n// function getTableFieldsPrependFieldPrefix(fields, fieldPrefix) {\n// return (fields || []).map((item) => {\n// const newItem = clone(item);\n// newItem.name = `${fieldPrefix}${item.name}`;\n// newItem.__originalName = item.name;\n// return newItem;\n// });\n// }\n\n/**\n * @param {*} props \n * @param {*} mode edit/new/readonly\n */\nfunction getFormFields(props, mode = \"edit\") {\n let fieldPrefix = props.fieldPrefix;\n let fields = props.fields || [];\n if (fieldPrefix) {\n fields = getTableFieldsWithoutFieldPrefix(fields, fieldPrefix);\n }\n return (fields || []).map(function (item) {\n let formItem = {\n \"type\": \"steedos-field\",\n \"name\": item.name,\n \"config\": item\n };\n if (mode === \"readonly\") {\n formItem.static = true;\n }\n return formItem;\n }) || [];\n}\n\nfunction getInputTableCell(field, showAsInlineEditMode) {\n if (showAsInlineEditMode) {\n // 这里不可以用quickEdit,因为amis存在bug:input-table内的字段在行编辑模式时会受到外层相同name的字段的影响 https://github.com/baidu/amis/issues/9653\n return {\n \"type\": \"steedos-field\",\n \"config\": Object.assign({}, field, {\n label: false,\n description: null\n }),\n // quickEdit: {\n // \"type\": \"steedos-field\",\n // \"mode\": \"inline\",\n // \"config\": Object.assign({}, field, {\n // label: false\n // })\n // },\n label: field.label,\n name: field.name\n }\n }\n else {\n return {\n \"type\": \"steedos-field\",\n \"config\": Object.assign({}, field, {\n label: false,\n description: null\n }),\n inInputTable: true,\n \"static\": true,\n \"readonly\": true,\n label: field.label,\n name: field.name\n }\n }\n}\n\nfunction getComponentId(name, tag) {\n let id = \"\";\n switch (name) {\n case \"table_service\":\n id = `service_wrapper__${tag}`;\n break;\n case \"form_pagination\":\n id = `service_popup_pagination_wrapper__${tag}`;\n break;\n case \"form\":\n id = `form_popup__${tag}`;\n break;\n case \"dialog\":\n id = `dialog_popup__${tag}`;\n break;\n default:\n id = `${name}__${tag}`;\n break;\n }\n return id;\n}\n\n/**\n * @param {*} props \n * @param {*} mode edit/new/readonly\n */\nasync function getInputTableColumns(props, buttonsForColumnOperations) {\n let columns = props.columns || [];\n let inlineEditMode = props.inlineEditMode;\n let showAsInlineEditMode = inlineEditMode && props.editable;\n // 实测过,直接不生成对应的隐藏column并不会对input-table值造成丢失问题,隐藏的列字段值能正常维护\n\n let fieldPrefix = props.fieldPrefix;\n let fields = cloneDeep(props.fields || []);\n if (fieldPrefix) {\n fields = getTableFieldsWithoutFieldPrefix(fields, fieldPrefix);\n }\n if (inlineEditMode == true) {\n let popOverContainerSelector = \"\";\n let popOverContainer = props.popOverContainer && props.popOverContainer();\n //获取到当前input-table所处的popOverContainer(可能是modal-dialog中),\n //给所有的下拉框字段配置popOverContainerSelector,使下拉框组件的弹出框挂载到当前dialog上,防止被dialog遮挡\n if (popOverContainer) {\n let classList = Array.prototype.slice.call(popOverContainer.parentElement.classList);\n if (classList.includes('amis-dialog-widget')) {\n popOverContainerSelector = '.' + classList.join('.') + ' .antd-Modal-content';\n }\n }\n fields.forEach(function (field) {\n //lookup存在下拉框模式;弹出模式用的是picker组件,不认popOverContainerSelector属性,所以统一加上\n if (field.type == \"select\" || field.type == \"lookup\") {\n field.amis = {\n ...field.amis,\n popOverContainerSelector\n };\n }\n });\n }\n \n if (columns && columns.length) {\n return columns.map(function (column, index) {\n let field, extendColumnProps = {};\n if (typeof column === \"string\") {\n // 如果字符串,则取出要显示的列配置\n field = fields.find(function (fieldItem) {\n return fieldItem.name === column;\n });\n }\n else {\n // 如果是对象,则合并到steedos-field的config.amis属性中,steedos组件会把config.amis属性混合到最终生成的input-table column\n field = fields.find(function (fieldItem) {\n return fieldItem.name === column.name;\n });\n if (field) {\n // field.amis = Object.assign({}, field.amis, column);\n // 如果把column合并到field.amis,column的label/width等属性不会生效,只能放外层合并\n extendColumnProps = column;\n }\n }\n if (field) {\n let mode = typeof extendColumnProps.inlineEditMode === \"boolean\" ?\n extendColumnProps.inlineEditMode : showAsInlineEditMode;\n let tableCell = getInputTableCell(field, mode);\n let className = \"\";\n //判断是否换行,目前规则默认换行\n if(extendColumnProps.wrap != true){\n className += \" whitespace-nowrap\";\n }else {\n className += \" break-words\";\n }\n \n if(buttonsForColumnOperations.length == 0 && !props.showIndex && index == 0) {\n className += \" antd-Table-primayCell\";\n }\n //合并classname\n if (typeof extendColumnProps.className == \"object\") {\n className = {\n [className]: \"true\",\n ...extendColumnProps.className\n };\n } else if (typeof extendColumnProps.className == \"string\") {\n className = `${className} ${extendColumnProps.className} `;\n }\n return Object.assign({}, tableCell, extendColumnProps, {className});\n }\n else {\n return column;\n }\n });\n }\n else {\n return fields.map(function (field, index) {\n let tableCell = getInputTableCell(field, showAsInlineEditMode); \n tableCell.className = \" whitespace-nowrap \";\n if(buttonsForColumnOperations.length == 0 && !props.showIndex && index == 0) {\n tableCell.className += \" antd-Table-primayCell\";\n }\n return tableCell;\n }) || [];\n }\n}\n\n/**\n * @param {*} props input-table组件props\n * @param {*} mode edit/new/readonly\n * @returns 翻页组件\n */\nfunction getFormPagination(props, mode) {\n let showPagination = true;\n if (mode === \"new\" && !!!props.editable) {\n //不允许编辑只允许新建时不应该让用户操作翻页\n showPagination = false;\n }\n let buttonPrevId = getComponentId(\"button_prev\", props.id);\n let buttonNextId = getComponentId(\"button_next\", props.id);\n let formId = getComponentId(\"form\", props.id);\n let tableServiceId = getComponentId(\"table_service\", props.id);\n let formPaginationId = getComponentId(\"form_pagination\", props.id);\n let onPageChangeScript = `\n let scope = event.context.scoped;\n let __paginationServiceId = \"${formPaginationId}\";\n let __wrapperServiceId = \"${tableServiceId}\";\n let __formId = \"${formId}\";\n let fieldValue = event.data.__tableItems;//这里不可以_.cloneDeep,因为翻页form中用的是event.data.__tableItems,直接变更其值即可改变表单中的值\n let pageChangeDirection = context.props.pageChangeDirection;\n let mode = \"${mode}\";\n // event.data中的index和__page分别表示当前要把表单数据提交到的行索引和用于标定下一页页码的当前页页码\n // 一般来说__page = index + 1,但是可以让event.data中传入__page和index值不是这种联系。\n // 比如__page设置为3,index设置为0表示把当前表单数据提交到第一页,但是跳转到第4页,弹出的表单中底下的新增和复制按钮依赖了此功能\n // let currentPage = currentIndex + 1;\n let currentPage = event.data.__page;\n let currentIndex = event.data.index;\n if(mode !== \"readonly\"){\n // 新建编辑时,翻页才需要把当前页表单保存,只读时直接翻页即可\n // 翻页到下一页之前需要先把当前页改动的内容保存到中间变量__tableItems中\n let currentFormValues = scope.getComponentById(__formId).getValues();\n // 这里不clone的话,其值会带上__super属性\n currentFormValues = _.clone(currentFormValues);\n var parent = event.data.parent;\n var __parentIndex = event.data.__parentIndex;\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // 重写父节点,并且改变其某个属性以让子节点修改的内容回显到界面上\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n fieldValue[currentIndex] = currentFormValues;\n }\n // 翻页到下一页前需要同时把改动的内容保存到最终正式的表单字段中,所以额外给正式表单字段执行一次setValue\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n }\n\n // 以下是翻页逻辑,翻到下一页并把下一页内容显示到表单上\n let targetPage;\n if(pageChangeDirection === \"next\"){\n targetPage = currentPage + 1;\n }\n else{\n targetPage = currentPage - 1;\n }\n let targetIndex = targetPage - 1;//input-table组件行索引,从0开始的索引\n // let targetFormData = __tableItems[targetIndex];\n doAction({\n \"actionType\": \"setValue\",\n \"componentId\": __paginationServiceId,\n \"args\": {\n \"value\": {\n \"__page\": targetPage,\n \"index\": targetIndex\n }\n }\n });\n // 这里不用进一步把表单内容setValue到form中,是因为编辑表单中schemaApi监听了行索引index的变化,其值变化时会重新build整个form\n // doAction({\n // \"actionType\": \"setValue\",\n // \"componentId\": __formId,\n // \"args\": {\n // \"value\": targetFormData\n // },\n // \"dataMergeMode\": \"override\"// amis 3.2不支持override模式,高版本才支持\n // });\n `;\n return {\n \"type\": \"wrapper\",\n \"size\": \"none\",\n \"className\": \"mr-1\",\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": `fa fa-angle-left`,\n \"level\": \"link\",\n \"pageChangeDirection\": \"prev\",\n \"disabledOn\": showPagination ? \"${__page <= 1}\" : \"true\",\n \"size\": \"sm\",\n \"id\": buttonPrevId,\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"validate\",\n \"componentId\": formId\n },\n {\n \"actionType\": \"custom\",\n \"script\": onPageChangeScript,\n \"expression\": \"${!!!event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n }\n ]\n }\n }\n },\n {\n \"type\": \"tpl\",\n // 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量\n \"tpl\": \"${__page}/${__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length}\"\n },\n {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": `fa fa-angle-right`,\n \"level\": \"link\",\n \"pageChangeDirection\": \"next\",\n // \"disabledOn\": showPagination ? \"${__page >= __tableItems.length}\" : \"true\",\n // 这里用__super.parent,加__super是为了防止当前记录有字段名为parent的重名变量\n \"disabledOn\": showPagination ? \"${__page >= (__super.parent ? COMPACT(__tableItems[__parentIndex]['children']).length : COMPACT(__tableItems).length)}\" : \"true\",\n \"size\": \"sm\",\n \"id\": buttonNextId,\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"validate\",\n \"componentId\": formId\n },\n {\n \"actionType\": \"custom\",\n \"script\": onPageChangeScript,\n \"expression\": \"${!!!event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n }\n ]\n }\n }\n }\n ]\n }\n}\n\n/**\n * 传入formSchema输出带翻页容器的wrapper\n * @param {*} props input-table组件props\n * @param {*} form formSchema\n * @param {*} mode edit/new/readonly\n * @returns 带翻页容器的wrapper\n */\nfunction getFormPaginationWrapper(props, form, mode) {\n // console.log(\"==getFormPaginationWrapper===\", props, mode);\n let serviceId = getComponentId(\"form_pagination\", props.id);\n let tableServiceId = getComponentId(\"table_service\", props.id);\n let primaryKey = getTablePrimaryKey(props);\n let innerForm = Object.assign({}, form, {\n \"data\": {\n // 这里加__super前缀是因为__parentForm变量(即主表单)中可能会正好有名为index的字段\n // 比如“对象字段”对象options字段是一个子表字段,但是主表(即“对象字段”对象)中正好有一个名为index的字段\n \"&\": \"${__super.parent ? __tableItems[__parentIndex]['children'][__super.index] : __tableItems[__super.index]}\"\n }\n });\n let formBody = [\n {\n \"type\": \"wrapper\",\n \"size\": \"none\",\n \"className\": \"flex justify-end sticky top-0 right-0 left-0 z-20 bg-white\",\n \"body\": [\n getFormPagination(props, mode)\n ]\n },\n {\n \"type\": \"service\",\n \"body\": [\n innerForm\n ],\n \"data\": {\n \"&\": \"${__parentForm}\"\n }\n }\n ];\n let onServiceInitedScript = `\n // 以下脚本解决了有时弹出编辑表单时,表单中的值比最后一次编辑保存的值会延迟一拍。\n // 比如:inlineEditMode模式时,用户在表格单元格中直接修改数据,然后弹出的表单form中并没有包含单元格中修改的内容\n // 另外有的地方在非inlineEditMode模式时也会有这种延迟一拍问题,比如对象字段中下拉框类型字段的”选择项“属性\n // 再比如工作流规则详细页面修改了子表字段”时间触发器“值后,在只读界面点击查看按钮弹出的表单中__tableItems值是修改前的值\n // 处理思路是每次弹出form之前先把其__tableItems同步更新为最新值,这样就能在弹出form中包含单元格中做的修改\n // 注意:service init事件只会在每次弹出窗口时才执行,在触发翻页时并不会触发service init事件\n let scope = event.context.scoped;\n let __wrapperServiceId = \"${tableServiceId}\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // 这里不可以用event.data[\"${props.name}\"]因为amis input talbe有一层单独的作用域,其值会延迟一拍\n // 这里如果不.clone的话,在弹出窗口中显示的子表组件,添加行后点窗口的取消按钮关闭窗口后无法把之前的操作还原,即把之前添加的行自动移除\n let lastestFieldValue = _.clone(wrapperServiceData[\"${props.name}\"] || []);\n let fieldPrefix = \"${props.fieldPrefix || ''}\";\n if(fieldPrefix){\n let getTableValueWithoutFieldPrefix = new Function('v', 'f', \"return (\" + ${getTableValueWithoutFieldPrefix.toString()} + \")(v, f)\");\n lastestFieldValue = getTableValueWithoutFieldPrefix(lastestFieldValue, fieldPrefix);\n }\n //不可以直接像event.data.__tableItems = lastestFieldValue; 这样整个赋值,否则作用域会断\n let mode = \"${mode || ''}\";\n if(mode === \"new\"){\n // 点击子表组件底部新增按钮时新增一条空白行并自动翻页到新增行\n // 注意点击弹出的子表行详细表单中的新增按钮不会进此service init事件函数中\n let newItem = {};\n event.data.__tableItems.push(newItem);\n lastestFieldValue.push(newItem);\n event.data.index = lastestFieldValue.length - 1;\n event.data.__page = lastestFieldValue.length;\n // 这里新增空白行时要把值同步保存到子表组件中,如果不同步保存的话,用户点击弹出表单右上角的关闭窗口时不会自动删除这里自动增加的空白行,同步后可以让用户手动删除此行\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n }\n event.data.__tableItems.forEach(function(n,i){\n event.data.__tableItems[i] = lastestFieldValue[i];\n });\n\n var parent = event.data.parent;\n var fieldValue = event.data.__tableItems;\n if(parent){\n // 如果是子行,即在节点嵌套情况下,当前节点如果是children属性下的子节点时,则算出其所属父行的索引值\n var primaryKey = \"${primaryKey}\";\n event.data.__parentIndex = _.findIndex(fieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(event.data.__parentIndex < 0){\n let tableId = \"${props.id}\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue不为true的情况下,即子表组件input-table的pipeOut函数中会移除表单了子表字段的primaryKey字段值,\n // 此时行primaryKey字段值为空,但是pipeIn函数中已经为input-table自动生成过primaryKey字段值了,只是没有输出到表单字段值中而已\n // 所以上面从表单字段值中没找到__parentIndex,是因为此时行primaryKey字段值只经过pipeIn保存到table组件内而没有保存到tableService\n event.data.__parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n }\n `;\n let schema = {\n \"type\": \"service\",\n \"id\": serviceId,\n \"schemaApi\": {\n // \"url\": \"${context.rootUrl}/graphql?rebuildOn=${index}\",\n \"url\": \"${context.rootUrl}/api/v1/spaces/none\",\n \"trackExpression\": \"${index}\",\n \"method\": \"get\",\n \"adaptor\": `\n const formBody = ${JSON.stringify(formBody)};\n return {\n \"body\": formBody\n }\n `,\n \"cache\": 600000\n },\n // \"body\": formBody,\n \"data\": {\n \"__page\": \"${index + 1}\",\n \"__parentIndex\": null,//兼容节点嵌套情况,即节点中有children属性时,这里记录当前节点所属上层节点index,只支持向上找一层,不支持多层\n // \"__total\": `\\${${props.name}.length}`,\n // \"__total\": \"${__tableItems.length}\",\n // \"__paginationServiceId\": serviceId,\n // \"__formId\": form.id\n },\n \"onEvent\": {\n \"init\": {\n \"actions\": [\n {\n \"actionType\": \"custom\",\n \"script\": onServiceInitedScript\n }\n ]\n }\n }\n };\n return schema;\n}\n\n/**\n * @param {*} props \n * @param {*} mode edit/new/readonly\n */\nasync function getForm(props, mode = \"edit\", formId) {\n let formFields = getFormFields(props, mode);\n let body = await getFormBody(null, formFields);\n let primaryKey = getTablePrimaryKey(props);\n if (!formId) {\n formId = getComponentId(\"form\", props.id);\n }\n let schema = {\n \"type\": \"form\",\n \"id\": formId,\n \"title\": \"表单\",\n \"debug\": false,\n \"mode\": \"normal\",\n \"body\": body,\n \"wrapWithPanel\": false,\n \"canAccessSuperData\": false,\n \"className\": \"steedos-object-form steedos-amis-form\"\n };\n if (mode === \"edit\" || mode === \"new\") {\n // 新增行弹出编辑行表单,在弹出之前已经不用先增加一行,因为在翻页service初始化的时候会判断mode为new时自动新增一行\n let onEditItemSubmitScript = `\n // let fieldValue = _.cloneDeep(event.data[\"${props.name}\"]);\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // 因为删除时只是把input-table组件中的行数据删除了,并没有把父层service中的行删除,所以__tableItems会有值为undefined的数据,需要移除掉\n // 不用event.data.__tableItems = _.compact(event.data.__tableItems)是因为会把__tableItems变量保存到表单中\n removeEmptyItems(event.data.__tableItems);\n let fieldValue = event.data.__tableItems;//这里不可以_.cloneDeep,因为翻页form中用的是event.data.__tableItems,直接变更其值即可改变表单中的值\n //这里加__super.__super前缀是因为__parentForm变量(即主表单)中可能会正好有名为index的字段\n // 比如“对象字段”对象options字段是一个子表字段,但是主表(即“对象字段”对象)中正好有一个名为index的字段\n // fieldValue[event.data.__super.__super.index] = JSON.parse(JSON.stringify(event.data));\n var currentIndex = event.data.__super.__super.index;\n var currentFormValues = JSON.parse(JSON.stringify(event.data));\n var parent = event.data.__super.__super.parent;\n var __parentIndex = event.data.__super.__super.__parentIndex;\n let uuidv4 = new Function(\"return (\" + ${uuidv4.toString()} + \")()\");\n var primaryKey = \"${primaryKey}\";\n if(parent){\n fieldValue[__parentIndex].children[currentIndex] = currentFormValues;\n // 重写父节点,并且改变其某个属性以让子节点修改的内容回显到界面上\n fieldValue[__parentIndex] = Object.assign({}, fieldValue[__parentIndex], {\n children: fieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n // 这里currentFormValues中如果没有primaryKey字段值不用处理,因为组件的pipeIn/pipeOut中会为每行自动生成\n // 也不用担心复制行时_id会重复,因为点击复制按钮时已经处理过了\n fieldValue[currentIndex] = currentFormValues;\n }\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n `;\n Object.assign(schema, {\n \"onEvent\": {\n \"submit\": {\n \"weight\": 0,\n \"actions\": [\n // {\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"index\": \"${index}\",\n // \"value\": {\n // \"&\": \"$$\"\n // }\n // },\n // \"componentId\": props.id\n // }\n {\n \"actionType\": \"custom\",\n \"script\": onEditItemSubmitScript\n }\n ]\n }\n }\n });\n }\n // else if (mode === \"new\") {\n // let onNewItemSubmitScript = `\n // let newItem = JSON.parse(JSON.stringify(event.data));\n // if(event.data[\"${props.name}\"]){\n // // let fieldValue = event.data.__tableItems;\n // // 这里不用__tableItems是因为新建的时候没有翻页,里面没有也不需要走__tableItems变量\n // let fieldValue = event.data[\"${props.name}\"];\n // fieldValue.push(newItem);\n // doAction({\n // \"componentId\": \"${props.id}\",\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": fieldValue\n // }\n // });\n // }\n // else{\n // // 这里不可以执行event.data[\"${props.name}\"]=[newItem],数据域会断掉\n // doAction({\n // \"componentId\": \"${props.id}\",\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": [newItem]\n // }\n // });\n // }\n // `;\n // Object.assign(schema, {\n // \"onEvent\": {\n // \"submit\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // \"actionType\": \"custom\",\n // \"script\": onNewItemSubmitScript\n // },\n // // {\n // // \"componentId\": props.id,\n // // \"actionType\": \"addItem\",//input-table组件的needConfirm属性为true时,addItem动作会把新加的行显示为编辑状态,所以只能使用上面的custom script来setValue实现添加行\n // // \"args\": {\n // // \"index\": `\\${${props.name}.length || 9000}`,//这里加9000是因为字段如果没放在form组件内,props.name.length拿不到值\n // // \"item\": {\n // // \"&\": \"$$\"\n // // }\n // // }\n // // }\n // ]\n // }\n // }\n // });\n // }\n schema = getFormPaginationWrapper(props, schema, mode);\n return schema;\n}\n\n\n/**\n * 编辑、新增、删除、查看按钮actions\n * @param {*} props \n * @param {*} mode edit/new/readonly/delete\n */\nasync function getButtonActions(props, mode) {\n let actions = [];\n let primaryKey = getTablePrimaryKey(props);\n let tableServiceId = getComponentId(\"table_service\", props.id);\n let formId = getComponentId(\"form\", props.id);\n let dialogId = getComponentId(\"dialog\", props.id);\n let buttonNextId = getComponentId(\"button_next\", props.id);\n let formPaginationId = getComponentId(\"form_pagination\", props.id);\n let parentFormData = \"${__super.__super.__super.__super || {}}\";\n let amisVersion = getComparableAmisVersion();\n if (amisVersion < 3.6) {\n parentFormData = \"${__super.__super || {}}\";\n }\n if (mode == \"new\" || mode == \"edit\") {\n // let actionShowNewDialog = {\n // \"actionType\": \"dialog\",\n // \"dialog\": {\n // \"type\": \"dialog\",\n // \"title\": \"新增行\",\n // \"body\": [\n // await getForm(props, \"new\", formId)\n // ],\n // \"size\": \"lg\",\n // \"showCloseButton\": true,\n // \"showErrorMsg\": true,\n // \"showLoading\": true,\n // \"className\": \"app-popover\",\n // \"closeOnEsc\": false,\n // \"onEvent\": {\n // \"confirm\": {\n // \"actions\": [\n // {\n // \"actionType\": \"validate\",\n // \"componentId\": formId\n // },\n // {\n // \"preventDefault\": true,\n // \"expression\": \"${event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n // }\n // ]\n // }\n // }\n // }\n // };\n let onSaveAndNewItemScript = `\n let scope = event.context.scoped;\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // 因为删除时只是把input-table组件中的行数据删除了,并没有把父层service中的行删除,所以__tableItems会有值为undefined的数据,需要移除掉\n // 不用event.data.__tableItems = _.compact(event.data.__tableItems)是因为会把__tableItems变量保存到表单中\n removeEmptyItems(event.data.__tableItems);\n let fieldValue = event.data.__tableItems;//这里不可以_.cloneDeep,因为翻页form中用的是event.data.__tableItems,直接变更其值即可改变表单中的值\n // 新建一条空白行并保存到子表组件\n var parent = event.data.__super.parent;\n var primaryKey = \"${primaryKey}\";\n var __parentIndex = parent && _.findIndex(fieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"${props.id}\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue不为true的情况下,即子表组件input-table的pipeOut函数中会移除表单了子表字段的primaryKey字段值,\n // 此时行primaryKey字段值为空,但是pipeIn函数中已经为input-table自动生成过primaryKey字段值了,只是没有输出到表单字段值中而已\n // 所以上面从表单字段值中没找到__parentIndex,是因为此时行primaryKey字段值只经过pipeIn保存到table组件内而没有保存到tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(parent){\n fieldValue[__parentIndex].children.push({});\n // 这里实测不需要fieldValue[__parentIndex] = ... 来重写整个父行让子表回显,所以没加相关代码\n }\n else{\n fieldValue.push({});\n }\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"${buttonNextId}\";\n let __paginationServiceId = \"${formPaginationId}\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//这里不可以用Object.assign否则,event.data中上层作用域数据会丢失\n event.data.__parentIndex = __parentIndex; //执行下面的翻页按钮事件中依赖了__parentIndex值\n }\n else{\n event.data.__page = fieldValue.length - 1;//这里不可以用Object.assign否则,event.data中上层作用域数据会丢失\n }\n // 触发翻页按钮事件,实现保存当前页数据并跳转到最后一行\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n `;\n let onSaveAndCopyItemScript = `\n let scope = event.context.scoped;\n let __formId = \"${formId}\";\n // let newItem = JSON.parse(JSON.stringify(event.data));\n let newItem = scope.getComponentById(__formId).getValues();//这里不可以用event.data,因为其拿到的是弹出表单时的初始值,不是用户实时填写的数据\n newItem = _.clone(newItem);\n let removeEmptyItems = function(items){\n let i = _.findIndex(items, function(item){\n return item === undefined\n });\n if(i > -1){\n items.splice(i, 1);\n removeEmptyItems(items);\n }\n }\n // 因为删除时只是把input-table组件中的行数据删除了,并没有把父层service中的行删除,所以__tableItems会有值为undefined的数据,需要移除掉\n // 不用event.data.__tableItems = _.compact(event.data.__tableItems)是因为会把__tableItems变量保存到表单中\n removeEmptyItems(event.data.__tableItems);\n let fieldValue = event.data.__tableItems;//这里不可以_.cloneDeep,因为翻页form中用的是event.data.__tableItems,直接变更其值即可改变表单中的值\n // 复制当前页数据到新建行并保存到子表组件\n // fieldValue.push(newItem);\n var parent = event.data.__super.parent;\n var primaryKey = \"${primaryKey}\";\n var __parentIndex = parent && _.findIndex(fieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"${props.id}\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue不为true的情况下,即子表组件input-table的pipeOut函数中会移除表单了子表字段的primaryKey字段值,\n // 此时行primaryKey字段值为空,但是pipeIn函数中已经为input-table自动生成过primaryKey字段值了,只是没有输出到表单字段值中而已\n // 所以上面从表单字段值中没找到__parentIndex,是因为此时行primaryKey字段值只经过pipeIn保存到table组件内而没有保存到tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(newItem[primaryKey]){\n // 如果newItem已经有主键字段值,则重新生成新的主键值,否则会重复。\n let uuidv4 = new Function(\"return (\" + ${uuidv4.toString()} + \")()\");\n newItem[primaryKey] = uuidv4();\n }\n if(parent){\n fieldValue[__parentIndex].children.push(newItem);\n // 这里实测不需要fieldValue[__parentIndex] = ... 来重写整个父行让子表回显,所以没加相关代码\n }\n else{\n fieldValue.push(newItem);\n }\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": fieldValue\n }\n });\n let buttonNextId = \"${buttonNextId}\";\n let __paginationServiceId = \"${formPaginationId}\";\n let __paginationData = scope.getComponentById(__paginationServiceId).getData();\n event.data.index = __paginationData.index;\n if(parent){\n event.data.__page = fieldValue[__parentIndex].children.length - 1;//这里不可以用Object.assign否则,event.data中上层作用域数据会丢失\n event.data.__parentIndex = __parentIndex; //执行下面的翻页按钮事件中依赖了__parentIndex值\n }\n else{\n event.data.__page = fieldValue.length - 1;//这里不可以用Object.assign否则,event.data中上层作用域数据会丢失\n }\n // 触发翻页按钮事件,实现保存当前页数据并跳转到最后一行\n scope.getComponentById(buttonNextId).props.dispatchEvent(\"click\", event.data);\n `;\n let dialogButtons = [\n {\n \"type\": \"button\",\n \"label\": \"完成\",\n \"actionType\": \"confirm\",\n \"level\": \"primary\"\n }\n ];\n if (props.addable) {\n // 有新增行权限时额外添加新增和复制按钮\n dialogButtons = [\n {\n \"type\": \"button\",\n \"label\": \"新增\",\n \"tooltip\": \"保存并新增一行,即保存当前行数据并新增一条空白行\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"validate\",\n \"componentId\": formId\n },\n {\n \"actionType\": \"custom\",\n \"script\": onSaveAndNewItemScript,\n \"expression\": \"${!!!event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n }\n ]\n }\n }\n },\n {\n \"type\": \"button\",\n \"label\": \"复制\",\n \"tooltip\": \"复制并新增一行,即保存当前行数据并复制当前行数据到新增行\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"validate\",\n \"componentId\": formId\n },\n {\n \"actionType\": \"custom\",\n \"script\": onSaveAndCopyItemScript,\n \"expression\": \"${!!!event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n }\n ]\n }\n }\n },\n dialogButtons[0]\n ];\n }\n let actionShowEditDialog = {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"id\": dialogId,\n \"title\": `\\${uiSchema.fields.${props.name}.label} 明细`,\n \"body\": [\n await getForm(props, mode, formId)\n ],\n \"size\": \"lg\",\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"className\": \"app-popover\",\n \"closeOnEsc\": false,\n \"data\": {\n // 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去\n // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段\n // 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射\n // \"&\": \"${record || {}}\",\n // 换成从__super来映射上级表单数据是因为对象列表视图界面中每行下拉菜单中的编辑按钮弹出的表单中的子表所在作用域中没有record变量\n // 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名\n // \"__parentForm\": \"${__super.__super || {}}\",\n // \"__parentForm\": mode == \"new\" ? \"$$\" : \"${__super.__super || {}}\",\n \"__parentForm\": mode == \"new\" ? \"$$\" : parentFormData,\n \"_master\": \"${_master}\",\n \"global\": \"${global}\",\n \"context\": \"${context}\",\n \"uiSchema\": \"${uiSchema}\",\n \"index\": \"${index}\",//amis组件自带行索引,在节点嵌套情况下,当前节点如果是children属性下的子节点时,这里的index是当前节点在children中的索引,而不是外层父节点的index\n \"parent\": \"${__super.parent}\",//amis组件自带父节点数据域数据,即节点嵌套情况下,当前节点为某个节点(比如A节点)的children属性下的子节点时,当前节点的父节点(即A节点)的数据域数据\n // \"__tableItems\": `\\${${props.name}}`\n // 为了解决\"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值\",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog\n // 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系\n // \"__tableItems\": `\\${${props.name}|json|toJson}`\n // 在节点嵌套情况下,当前节点正好是带children属性的节点的话,这里弹出的dialog映射到的会是children数组,这是amis目前的规则,\n // 所以这里加判断有children时,用__super.__super让映射到正确的作用域层,如果不加,则__tableItems取到的会是children数组,而不是整个子表组件的值\n \"__tableItems\": `\\${((children ? __super.__super.${props.name} : __super.${props.name}) || [])|json|toJson}`\n },\n \"actions\": dialogButtons,\n \"onEvent\": {\n \"confirm\": {\n \"actions\": [\n {\n \"actionType\": \"validate\",\n \"componentId\": formId\n },\n {\n \"preventDefault\": true,\n \"expression\": \"${event.data.validateResult.error}\" //触发表单校验结果会存入validateResult,amis 3.2不支持,高版本比如 3.5.3支持\n }\n ]\n }\n }\n }\n };\n if (props.dialog) {\n Object.assign(actionShowEditDialog.dialog, props.dialog);\n }\n if (mode == \"new\") {\n // let onNewLineScript = `\n // let newItem = {};\n // if(event.data[\"${props.name}\"]){\n // // let fieldValue = event.data.__tableItems;\n // // 这里不用__tableItems是因为新建的时候没有翻页,里面没有也不需要走__tableItems变量\n // // let fieldValue = _.clone(event.data[\"${props.name}\"]);\n // let fieldValue = event.data[\"${props.name}\"];\n // fieldValue.push(newItem);\n // doAction({\n // \"componentId\": \"${props.id}\",\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": fieldValue\n // }\n // });\n // event.data.index = fieldValue.length - 1;\n // }\n // else{\n // // 这里不可以执行event.data[\"${props.name}\"]=[newItem],数据域会断掉\n // doAction({\n // \"componentId\": \"${props.id}\",\n // \"actionType\": \"setValue\",\n // \"args\": {\n // \"value\": [newItem]\n // }\n // });\n // event.data.index = 1;\n // }\n // `;\n // let actionNewLine = {\n // \"actionType\": \"custom\",\n // \"script\": onNewLineScript\n // };\n // 新增行时不需要在弹出编辑表单前先加一行,因为会在编辑表单所在service初始化时判断到是新增就自动增加一行,因为这里拿不到event.data.__tableItems,也无法变更其值\n // actions = [actionNewLine, actionShowEditDialog];\n if (props.enableDialog === false) {\n actions = [\n {\n \"actionType\": \"custom\",\n \"script\": `\n let scope = event.context.scoped;\n let __wrapperServiceId = \"${tableServiceId}\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n let lastestFieldValue = _.clone(wrapperServiceData[\"${props.name}\"] || []);\n lastestFieldValue.push({})\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n `\n }\n ];\n }else {\n actions = [actionShowEditDialog];\n }\n }\n else if (mode == \"edit\") {\n actions = [actionShowEditDialog];\n }\n }\n else if (mode == \"readonly\") {\n actions = [\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": `\\${uiSchema.fields.${props.name}.label} 明细`,\n \"body\": [\n await getForm(props, \"readonly\")\n ],\n \"size\": \"lg\",\n \"showCloseButton\": true,\n \"showErrorMsg\": true,\n \"showLoading\": true,\n \"className\": \"app-popover\",\n \"closeOnEsc\": false,\n \"actions\": [],\n \"data\": {\n // 这里必须加data数据映射,否则翻页功能中取__tableItems值时会乱,比如翻页编辑后会把上一页中没改过的字段值带过去\n // 额外把华炎魔方主表记录ObjectForm中的字段值从record变量中映射到子表form中,因为子表lookup字段filtersFunction中可能依赖了主表记录中的字段值,比如“工作流规则”对象“时间触发器”字段中的“日期字段”字段\n // 额外把global、uiSchema也映射过去,有可能要用,后续需要用到其他变更可以这里加映射\n // \"&\": \"${record || {}}\",\n // 换成从__super来映射上级表单数据是因为对象列表视图界面中每行下拉菜单中的编辑按钮弹出的表单中的子表所在作用域中没有record变量\n // 映射到中间变量__parentForm而不是直接用&展开映射是为了避免表单中字段名与作用域中变量重名\n // \"__parentForm\": \"${__super.__super || {}}\",\n \"__parentForm\": parentFormData,\n \"_master\": \"${_master}\",\n \"global\": \"${global}\",\n \"context\": \"${context}\",\n \"uiSchema\": \"${uiSchema}\",\n \"index\": \"${index}\",\n \"parent\": \"${__super.parent}\",//amis组件自带父节点数据域数据,即节点嵌套情况下,当前节点为某个节点(比如A节点)的children属性下的子节点时,当前节点的父节点(即A节点)的数据域数据\n // \"__tableItems\": `\\${${props.name}}`\n // 为了解决\"弹出的dialog窗口中子表组件会影响页面布局界面中父作用域字段值\",比如设计字段布局微页面中的设置分组功能,弹出的就是子表dialog\n // 所以这里使用json|toJson转一次,断掉event.data.__tableItems与上层任用域中props.name的联系\n // \"__tableItems\": `\\${${props.name}|json|toJson}`\n // \"__tableItems\": `\\${((__super.parent ? __super.__super.${props.name} : __super.${props.name}) || [])|json|toJson}`\n // 在节点嵌套情况下,当前节点正好是带children属性的节点的话,这里弹出的dialog映射到的会是children数组,这是amis目前的规则,\n // 所以这里加判断有children时,用__super.__super让映射到正确的作用域层,如果不加,则__tableItems取到的会是children数组,而不是整个子表组件的值\n \"__tableItems\": `\\${((children ? __super.__super.${props.name} : __super.${props.name}) || [])|json|toJson}`\n },\n }\n }\n ];\n }\n else if (mode == \"delete\") {\n let tableServiceId = getComponentId(\"table_service\", props.id);\n let onDeleteItemScript = `\n // let fieldValue = event.data[\"${props.name}\"];\n let scope = event.context.scoped;\n let __wrapperServiceId = \"${tableServiceId}\";\n let wrapperService = scope.getComponentById(__wrapperServiceId);\n let wrapperServiceData = wrapperService.getData();\n // 这里不可以用event.data[\"${props.name}\"]因为amis input talbe有一层单独的作用域,其值会延迟一拍\n // 这里_.clone是因为字段设计布局设置分组这种弹出窗口中的子表组件,直接删除后,点取消无法还原\n // 也因为这里clone没有直接删除,所以弹出编辑表单提交事件中event.data.__tableItems中取到的值会有被删除的行数据为undefined\n let lastestFieldValue = _.clone(wrapperServiceData[\"${props.name}\"]);\n var currentIndex = event.data.index;\n var parent = event.data.__super.parent;\n var primaryKey = \"${primaryKey}\";\n var __parentIndex = parent && _.findIndex(lastestFieldValue, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n if(parent && __parentIndex < 0){\n let tableId = \"${props.id}\";\n let table = scope.getComponentById(tableId)\n // autoGeneratePrimaryKeyValue不为true的情况下,即子表组件input-table的pipeOut函数中会移除表单了子表字段的primaryKey字段值,\n // 此时行primaryKey字段值为空,但是pipeIn函数中已经为input-table自动生成过primaryKey字段值了,只是没有输出到表单字段值中而已\n // 所以上面从表单字段值中没找到__parentIndex,是因为此时行primaryKey字段值只经过pipeIn保存到table组件内而没有保存到tableService\n __parentIndex = _.findIndex(table.props.value, function(item){\n return item[primaryKey] == parent[primaryKey];\n });\n }\n if(parent){\n lastestFieldValue[__parentIndex].children.splice(currentIndex, 1);\n // 重写父节点,并且改变其某个属性以让子节点修改的内容回显到界面上\n lastestFieldValue[__parentIndex] = Object.assign({}, lastestFieldValue[__parentIndex], {\n children: lastestFieldValue[__parentIndex].children,\n __fix_rerender_after_children_modified_tag: new Date().getTime()\n });\n }\n else{\n lastestFieldValue.splice(currentIndex, 1);\n }\n let fieldPrefix = \"${props.fieldPrefix || ''}\";\n if(fieldPrefix){\n let getTableValueWithoutFieldPrefix = new Function('v', 'f', \"return (\" + ${getTableValueWithoutFieldPrefix.toString()} + \")(v, f)\");\n lastestFieldValue = getTableValueWithoutFieldPrefix(lastestFieldValue, fieldPrefix);\n }\n doAction({\n \"componentId\": \"${props.id}\",\n \"actionType\": \"setValue\",\n \"args\": {\n \"value\": lastestFieldValue\n }\n });\n `;\n actions = [\n // {\n // \"actionType\": \"deleteItem\",\n // \"args\": {\n // \"index\": \"${index+','}\" //这里不加逗号后续会报错,语法是逗号分隔可以删除多行\n // },\n // \"componentId\": props.id\n // },\n {\n \"actionType\": \"custom\",\n \"script\": onDeleteItemScript\n }\n ];\n }\n return actions;\n}\n\nasync function getButtonNew(props) {\n return {\n \"label\": \"新增\",\n \"type\": \"button\",\n \"icon\": \"fa fa-plus\",\n \"onEvent\": {\n \"click\": {\n \"actions\": await getButtonActions(props, \"new\")\n }\n },\n \"level\": \"link\",\n \"className\": \"text-gray-500\",\n \"size\": \"xs\"\n };\n}\n\nasync function getButtonEdit(props, showAsInlineEditMode) {\n return {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": `fa fa-${showAsInlineEditMode ? \"expand-alt\" : \"pencil\"}`,//inline edit模式时显示为放开按钮,只读时显示为笔按钮\n \"level\": \"link\",\n \"className\": \"text-gray-400\",\n \"onEvent\": {\n \"click\": {\n \"actions\": await getButtonActions(props, \"edit\")\n }\n }\n };\n}\n\nasync function getButtonView(props) {\n return {\n \"type\": \"button\",\n \"label\": \"\",\n \"icon\": \"fa fa-expand-alt\",//fa-external-link\n \"level\": \"link\",\n \"className\": \"text-gray-400\",\n \"onEvent\": {\n \"click\": {\n \"actions\": await getButtonActions(props, \"readonly\")\n }\n }\n };\n}\n\nasync function getButtonDelete(props) {\n return {\n \"type\": \"button\",\n \"level\": \"link\",\n \"className\": \"text-gray-400 steedos-delete-button\",\n \"icon\": \"fa fa-trash-alt\",\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"title\": \"系统信息\",\n \"actions\": [\n {\n \"type\": \"button\",\n \"label\": \"取消\",\n \"close\": true\n },\n {\n \"type\": \"button\",\n \"label\": \"删除\",\n \"level\": \"danger\",\n \"onEvent\": {\n \"click\": {\n \"actions\": await getButtonActions(props, \"delete\")\n }\n },\n \"close\": true\n }\n ],\n \"body\": [\n {\n \"tpl\": \"确定要删除吗?\",\n \"type\": \"tpl\"\n }\n ]\n }\n }\n}\n\n\nconst getAmisInputTableSchema = async (props) => {\n if (!props.id) {\n props.id = \"steedos_input_table_\" + props.name + \"_\" + Math.random().toString(36).substr(2, 9);\n }\n let primaryKey = getTablePrimaryKey(props);\n let showOperation = props.showOperation;\n if (showOperation !== false) {\n showOperation = true;\n }\n let fieldPrefix = props.fieldPrefix;\n let fields = props.fields || [];\n if (fieldPrefix) {\n fields = getTableFieldsWithoutFieldPrefix(fields, fieldPrefix);\n }\n let serviceId = getComponentId(\"table_service\", props.id);\n let buttonsForColumnOperations = [];\n let inlineEditMode = props.inlineEditMode;\n let showAsInlineEditMode = inlineEditMode && props.editable;\n if (showOperation) {\n if (props.enableDialog !== false) {\n if (props.editable) {\n let showEditButton = true;\n if (showAsInlineEditMode) {\n // 始终显示弹出子表表单按钮,如果需要判断只在有列被隐藏时才需要显示弹出表单按钮放开下面的if逻辑就好\n showEditButton = true;\n // // inline edit模式下只在有列被隐藏时才需要显示编辑按钮\n // if (props.columns && props.columns.length > 0 && props.columns.length < fields.length) {\n // showEditButton = true;\n // }\n // else {\n // showEditButton = false;\n // }\n }\n // 编辑时显示编辑按钮\n if (showEditButton) {\n let buttonEditSchema = await getButtonEdit(props, showAsInlineEditMode);\n buttonsForColumnOperations.push(buttonEditSchema);\n }\n }\n else {\n // 只读时显示查看按钮\n // 如果想只在有列被隐藏时才需要显示查看按钮可以加上判断:if (props.columns && props.columns.length > 0 && props.columns.length < fields.length)\n let buttonViewSchema = await getButtonView(props);\n buttonsForColumnOperations.push(buttonViewSchema);\n }\n }\n \n if (props.removable) {\n let buttonDeleteSchema = await getButtonDelete(props);\n buttonsForColumnOperations.push(buttonDeleteSchema);\n }\n }\n let amis = props[\"input-table\"] || props.amis || {};//额外支持\"input-table\"代替amis属性,是因为在字段yml文件中用amis作为key不好理解\n let inputTableSchema = {\n \"type\": \"input-table\",\n \"mode\": \"normal\",\n \"name\": props.name,\n //不可以addable/editable/removable设置为true,因为会在原生的操作列显示操作按钮图标,此开关实测只控制这个按钮显示不会影响功能\n // \"addable\": props.addable,\n // \"editable\": props.editable,\n // \"removable\": props.removable, \n \"draggable\": props.draggable,\n \"showIndex\": props.showIndex,\n \"perPage\": props.perPage,\n \"id\": props.id,\n \"columns\": await getInputTableColumns(props, buttonsForColumnOperations),\n // \"needConfirm\": false, //不可以配置为false,否则,单元格都是可编辑状态,且很多static类型无法正常显示,比如static-mapping\n \"strictMode\": props.strictMode,\n \"showTableAddBtn\": false,\n \"showFooterAddBtn\": false,\n \"className\": props.tableClassName,\n \"pipeIn\": (value, data) => {\n if (fieldPrefix) {\n value = getTableValueWithoutFieldPrefix(value, fieldPrefix);\n }\n value = getTableValueWithEmptyValue(value, fields);\n if (primaryKey) {\n // 这里临时给每行数据补上primaryKey字段值,如果库里不需要保存这里补上的字段值,pipeOut中会识别autoGeneratePrimaryKeyValue属性选择最终移除这里补上的字段值\n // 这里始终自动生成primaryKey字段值,而不是只在pipeOut输出整个子表字段值时才生成,是因为要支持当数据库里保存的子表字段行数据没有primaryKey字段值时的行嵌套模式(即节点的children属性)功能\n // 这里要注意,流程详细设置界面的字段设置功能中的子表组件中,数据库里保存的子表字段行数据是有primaryKey字段值的,它不依赖这里自动生成行primaryKey值功能\n value = getTableValueWithPrimaryKeyValue(value, primaryKey);\n }\n if (amis.pipeIn) {\n if (typeof amis.pipeIn === 'function') {\n return amis.pipeIn(value, data);\n }\n }\n return value;\n },\n \"pipeOut\": (value, data) => {\n value = (value || []).map(function (item) {\n delete item.__fix_rerender_after_children_modified_tag;\n return item;\n });\n if (fieldPrefix) {\n value = getTableValuePrependFieldPrefix(value, fieldPrefix, primaryKey);\n }\n value = getTableValueWithoutEmptyValue(value, fields);\n if (props.autoGeneratePrimaryKeyValue === true) {\n // 如果需要把自动生成的primaryKey值输出保存的库中,则补全所有行中的primaryKey值\n // 这里如果不全部补全的话,初始从库里返回的字段值中拿到的行没primaryKey值的话就不会自动补上\n value = getTableValueWithPrimaryKeyValue(value, primaryKey);\n }\n else {\n // 默认情况下,也就是没有配置autoGeneratePrimaryKey时,最终输出的字段值要移除行中的primaryKey值\n // 需要注意如果没有配置autoGeneratePrimaryKey时,因为每次弹出行编辑窗口保存后都会先后进入pipeOut和pipeIn,\n // 这里删除掉了primaryKey值,所以primaryKey值每次弹出编辑窗口保存后都会给每行重新生成新的primaryKey值\n // 只有autoGeneratePrimaryKey配置为true时,每行的primaryKey字段值才会始终保持不变\n value = getTableValueWithoutPrimaryKeyValue(value, primaryKey);\n }\n if (amis.pipeOut) {\n if (typeof amis.pipeOut === 'function') {\n return amis.pipeOut(value, data);\n }\n }\n return value;\n },\n \"required\": props.required,\n \"description\": props.description\n };\n if (buttonsForColumnOperations.length) {\n inputTableSchema.columns.unshift({\n \"name\": \"__op__\",\n \"type\": \"operation\",\n \"buttons\": buttonsForColumnOperations,\n \"width\": 1\n });\n }\n // if (showAsInlineEditMode) {\n // // 因为要支持不同的列上配置inlineEditMode属性,所有不可以把整个子表组件都设置为inlineEditMode\n // inputTableSchema.needConfirm = false;\n // }\n if (amis) {\n // 支持配置amis属性重写或添加最终生成的input-table中任何属性。\n delete amis.id;//如果steedos-input-table组件配置了amis.id属性,会造成新建编辑行功能不生效\n delete amis.pipeIn;//该属性在上面合并过了\n delete amis.pipeOut;//该属性在上面合并过了\n Object.assign(inputTableSchema, amis);\n }\n const isAnyFieldHasDependOn = (fields || []).find(function (item) {\n return item.depend_on;\n });\n if (isAnyFieldHasDependOn) {\n // 有任意一个子字段有depend_on属性时,强制设置禁用静态模式,因为strictMode模式下,dependOn的字段值变更后,不会rerender整个子表\n Object.assign(inputTableSchema, {\n strictMode: false\n });\n }\n let schemaBody = [inputTableSchema];\n let footerToolbar = clone(props.footerToolbar || []); //这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染\n if (props.addable) {\n let buttonNewSchema = await getButtonNew(props);\n footerToolbar.unshift(buttonNewSchema);\n }\n if (footerToolbar.length) {\n schemaBody.push({\n \"type\": \"wrapper\",\n \"size\": \"none\",\n \"body\": footerToolbar\n });\n }\n // 直接把headerToolbar unshift进schemaBody,不会显示在label下面,而是显示在上面了,这个暂时没有解决办法,只能等amis 升级\n // 看起来amis官方后续会支持给input-table组件配置headerToolbar,见:https://github.com/baidu/amis/issues/7246\n // 不过依然放开此功能的意义在于有的场景字段label本来就不需要显示出来,此时headerToolbar就有意义\n let headerToolbar = clone(props.headerToolbar || []); //这里不clone的话,会造成死循环,应该是因为props属性变更会让组件重新渲染\n if (headerToolbar.length) {\n schemaBody.unshift({\n \"type\": \"wrapper\",\n \"size\": \"none\",\n \"body\": headerToolbar\n });\n }\n let className = \"steedos-input-table\";\n\n if (props.showIndex) {\n className += \" steedos-show-index\";\n }\n\n if (buttonsForColumnOperations.length) {\n className += \" steedos-has-operations\";\n }\n\n if (props.enableTree) {\n className += \" steedos-tree-mode\";\n }\n\n if (typeof props.className == \"object\") {\n className = {\n [className]: \"true\",\n ...props.className\n };\n } else if (typeof props.className == \"string\") {\n className = `${className} ${props.className} `;\n }\n\n let schema = {\n \"type\": \"control\",\n \"body\": {\n \"type\": \"service\",\n \"body\": schemaBody,\n \"id\": serviceId,\n \"className\": \"w-full\",\n },\n \"label\": props.label,\n \"labelClassName\": props.label ? props.labelClassName : \"none\",\n \"labelRemark\": props.labelRemark,\n \"labelAlign\": props.labelAlign,\n //控制control的mode属性,https://aisuda.bce.baidu.com/amis/zh-CN/components/form/formitem#表单项展示\n \"mode\": props.mode || null,\n \"visibleOn\": props.$schema.visibleOn,\n \"visible\": props.$schema.visible,\n \"hiddenOn\": props.$schema.hiddenOn,\n \"hidden\": props.$schema.hidden,\n \"required\": props.required,\n className,\n };\n // console.log(\"===schema===\", schema);\n return schema;\n};\n\n// import { getListSchema } from './objects';\n\nfunction getScopeId(objectApiName,type){\n return `page_${objectApiName}_${type}`;\n}\n\n// 获取表单初始化amisSchema\nasync function getFormPageInitSchema(objectApiName) {\n const schema = await getFormSchema(objectApiName, {recordId: '${recordId}'});\n return {\n type: 'page',\n name: getScopeId(objectApiName,\"form\"),\n bodyClassName: '',\n regions: [\n \"body\"\n ],\n body:[\n schema.amisSchema\n ]\n }\n}\n\n// 获取列表页面初始化amisSchema\nasync function getListPageInitSchema(objectApiName, formFactor, userSession) {\n // let schema = await getListSchema(null, objectApiName, null, { showHeader: true });\n // let amisSchema = schema && schema.amisSchema;\n // if (amisSchema) {\n // return {\n // type: 'page',\n // bodyClassName: 'p-0',\n // regions: [\n // \"body\"\n // ],\n // // name: `page_${readonly ? 'readonly':'edit'}_${recordId}`\n // body: amisSchema\n // }\n // }\n\n // const uiSchema = await getUISchema(objectApiName);\n // const listViewName = first(keys(uiSchema.list_views));\n // const headerSchema = await getObjectListHeader(uiSchema, listViewName);\n\n return {\n type: 'page',\n name: getScopeId(objectApiName,\"list\"),\n bodyClassName: '',\n regions: [\n \"body\"\n ],\n // name: `page_${readonly ? 'readonly':'edit'}_${recordId}`\n body: [{\n \"type\": \"steedos-object-listview\",\n \"objectApiName\": objectApiName,\n // \"listName\": \"${listName}\",\n // \"headerToolbar\": [],\n \"columnsTogglable\": false,\n \"showHeader\": true,\n // \"headerSchema\": headerSchema\n className: \"sm:border bg-white sm:rounded border-gray-300 border-solid\"\n }]\n }\n}\n\n// 获取\nasync function getRecordPageInitSchema(objectApiName){\n const relatedList = await getObjectRelatedList(objectApiName);\n await getUISchema(objectApiName);\n let body = [\n // detailHeaderAmisSchema,\n {\n \"type\": \"steedos-record-detail-header\",\n \"label\": \"标题面板\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n \"onEvent\": {}\n }\n ];\n let contentBody = {\n \"type\": \"tabs\",\n \"tabs\": [\n {\n \"title\": \"详情\",\n \"body\": [\n // objectFormAmisSchema\n {\n \"type\": \"steedos-object-form\",\n \"label\": \"对象表单\",\n \"mode\": \"read\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n \"labelAlign\": \"left\"\n }\n ]\n }\n ],\n \"className\": \"sm:mt-3 flex flex-col region-main bg-white sm:rounded sm:border border-gray-300\",\n \"linksClassName\": \"pl-4 pt-2\"\n };\n if(relatedList.length){\n contentBody.tabs.push({\n \"title\": \"相关\",\n \"body\": {\n \"type\": \"steedos-object-related-lists\",\n \"label\": \"所有相关表\",\n \"objectApiName\": \"${objectName}\",\n \"recordId\": \"${recordId}\",\n },\n });\n }\n body.push(contentBody);\n return {\n type: 'page',\n id: `page_${objectApiName}_record_detail`,\n name: getScopeId(objectApiName,\"record_detail\"),\n bodyClassName: '',\n regions: [\n \"body\"\n ],\n body\n }\n}\n\n// 获取对象的某个列表视图初始化amisSchema\nasync function getListviewInitSchema(objectApiName, listViewName, ctx) {\n if(!ctx){\n ctx = {};\n }\n const uiSchema = await getUISchema(objectApiName);\n const listView = find(\n uiSchema.list_views,\n (listView, name) => {\n return name === listViewName;\n }\n );\n\n let amisSchema = {};\n\n if (listView) {\n const listViewColumns = getListViewColumns(listView, ctx.formFactor);\n const sort = getListViewSort(listView);\n \n // amisSchema = {\n // \"type\": \"steedos-object-table\",\n // \"objectApiName\": objectApiName,\n // \"columns\": listViewColumns,\n // \"extraColumns\": listView.extra_columns,\n // \"filters\": listView.filters,\n // \"sort\": sort,\n // \"headerSchema\": headerSchema\n // };\n\n const defaults = ctx.defaults || {};\n if(!defaults.headerSchema){\n //传入isListviewInit是区别于对象列表类型的微页面,即getListPageInitSchema函数中该属性为false\n const headerSchema = await getObjectListHeader(uiSchema, listViewName, {\n onlySecordLine: true,\n isListviewInit: true\n });\n defaults.headerSchema = headerSchema;\n }\n ctx.defaults = defaults;\n let setDataToComponentId = ctx.setDataToComponentId;\n if(!setDataToComponentId){\n setDataToComponentId = `service_listview_${objectApiName}`;\n }\n const schema = await getTableSchema(null, objectApiName, listViewColumns, {\n sort,\n ...ctx,\n setDataToComponentId\n });\n amisSchema = schema.amisSchema;\n // TODO: 下面这些data下的无用属性在底层代码中就不应该加,待底层移除后下面的删除语句就可以去掉了\n delete amisSchema.data.$master;\n delete amisSchema.data._id;\n delete amisSchema.data.recordPermissions;\n delete amisSchema.data.uiSchema;\n }\n // 不可以外面包一层page,否则列表视图渲染时的data无法传入顶部第一行造成按钮显示异常\n return amisSchema;\n\n // return {\n // type: 'page',\n // bodyClassName: 'p-0',\n // regions: [\n // \"body\"\n // ],\n // // name: `page_${readonly ? 'readonly':'edit'}_${recordId}`\n // body: [amisSchema],\n // data:{\n // listName: listViewName\n // }\n // }\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-07-05 15:54:17\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-07-05 16:30:29\n * @Description: \n */\n\nasync function getApps(){\n const APPS_API = '/service/api/apps/menus';\n const apps = await fetchAPI(APPS_API);\n return apps;\n}\n\nasync function getApp(appName){\n const appApi = `/service/api/apps/${appName}/menus`;\n const app = await fetchAPI(appApi);\n return app;\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-08-15 11:53:28\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-08-27 16:54:21\n * @Description: \n */\n\nconst getNotifications = async () => {\n const auth = getSteedosAuth();\n const query = `\n {\n notifications(filters: [\"owner\",\"=\",\"${auth.userId}\"], sort: \"created desc,name\", top : 10){\n _id,name,body,related_to,related_name,url,owner,is_read,from,created\n },\n unReadCount: notifications__count(filters: [[\"owner\",\"=\",\"${auth.userId}\"], [\"is_read\", \"!=\", true]])\n }\n `;\n const result = await fetchAPI('/graphql', {\n method: 'POST',\n body: JSON.stringify({ query })\n });\n\n return result.data\n};\n\nconst markReadAll = async ()=>{\n return await fetchAPI('/api/v4/notifications/all/markReadAll', {\n method: 'POST'\n });\n};\n\nconst PUBLIC_ENV = {};\n\nconst setEnv = (k, v)=>{\n PUBLIC_ENV[k] = v;\n};\n\nconst getEnv = (k) =>{\n return PUBLIC_ENV[k];\n};\n\nconst setEnvs = (data) =>{\n map(data, (v, k)=>{\n PUBLIC_ENV[k] = v;\n });\n};\n\nconst getEnvs = () =>{\n return PUBLIC_ENV;\n};\n\nasync function getSpaceUsersPickerAmisSchema(spaceUserSchema, name, options) {\n return {\n \"type\": \"picker\",\n \"label\": \"人员\",\n \"name\": name,\n \"id\": options.id,\n \"modalMode\": \"dialog\",\n \"joinValues\": false,\n \"source\": {\n \"method\": \"post\",\n \"url\": \"${context.rootUrl}/graphql\",\n \"data\": {\n \"orderBy\": \"${orderBy}\",\n \"orderDir\": \"${orderDir}\",\n \"pageNo\": \"${page}\",\n \"pageSize\": \"${perPage}\",\n \"query\": \"{rows:space_users(filters: {__filters}, top: {__top}, skip: {__skip}, sort: \\\"{__sort}\\\"){_id,name,email,mobile},count:space_users__count(filters:{__filters})}\",\n \"$term\": \"$term\",\n \"$self\": \"$$\"\n },\n \"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 \"\n },\n \"pickerSchema\": {\n \"mode\": \"table\",\n \"name\": \"thelist\",\n \"draggable\": false,\n \"headerToolbar\": [\n \"switch-per-page\",\n \"pagination\"\n ],\n \"perPage\": 50,\n \"columns\": [\n {\n \"name\": \"_index\",\n \"type\": \"text\",\n \"width\": 32,\n \"placeholder\": \"\"\n },\n {\n \"name\": \"_id\",\n \"label\": \"ID\",\n \"type\": \"text\",\n \"toggled\": false\n },\n {\n \"name\": \"name\",\n \"label\": \"姓名\",\n \"sortable\": true,\n \"searchable\": true,\n \"type\": \"text\"\n },\n {\n \"name\": \"email\",\n \"label\": \"邮件\",\n \"sortable\": true,\n \"type\": \"text\",\n \"searchable\": true\n },\n {\n \"name\": \"mobile\",\n \"label\": \"手机\",\n \"type\": \"text\",\n \"sortable\": true,\n \"searchable\": true\n }\n ],\n \"syncLocation\": false,\n \"keepItemSelectionOnPageChange\": true\n },\n \"labelField\": \"name\",\n \"valueField\": \"_id\",\n \"size\": \"lg\",\n \"extractValue\": true,\n \"className\": \"m-0\",\n \"labelClassName\": \"text-left\"\n }\n}\n\nasync function getSpaceUsersPickerSchema(name, options) {\n const uiSchema = await getUISchema(\"space_users\");\n const amisSchema = await getSpaceUsersPickerAmisSchema(uiSchema, name, options);\n return {\n uiSchema,\n amisSchema,\n };\n}\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-08-02 11:19:09\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-08-05 11:15:42\n * @Description:\n */\n\nconst DATE_DATETIME_BETWEEN_VALUES = [\n \"last_year\",\n \"this_year\",\n \"next_year\",\n \"last_quarter\",\n \"this_quarter\",\n \"next_quarter\",\n \"last_month\",\n \"this_month\",\n \"next_month\",\n \"last_week\",\n \"this_week\",\n \"next_week\",\n \"yestday\",\n \"today\",\n \"tomorrow\",\n \"last_7_days\",\n \"last_30_days\",\n \"last_60_days\",\n \"last_90_days\",\n \"last_120_days\",\n \"next_7_days\",\n \"next_30_days\",\n \"next_60_days\",\n \"next_90_days\",\n \"next_120_days\",\n];\n\n/**\n *\n */\n\nconst opMaps = {\n equal: \"=\",\n not_equal: \"!=\",\n less: \"<\",\n less_or_equal: \"<=\",\n greater: \">\",\n greater_or_equal: \">=\",\n between: \"between\",\n not_between: \"not_between\", // TODO 不支持待@steedos/filters 增强\n is_empty: \"is_empty\", // TODO 不支持待@steedos/filters 增强\n is_not_empty: \"is_not_empty\", // TODO 不支持待@steedos/filters 增强\n select_equals: \"=\",\n select_not_equals: \"!=\",\n select_any_in: \"in\",\n select_not_any_in: \"<>\",\n like: \"contains\",\n not_like: \"notcontains\",\n starts_with: \"startswith\",\n ends_with: \"endswith\",\n};\n\nconst isGroup = (item) => {\n return _.has(item, \"conjunction\");\n};\n\nconst conditionGroupToFilters = (group) => {\n const filters = [];\n const { conjunction, children } = group;\n if (conjunction && children) {\n children.forEach((item) => {\n if (filters.length > 0) {\n filters.push(conjunction);\n }\n if (isGroup(item)) {\n const filter = conditionGroupToFilters(item);\n if (filter && filter.length > 0) {\n filters.push(filter);\n }\n } else {\n const filter = conditionItemToFilters(item);\n if (filter) {\n filters.push(filter);\n }\n }\n });\n }\n return filters;\n};\n\nconst conditionItemToFilters = (item) => {\n const { left, op, right } = item;\n if (left && left.type === \"field\") {\n if (op) {\n if (op.startsWith(\"between:\")) {\n const array = op.split(\":\");\n return [left.field, array[0], array[1]];\n } else {\n if (right != null) {\n return [left.field, opMaps[op], right];\n }\n }\n }\n }\n};\n\n// const conditionChildrenToFilters = (children)=>{\n\n// }\nconst filterToConditionItem = (filter) => {\n if (filter.length === 3) {\n const op = ___default.findKey(opMaps, (value) => {\n return value === filter[1];\n });\n if (\n op === \"between\" &&\n ___default.includes(DATE_DATETIME_BETWEEN_VALUES, filter[2])\n ) {\n return {\n left: {\n type: \"field\",\n field: filter[0],\n },\n op: `${op}:${filter[2]}`,\n };\n } else {\n return {\n left: {\n type: \"field\",\n field: filter[0],\n },\n op: op,\n right: filter[2],\n };\n }\n } else {\n console.warn(`无效的filter:${JSON.stringify(filter)}`);\n }\n};\n\nconst filterObjectToArray = (filter) => {\n if (!___default.isArray(filter) && ___default.isObject(filter)) {\n return [filter.field, filter.operation, filter.value];\n }\n return filter;\n};\n\nconst filtersToConditionGroup = (filters) => {\n filters = filterObjectToArray(filters);\n\n const conditions = {\n conjunction: \"and\",\n children: [],\n };\n if (!filters || filters.length == 0) {\n return conditions;\n }\n filters.forEach((filter) => {\n filter = filterObjectToArray(filter);\n if (filter === \"or\" || filter === \"and\") {\n conditions.conjunction = filter;\n } else {\n if (\n filter.length === 3 &&\n filter.indexOf(\"and\") == -1 &&\n filter.indexOf(\"or\") == -1\n ) {\n conditions.children.push(filterToConditionItem(filter));\n } else {\n conditions.children.push(filtersToConditionGroup(filter));\n }\n }\n });\n return conditions;\n};\n\nconst conditionsToFilters = (conditions) => {\n return conditionGroupToFilters(conditions);\n};\n\nconst filtersToConditions = (filters) => {\n return filtersToConditionGroup(filters);\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-13 14:34:18\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-09-13 14:59:00\n * @Description: 加载资产包,并返回所有可用资产\n */\n\nconst registerRemoteAssets = async (assetUrls)=>{\n if(assetUrls && assetUrls.length > 0){\n let assetUrlsArray = assetUrls;\n if(isString(assetUrlsArray)){\n assetUrlsArray = assetUrlsArray.split(',');\n }\n await Builder.registerRemoteAssets(assetUrlsArray);\n const amisComps = filter(Builder.registry['meta-components'], function(item){ return item.componentName && item.amis?.render});\n return map(amisComps, (item)=>{\n return { componentType: item.componentType, componentName: item.componentName, ...item.amis.render}\n })\n }else {\n return []\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-12-17 17:03:40\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-02-22 18:19:44\n * @Description:\n */\nvar getDefaultRenderData = function () {\n var steedosAuth = getSteedosAuth();\n return {\n context: {\n rootUrl: getRootUrl(),\n userId: steedosAuth.userId,\n tenantId: steedosAuth.tenantId,\n authToken: steedosAuth.authToken,\n user: steedosAuth\n },\n global: {\n userId: steedosAuth.userId,\n spaceId: steedosAuth.tenantId,\n user: steedosAuth,\n now: new Date(),\n // mode: mode //由表单提供\n }\n };\n};\n\n//TODO Meteor.settings.public?.workflow?.hideCounterSignJudgeOptions\n\nconst HIDE_COUNTER_SIGN_JUDGE_OPTIONS = false;\n\nconst getJudgeOptions = async (instance) => {\n const { step } = instance;\n const options = [];\n if (step.step_type === \"sign\") {\n options.push({\n label: \"核准\",\n value: \"approved\",\n });\n options.push({\n label: \"驳回\",\n value: \"rejected\",\n });\n } else if (\n step.step_type === \"counterSign\" &&\n HIDE_COUNTER_SIGN_JUDGE_OPTIONS != true\n ) {\n options.push({\n label: \"核准\",\n value: \"approved\",\n });\n options.push({\n label: \"驳回\",\n value: \"rejected\",\n });\n options.push({\n label: \"已阅\",\n value: \"readed\",\n });\n }\n return options;\n};\n\nconst getJudgeInput = async (instance) => {\n const judgeOptions = await getJudgeOptions(instance);\n if (judgeOptions.length > 0 && instance.approve.type != 'cc') {\n return {\n type: \"radios\",\n label: false,\n name: \"judge\",\n value: \"approved\",\n options: judgeOptions,\n id: \"u:444dbad76e90\",\n required: true,\n \"onEvent\": {\n \"change\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"instance_approval\",\n \"args\": {\n \"value\": {\n new_judge: \"${event.data.value}\",\n next_step: undefined,\n }\n },\n \"actionType\": \"setValue\"\n },\n {\n // \"componentId\": \"u:next_step\",\n \"args\": {\n judge: \"${event.data.value}\"\n },\n \"actionType\": \"broadcast\",\n eventName: \"approve_judge_change\"\n },\n ]\n }\n }\n };\n }\n};\n\n//TODO 只有一个下一步时,默认选中,并且禁止修改.\nconst getNextStepInput = async (instance) => {\n if(instance.approve?.type == 'cc'){\n return ;\n }\n return {\n type: \"grid\",\n columns: [\n {\n body: [\n {\n type: \"tpl\",\n tpl: \"下一步\",\n inline: true,\n wrapperComponent: \"\",\n id: \"u:0a85de51480f\",\n },\n ],\n id: \"u:bf75adfb544e\",\n md: \"auto\",\n valign: \"middle\",\n },\n {\n body: [\n {\n type: \"list-select\",\n label: \"\",\n name: \"next_step\",\n id: \"u:next_step\",\n multiple: false,\n required: true,\n // selectFirst: true,\n autoFill: {\n \"new_next_step\": \"${step}\",\n \"next_users\": null\n },\n \"source\": {\n \"url\": \"${context.rootUrl}/api/workflow/v2/nextStep?judge=${new_judge}\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"method\": \"post\",\n \"messages\": {\n },\n \"requestAdaptor\": \"let { context, judge } = api.data; if(!judge){judge='approved'}\\nconst formValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\\\"instance_form\\\").getValues();\\n\\napi.data = {\\nflowVersionId: context.flowVersion._id,\\n instanceId: context._id,\\n flowId: context.flow._id,\\n step: context.step,\\n judge: judge,\\n values: formValues\\n}\\n\\n\\n return api;\",\n \"adaptor\": `\n payload.data = {\n value: payload.nextSteps.length === 1 ? payload.nextSteps[0]._id : null, \n options: _.map(payload.nextSteps, (item)=>{\n return {\n label: item.name, \n value: item._id,\n step: item\n }\n })\n };\n return payload;\n `,\n \"data\": {\n // \"&\": \"$$\",\n \"context\": \"${context}\",\n \"$scopeId\": \"${scopeId}\",\n \"judge\": \"${new_judge}\",\n }\n },\n // \"onEvent\": {\n // \"change\": {\n // \"weight\": 0,\n // \"actions\": [\n // {\n // \"componentId\": \"instance_approval\",\n // \"args\": {\n // \"value\": {\n // new_next_step: \"${event.data.value}\",\n // }\n // },\n // \"actionType\": \"setValue\"\n // },\n // // {\n // // \"args\": {\n // // next_step: \"${event.data.value}\",\n // // },\n // // \"actionType\": \"broadcast\",\n // // eventName: \"approve_next_step_change\"\n // // },\n // ]\n // }\n // }\n },\n ],\n id: \"u:4d3a884b437c\",\n },\n ],\n id: \"u:016c56efe5fd\",\n className: \"b-a b-1x m-none p-xs\",\n subFormMode: \"\",\n };\n};\n\n//TODO 只有一个处理人时,默认选中,禁止修改. 部分情况不需要显示下一步处理人\nconst getNextStepUsersInput = async (instance) => {\n if(instance.approve?.type == 'cc'){\n return ;\n }\n return {\n type: \"grid\",\n columns: [\n {\n body: [\n {\n type: \"tpl\",\n tpl: \"处理人\",\n inline: true,\n wrapperComponent: \"\",\n id: \"u:3203cc281b3c\",\n },\n ],\n id: \"u:8eece76a9e4c\",\n md: \"auto\",\n valign: \"middle\",\n },\n {\n body: [\n // TODO 处理下一步处理人默认值\n Object.assign({}, \n {\n \"type\": \"steedos-select-user\"\n },\n {\n name: \"next_users\", \n hiddenOn: \"this.new_next_step.deal_type != 'pickupAtRuntime'\",\n required: true\n }),\n {\n type: \"steedos-select-user\",\n label: \"\",\n name: \"next_users\",\n id: \"u:next_users\",\n required: true,\n hiddenOn: \"this.new_next_step.deal_type === 'pickupAtRuntime'\",\n amis: {\n multiple: \"this.new_next_step.deal_type === 'counterSign'\",\n \"source\": {\n \"url\": \"${context.rootUrl}/api/workflow/v2/nextStepUsers\",\n \"method\": \"post\",\n \"sendOn\": \"!!this.new_next_step && this.new_next_step.step_type != 'end'\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"messages\": {\n },\n \"requestAdaptor\": \"\\nconst { context, next_step, $scopeId } = api.data;\\nconst formValues = SteedosUI.getRef($scopeId).getComponentById(\\\"instance_form\\\").getValues();\\n\\napi.data = {\\n instanceId: context._id,\\n nextStepId: next_step._id,\\n values: formValues\\n}\\n\\n\\n return api;\",\n \"adaptor\": \"\\npayload.data = {value: payload.nextStepUsers.length === 1 ? payload.nextStepUsers[0].id : null, options: payload.nextStepUsers};\\nreturn payload;\",\n \"data\": {\n \"&\": \"$$\",\n \"$scopeId\": \"$scopeId\",\n \"context\": \"${context}\",\n \"next_step\": \"${new_next_step}\",\n }\n },\n \"labelField\": \"name\",\n \"valueField\": \"id\",\n }\n }\n ],\n id: \"u:81a4913c61cc\",\n },\n ],\n id: \"u:ffff15b76c89\",\n className: \"b-a b-1x p-xs m-b-none m-l-none m-r-none m-t-sm\",\n subFormMode: \"\",\n hiddenOn: \"!!!this.new_next_step || (this.new_next_step && this.new_next_step.step_type === 'end')\"\n };\n};\n\nconst getCCSubmitRequestAdaptor = async (instance) => {\n return ` \n const instanceForm = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_form\");\n const approveValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_approval\").getValues();\n api.data = {\n instanceId: \"${instance._id}\", \n traceId: \"${instance.trace._id}\", \n approveId: \"${instance.approve._id}\", \n description: approveValues.suggestion \n };\n return api;\n `;\n};\n\nconst getPostSubmitRequestAdaptor = async (instance) => {\n return ` const instanceForm = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_form\");\n const formValues = instanceForm.getValues();\n const approveValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_approval\").getValues();\n let nextUsers = approveValues.next_users;\n if(_.isString(nextUsers)){\n nextUsers = [approveValues.next_users];\n }\n const body = {Instances: [{\n _id: \"${instance._id}\",\n flow: \"${instance.flow._id}\",\n applicant: formValues.applicant,\n submitter: formValues.submitter,\n traces: [{\n _id: \"${instance.trace._id}\",\n step: \"${instance.step._id}\",\n approves: [{\n _id: \"${instance.approve._id}\",\n next_steps: [{\n step: approveValues.next_step._id,\n users: nextUsers,\n }],\n description: approveValues.suggestion,\n values: formValues\n }]\n }]\n }]};\n api.data = body;\n return api;\n `;\n};\n\nconst getPostEngineRequestAdaptor = async (instance) => {\n return ` \n const formValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_form\").getValues();\n const approveValues = SteedosUI.getRef(api.data.$scopeId).getComponentById(\"instance_approval\").getValues();\n let nextUsers = approveValues.next_users;\n if(_.isString(nextUsers)){\n nextUsers = [approveValues.next_users];\n }\n const body = {Approvals: [{\n instance: \"${instance._id}\",\n judge: approveValues.judge,\n trace: \"${instance.approve.trace}\",\n _id: \"${instance.approve._id}\",\n next_steps: [{\n step: approveValues.next_step._id,\n users: nextUsers,\n }],\n description: approveValues.suggestion,\n values: formValues\n }]};\n api.data = body;\n return api;\n `;\n};\n\n/**\n * 1 TODO 处理传阅提交\n * 2 草稿状态提交. TODO 申请单的表单、流程升级\n * 3 待审核提交\n * @param instance\n * @returns\n */\nconst getSubmitActions = async (instance) => {\n // console.log(`getSubmitActions instance====`, instance)\n let api = \"\";\n let requestAdaptor = \"\";\n if(instance.approve?.type == \"cc\"){\n api = \"/api/workflow/v2/cc_submit\";\n requestAdaptor = await getCCSubmitRequestAdaptor(instance);\n }else {\n if (instance.state === \"draft\") {\n api = \"/api/workflow/submit\";\n requestAdaptor = await getPostSubmitRequestAdaptor(instance);\n } else if (instance.state === \"pending\") {\n api = \"/api/workflow/engine\";\n requestAdaptor = await getPostEngineRequestAdaptor(instance);\n } else {\n return null; //TODO 考虑异常情况?\n }\n }\n\n return [\n // 校验表单\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"custom\",\n \"script\": `\n // console.log(\"======getSubmitActions\");\n const form = event.context.scoped.getComponentById(\"instance_form\");\n return form.validate().then((instanceFormValidate)=>{\n event.setData({...event.data, instanceFormValidate})\n })\n `\n },\n // 校验审批表单\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"custom\",\n \"script\": `\n const form = event.context.scoped.getComponentById(\"instance_approval\");\n return form.validate().then((approvalFormValidate)=>{\n event.setData({...event.data, approvalFormValidate})\n })\n `,\n expression: \"${event.data.instanceFormValidate}\"\n },\n {\n componentId: \"\",\n args: {\n api: {\n url: `\\${context.rootUrl}${api}`,\n method: \"post\",\n dataType: \"json\",\n data: {\n \"&\": \"$$\",\n \"$scopeId\": \"${$scopeId}\"\n },\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\",\n },\n requestAdaptor: requestAdaptor,\n },\n messages: {\n success: \"提交成功!\",\n },\n },\n actionType: \"ajax\",\n expression: \"${event.data.instanceFormValidate && event.data.approvalFormValidate}\"\n },\n {\n \"componentId\": \"\",\n \"args\": {\n \"blank\": false,\n \"url\": Router$1.getObjectListViewPath({appId: \"${appId}\", objectName: \"${objectName}\", listViewName: \"${side_listview_id}\"})\n },\n \"actionType\": \"url\",\n expression: \"${event.data.instanceFormValidate && event.data.approvalFormValidate}\"\n },\n {\n \"actionType\": \"closeDialog\",\n expression: \"${event.data.instanceFormValidate && event.data.approvalFormValidate}\"\n }\n ];\n};\n\nconst getApprovalDrawerSchema = async (instance) => {\n // console.log(\"=============getApprovalDrawerSchema=============\")\n return {\n type: \"drawer\",\n overlay: true,\n resizable: false,\n closeOnEsc: true,\n closeOnOutside: true,\n size: \"sm\",\n title: `${instance.step.name}`,\n className: \"approval-drawer absolute\",\n headerClassName: 'p-2',\n bodyClassName: 'p-2',\n footerClassName: 'p-2 pt-0',\n drawerContainer: ()=>{\n return window.$(\".antd-Page-content\",window.$(\".steedos-instance-wrapper\"))[0];\n },\n body: [\n {\n type: \"form\",\n debug: false,\n id: \"instance_approval\",\n resetAfterSubmit: true,\n clearPersistDataAfterSubmit: true,\n persistData: `workflow_approve_form_${instance.approve._id}`,\n body: [\n {\n type: 'hidden',\n name: 'new_next_step'\n },\n await getJudgeInput(instance),\n {\n type: \"textarea\",\n label: false,\n name: \"suggestion\",\n id: \"u:cd344f708ddc\",\n minRows: 3,\n maxRows: 20,\n placeholder: \"请填写意见\",\n requiredOn: \"${judge === 'rejected'}\"\n },\n await getNextStepInput(instance),\n await getNextStepUsersInput(instance),\n ],\n onEvent: {\n \"approve_judge_change\": {\n \"actions\": [\n {\n \"actionType\": \"reload\",\n \"componentId\": \"u:next_step\",\n \"args\": {\n }\n }\n ]\n },\n // \"approve_next_step_change\": {\n // \"actions\": [\n // {\n // \"actionType\": \"reload\",\n // \"componentId\": \"u:nex_users\",\n // \"args\": {\n // }\n // }\n // ]\n // },\n validateError: {\n weight: 0,\n actions: [\n {\n \"componentId\": \"\",\n \"args\": {\n \"msgType\": \"info\",\n \"position\": \"top-right\",\n \"closeButton\": true,\n \"showIcon\": true,\n \"title\": \"提交失败\",\n \"msg\": \"请填写必填字段\"\n },\n \"actionType\": \"toast\"\n }\n ],\n }\n },\n \n },\n ],\n id: \"u:approve_8861156e0b23\",\n position: \"bottom\",\n actions: [\n {\n type: \"button\",\n label: \"提交\",\n onEvent: {\n click: {\n actions: await getSubmitActions(instance),\n },\n },\n id: \"u:f6f8c3933f6c\",\n level: \"primary\",\n },\n {\n type: \"button\",\n label: \"取消\",\n onEvent: {\n click: {\n actions: [\n {\n componentId: \"\",\n args: {},\n actionType: \"closeDrawer\",\n },\n ],\n },\n },\n id: \"u:127ff1da7283\",\n },\n ]\n };\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-16 17:27:24\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-02-08 10:13:06\n * @Description: \n */\n// TODO attachments\nconst getAttachments = async (instance)=>{\n\n return {\n \"type\": \"panel\",\n className: \"border-none bg-none shadow-none\",\n headerClassName: \"p-0 border-none mb-1\",\n bodyClassName: \"p-0\",\n \"title\": [\n await getAttachmentUploadInput(instance)\n ],\n \"body\": [\n {\n type: 'service',\n id: 'u:attachmentsService',\n api: {\n \"method\": \"post\",\n \"url\": \"${context.rootUrl}/graphql\",\n dataType: \"json\",\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\",\n },\n requestAdaptor: `\n api.data.query = 'query{attachments:cfs_instances_filerecord(filters: [[\"metadata.instance\", \"=\", \"${instance._id}\"], \"metadata.current\", \"=\", true]){ _id,original,metadata}}';\n return api;\n `\n },\n body: [\n {\n \"type\": \"list\",\n \"source\": \"${attachments}\",\n title: false,\n \"listItem\": {\n \"body\": [\n {\n type: 'tpl',\n inline: true,\n tpl: `<a href='\\${context.rootUrl}/api/files/instances/\\${_id}?download=true' target='_blank'>\\${original.name}</a>`\n }\n ],\n \"actions\": [\n {\n \"icon\": \"fa fa-eye\",\n \"type\": \"button\",\n \"id\": \"u:ef52fa8940a8\"\n }\n ],\n \"id\": \"u:550b3fdc8788\"\n },\n \"id\": \"u:f538be693fad\"\n }\n ]\n }\n ]\n }\n};\n\nconst getAttachmentUploadInput = async (instance)=>{\n if(!instance.approve){\n return {\n type: 'tpl',\n tpl: \"附件\"\n }\n }\n const auth = getSteedosAuth$1();\n return {\n \"type\": \"form\",\n \"title\": \"表单\",\n \"body\": [\n {\n \"type\": \"input-file\",\n labelClassName: \"antd-List-heading\",\n className: \"flex items-center\",\n \"label\": \"附件\",\n mode:\"inline\",\n \"name\": \"file\",\n \"id\": \"u:a58d02614e04\",\n \"btnLabel\": \"上传\",\n \"btnClassName\": \"m-0\", \n \"multiple\": true,\n \"maxLength\": 10,\n \"submitType\": \"asUpload\",\n \"uploadType\": \"fileReceptor\",\n \"proxy\": false,\n \"drag\": false,\n \"autoUpload\": true,\n \"useChunk\": false,\n \"joinValues\": false,\n \"extractValue\": false,\n \"valueField\": \"version_id\",\n \"receiver\": {\n \"url\": \"${context.rootUrl}/api/v4/instances/s3\",\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"method\": \"post\",\n \"messages\": {},\n \"dataType\": \"form-data\",\n \"requestAdaptor\": `\n api.data.append('space', '${instance.space}');\n api.data.append('instance', '${instance._id}');\n api.data.append('approve', '${instance.approve?._id}');\n api.data.append('owner', '${auth.userId}');\n api.data.append('owner_name', '${auth.name}');\n return api;\n `\n },\n \"onEvent\": {\n \"success\": {\n \"weight\": 0,\n \"actions\": [\n {\n \"componentId\": \"u:5f901c0b917b\",\n \"args\": {},\n \"actionType\": \"clear\"\n },\n {\n \"componentId\": \"\",\n \"args\": {\n \"msgType\": \"success\",\n \"position\": \"top-right\",\n \"closeButton\": true,\n \"showIcon\": true,\n \"msg\": \"上传成功\"\n },\n \"actionType\": \"toast\"\n },\n {\n \"componentId\": \"u:attachmentsService\",\n \"args\": {},\n \"actionType\": \"reload\",\n }\n ]\n }\n }\n }\n ],\n \"id\": \"u:5f901c0b917b\",\n \"wrapWithPanel\": false\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-16 17:26:12\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-02-09 09:48:18\n * @Description: \n */\nconst getRelatedRecords = async (instance)=>{\n if(!instance.record_ids || isEmpty(instance.record_ids)){\n return ;\n }\n return map(instance.record_ids, (item)=>{\n return {\n type: 'tpl',\n tpl: `<a href='/app/-/${item.o}/view/${item.ids[0]}' target='_blank'>相关台账信息</a>`\n }\n })\n};\n\n// TODO delete button\nconst getRelatedInstances = async (instance)=>{\n // if(!instance.related_instances || isEmpty(instance.related_instances)){\n // return ;\n // }\n const spaceId = getSteedosAuth$1().tenantId;\n \n return {\n \"type\": \"list\",\n \"name\": \"relatedInstances\",\n \"source\": \"${related_instances}\",\n title: \"相关文件\",\n \"listItem\": {\n \"body\": [\n {\n type: 'tpl',\n inline: true,\n tpl: `<a href='\\${context.rootUrl}/workflow/space/${spaceId}/view/readonly/\\${_id}' target='_blank'>\\${name}</a>`\n }\n ],\n \"actions\": [\n {\n \"icon\": \"fa fa-eye\",\n \"type\": \"button\",\n \"id\": \"u:ef52fa8940a8\"\n }\n ],\n \"id\": \"u:550b3fdc8788\"\n },\n \"id\": \"related_instances\"\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-24 16:48:28\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-09-27 16:45:58\n * @Description: \n */\n\nconst getInstanceApprovalHistory = async ()=>{\n return {\n \"type\": \"table\",\n \"headerClassName\": \"hidden\",\n \"title\": \"签批历程\",\n \"source\": \"${historyApproves}\",\n \"className\": \"m-b-none instance-approve-history\",\n \"columnsTogglable\": false,\n \"footable\": {\n \"expand\": \"all\"\n },\n \"columns\": [\n {\n \"name\": \"name\",\n \"label\": \"name\"\n },\n {\n \"name\": \"user_name\",\n \"label\": \"user_name\",\n \"type\": \"tpl\",\n \"tpl\": \"<div><div>${opinion}</div>${user_name}</div>\"\n },\n {\n \"name\": \"finish_date\",\n \"label\": \"finish_date\",\n \"classNameExpr\": \"<%= data.finish_date == '已读' ? 'text-[blue]' : (data.finish_date == '未处理' ? 'text-[red]' : '') %>\"\n // \"type\": \"datetime\",\n // \"format\": \"YYYY-MM-DD HH:mm\"\n },\n {\n \"name\": \"judge\",\n \"label\": \"judge\",\n \"classNameExpr\": \"<%= data.judge == '已核准' ? 'text-green-600' : (data.judge == '已驳回' ? 'text-[red]' : '') %>\"\n }\n ]\n }\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-07 16:20:45\n * @LastEditors: liaodaxue\n * @LastEditTime: 2023-12-29 16:06:35\n * @Description:\n */\n\n\nconst getSelectOptions = (field) => {\n const options = [];\n each(field.options.split(\"\\n\"), (item) => {\n var foo = item.split(\":\");\n if (foo.length == 2) {\n options.push({ label: foo[0], value: foo[1] });\n } else {\n options.push({ label: item, value: item });\n }\n });\n return options;\n};\n\nconst isOpinionField$1 = (field)=>{\n const field_formula = field.formula;\n return (field_formula?.indexOf(\"{traces.\") > -1 || field_formula?.indexOf(\"{signature.traces.\") > -1 || field_formula?.indexOf(\"{yijianlan:\") > -1 || field_formula?.indexOf(\"{\\\"yijianlan\\\":\") > -1 || field_formula?.indexOf(\"{'yijianlan':\") > -1)\n};\n\nconst getFieldEditTpl = async (field, label)=>{\n const tpl = {\n label: label === true ? field.name : false,\n name: field.code,\n mode: \"horizontal\",\n className: \"m-none p-none form-control\",\n disabled: field.permission !== \"editable\",\n required: field.is_required\n };\n if(isOpinionField$1(field)){\n tpl.type = 'input-group';\n tpl.body = [\n {\n \"type\": \"textarea\",\n \"inputClassName\": \"b-r-none p-r-none\",\n \"name\": \"input-group\",\n \"id\": `yijian-${field.code}`,\n \"minRows\": 3,\n \"maxRows\": 20,\n \"mode\": \"normal\",\n \"size\": \"full\"\n },\n {\n \"type\": \"button\",\n \"label\": \"签批\",\n \"level\": \"link\",\n \"id\": \"u:2592111d236d\",\n \"block\": false,\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"actionType\": \"dialog\",\n \"dialog\": {\n \"type\": \"dialog\",\n \"title\": `${field.name || field.code}`,\n \"body\": [\n {\n \"type\": \"form\",\n \"title\": \"表单\",\n \"body\": [\n {\n \"label\": \"\",\n \"type\": \"textarea\",\n \"name\": \"yijian\",\n \"id\": \"u:1d5a60623000\",\n \"minRows\": 6,\n \"maxRows\": 20,\n \"mode\": \"normal\",\n \"placeholder\": \"请填写意见\"\n },\n {\n \"type\": \"grid\",\n \"columns\": [\n {\n \"body\": [\n {\n \"type\": \"button\",\n \"label\": \"已阅\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"u:1d5a60623000\",\n \"args\": {\n \"valueInput\": \"已阅\",\n \"value\": \"已阅\"\n },\n \"actionType\": \"setValue\"\n }\n ]\n }\n },\n \"id\": \"u:13498f8d2882\",\n \"level\": \"link\",\n \"className\": \"m-r\"\n },\n {\n \"type\": \"button\",\n \"label\": \"已办\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"u:1d5a60623000\",\n \"args\": {\n \"valueInput\": \"已办\",\n \"value\": \"已办\"\n },\n \"actionType\": \"setValue\"\n }\n ]\n }\n },\n \"id\": \"u:cfa2e3c54a21\",\n \"level\": \"link\",\n \"className\": \"m-r\"\n },\n {\n \"type\": \"button\",\n \"label\": \"同意\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"u:1d5a60623000\",\n \"args\": {\n \"valueInput\": \"同意\",\n \"value\": \"同意\"\n },\n \"actionType\": \"setValue\"\n }\n ]\n }\n },\n \"id\": \"u:06e0037dcd23\",\n \"level\": \"link\",\n \"className\": \"m-r\"\n },\n {\n \"type\": \"button\",\n \"label\": \"其他常用意见\",\n \"onEvent\": {\n \"click\": {\n \"actions\": []\n }\n },\n \"id\": \"u:3a781bc550a2\",\n \"level\": \"link\",\n \"className\": \"m-r\"\n }\n ],\n \"id\": \"u:3def7a5b7cd5\"\n }\n ],\n \"id\": \"u:ecbefa51b638\"\n }\n ],\n \"id\": \"u:dd32ae67b5c7\"\n }\n ],\n \"id\": \"u:a5d06d3a61b9\",\n \"closeOnEsc\": false,\n \"closeOnOutside\": false,\n \"showCloseButton\": true,\n \"actions\": [\n {\n \"type\": \"button\",\n \"label\": \"确认\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": `yijian-${field.code}`,\n \"args\": {\n \"valueInput\": \"${yijian}\",\n \"value\": \"${yijian}\"\n },\n \"actionType\": \"setValue\"\n },\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"closeDialog\"\n }\n ]\n }\n },\n \"id\": \"u:87e22efe707a\",\n \"level\": \"primary\"\n },\n {\n \"type\": \"button\",\n \"label\": \"取消\",\n \"onEvent\": {\n \"click\": {\n \"actions\": [\n {\n \"componentId\": \"\",\n \"args\": {},\n \"actionType\": \"closeDialog\"\n }\n ]\n }\n },\n \"id\": \"u:d0e6550a848e\"\n }\n ]\n }\n }\n ],\n \"weight\": 0\n }\n },\n \"className\": \"instance-sign-text-btn\",\n }\n ];\n }else {\n switch (field.type) {\n case \"input\":\n if (field.is_textarea) {\n tpl.type = \"textarea\";\n } else {\n tpl.type = \"input-text\";\n }\n break;\n case \"number\":\n tpl.type = \"input-number\";\n break;\n case \"date\":\n tpl.type = \"input-date\";\n tpl.inputFormat = \"YYYY-MM-DD\";\n tpl.format = 'YYYY-MM-DDT00:00:00.000[Z]';\n break;\n case \"dateTime\":\n tpl.type = \"input-datetime\";\n tpl.inputFormat = \"YYYY-MM-DD HH:mm\";\n tpl.format = 'YYYY-MM-DDTHH:mm:ss.SSSZ';\n break;\n case \"checkbox\":\n tpl.type = \"checkbox\";\n break;\n case \"email\":\n tpl.type = \"input-email\";\n tpl.validations = {\n isEmail: true,\n };\n break;\n case \"url\":\n tpl.type = \"input-url\";\n tpl.validations = {\n isUrl: true,\n };\n break;\n case \"password\":\n tpl.type = \"input-password\";\n tpl.showCounter = true;\n break;\n case \"select\":\n tpl.type = \"select\";\n tpl.options = getSelectOptions(field);\n break;\n case \"user\":\n const useTpl = await lookupToAmis$1(\n {\n name: field.code,\n label: field.name,\n reference_to: \"space_users\",\n reference_to_field: 'user',\n multiple: field.is_multiselect,\n },\n false,\n {}\n );\n Object.assign(tpl, useTpl);\n break;\n case \"group\":\n const orgTpl = await lookupToAmis$1(\n {\n name: field.code,\n label: field.name,\n reference_to: \"organizations\",\n multiple: field.is_multiselect,\n },\n false,\n {}\n );\n Object.assign(tpl, orgTpl);\n break;\n case \"radio\":\n tpl.type = \"radios\";\n tpl.options = getSelectOptions(field);\n break;\n case \"multiSelect\":\n tpl.type = \"checkboxes\";\n tpl.options = getSelectOptions(field);\n break;\n case \"odata\":\n var labelField = field.formula.substr(1, field.formula.length - 2);\n labelField = labelField.substr(labelField.indexOf(\".\") + 1);\n tpl.type = \"select\";\n tpl.multiple = field.is_multiselect;\n // tpl.labelField = labelField;\n // tpl.valueField = \"_value\";\n tpl.source = {\n url: startsWith(field.url, \"http\")\n ? field.url\n : `\\${context.rootUrl}${field.url}`,\n method: \"get\",\n dataType: \"json\",\n headers: {\n Authorization: \"Bearer ${context.tenantId},${context.authToken}\",\n },\n adaptor:`\n payload.data = {\n options: _.map(payload.value, (item)=>{\n const value = item;\n item[\"@label\"] = item[\"${labelField}\"]\n delete item['@odata.editLink'];\n delete item['@odata.etag'];\n delete item['@odata.id'];\n return {\n label: item[\"@label\"],\n value: value\n }\n })\n }\n return payload;\n `\n };\n break;\n case \"html\":\n if (tpl.disabled) {\n tpl.type = 'html';\n } else {\n tpl.type = \"input-rich-text\";\n }\n break;\n case \"table\":\n tpl.type = \"input-table\"; //TODO\n tpl.addable = field.permission === \"editable\";\n tpl.editable = tpl.addable;\n tpl.copyable = tpl.addable;\n tpl.removable = tpl.addable;\n tpl.columns = [];\n for (const sField of field.fields) {\n if (sField.type != \"hidden\") {\n sField.permission = field.permission;\n const column = await getTdInputTpl(sField, true);\n tpl.columns.push(column);\n }\n }\n break;\n case \"section\":\n tpl.type = \"input-text\";\n break;\n }\n }\n // console.log('getFieldEditTpl ', label, tpl)\n return tpl;\n};\n\nconst getFieldReadonlyTpl = async (field, label)=>{\n // console.log(`getFieldReadonlyTpl`, label, field)\n const tpl = {\n label: label === true ? field.name : false,\n name: field.code,\n mode: \"horizontal\",\n className: \"m-none p-none form-control\",\n };\n if(includes(['text'], field.type)){\n tpl.type = `static-${field.type}`;\n }else if(field.type === 'select'){\n const options = getSelectOptions(field);\n const map = {};\n each(options , (item)=>{\n map[item.value] = item.label;\n });\n tpl.type = 'static';\n tpl.tpl = `<% var options = ${JSON.stringify(map)}; return (options && options[data.${field.code}]) || ''%>`;\n }else if(field.type === 'odata'){\n tpl.type = 'static';\n tpl.tpl = `<div>\\${${field.code}['@label']}</div>`;\n }else if(field.type === 'checkbox'){\n tpl.type = 'static';\n tpl.tpl = `\\${${field.code} ? '是': '否'}`;\n }else if(field.type === 'email'){\n tpl.type = 'static';\n tpl.tpl = `<a href=\"mailto:\\${${field.code}}\">\\${${field.code}}</a>`;\n }else if(field.type === 'url'){\n tpl.type = 'static';\n tpl.tpl = `<a href=\"\\${${field.code}}\" target=\"_blank\">\\${${field.code}}</a>`;\n }else if(field.type === 'password'){\n tpl.type = 'static';\n tpl.tpl = `******`;\n }else if(field.type === 'date'){\n tpl.type = 'static';\n // tpl.format = 'YYYY-MM-DD HH:mm'\n tpl.tpl = `<%=data.${field.code} ? date(new Date(data.${field.code}), 'YYYY-MM-DD') : '' %>`;\n }else if(field.type === 'dateTime'){\n tpl.type = 'static';\n // tpl.format = 'YYYY-MM-DD HH:mm'\n tpl.tpl = `<%=data.${field.code} ? date(new Date(data.${field.code}), 'YYYY-MM-DD HH:mm') : '' %>`;\n }else if(field.type === 'user'){\n tpl.type = 'static';\n // tpl.format = 'YYYY-MM-DD HH:mm'\n if(field.is_multiselect){\n tpl.tpl = `\\${_.map(${field.code}, 'name')}`;\n }else {\n tpl.tpl = `\\${${field.code} && ${field.code}.name}`;\n }\n }else if(field.type === 'group'){\n tpl.type = 'static';\n // tpl.format = 'YYYY-MM-DD HH:mm'\n tpl.tpl = `\\${${field.code}.name}`;\n }else if(field.type === 'table'){\n tpl.type = \"input-table\"; //TODO\n tpl.addable = field.permission === \"editable\";\n tpl.editable = tpl.addable;\n tpl.removable = tpl.addable;\n tpl.copyable = tpl.addable;\n tpl.columns = [];\n for (const sField of field.fields) {\n if (sField.type != \"hidden\") {\n const column = await getTdInputTpl(sField, true);\n tpl.columns.push(column);\n }\n }\n }else if(field.type === 'html'){\n tpl.type = 'tpl';\n }\n else {\n tpl.type = 'static';\n }\n return tpl;\n};\n\n/**\n * TODO 先将申请单上的字段转化为 steedos field 类型, 只读、编辑 使用 steedos field tpl\n * @param {*} field \n * @param {*} label \n * @returns \n */\nconst getTdInputTpl = async (field, label) => {\n const edit = field.permission === \"editable\";\n if(edit){\n return await getFieldEditTpl(field, label)\n }else {\n return await getFieldReadonlyTpl(field, label)\n }\n};\n\nconst getTdField = async (field, fieldsCount) => {\n return {\n background: field.permission !== \"editable\" ? \"#FFFFFF\" : \"rgba(255,255,0,.1)\",\n colspan: field.type === \"table\" ? 4 : 3 - (fieldsCount - 1) * 2,\n align: \"left\",\n className: \"td-field\",\n width: \"32%\",\n body: [await getTdInputTpl(field)],\n style: {\n marginTop: \"0\",\n paddingTop: \"0\",\n paddingRight: \"0\",\n paddingBottom: \"0\",\n paddingLeft: \"0\",\n marginRight: \"0\",\n marginBottom: \"0\",\n marginLeft: \"0\",\n borderLeftColor: \"#000000\",\n borderTopColor: \"#000000\",\n borderRightColor: \"#000000\",\n borderBottomColor: \"#000000\",\n },\n // \"id\": \"u:9b001b7ff92d\"\n };\n};\n\nconst getTdTitle = (field) => {\n return {\n className: \"td-title\",\n align: field.type != \"section\" ? \"center\" : \"left\",\n width: field.type != \"section\" ? \"16%\" : \"\",\n colspan: field.type == \"section\" ? 4 : \"\",\n background: \"#FFFFFF\",\n body: [\n {\n type: \"tpl\",\n tpl: `<div>${field.name || field.code} ${field.is_required ? '<span class=\"antd-Form-star\">*</span>' : ''}</div>`,\n },\n ],\n // \"id\": \"u:9b001b7ff92d\",\n style: {\n borderLeftColor: \"#000000\",\n borderTopColor: \"#000000\",\n borderRightColor: \"#000000\",\n borderBottomColor: \"#000000\",\n },\n };\n};\n\nconst getTds = async (tdFields) => {\n const tds = [];\n for (const field of tdFields) {\n if (field.type != \"table\") {\n tds.push(getTdTitle(field));\n }\n if (field.type != \"section\") {\n tds.push(await getTdField(field, tdFields.length));\n }\n }\n return tds;\n};\n\nconst getFormTrs = async (instance) => {\n const trsSchema = [];\n const trs = [];\n let tdFields = [];\n let fields = [];\n each(instance.fields, (field) => {\n fields.push(field);\n if (field.type === \"section\" && field.fields) {\n fields = fields.concat(field.fields);\n }\n });\n each(fields, (field, index) => {\n if (field.is_wide) {\n if (tdFields.length != 0) {\n trs.push(tdFields);\n }\n if (field.type == \"table\") {\n trs.push([Object.assign({}, field, { type: \"section\" })]);\n }\n tdFields = [];\n tdFields.push(field);\n trs.push(tdFields);\n tdFields = [];\n } else {\n tdFields.push(field);\n if (tdFields.length == 2 || index === fields.length - 1) {\n trs.push(tdFields);\n tdFields = [];\n }\n }\n });\n for (const tdFields of trs) {\n trsSchema.push({\n background: \"#F7F7F7\",\n tds: await getTds(tdFields),\n });\n }\n return trsSchema;\n};\n\nconst getFormTableView = async (instance) => {\n const formSchema = {\n type: \"table-view\",\n className: \"instance-form-view\",\n trs: await getFormTrs(instance),\n id: \"u:047f3669468b\",\n };\n return formSchema;\n};\n\nconst getApplicantTableView = async (instance) => {\n let applicantInput = null;\n if(instance.state === 'draft'){\n applicantInput = Object.assign({name: \"applicant\", value: getSteedosAuth$1().userId, disabled: instance.box !== 'draft'}, await lookupToAmis$1(\n {\n name: \"applicant\",\n label: false,\n reference_to: \"space_users\",\n reference_to_field: 'user',\n multiple: false\n },\n false,\n {}\n ));\n }else {\n applicantInput = {\n label: false,\n mode: \"horizontal\",\n className: \"m-none p-none\",\n disabled: true,\n type: \"tpl\",\n tpl: '<div>${applicant_name}</div>',\n id: \"u:2016b04355f4\",\n };\n }\n\n return {\n type: \"table-view\",\n className: \"instance-applicant-view\",\n trs: [\n {\n background: \"#FFFFFF\",\n tds: [\n {\n className: \"td-title\",\n background: \"#FFFFFF\",\n align: \"left\",\n width: \"16%\",\n colspan: \"\",\n body: [\n {\n type: \"tpl\",\n tpl: \"<div>提交人</div>\",\n id: \"u:ee62634201bf\",\n },\n ],\n id: \"u:6c24c1bb99c9\",\n style: {\n padding: \"none\",\n },\n },\n {\n background: \"#FFFFFF\",\n colspan: 1,\n align: \"left\",\n className: \"td-field\",\n width: \"32%\",\n body: [\n applicantInput\n ],\n id: \"u:45d65d91905c\",\n },\n {\n className: \"td-title\",\n background: \"#FFFFFF\",\n align: \"left\",\n width: \"16%\",\n colspan: \"\",\n body: [\n {\n type: \"tpl\",\n tpl: \"<div>提交日期</div>\",\n id: \"u:6d0a7763d527\",\n },\n ],\n id: \"u:c8b8214ac931\",\n style: {\n padding: \"none\",\n },\n },\n {\n background: \"#FFFFFF\",\n colspan: 1,\n align: \"left\",\n className: \"td-field\",\n width: \"32%\",\n body: [\n {\n label: false,\n mode: \"horizontal\",\n className: \"m-none p-none\",\n disabled: true,\n type: \"tpl\",\n inputFormat: \"YYYY-MM-DD\",\n valueFormat: \"YYYY-MM-DDT00:00:00.000[Z]\",\n tpl: '<div>${submit_date}</div>',\n id: \"u:2016b04355f4\",\n },\n ],\n id: \"u:81b07d82a5e4\",\n },\n ],\n },\n ],\n id: \"u:047f3669468b\",\n style: {\n borderLeftStyle: \"none\",\n borderTopStyle: \"none\",\n borderRightStyle: \"none\",\n borderBottomStyle: \"none\",\n },\n };\n};\n\nconst getApproveButton = async (instance)=>{\n if(!instance.approve || ( instance.box != 'inbox' && instance.box != 'draft')){\n return null;\n }\n return {\n type: \"button\",\n label: \"签批\",\n onEvent: {\n click: {\n actions: [\n {\n componentId: \"\",\n args: {},\n actionType: \"drawer\",\n drawer: await getApprovalDrawerSchema(instance),\n },\n ],\n },\n },\n id: \"steedos-approve-button\",\n level: \"primary\",\n className:\n \"approve-button w-14 h-14 rounded-full fixed bottom-4 right-4 shadow-lg text-white text-base text-center font-semibold bg-blue-500 p-0\",\n }\n};\n\nconst getFlowFormSchema = async (instance, box) => {\n return {\n type: \"page\",\n name: \"instancePage\",\n className: \"steedos-amis-instance-view\",\n bodyClassName: \"overflow-y-auto h-full\",\n \"title\": {\n \"type\": \"steedos-record-detail-header\",\n \"label\": \"标题面板\",\n \"objectApiName\": \"instances\",\n \"recordId\": instance._id,\n \"id\": \"u:e6b2adbe0e21\",\n \"showRecordTitle\": false,\n \"className\": \"p-0 m-0 p0 m0\"\n },\n \"css\": {\n \".instance-approve-history .antd-Table-table thead\": {\n \"display\": \"none\"\n },\n \".instance-approve-history .antd-Table-heading\": {\n \"font-size\": \"14px\",\n \"font-weight\": \"500\",\n \"padding-left\": \"0px\"\n },\n \".antd-List-heading\": {\n \"font-size\": \"14px\",\n \"font-weight\": \"500\"\n }\n },\n body: [\n await getAttachments(instance),\n await getRelatedInstances(),\n await getRelatedRecords(instance),\n {\n type: \"form\",\n debug: false,\n wrapWithPanel: false,\n resetAfterSubmit: true,\n body: [\n {\n type: \"tpl\",\n id: \"u:f5bb0ad602a6\",\n tpl: `<div class=\"instance-name\">${instance.title}</div>`,\n inline: true,\n wrapperComponent: \"\",\n style: {\n fontFamily: \"\",\n fontSize: 12,\n textAlign: \"center\",\n },\n },\n await getFormTableView(instance),\n await getApplicantTableView(instance),\n \n ],\n id: \"instance_form\",\n onEvent: {\n validateError: {\n weight: 0,\n actions: [\n {\n \"componentId\": \"\",\n \"args\": {\n \"msgType\": \"info\",\n \"position\": \"top-right\",\n \"closeButton\": true,\n \"showIcon\": true,\n \"title\": \"提交失败\",\n \"msg\": \"请填写必填字段\"\n },\n \"actionType\": \"toast\"\n }\n ],\n }\n }\n },\n await getInstanceApprovalHistory(),\n await getApproveButton(instance)\n ],\n id: \"u:63849ea39e12\",\n messages: {},\n pullRefresh: {},\n regions: [\n \"body\",\n \"header\"\n ],\n onEvent: {\n \"@data.@instanceDetail.changed\": {\n actions: [\n {\n actionType: \"reload\"\n }\n ]\n }\n // inited: {\n // weight: 0,\n // actions: [\n // // {\n // // componentId: \"steedos-approve-button\",\n // // actionType: \"click\",\n // // },\n // // {\n // // \"componentId\": \"\",\n // // \"args\": {},\n // // \"actionType\": \"drawer\",\n // // \"drawer\": await getApprovalDrawerSchema()\n // // }\n // ],\n // }\n },\n initApi:{\n \"url\": \"${context.rootUrl}/graphql\",\n \"method\": \"post\",\n \"headers\": {\n \"Authorization\": \"Bearer ${context.tenantId},${context.authToken}\"\n },\n \"messages\": {\n },\n \"requestAdaptor\": `\n api.data = {\n query: \\`\n {\n instance: instances__findOne(id:\"${instance._id}\"){\n related_instances: related_instances__expand{\n _id,\n name\n }\n }\n }\n \\`\n }\n return api;\n `,\n \"adaptor\": `\n payload.data = {\n related_instances: payload.data.instance.related_instances\n };\n return payload;\n `,\n \"data\": {\n // \"&\": \"$$\",\n // \"context\": \"${context}\",\n \"judge\": \"${new_judge}\",\n }\n },\n initFetch: true\n };\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-10-08 16:26:26\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2022-10-08 16:28:42\n * @Description: \n */\n\nconst isOpinionField = (field_formula)=>{\n return (field_formula?.indexOf(\"{traces.\") > -1 || field_formula?.indexOf(\"{signature.traces.\") > -1 || field_formula?.indexOf(\"{yijianlan:\") > -1 || field_formula?.indexOf(\"{\\\"yijianlan\\\":\") > -1 || field_formula?.indexOf(\"{'yijianlan':\") > -1)\n};\n\nconst getOpinionFieldStepsName = (field, top_keywords) => {\n const field_formula = field.formula;\n var foo1, opinionFields;\n opinionFields = new Array();\n if (isOpinionField(field_formula)) {\n if (field_formula) {\n foo1 = field_formula.split(\";\");\n foo1.forEach(function(foo) {\n var json_formula, s1, sf, _ref, _ref1;\n json_formula = {};\n try {\n json_formula = eval(\"(\" + foo + \")\");\n } catch (_error) {\n json_formula = {};\n }\n if (json_formula != null ? json_formula.yijianlan : void 0) {\n sf = {};\n sf.stepName = json_formula.yijianlan.step;\n sf.image_sign = json_formula.yijianlan.image_sign || false;\n sf.only_cc_opinion = json_formula.yijianlan.only_cc || false;\n sf.default_description = json_formula.yijianlan[\"default\"];\n sf.only_handler = json_formula.yijianlan.only_handler;\n sf.top_keywords = json_formula.yijianlan.top_keywords || top_keywords;\n return opinionFields.push(sf);\n } else if ((field_formula != null ? field_formula.indexOf(\"{traces.\") : void 0) > -1 || (field_formula != null ? field_formula.indexOf(\"{signature.traces.\") : void 0) > -1) {\n sf = {\n only_cc_opinion: false,\n image_sign: false,\n top_keywords: top_keywords\n };\n if (foo.indexOf(\"{signature.\") > -1) {\n sf.image_sign = true;\n foo = foo.replace(\"{signature.\", \"\");\n }\n s1 = foo.replace(\"{\", \"\").replace(\"}\", \"\");\n if (s1.split(\".\").length > 1) {\n sf.stepName = s1.split(\".\")[1];\n if (opinionFields.filterProperty(\"stepName\", sf.stepName).length > 0) {\n if ((_ref = opinionFields.findPropertyByPK(\"stepName\", sf.stepName)) != null) {\n _ref.only_cc_opinion = true;\n }\n } else {\n if (s1.split(\".\").length > 2) {\n if (((_ref1 = s1.split(\".\")[2]) != null ? _ref1.toLocaleLowerCase() : void 0) === 'cc') {\n sf.only_cc_opinion = true;\n }\n }\n }\n }\n return opinionFields.push(sf);\n }\n });\n }\n }\n return opinionFields;\n};\n\n/*\n * @Author: baozhoutao@steedos.com\n * @Date: 2022-09-09 17:47:37\n * @LastEditors: baozhoutao@steedos.com\n * @LastEditTime: 2023-10-10 13:57:02\n * @Description:\n */\n\nconst getMoment = ()=>{\n if(window.amisRequire){\n return window.amisRequire(\"moment\");\n }else if(window.moment){\n return window.moment;\n }\n};\n\nconst getTrace = ({ instance, traceId }) => {\n return find(instance.traces, (trace) => {\n return trace._id === traceId;\n });\n};\n\nconst getUserApprove = ({ instance, userId }) => {\n const currentTrace = find(instance.traces, (trace) => {\n return trace.is_finished != true;\n });\n let currentApprove = null;\n if (currentTrace) {\n currentApprove = find(currentTrace.approves, (approve) => {\n return approve.is_finished != true && approve.handler == userId;\n });\n }\n\n //传阅的approve返回最新一条\n if (!currentApprove || currentApprove.type == \"cc\") {\n // 当前是传阅\n ___default.each(instance.traces, function (t) {\n ___default.each(t.approves, function (a) {\n if (a.type == \"cc\" && a.handler == userId && a.is_finished == false) {\n currentApprove = a;\n }\n });\n });\n }\n\n if (!currentApprove) return;\n\n if (currentApprove._id) {\n currentApprove.id = currentApprove._id;\n }\n return currentApprove;\n};\n\nconst getApproveValues = ({ instance, trace, step, approve, box }) => {\n let instanceValues = null;\n if (!approve || approve.type === \"cc\") {\n instanceValues = instance.values;\n } else {\n if (box === \"draft\") {\n instanceValues = approve.values;\n } else if (box === \"inbox\") {\n if (\n step.step_type == \"counterSign\" ||\n (step.cc_has_edit_permission && !trace.is_finished)\n ) {\n //TODO\n instanceValues = instance.values;\n } else {\n if (isEmpty(approve.values)) {\n instanceValues = instance.values;\n } else {\n instanceValues = approve.values;\n }\n }\n } else if (\n box === \"outbox\" ||\n box === \"pending\" ||\n box == \"completed\" ||\n box == \"monitor\"\n ) {\n instanceValues = instance.values;\n } else {\n instanceValues = instance.values;\n }\n }\n return instanceValues;\n};\n\nconst getFlowVersion = (instance) => {\n if (instance.flow.current._id === instance.flow_version) {\n return instance.flow.current;\n } else {\n return find(instance.flow.historys, (history) => {\n return history._id === instance.flow_version;\n });\n }\n};\n\nconst getFormVersion = (instance) => {\n if (instance.form.current._id === instance.form_version) {\n return instance.form.current;\n } else {\n return find(instance.form.historys, (history) => {\n return history._id === instance.form_version;\n });\n }\n};\n\nconst getStep = ({ flowVersion, stepId }) => {\n return find(flowVersion.steps, (step) => {\n return step._id === stepId;\n });\n};\n\nconst getLastCCStep = ({ traces }, userId) => {\n var i, step_id, trace_id, user_id;\n\n user_id = userId;\n\n trace_id = null;\n\n step_id = null;\n\n i = traces.length - 1;\n\n while (i >= 0) {\n if (!trace_id && traces[i].is_finished) {\n ___default.each(traces[i].approves, function (ap) {\n if (!trace_id) {\n if (\n ap.is_finished &&\n ap.user === user_id &&\n (!ap.type || ap.type == \"cc\") &&\n [\"approved\", \"submitted\", \"rejected\"].includes(ap.judge)\n ) {\n trace_id = ap.trace;\n }\n if (trace_id) {\n step_id = traces[i].step;\n }\n }\n });\n }\n i--;\n }\n\n return step_id;\n};\n\nconst isCurrentStepOpinionField = (field, currentStep)=>{\n return ___default.includes(___default.map(getOpinionFieldStepsName(field), 'stepName'), currentStep?.name);\n};\n\nconst getInstanceInfo = async ({ instanceId, box }) => {\n const userId = getSteedosAuth$1().userId;\n const query = `{\n instance: instances__findOne(id:\"${instanceId}\"){\n _id,\n space,\n name,\n state,\n values,\n applicant,\n cc_users,\n applicant_name,\n submitter,\n submit_date,\n record_ids,\n forward_from_instance,\n related_instances: related_instances__expand{\n _id,\n name\n },\n traces,\n form_version,\n form:form__expand{\n _id,\n name\n current,\n historys\n },\n flow_version,\n flow:flow__expand{\n _id,\n name,\n perms,\n current,\n historys\n }\n }\n }\n `;\n\n const result = await fetchAPI$1(\"/graphql\", {\n method: \"post\",\n body: JSON.stringify({\n query: query,\n }),\n });\n \n\n let userApprove = null;\n let trace = null;\n let step = null;\n const instance = result.data.instance;\n if (!instance) {\n return undefined;\n }\n if (box === \"inbox\" || box === \"draft\") {\n userApprove = getUserApprove({ instance, userId });\n }\n const flowVersion = getFlowVersion(instance);\n const formVersion = getFormVersion(instance);\n\n if (userApprove) {\n trace = getTrace({ instance, traceId: userApprove.trace });\n step = getStep({ flowVersion, stepId: trace.step });\n }\n\n let currentStep = getStep({ flowVersion, stepId: ___default.last(instance.traces).step });\n\n const lastCCStep = getLastCCStep(instance, userId);\n\n const values = getApproveValues({\n instance,\n trace,\n step,\n approve: userApprove,\n box,\n });\n\n const flowPermissions = await fetchAPI$1(`/api/workflow/v2/flow_permissions/${instance.flow._id}`, {\n method: \"get\",\n });\n\n const moment = getMoment();\n\n return {\n box: box,\n _id: instanceId,\n space: instance.space,\n flow: instance.flow,\n form: instance.form,\n applicant: instance.applicant,\n applicant_name: instance.applicant_name,\n submitter: instance.submitter,\n submit_date: instance.submit_date\n ? (moment && moment(instance.submit_date).format(\"YYYY-MM-DD\"))\n : \"\",\n state: instance.state,\n approveValues: values,\n title: instance.name || instance.form.name,\n name: instance.name || instance.form.name,\n fields: ___default.map(formVersion.fields, (field) => {\n return Object.assign({}, field, {\n permission: userApprove?.type != 'cc' && (step?.permissions[field.code] || ( isCurrentStepOpinionField(field, step) ? 'editable' : '')),\n }) ;\n }),\n flowVersion: flowVersion,\n formVersion: formVersion,\n step: step,\n lastCCStep: lastCCStep,\n trace: trace,\n currentStep,\n flowPermissions: flowPermissions?.permissions || [],\n approve: userApprove,\n record_ids: instance.record_ids,\n related_instances: instance.related_instances,\n forward_from_instance: instance.forward_from_instance,\n cc_users: instance.cc_users,\n traces: instance.traces,\n historyApproves: ___default.map(instance.traces, (trace) => {\n return Object.assign(\n {\n children: ___default.map(trace.approves, (approve) => {\n let finishDate = approve.finish_date;\n let judge = approve.judge;\n let userName = approve.user_name;\n let opinion = approve.description;\n if(approve.type === 'cc'){\n userName = `${userName} (传阅)`;\n opinion = approve.cc_description;\n }\n if (!finishDate) {\n finishDate = approve.is_read ? \"已读\" : \"未处理\";\n judge = null;\n } else {\n finishDate = moment && moment(finishDate).format(\"YYYY-MM-DD HH:mm\");\n }\n\n switch (judge) {\n case \"submitted\":\n judge = \"\";\n break;\n case \"returned\":\n judge = \"已退回\";\n break;\n case \"terminated\":\n judge = \"被取回\";\n break;\n case \"pending\":\n judge = \"审核中\";\n break;\n case \"approved\":\n judge = \"已核准\";\n break;\n case \"rejected\":\n judge = \"已驳回\";\n break;\n case \"finished\":\n judge = \"已完成\";\n break;\n case \"reassigned\":\n judge = \"转签核\";\n break;\n case \"inhand\":\n judge = \"处理中\";\n break;\n case \"relocated\":\n judge = \"重定位\";\n break;\n case \"readed\":\n judge = \"已阅\";\n break;\n }\n return {\n name: \"\",\n user_name: userName,\n finish_date: finishDate,\n judge: judge,\n opinion: opinion,\n };\n }),\n },\n { name: trace.name, judge: \"\" }\n );\n }),\n };\n};\n\nexport { index as Field, Router, absoluteUrl, amisRender, amisRootClick, cloneObject, conditionsToFilters, createObject, defaultsDeep, deleteVariable, execute, executeButton, extendObject, fetchAPI, filtersToConditions, getAmisInputTableSchema, getApp, getApps, getAuthToken, getAuthorization, getButton, getButtonVisible, getButtonVisibleOn, getButtons, getCalendarSchema, getCreatedInfoTpl, getDateTimeTpl, getDateTpl, getDefaultRenderData, getEnv, getEnvs, getEvn, getField, getFieldTpl, getFileSrc, getFlowFormSchema, getFormPageInitSchema, getFormSchema, getGlobalNowData, getIdsPickerSchema, getImageSrc, getInstanceInfo, getListPageInitSchema, getListSchema, getListViewButtons, getListViewColumns, getListViewFilter, getListViewItemButtons, getListViewSort, getListviewInitSchema, getLocationTpl, getLookupSapceUserTreeSchema, getLookupTpl, getModifiedInfoTpl, getNameTpl, getNameTplUrl, getNotifications, getNumberTpl, getObjectDetailButtons, getObjectDetailButtonsSchemas, getObjectDetailMoreButtons, getObjectFieldsFilterBarSchema, getObjectFieldsFilterButtonSchema, getObjectFieldsFilterFormSchema, getObjectListHeader, getObjectListHeaderFieldsFilterBar, getObjectListHeaderFirstLine, getObjectListHeaderSecordLine, getObjectListViewButtonsSchemas, getObjectRecordDetailHeader, getObjectRecordDetailRelatedListButtonsSchemas, getObjectRecordDetailRelatedListHeader, getObjectRelated, getObjectRelatedList, getObjectRelatedListButtons, getObjectRelatedListHeader, getObjectRelatedListsMiniSchema, getPage, getPasswordTpl, getRecord, getRecordDetailHeaderSchema, getRecordDetailMiniSchema, getRecordDetailRelatedListSchema, getRecordDetailSchema, getRecordPageInitSchema, getRecordPermissions, getRecordServiceSchema, getRefObjectNameFieldName, getReferenceTo, getReferenceToFieldSchema, getReferenceToSync, getRelatedFieldTpl, getRelatedFieldValue, getRelatedListSchema, getRelatedsCount, getRootUrl, getSelectMap, getSelectTpl, getSelectUserSchema, getSpaceUsersPickerAmisSchema, getSpaceUsersPickerSchema, getSteedosAuth, getSwitchTpl, getTableSchema, getTenantId, getTimeTpl, getUISchema, getUISchemaSync$1 as getUISchemaSync, getUiFieldTpl, getUiFileSizeTpl, getUserId, getViewSchema, isExpression, isObject, lookupToAmis, lookupToAmisIdsPicker, lookupToAmisPicker, lookupToAmisSelect, lookupToAmisSelectUser, markReadAll, parseSingleExpression, registerRemoteAssets, registerRenders, setEnv, setEnvs, setRootUrl, setSteedosAuth, setUISchemaFunction, setVariable, standardButtonsTodo, uuidv4 };\n//# sourceMappingURL=index.esm.js.map\n",null,null,null,null,null,null,null,null,null,null,null,"/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var getNative = require('./_getNative');\n\nvar defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n}());\n\nmodule.exports = defineProperty;\n","var defineProperty = require('./_defineProperty');\n\n/**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n}\n\nmodule.exports = baseAssignValue;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignMergeValue;\n","/**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n}\n\nmodule.exports = createBaseFor;\n","var createBaseFor = require('./_createBaseFor');\n\n/**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\nvar baseFor = createBaseFor();\n\nmodule.exports = baseFor;\n","var root = require('./_root');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined;\n\n/**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\nfunction cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n}\n\nmodule.exports = cloneBuffer;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var Uint8Array = require('./_Uint8Array');\n\n/**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\nfunction cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n}\n\nmodule.exports = cloneArrayBuffer;\n","var cloneArrayBuffer = require('./_cloneArrayBuffer');\n\n/**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\nfunction cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n}\n\nmodule.exports = cloneTypedArray;\n","/**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\nfunction copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n}\n\nmodule.exports = copyArray;\n","var isObject = require('./isObject');\n\n/** Built-in value references. */\nvar objectCreate = Object.create;\n\n/**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\nvar baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n}());\n\nmodule.exports = baseCreate;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","var baseCreate = require('./_baseCreate'),\n getPrototype = require('./_getPrototype'),\n isPrototype = require('./_isPrototype');\n\n/**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n}\n\nmodule.exports = initCloneObject;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var isArrayLike = require('./isArrayLike'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\nmodule.exports = isArrayLikeObject;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","/**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n}\n\nmodule.exports = safeGet;\n","var baseAssignValue = require('./_baseAssignValue'),\n eq = require('./eq');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\nfunction assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n}\n\nmodule.exports = assignValue;\n","var assignValue = require('./_assignValue'),\n baseAssignValue = require('./_baseAssignValue');\n\n/**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\nfunction copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n}\n\nmodule.exports = copyObject;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = nativeKeysIn;\n","var isObject = require('./isObject'),\n isPrototype = require('./_isPrototype'),\n nativeKeysIn = require('./_nativeKeysIn');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeysIn;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeysIn = require('./_baseKeysIn'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\nfunction keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n}\n\nmodule.exports = keysIn;\n","var copyObject = require('./_copyObject'),\n keysIn = require('./keysIn');\n\n/**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\nfunction toPlainObject(value) {\n return copyObject(value, keysIn(value));\n}\n\nmodule.exports = toPlainObject;\n","var assignMergeValue = require('./_assignMergeValue'),\n cloneBuffer = require('./_cloneBuffer'),\n cloneTypedArray = require('./_cloneTypedArray'),\n copyArray = require('./_copyArray'),\n initCloneObject = require('./_initCloneObject'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isArrayLikeObject = require('./isArrayLikeObject'),\n isBuffer = require('./isBuffer'),\n isFunction = require('./isFunction'),\n isObject = require('./isObject'),\n isPlainObject = require('./isPlainObject'),\n isTypedArray = require('./isTypedArray'),\n safeGet = require('./_safeGet'),\n toPlainObject = require('./toPlainObject');\n\n/**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n}\n\nmodule.exports = baseMergeDeep;\n","var Stack = require('./_Stack'),\n assignMergeValue = require('./_assignMergeValue'),\n baseFor = require('./_baseFor'),\n baseMergeDeep = require('./_baseMergeDeep'),\n isObject = require('./isObject'),\n keysIn = require('./keysIn'),\n safeGet = require('./_safeGet');\n\n/**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\nfunction baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n}\n\nmodule.exports = baseMerge;\n","/**\n * This method returns the first argument it receives.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Util\n * @param {*} value Any value.\n * @returns {*} Returns `value`.\n * @example\n *\n * var object = { 'a': 1 };\n *\n * console.log(_.identity(object) === object);\n * // => true\n */\nfunction identity(value) {\n return value;\n}\n\nmodule.exports = identity;\n","/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\nmodule.exports = apply;\n","var apply = require('./_apply');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\nfunction overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n}\n\nmodule.exports = overRest;\n","/**\n * Creates a function that returns `value`.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {*} value The value to return from the new function.\n * @returns {Function} Returns the new constant function.\n * @example\n *\n * var objects = _.times(2, _.constant({ 'a': 1 }));\n *\n * console.log(objects);\n * // => [{ 'a': 1 }, { 'a': 1 }]\n *\n * console.log(objects[0] === objects[1]);\n * // => true\n */\nfunction constant(value) {\n return function() {\n return value;\n };\n}\n\nmodule.exports = constant;\n","var constant = require('./constant'),\n defineProperty = require('./_defineProperty'),\n identity = require('./identity');\n\n/**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n};\n\nmodule.exports = baseSetToString;\n","/** Used to detect hot functions by number of calls within a span of milliseconds. */\nvar HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeNow = Date.now;\n\n/**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\nfunction shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n}\n\nmodule.exports = shortOut;\n","var baseSetToString = require('./_baseSetToString'),\n shortOut = require('./_shortOut');\n\n/**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\nvar setToString = shortOut(baseSetToString);\n\nmodule.exports = setToString;\n","var identity = require('./identity'),\n overRest = require('./_overRest'),\n setToString = require('./_setToString');\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n}\n\nmodule.exports = baseRest;\n","var eq = require('./eq'),\n isArrayLike = require('./isArrayLike'),\n isIndex = require('./_isIndex'),\n isObject = require('./isObject');\n\n/**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\nfunction isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n}\n\nmodule.exports = isIterateeCall;\n","var baseRest = require('./_baseRest'),\n isIterateeCall = require('./_isIterateeCall');\n\n/**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\nfunction createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n}\n\nmodule.exports = createAssigner;\n","var baseMerge = require('./_baseMerge'),\n createAssigner = require('./_createAssigner');\n\n/**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\nvar merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n});\n\nmodule.exports = merge;\n",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,"import{Modal as Modal$1,Drawer as Drawer$1,message,notification,Button,Space}from\"antd\";import*as React from\"react\";import React__default,{useState}from\"react\";import ReactDOM,{createRoot}from\"react-dom\";import*as _$1 from\"lodash\";import{assign,has,each,isEmpty,isNil,isArray,isFunction,isDate,isString,isBoolean,compact}from\"lodash\";import{fetchAPI,getUISchema,filtersToConditions,getSteedosAuth}from\"@steedos-widgets/amis-lib\";var __assign=function(){return(__assign=Object.assign||function(e){for(var t,r=1,o=arguments.length;r<o;r++)for(var a in t=arguments[r])Object.prototype.hasOwnProperty.call(t,a)&&(e[a]=t[a]);return e}).apply(this,arguments)},StandardObjects={Base:{Actions:{standard_query:{visible:function(e,t,r){return!1}},standard_new:{visible:function(e,t,r){return\"cms_files\"!==e&&\"instances\"!==e&&(r?r.allowCreate:void 0)}},standard_edit:{visible:function(e,t,r){if(r)return r.allowEdit}},standard_delete:{visible:function(e,t,r){if(r)return r.allowDelete}},standard_import_data:{visible:function(e,t,r){var o=this.object;if(r)return r.allowCreate&&o.hasImportTemplates}},standard_approve:{visible:function(e,t,r){return!1}},standard_view_instance:{visible:function(e,t,r){return!1}},standard_submit_for_approval:{visible:function(e,t,r){return window.Steedos.ProcessManager.allowSubmit.apply(this,[e,t])},todo:function(e,t){return window.Steedos.ProcessManager.submit.apply(this,[e,t])}},standard_follow:{visible:function(e,t,r){return!1}},standard_delete_many:{visible:function(e,t,r){return!RegExp(\"\\\\w+/view/\\\\w+\").test(location.pathname)&&(r?r.allowDelete:void 0)}},standard_export_excel:{visible:function(e,t,r){return!1}}}}},authRequest=function(e,t){var n=null;e=Steedos.absoluteUrl(e);try{var r=[{name:\"Content-Type\",value:\"application/json\"},{name:\"Authorization\",value:Steedos.getAuthorization()}],o={type:\"get\",url:e,dataType:\"json\",contentType:\"application/json\",beforeSend:function(t){if(r&&r.length)return r.forEach(function(e){return t.setRequestHeader(e.name,e.value)})},success:function(e){n=e},error:function(e,t,r){var o,a;e.responseJSON&&e.responseJSON.error?(o=e.responseJSON.error,a=void(n={error:o}),a=o.reason||o.message||o,console.error(a)):console.error(e.responseJSON)}};return $.ajax(Object.assign({},o,t)),n}catch(e){console.error(e)}};function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r,o=arguments[t];for(r in o)Object.prototype.hasOwnProperty.call(o,r)&&(e[r]=o[r])}return e}).apply(this,arguments)}const newFunctionComponent=a=>e=>{const[t,r]=useState(!0);var o=()=>{r(!1)};return has(e,\"ref\")||(window.SteedosUI.refs[e.name]={show:()=>{r(!0)},close:o}),React__default.createElement(a,_extends({visible:t,onCancel:o,onClose:o},{width:\"70%\",style:{width:\"70%\",maxWidth:\"950px\",minWidth:\"480px\"}},e))},newComponentRender=(r,o)=>(e,t)=>{e.name||(e.name=r+\"-\"+(e.name||\"default\")),(t=t||document.getElementById(`steedos-${r}-root-`+e.name))||((t=document.createElement(\"div\")).setAttribute(\"id\",`steedos-${r}-root-`+e.name),document.body.appendChild(t));e=React__default.createElement(newFunctionComponent(o),e);createRoot(t).render(e)},Modal=assign(newComponentRender(\"modal\",Modal$1),{info:Modal$1.info,success:Modal$1.success,error:Modal$1.error,warning:Modal$1.warning,confirm:Modal$1.confirm}),Drawer=newComponentRender(\"drawer\",Drawer$1),getGraphqlFieldsQuery=e=>{const t=[\"_id\"];return e.push(\"record_permissions\"),each(e,e=>{-1<e.indexOf(\".\")&&(e=e.split(\".\")[0]),t.push(\"\"+e)}),\"\"+t.join(\" \")},getFindOneQuery=(e,t,r)=>{e=e.replace(/\\./g,\"_\");r=getGraphqlFieldsQuery(r);let o=\"\";t=[`id: \"${t}\"`];return`{record:${e}__findOne${o=0<t.length?`(${t.join(\",\")})`:o}{${r}}}`},SObject={getRecord:async(e,t,r)=>{return(await fetchAPI(\"/graphql\",{method:\"post\",body:JSON.stringify({query:getFindOneQuery(e,t,r)})})).data.record},getUISchema:async(e,t)=>getUISchema(e,t)},canSaveFilter=e=>!(!e._id||e.owner!==getSteedosAuth()?.userId),ListView={showFilter:(e,{listView:t,data:r})=>{canSaveFilter(t),r.filters&&(r.filters=filtersToConditions(r.filters))},getVisibleFilter:(e,t)=>{return t||(canSaveFilter(e)?e.filters:void 0)},getQueryFilter:(e,t)=>{return canSaveFilter(e)?ListView.getVisibleFilter(e,t):isEmpty(t)?e.filters:[e.filters,\"and\",t]},getFirstListView:async e=>{e=await window.getUISchema(e);return _.first(_.sortBy(_.values(e.list_views),\"sort_no\"))}},Router={getAppPath({appId:e}){return\"/app/\"+e},getPagePath(){},getObjectListViewPath({appId:e,objectName:t,listViewName:r}){return`/app/${e}/${t}/grid/`+r},getObjectDetailPath({appId:e,objectName:t,recordId:r}){return`/app/${e}/${t}/view/`+r},getObjectRelatedViewPath({appId:e,masterObjectName:t,masterRecordId:r,objectName:o,foreignKey:a}){return`/app/${e}/${t}/${r}/${o}/grid?related_field_name=`+a}};var withModalWrap=function(t,e){return function(e){return React.createElement(t,e)}},render=function(e,t,r,o){e=withModalWrap(e),e=React.createElement(e,__assign({},t));return ReactDOM.render(e,r)};const safeRunFunction=(t,r,o,a)=>{try{let e=[];return isNil(r)||(e=isArray(r)?r:[r]),t.bind(a||{})(...e)}catch(e){return console.log(e),o}};function safeEval(js){try{return eval(js)}catch(e){console.error(e,js)}}const isExpression=function(e){var t,r;return\"string\"==typeof e&&(t=/^{{(function.+)}}$/,r=/^{{(.+=>.+)}}$/,!(\"string\"!=typeof e||!e.match(/^{{(.+)}}$/)||e.match(t)||e.match(r)))},getMoment=()=>window.amisRequire?window.amisRequire(\"moment\"):window.moment||void 0,getGlobalNowData=()=>{var e=new Date,t=getMoment();let r=t().utc(),o=(r.set(\"hours\",0),r.set(\"minutes\",0),r.set(\"seconds\",0),r.set(\"milliseconds\",0),r=r.toDate(),t());return o.set(\"year\",1970),o.set(\"month\",0),o.set(\"date\",1),o.set(\"hours\",o.hours()+o.utcOffset()/60),o.set(\"seconds\",0),o.set(\"milliseconds\",0),o=o.toDate(),{now:e,today:r,timeNow:o}},parseSingleExpression=function(t,e,r,o){var a,n;if(o&&Object.assign(o,getGlobalNowData()),n=function(e,t){return\"#\"!==t&&t?\"string\"==typeof t?_.get(e,t):void console.error(\"path has to be a string\"):e||{}}(e=void 0===e?{}:e,function(e){return\"string\"!=typeof e||1===(e=e.split(\".\")).length?\"#\":(e.pop(),e.join(\".\"))}(r))||{},\"string\"!=typeof t)return t;a=\"__G_L_O_B_A_L__\",e=\"\\n return \"+t.substring(2,t.length-2).replace(/\\bformData\\b/g,JSON.stringify(e).replace(/\\bglobal\\b/g,a)).replace(/\\bglobal\\b/g,JSON.stringify(o)).replace(new RegExp(\"\\\\b\"+a+\"\\\\b\",\"g\"),\"global\").replace(/rootValue/g,JSON.stringify(n));try{return Function(e)()}catch(e){return console.log(e,t,r),t}};var Expression=Object.freeze({__proto__:null,isExpression:isExpression,getGlobalNowData:getGlobalNowData,parseSingleExpression:parseSingleExpression});const getCompatibleDefaultValueExpression=(express,multiple)=>{const reg=/^\\{\\w+(\\.*\\w+)*\\}$/,reg2=/^{{[\\s\\S]*}}$/;let result=express;if(reg.test(express)&&(result=-1<express.indexOf(\"userId\")||-1<express.indexOf(\"spaceId\")||-1<express.indexOf(\"user.\")||-1<express.indexOf(\"now\")||-1<express.indexOf(\"today\")||-1<express.indexOf(\"timeNow\")?`{${express}}`.replace(\"{{\",\"{{global.\"):`{${express}}`.replace(\"{{\",\"{{formData.\"),multiple&&(result=result.replace(/\\{\\{(.+)\\}\\}/,\"{{[$1]}}\"))),reg2.test(express)&&(-1<express.indexOf(\"function\")||-1<express.indexOf(\"=>\"))){let regex=/\\{\\{([\\s\\S]*)\\}\\}/,matches=regex.exec(express);if(matches&&1<matches.length){let functionCode=matches[1];result=eval(\"(\"+functionCode+\")\")()}}return result},getFieldDefaultValue=(e,t)=>{if(!e)return null;let r=e.defaultValue;e._defaultValue&&(r=safeEval(`(${e._defaultValue})`)),isFunction(r)&&(r=safeRunFunction(r,[],null,{name:e.name})),_$1.isString(r)&&(r=getCompatibleDefaultValueExpression(r,e.multiple));var o=isExpression(r);switch(o&&(\"date\"===e.type?r=r.replace(/\\bglobal.now\\b/g,\"global.today\"):\"time\"===e.type&&(r=r.replace(/\\bglobal.now\\b/g,\"global.timeNow\")),r=parseSingleExpression(r,{},\"#\",t)),e.type){case\"select\":var a=e.data_type||\"text\";!r||o||e.multiple||(\"text\"!==a||isString(r)?\"number\"===a&&isString(r)?r=Number(r):\"boolean\"===a&&isString(r)&&(r=\"true\"===r.toLowerCase()||\"1\"===r):r=String(r));break;case\"number\":isString(r)&&(r=Number(r));break;case\"boolean\":isString(r)?r=\"true\"===r.toLowerCase()||\"1\"===r:isBoolean(r)||(r=!1);break;case\"time\":if(isDate(r))return moment(r).format(\"1970-01-01THH:mm:00.000[Z]\");case\"date\":if(isDate(r))return moment(r).format(\"YYYY-MM-DDT00:00:00.000[Z]\");case\"datetime\":if(isDate(r))return moment(r).format(\"YYYY-MM-DDTHH:mm:00.000Z\")}return r};function getTreeOptions(t,e){const a=e?.valueField||\"value\",r=(e?.labelField,e?.unfoldedNum||1),o=[],n=(e,t,r,o)=>{return e.children&&\"object\"==typeof e.children[0]?e.children:r?(e=_.filter(t,e=>_.includes(r,e[a])),_.each(e,e=>{1<=o?(e.unfolded=!0,e.children&&(e.children=n(e,t,e.children,o-1))):e.children&&(e.children=n(e,t,e.children,o))}),e):void 0};for(var s=t,i=0;i<s.length;i++)if(s[i].noParent=0,s[i].unfolded=!1,s[i].parent){let e=1;for(var l=0;l<s.length;l++)s[i].parent==s[l][a]&&(e=0);1==e&&(s[i].noParent=1)}else s[i].noParent=1;return _.each(t,e=>{1==e.noParent&&(1<=r?(e.unfolded=!0,o.push(Object.assign({},e,{children:n(e,t,e.children,r-1)}))):o.push(Object.assign({},e,{children:n(e,t,e.children,r)})))}),o}function getClosestAmisComponentByType(t,r,o){let a=(o=o||{}).name;var e=o.direction||\"up\";let n=t.getComponents().find(function(e){return e.props.type===r&&(!a||e.props.name===a)});if(n)return n;if(\"down\"===e){if(t.children&&t.children.length){for(let e=0;e<t.children.length&&!(n=getClosestAmisComponentByType(t.children[e],r,o));e++);return n}}else if(\"up\"===e&&t.parent)return getClosestAmisComponentByType(t.parent,r,o)}function isFilterFormValuesEmpty(e){let t=!0;var e=_.pickBy(e,function(e,t){return/^__searchable__/g.test(t)});return _.isEmpty(e)||(e=_.omitBy(e,function(e){return _.isNil(e)||_.isObject(e)&&_.isEmpty(e)||_.isArray(e)&&_.isEmpty(e.filter(function(e){return!_.isNil(e)}))||_.isString(e)&&0===e.length}),_.isEmpty(e)||(t=!1)),t}const SteedosUI=Object.assign({},{render:render,Router:Router,ListView:ListView,Object:SObject,Modal:Modal,Drawer:Drawer,refs:{},getRef(e){return SteedosUI.refs[e]},router:{go:(e,t)=>{var r=window.FlowRouter;if(t)return r?r.go(t):window.open(t);r?r.reload():console.warn(\"暂不支持自动跳转\",e)},reload:()=>{console.log(\"reload\")}},message:message,notification:notification,components:{Button:Button,Space:Space},getRefId:({type:e,appId:t,name:r})=>{switch(e){case\"listview\":return`amis-${t}-${r}-listview`;case\"form\":return`amis-${t}-${r}-form`;case\"detail\":return`amis-${t}-${r}-detail`;default:return`amis-${t}-${r}-`+e}},reloadRecord:()=>{if(window.FlowRouter)return window.FlowRouter.reload()},getFieldDefaultValue:getFieldDefaultValue,getTreeOptions:getTreeOptions,getClosestAmisComponentByType:getClosestAmisComponentByType,isFilterFormValuesEmpty:isFilterFormValuesEmpty,getSearchFilter:e=>{var a=[];return _.each(e,(e,t)=>{var r,o;_.isEmpty(e)&&!_.isBoolean(e)||(_.startsWith(t,\"__searchable__between__\")?a.push([\"\"+t.replace(\"__searchable__between__\",\"\"),\"between\",e]):_.startsWith(t,\"__searchable__\")&&(_.isString(e)?a.push([\"\"+t.replace(\"__searchable__\",\"\"),\"contains\",e]):_.isObject(e)&&e.o?(o=[[(r=\"\"+t.replace(\"__searchable__\",\"\"))+\"/o\",\"=\",e.o]],e.ids.length&&o.push([r+\"/ids\",\"=\",e.ids]),a.push(o)):a.push([\"\"+t.replace(\"__searchable__\",\"\"),\"=\",e])))}),a},getKeywordsSearchFilter:(e,t)=>{const a=[];var n;return e&&t&&(n=e.split(/\\s+/),n=compact(n),t.forEach(function(r,e){let o=[];1==n.length?o=[r,\"contains\",n[0]]:n.forEach(function(e,t){o.push([r,\"contains\",e]),t<n.length-1&&o.push(\"or\")}),o.length&&(a.push(o),e<t.length-1&&a.push(\"or\"))})),a},getFormulaVariables:(e,t=!0)=>{const r=[];return isEmpty(e)||(r.push({label:\"表单字段\",children:[]}),lodash.forEach(e,function(e){r[0].children.push({label:e.label,value:e.value})})),t&&r.push({label:\"全局变量\",children:[{label:\"用户ID\",value:\"global['userId']\"},{label:\"工作区ID\",value:\"global['spaceId']\"},{label:\"用户\",children:[{label:\"姓名\",value:\"global['user']['name']\"},{label:\"邮件\",value:\"global['user']['email']\"},{label:\"语言\",value:\"global['user']['language']\"},{label:\"简档\",value:\"global['user']['profile']\"},{label:\"权限集\",value:\"global['user']['roles']\"},{label:\"主部门ID\",value:\"global['user']['organization']['_id']\"},{label:\"部门(含上级)\",value:\"global['user']['organizations_parents']\"},{label:\"主分部ID\",value:\"global['user']['company_id']\"},{label:\"分部(多选)\",value:\"global['user']['company_ids']\"},{label:\"人员ID\",value:\"global['user']['spaceUserId']\"},{label:\"是否是工作区管理员\",value:\"global['user']['is_space_admin']\"}]}]}),r}});var _STANDARD_SPRITE_IDS=\"account,account_info,action_list_component,actions_and_buttons,activation_target,activations,address,agent_home,agent_session,aggregation_policy,all,announcement,answer_best,answer_private,answer_public,apex,apex_plugin,app,approval,apps,apps_admin,article,asset_action,asset_action_source,asset_audit,asset_downtime_period,asset_object,asset_relationship,asset_state_period,asset_warranty,assigned_resource,assignment,attach,avatar,avatar_loading,bot,bot_training,branch_merge,brand,budget,budget_allocation,bundle_config,bundle_policy,business_hours,buyer_account,buyer_group,calculated_insights,calibration,call,call_coaching,call_history,campaign,campaign_members,cancel_checkout,canvas,capacity_plan,care_request_reviewer,carousel,case,case_change_status,case_comment,case_email,case_log_a_call,case_milestone,case_transcript,case_wrap_up,catalog,category,change_request,channel_program_history,channel_program_levels,channel_program_members,channel_programs,chart,checkout,choice,client,cms,coaching,code_playground,code_set,code_set_bundle,collection,collection_variable,connected_apps,constant,contact,contact_list,contact_request,contract,contract_line_item,contract_payment,coupon_codes,currency,currency_input,custom,custom_component_task,custom_notification,customer_360,customer_lifecycle_analytics,customer_portal_users,customers,dashboard,dashboard_component,dashboard_ea,data_integration_hub,data_mapping,data_model,data_streams,datadotcom,dataset,date_input,date_time,decision,default,delegated_account,device,discounts,display_rich_text,display_text,document,document_reference,drafts,duration_downscale,dynamic_record_choice,education,einstein_replies,email,email_chatter,employee,employee_asset,employee_contact,employee_job,employee_job_position,employee_organization,empty,endorsement,entitlement,entitlement_policy,entitlement_process,entitlement_template,entity,entity_milestone,environment_hub,event,events,expense,expense_report,expense_report_entry,feed,feedback,field_sales,file,filter,filter_criteria,filter_criteria_rule,first_non_empty,flow,folder,forecasts,form,formula,fulfillment_order,generic_loading,global_constant,goals,group_loading,groups,guidance_center,hierarchy,high_velocity_sales,historical_adherence,holiday_operating_hours,home,household,identifier,immunization,incident,individual,insights,instore_locations,investment_account,invocable_action,iot_context,iot_orchestrations,javascript_button,job_family,job_position,job_profile,kanban,key_dates,knowledge,lead,lead_insights,lead_list,letterhead,lightning_component,lightning_usage,link,list_email,live_chat,live_chat_visitor,location,location_permit,log_a_call,logging,loop,macros,maintenance_asset,maintenance_plan,maintenance_work_rule,marketing_actions,med_rec_recommendation,med_rec_statement_recommendation,medication,medication_dispense,medication_ingredient,medication_reconciliation,medication_statement,merge,messaging_conversation,messaging_session,messaging_user,metrics,multi_picklist,multi_select_checkbox,network_contract,news,note,number_input,observation_component,omni_supervisor,operating_hours,opportunity,opportunity_contact_role,opportunity_splits,orchestrator,order_item,orders,outcome,output,partner_fund_allocation,partner_fund_claim,partner_fund_request,partner_marketing_budget,partners,password,past_chat,patient_medication_dosage,payment_gateway,people,performance,person_account,person_language,person_name,photo,picklist_choice,picklist_type,planogram,poll,portal,portal_roles,portal_roles_and_subordinates,post,practitioner_role,price_book_entries,price_books,pricebook,pricing_workspace,problem,procedure,procedure_detail,process,process_exception,product,product_consumed,product_consumed_state,product_item,product_item_transaction,product_quantity_rules,product_request,product_request_line_item,product_required,product_service_campaign,product_service_campaign_item,product_transfer,product_transfer_state,product_warranty_term,product_workspace,products,promotion_segments,promotions,promotions_workspace,propagation_policy,proposition,qualifications,question_best,question_feed,queue,quick_text,quip,quip_sheet,quotes,radio_button,read_receipts,recent,recipe,record,record_create,record_delete,record_lookup,record_signature_task,record_update,recycle_bin,related_list,relationship,reply_text,report,report_type,resource_absence,resource_capacity,resource_preference,resource_skill,restriction_policy,return_order,return_order_line_item,reward,rtc_presence,sales_cadence,sales_cadence_target,sales_channel,sales_path,sales_value,salesforce_cms,scan_card,schedule_objective,scheduling_constraint,scheduling_policy,screen,search,section,segments,selling_model,serialized_product,serialized_product_transaction,service_appointment,service_appointment_capacity_usage,service_contract,service_crew,service_crew_member,service_report,service_request,service_request_detail,service_resource,service_territory,service_territory_location,service_territory_member,service_territory_policy,settings,shift,shift_pattern,shift_pattern_entry,shift_preference,shift_scheduling_operation,shift_template,shift_type,shipment,skill,skill_entity,skill_requirement,slack,slider,sms,snippet,snippets,sobject,sobject_collection,social,solution,sort,sort_policy,sossession,stage,stage_collection,steps,store,store_group,story,strategy,survey,swarm_request,swarm_session,system_and_global_variable,tableau,task,task2,team_member,template,text,text_template,textarea,textbox,thanks,thanks_loading,timesheet,timesheet_entry,timeslot,today,toggle,topic,topic2,tour,tour_check,trailhead,trailhead_alt,travel_mode,unified_health_score,unmatched,user,user_role,variable,variation_attribute_setup,variation_products,video,visit_templates,visits,visualforce_page,voice_call,waits,warranty_term,webcart,work_capacity_limit,work_capacity_usage,work_contract,work_forecast,work_order,work_order_item,work_plan,work_plan_rule,work_plan_template,work_plan_template_entry,work_queue,work_step,work_step_template,work_type,work_type_group,workforce_engagement\";const sldsIcons={standard:_STANDARD_SPRITE_IDS.split(\",\")};var organizationsTree={getSearchableFields:function(e){var a=[\"text\",\"textarea\",\"autonumber\",\"url\",\"email\"];var n=[],s=e.context.uiSchema;return s&&_$1.each(s.fields,function(e){var t,r,o;t=e,r=s.NAME_FIELD_KEY,(o=!1!==(o=t.searchable)&&t.name===r?!0:o)&&-1<a.indexOf(t.type)&&n.push(e.name)}),n},getApiRequestAdaptor:function(e,t,r){var o=\"__keywords\";if((r=void 0===r?{}:r).isLookup){if(\"loadOptions\"===t.op)return a=[[\"_id\",\"=\",t.value]],Object.assign({},e,{method:\"post\",url:\"/graphql\",data:{query:\"{rows:organizations(filters: \"+JSON.stringify(a)+', top: 5000, skip: 0, sort: \"sort_no desc\"){_id,fullname,name,sort_no,_display:_ui{sort_no},parent,children}}'}});(r=t.__lookupField)?o=\"__keywords_lookup__\".concat(r.name.replace(/\\./g,\"_\"),\"__to__\").concat(r.reference_to):(o=\"\",console.error(\"lookup字段快速搜索异常,作用域中未找到变量__lookupField\"))}var t=this.getSearchableFields(e),a=[],n=JSON.parse(JSON.stringify(e.context)),r=SteedosUI.getSearchFilter(n)||[],r=(0<r.length&&(a=0<a.length?[a,\"and\",r]:r),t&&t.forEach(function(e){var t=n[e];_$1.isString(t)?a.push([e,\"contains\",t]):(_$1.isArray(t)||_$1.isBoolean(t)||t)&&a.push([e,\"=\",t])}),SteedosUI.getKeywordsSearchFilter(n[o],t)),o=(r&&0<r.length&&a.push(r),e.data={},0<a.length&&Object.assign(e.data,{filters:JSON.stringify(a)}),e.body&&e.body.queryFields);return o&&Object.assign(e.data,{fields:o}),e.body.$self&&(e.body.$self.context&&e.body.$self.context.rootUrl,e.url=\"/service/api/organizations/root\"),e},getApiAdaptor:function(e,t,r,o,a){return(a=void 0===a?{}:a).isLookup&&\"loadOptions\"===o.op?(a=_$1.map(e.data.rows,function(e){return delete e.children,delete e.parent,e}),e.data.rows=a):(o=r.data&&r.data.filters,e.data=__assign(__assign({},e.data),{isFilter:!!o}),e.data.__rootQueryFields=r.data&&r.data.fields,(e.data.rows||[]).forEach(function(e){e.__rootQueryFields=r.data&&r.data.fields})),e},getDeferApiRequestAdaptor:function(e,t,r){var o=[],a=JSON.parse(JSON.stringify(e.context))._id,a=(a&&(o=[[\"parent\",\"=\",a]]),t&&t.__rootQueryFields||\"_id,fullname,name,sort_no,hidden,_display:_ui{sort_no,hidden},parent,children\");return Object.assign({},e,{data:{query:\"{rows:organizations(filters: \"+JSON.stringify(o)+', top: 5000, skip: 0, sort: \"sort_no desc\"){'+a+\"}}\"}})},getDeferApiAdaptor:function(e,t,r,o,a){var n=e.data;return n.children||(n.rows=n.rows.map(function(e){return e.defer=!(!e.children||!e.children.length),delete e.children,e}),n.children=n.rows,delete n.rows,delete n.count),e}},getBuilderContext=function(){return\"undefined\"==typeof window?{}:Builder.settings.context||Builder.settings},Steedos$1=__assign({resources:{sldsIcons:sldsIcons},organizationsTree:organizationsTree,getRootUrl:function(e){var t=getBuilderContext();return t.rootUrl||(\"undefined\"!=typeof window?window.localStorage.getItem(\"steedos:rootUrl\"):\"\")||e},absoluteUrl:function(e){return void 0===e&&(e=\"\"),\"\".concat(Steedos$1.getRootUrl()).concat(e)},getTenantId:function(){try{var e=getBuilderContext().tenantId;return(e=window.location.search&&!e?new URLSearchParams(window.location.search).get(\"X-Space-Id\"):e)?e:null}catch(e){console.error(e)}},getAuthorization:function(){try{var e=getBuilderContext(),t=e.tenantId,r=e.authToken;return t&&r?\"Bearer \".concat(t,\",\").concat(r):null}catch(e){console.error(e)}},authRequest:authRequest,StandardObjects:StandardObjects},Expression);\"undefined\"!=typeof window&&(window.Steedos?window.Steedos=Object.assign(Steedos$1,window.Steedos):window.Steedos=Steedos$1),\"undefined\"!=typeof window&&(window.SteedosUI?window.SteedosUI=Object.assign(SteedosUI,window.SteedosUI):window.SteedosUI=SteedosUI);export{Steedos$1 as Steedos,SteedosUI};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["__assign","_typeof","_classCallCheck","_toPrimitive","_toPropertyKey","toPrimitive","_defineProperties","toPropertyKey","_createClass","setPrototypeOf","assertThisInitialized","_defineProperty","arrayLikeToArray","arrayWithHoles","iterableToArray","unsupportedIterableToArray","nonIterableRest","ownKeys","_objectSpread","createContext","freeGlobal","global","require$$0","root","Symbol","objectProto","hasOwnProperty","nativeObjectToString","symToStringTag","getRawTag","objectToString","require$$1","require$$2","baseGetTag","overArg","getPrototype","isObjectLike","objectTag","funcProto","funcToString","isPlainObject","isEmpty","isArray","each","find","getBuilderContext","endsWith","cloneDeep","Router","forEach","_$1","includes","trimEnd","AmisFormInputs","getAmisStaticFieldType","has","getLookupLinkOnClick","i18next","getTableColumns","isBoolean","___default","omitBy","isNil","isObject","toArray","mergeWith","get","isExpression","getGlobalNowData","parseSingleExpression","getSchema","map","getGraphqlFieldsQuery","getFindOneQuery","isString","union","slice","defaultsDeep$1","isObject$1","clone","filter","getSteedosAuth$1","lookupToAmis$1","startsWith","getMoment","fetchAPI$1","isFunction","useState","useEffect","compact","React","defaultsDeep","Dropdown","Image","Tabs","Spin","Badge","Skeleton","resolveEventData","BasicCollapse","Icon","listCacheClear","eq","assocIndexOf","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","require$$3","require$$4","ListCache","stackClear","stackDelete","stackGet","stackHas","funcTag","coreJsData","isMasked","toSource","baseIsNative","getValue","getNative","Map","nativeCreate","hashClear","hashDelete","HASH_UNDEFINED","hashGet","hashHas","hashSet","Hash","mapCacheClear","isKeyable","getMapData","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","stackSet","require$$5","Stack","defineProperty","baseAssignValue","assignMergeValue","createBaseFor","baseFor","Uint8Array","cloneArrayBuffer","cloneTypedArray","copyArray","baseCreate","isPrototype","initCloneObject","argsTag","baseIsArguments","isArguments","MAX_SAFE_INTEGER","isLength","isArrayLike","isArrayLikeObject","baseIsTypedArray","baseUnary","isTypedArray","safeGet","assignValue","copyObject","baseTimes","isIndex","isBuffer","arrayLikeKeys","nativeKeysIn","baseKeysIn","keysIn","toPlainObject","require$$6","require$$7","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","baseMergeDeep","baseMerge","identity","apply","overRest","constant","baseSetToString","shortOut","setToString","baseRest","isIterateeCall","createAssigner","isPureVariable","resolveVariableAndFilter","merge","setThemeClassName","buildStyle","CustomStyle","DndWrapper","difference","keys","pick","first","values","pickBy","Field","generateRandomString","sampleSize","random","React__default","createRoot","assign","Modal$1","Drawer$1","ReactDOM","isDate","SteedosUI","message","notification","Button","Space"],"mappings":"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CAAC;AACnE;AACA;AACA;AACA,6BAA6B,EAAE,UAAU,CAAC,IAAI,CAAC;AAC/C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,QAAQ,EAAE,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,EAAE,IAAI,CAAC,SAAS,CAACA,cAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC9D;AACA;AACA,IAAI,CAAC,CAAC;AACN,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC;AACnB,iBAAiB,EAAE,IAAI,CAAC,SAAS,CAACA,cAAG,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAwB,EAAE,UAAU,CAAC,WAAW,CAAC;AACjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;AAClD,uBAAuB,EAAE,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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C1E,EAAE,MAAM,cAAc,GAAG,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE,YAAY,CAAC,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qCAAqC,EAAE,qBAAqB,CAAC;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE,YAAY,CAAC,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC,CAAC;AACN,EAAE,MAAM,kBAAkB,GAAG,CAAC;AAC9B,6BAA6B,EAAE,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;AAChE,2BAA2B,EAAE,cAAc,CAAC;AAC5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC,CAAC;AACJ,EAAE,MAAM,8BAA8B,GAAG,CAAC;AAC1C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAsC,EAAE,YAAY,CAAC,IAAI,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA,EAAE,CAAC,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,MAAM,EAAE,SAAS;AACrB,IAAI,MAAM,EAAE,8BAA8B;AAC1C,IAAI,MAAM,EAAE;AACZ;AACA;AACA;AACA;AACA,KAAK;AACL;AACA,IAAI,cAAc,EAAE;AACpB,MAAM,QAAQ,EAAE,kBAAkB;AAClC,KAAK;AACL,IAAI,MAAM,EAAE;AACZ,MAAM,MAAM,EAAE,SAAS;AACvB,MAAM,MAAM,EAAE;AACd,QAAQ,MAAM,EAAE,SAAS;AACzB,QAAQ,MAAM,EAAE,CAAC,gBAAgB,EAAE;AACnC,UAAU,MAAM,EAAE,SAAS;AAC3B,UAAU,MAAM,EAAE;AAClB,Y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A;AACA;AACA,2BAA2B,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AAC3D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA6B,EAAE,GAAG,CAAC,YAAY,CAAC;AAChD;AACA,wCAAwC,EAAE,uBAAuB,CAAC;AAClE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gCAAgC,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,CAAC;AAClF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,4BAA4B,EAAE,eAAe,CAAC,WAAW,CAAC;AAC1D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,CAAC,CAAC;AACN,IAAI,MAAM,CAAC,OAAO,GAAG,CAAC;AACtB,wBAAwB,EAAE,eAAe,CAAC,WAAW,CAAC;AACtD;AACA;AACA;AACA;AACA;AACA;AACA,kCAAkC,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC;AAClG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,YAAY,EAAE,oCAAoC,CAACA,cAAG,CAAC,MAAM,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;AACvF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAA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"}