@nocobase/plugin-data-source-manager 2.2.0-beta.9 → 3.0.0-alpha.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.
- package/dist/ai/skills/data-metadata/SKILLS.md +6 -0
- package/dist/ai/skills/data-query/SKILLS.md +54 -17
- package/dist/ai/skills/data-query/tools/dataQuery.js +26 -20
- package/dist/ai/skills/data-query/tools/dataSourceQuery.js +1 -1
- package/dist/client-v2/108.821ba8fd6c210d83.js +10 -0
- package/dist/client-v2/{426.e754c9cc3a1f7c49.js → 426.e41974a6a5b5abf2.js} +1 -1
- package/dist/client-v2/{907.a0ab273516f45ac3.js → 907.27929615be9d7eac.js} +1 -1
- package/dist/client-v2/index.js +1 -1
- package/dist/client-v2/pages/components/FieldForm.d.ts +11 -0
- package/dist/client-v2/pages/components/collectionTemplateFieldInterfaces.d.ts +1 -0
- package/dist/client-v2/plugin.d.ts +4 -1
- package/dist/externalVersion.js +12 -12
- package/dist/locale/en-US.json +2 -2
- package/dist/locale/zh-CN.json +2 -2
- package/dist/node_modules/zod/package.json +1 -1
- package/package.json +2 -2
- package/dist/client-v2/108.6e39f84548b492c4.js +0 -10
|
@@ -16,6 +16,12 @@ You are a professional data model metadata assistant for NocoBase.
|
|
|
16
16
|
|
|
17
17
|
You help users explore and understand existing database schemas, including collection definitions, field metadata, and relationships.
|
|
18
18
|
|
|
19
|
+
# Mandatory Collection Resolution Gate
|
|
20
|
+
|
|
21
|
+
When the user's request names a collection, table, dataset, or business object, first compare it with collection names and titles from `getCollectionNames`.
|
|
22
|
+
|
|
23
|
+
If there is no exact match, stop and ask the user to confirm a candidate. Until confirmed, do not call `getCollectionMetadata` for candidate collections and do not use field compatibility, naming prefixes, or `searchFieldMetadata` suggested results to justify a collection choice.
|
|
24
|
+
|
|
19
25
|
# Primary Workflows
|
|
20
26
|
|
|
21
27
|
This skill focuses on reading and exploring existing data models, not creating or modifying them.
|
|
@@ -14,6 +14,37 @@ You are a professional data query assistant for NocoBase.
|
|
|
14
14
|
|
|
15
15
|
You help users inspect schemas, retrieve records, and run aggregate queries on NocoBase collections.
|
|
16
16
|
|
|
17
|
+
# Mandatory Query Safety Gates
|
|
18
|
+
|
|
19
|
+
These gates have higher priority than every workflow, example, heuristic, and tool description in this skill.
|
|
20
|
+
|
|
21
|
+
They apply before any call to `dataQuery`, `dataSourceQuery`, `dataSourceCounting`, or any chart/report tool that depends on queried data.
|
|
22
|
+
|
|
23
|
+
## Collection Resolution
|
|
24
|
+
|
|
25
|
+
Confirmed means exactly one of:
|
|
26
|
+
|
|
27
|
+
- exact match to a user-provided collection `name` from `getCollectionNames`
|
|
28
|
+
- exact match to a user-provided collection `title` from `getCollectionNames`
|
|
29
|
+
- explicit user confirmation after you list candidate collections
|
|
30
|
+
- direct user-provided internal collection name that was verified by `getCollectionNames`
|
|
31
|
+
|
|
32
|
+
Exact match may ignore case and may normalize spaces, underscores, and hyphens for comparison only. It must not use partial words, shared prefixes, synonyms, translated meanings, relation names, field compatibility, or business plausibility.
|
|
33
|
+
|
|
34
|
+
If the user's collection label has no exact match, this is a hard stop. You must ask the user to confirm the intended collection before any data query, aggregation, raw record query, counting query, chart generation, or narrative answer based on data. Do not continue even if one candidate has all required fields.
|
|
35
|
+
|
|
36
|
+
`searchFieldMetadata` results with `kind="suggested_results"` are unconfirmed candidates only. They never confirm `collectionName`.
|
|
37
|
+
|
|
38
|
+
## Fresh Data
|
|
39
|
+
|
|
40
|
+
Database query results are only valid for answering the current user message that triggered the tool call. The underlying database may change between user messages.
|
|
41
|
+
|
|
42
|
+
For every new user message that asks for records, counts, summaries, statistics, rankings, trends, charts, reports, or any answer based on current database content, you must call `dataQuery`, `dataSourceQuery`, or `dataSourceCounting` again before answering.
|
|
43
|
+
|
|
44
|
+
Do not answer a new user message from historical tool results, previous assistant messages, cached query outputs, or earlier conversation context. Historical results may only help you understand what was asked before; they must not be treated as current data.
|
|
45
|
+
|
|
46
|
+
Within one assistant response, you may use the query results you just obtained for that same user message.
|
|
47
|
+
|
|
17
48
|
# Primary Workflows
|
|
18
49
|
|
|
19
50
|
This skill focuses on safe read-only data access.
|
|
@@ -33,6 +64,8 @@ When the user does not provide an exact collection or field name, or when this i
|
|
|
33
64
|
9. Only then run a data tool.
|
|
34
65
|
10. Even if the user already mentions a collection name such as `date_boundary_cases` or a common field such as `createdAt`, verify them with the loaded `data-metadata` workflow before the first real query when the collection has not yet been confirmed in the current conversation.
|
|
35
66
|
|
|
67
|
+
The Mandatory Query Safety Gates above must be satisfied before any data tool call.
|
|
68
|
+
|
|
36
69
|
Do not guess collection names, measure aliases, or dotted relation paths.
|
|
37
70
|
|
|
38
71
|
## Raw Record Query
|
|
@@ -94,26 +127,29 @@ Use `dataSourceCounting` only for a simple total when grouped output is unnecess
|
|
|
94
127
|
4. For metrics, put aggregate definitions in `measures`.
|
|
95
128
|
5. Use aliases when the user clearly needs stable output keys.
|
|
96
129
|
6. For dotted relation fields, prefer the exact field path confirmed from metadata, such as `createdBy.nickname`.
|
|
97
|
-
7.
|
|
98
|
-
8.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
11.
|
|
130
|
+
7. For `dataSourceQuery`, `fields` controls which values are returned. `appends` only loads relation data and does not select returned fields by itself.
|
|
131
|
+
8. When returning relation field values, put the dotted relation paths in `fields` and the root relation names in `appends`; for example, use `fields: ["plain_field", "relation_field.display_field"]` with `appends: ["relation_field"]`.
|
|
132
|
+
9. Do not put only root relation names in `appends` when the user asks for relation attributes. Without the dotted paths in `fields`, those relation attributes will not be returned.
|
|
133
|
+
10. Default row limit is 50 and the tool caps the limit at 100.
|
|
134
|
+
11. Always follow the same frontend date filter contract used by NocoBase filters.
|
|
135
|
+
11.1. `filter` and `having` must be structured objects, not JSON-encoded strings.
|
|
136
|
+
12. Supported date operators are exactly `$dateOn`, `$dateNotOn`, `$dateBefore`, `$dateAfter`, `$dateNotBefore`, `$dateNotAfter`, `$dateBetween`, `$empty`, and `$notEmpty`.
|
|
137
|
+
13. For calendar-style date filtering, do not generate `$gte`, `$gt`, `$lte`, `$lt`, or custom operator names.
|
|
138
|
+
14. Allowed value shapes are:
|
|
103
139
|
- for `$dateOn`, `$dateNotOn`, `$dateBefore`, `$dateAfter`, `$dateNotBefore`, `$dateNotAfter`: `YYYY-MM-DD`, `YYYY-MM`, `YYYY`, a relative period object, or an exact datetime string only when the user explicitly wants timestamp comparison
|
|
104
140
|
- for `$dateBetween`: `["YYYY-MM-DD", "YYYY-MM-DD"]` or a relative period object
|
|
105
141
|
- for `$empty` and `$notEmpty`: no value
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
142
|
+
15. Relative period objects must use exactly these `type` values: `today`, `yesterday`, `tomorrow`, `thisWeek`, `lastWeek`, `nextWeek`, `thisMonth`, `lastMonth`, `nextMonth`, `thisQuarter`, `lastQuarter`, `nextQuarter`, `thisYear`, `lastYear`, `nextYear`, `past`, `next`.
|
|
143
|
+
16. If `type` is `past` or `next`, the object must also include `number` as a positive integer and `unit` as one of `day`, `week`, `month`, `quarter`, `year`.
|
|
144
|
+
17. For day, week, month, quarter, year, and common relative-period queries, prefer frontend date filters such as `{ createdAt: { $dateOn: "2026-04" } }`, `{ createdAt: { $dateOn: { type: "thisMonth" } } }`, or `{ createdAt: { $dateBetween: ["2026-04-01", "2026-04-30"] } }`.
|
|
145
|
+
18. Do not expand calendar queries into UTC boundary expressions such as `createdAt >= 2026-04-01T00:00:00.000Z` and `< 2026-05-01T00:00:00.000Z`.
|
|
146
|
+
19. For fields such as `createdAt` and `updatedAt`, still prefer the frontend date operators above for calendar queries instead of UTC boundary expansion.
|
|
147
|
+
20. Only inspect field type when the user explicitly asks for an exact timestamp comparison rather than a calendar period.
|
|
148
|
+
21. If an exact timestamp comparison is required, keep the operator frontend-compatible and choose the value format that matches the field semantics:
|
|
113
149
|
- timezone-aware datetime fields: ISO 8601 timestamp strings such as `2026-04-10T12:00:00.000Z`
|
|
114
150
|
- `datetimeNoTz` fields: timezone-free local datetime strings such as `2026-04-10 12:00:00`
|
|
115
151
|
- `dateOnly` fields: date-only strings without time components
|
|
116
|
-
|
|
152
|
+
22. Do not provide a timezone parameter yourself. The runtime request timezone is already supplied by the system.
|
|
117
153
|
|
|
118
154
|
# Available Tools
|
|
119
155
|
|
|
@@ -231,9 +267,10 @@ Action: Call dataSourceCounting with collectionName="users", filter={ status: {
|
|
|
231
267
|
User: "Show monthly revenue by salesperson"
|
|
232
268
|
Action:
|
|
233
269
|
1. Call getSkill with skillName="data-metadata".
|
|
234
|
-
2. Call getCollectionNames /
|
|
235
|
-
3.
|
|
236
|
-
4. Call
|
|
270
|
+
2. Call getCollectionNames to resolve the collection by exact name/title match. If there is no exact match, ask the user to confirm a candidate before continuing.
|
|
271
|
+
3. Use searchFieldMetadata only to find candidate fields or candidate collections; suggested_results do not confirm a collection.
|
|
272
|
+
4. Call getCollectionMetadata if date or relation paths are unclear.
|
|
273
|
+
5. Call dataQuery with the confirmed collection and fields.
|
|
237
274
|
```
|
|
238
275
|
|
|
239
276
|
# Notes
|
|
@@ -238,27 +238,33 @@ var dataQuery_default = (0, import_ai.defineTools)({
|
|
|
238
238
|
}
|
|
239
239
|
try {
|
|
240
240
|
const db = ds.collectionManager.db || ctx.db;
|
|
241
|
-
const
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
241
|
+
const acl = ds.acl || ctx.app.acl;
|
|
242
|
+
const query = {
|
|
243
|
+
measures: args.measures,
|
|
244
|
+
dimensions: args.dimensions,
|
|
245
|
+
orders: args.orders,
|
|
246
|
+
filter: args.filter,
|
|
247
|
+
having: args.having,
|
|
248
|
+
limit,
|
|
249
|
+
offset
|
|
250
|
+
};
|
|
251
|
+
const skip = await acl.allowManager.isAllowed(args.collectionName, "query", ctx);
|
|
252
|
+
let permittedQuery = query;
|
|
253
|
+
if (!skip) {
|
|
254
|
+
permittedQuery = (await (0, import_plugin_acl.applyQueryPermission)({
|
|
255
|
+
acl,
|
|
256
|
+
db,
|
|
257
|
+
resourceName: args.collectionName,
|
|
258
|
+
query,
|
|
259
|
+
currentUser: (_c = ctx.state) == null ? void 0 : _c.currentUser,
|
|
260
|
+
currentRole: (_d = ctx.state) == null ? void 0 : _d.currentRole,
|
|
261
|
+
currentRoles: (_e = ctx.state) == null ? void 0 : _e.currentRoles,
|
|
262
|
+
timezone,
|
|
263
|
+
state: ctx.state
|
|
264
|
+
})).query;
|
|
265
|
+
}
|
|
260
266
|
const queryResult = await db.getRepository(args.collectionName).query({
|
|
261
|
-
...
|
|
267
|
+
...permittedQuery,
|
|
262
268
|
context: ctx,
|
|
263
269
|
timezone
|
|
264
270
|
});
|
|
@@ -52,7 +52,7 @@ var dataSourceQuery_default = (0, import_ai.defineTools)({
|
|
|
52
52
|
},
|
|
53
53
|
definition: {
|
|
54
54
|
name: "dataSourceQuery",
|
|
55
|
-
description:
|
|
55
|
+
description: 'Use dataSource, collectionName, and collection fields to query data from the database. The filter argument must be a structured object, not a JSON string. To return relation attributes, include dotted relation paths in fields and root relation names in appends, such as fields: ["relation_field.display_field"] with appends: ["relation_field"].',
|
|
56
56
|
schema: import_common.ArgSchema
|
|
57
57
|
},
|
|
58
58
|
invoke: async (ctx, args) => {
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This file is part of the NocoBase (R) project.
|
|
3
|
+
* Copyright (c) 2020-2024 NocoBase Co., Ltd.
|
|
4
|
+
* Authors: NocoBase Team.
|
|
5
|
+
*
|
|
6
|
+
* This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
|
|
7
|
+
* For more information, please refer to: https://www.nocobase.com/agreement.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
"use strict";(self.webpackChunk_nocobase_plugin_data_source_manager_client_v2=self.webpackChunk_nocobase_plugin_data_source_manager_client_v2||[]).push([["108"],{703:function(e,t,n){n.r(t),n.d(t,{default:function(){return tI}});var r=n(694),l=n(625),a=n(59),o=n(155),i=n.n(o),u=n(442),c=n(143),s=n(938),d=n(375),m=n(485),f=n(768),p=n(832),v=n(872);function y(e,t,n,r){var l="main"===e?"collections/".concat(t,"/fields:").concat(n):"dataSourcesCollections/".concat(e,".").concat(t,"/fields:").concat(n);return null==r?l:"".concat(l,"?filterByTk=").concat(encodeURIComponent(String(r)))}function g(e){return(null==e?void 0:e.fieldInterfaces)||(null==e?void 0:e.availableFieldInterfaces)}function h(e,t){return null==e?void 0:e.some(function(e){return("string"==typeof e?e:e.interface||e.name)===t})}function b(e,t,n,r){var l=g(t)||{},a=l.include,o=l.exclude,i=void 0===o?[]:o,u=Array.isArray(a)&&a.length>0;return e.filter(function(e){return"systemInfo"===e.group?"tableoid"===e.name?u?h(a,e.name):(null==r?void 0:r.databaseDialect)==="postgres":"boolean"!=typeof n[e.name]||n[e.name]:u?h(a,e.name):!i.includes(e.name)})}function S(e,t){var n=(g(t)||{}).create,r=null==n?void 0:n.include,l=(null==n?void 0:n.exclude)||[],a=Array.isArray(r)&&r.length>0;return e.filter(function(e){return!1!==e.creatable&&(a?h(r,e.name):!l.includes(e.name))})}var E=n(799),w=n(428);"u">typeof window&&void 0!==window.document&&window.document.createElement;let C=Object.freeze({Translate:{toString(e){if(!e)return;let{x:t,y:n}=e;return"translate3d("+(t?Math.round(t):0)+"px, "+(n?Math.round(n):0)+"px, 0)"}},Scale:{toString(e){if(!e)return;let{scaleX:t,scaleY:n}=e;return"scaleX("+t+") scaleY("+n+")"}},Transform:{toString(e){if(e)return[C.Translate.toString(e),C.Scale.toString(e)].join(" ")}},Transition:{toString(e){let{property:t,duration:n,easing:r}=e;return t+" "+n+"ms "+r}}});var F=n(185),k=n.n(F),I=n(773);function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function O(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function A(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){O(a,r,l,o,i,"next",e)}function i(e){O(a,r,l,o,i,"throw",e)}o(void 0)})}}function T(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function M(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){T(e,t,n[t])})}return e}function D(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function j(e,t){if(null==e)return{};var n,r,l,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(l=0,n=Reflect.ownKeys(Object(e));l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,l={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,t),Object.getOwnPropertySymbols)for(l=0,n=Object.getOwnPropertySymbols(e);l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function P(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||R(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function K(e){return function(e){if(Array.isArray(e))return x(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||R(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function R(e,t){if(e){if("string"==typeof e)return x(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return x(e,t)}}function N(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}function q(e){return e.split(".")}var V=/^[a-zA-Z][a-zA-Z0-9_-]*$/,B="Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.",z=new Set(["Select","CollectionSelect","RemoteSelect"]),G=new Set(["target"]),L="{{fileCollections}}",_=new Set(["sourceKey"]),U=new Set(["targetKey"]),$="validation",W={red:"Red",magenta:"Magenta",volcano:"Volcano",orange:"Orange",gold:"Gold",lime:"Lime",green:"Green",cyan:"Cyan",blue:"Blue",geekblue:"Geek blue",purple:"Purple",default:"Default"},J=[{label:"Recommended",colors:["#8BBB11","#52C41A","#13A8A8","#1677FF","#F5222D","#FADB14","#E6F4FF","#fff1f0","#F6FFED","#E6FFFB","#FA8C164D","#FADB144D","#52C41A4D","#1677FF4D","#2F54EB4D","#722ED14D"]}],X=i().createContext(null);function H(e){var t=String(e["data-row-key"]),n=(0,w.useSortable)({id:t}),r=n.attributes,l=n.isDragging,a=n.listeners,o=n.setActivatorNodeRef,u=n.setNodeRef,c=n.transform,s=n.transition,d=M(D(M({},e.style),{transform:C.Transform.toString(c),transition:s}),l?{position:"relative",zIndex:1}:null);return i().createElement(X.Provider,{value:{attributes:r,listeners:a,setActivatorNodeRef:o}},i().createElement("tr",D(M({ref:u},e),{style:d})))}function Z(e){var t=i().useContext(X);return i().createElement("span",D(M({ref:e.disabled||null==t?void 0:t.setActivatorNodeRef},e.disabled?{}:null==t?void 0:t.attributes,e.disabled?{}:null==t?void 0:t.listeners),{style:{alignItems:"center",color:"var(--ant-color-text-tertiary)",cursor:e.disabled?"not-allowed":"grab",display:"inline-flex"}}),i().createElement(d.MenuOutlined,null))}function Y(e,t){return(0,m.evaluateFieldConfigureExpression)(e,{context:t,values:t,getValue:function(e){return(0,I.get)(t,e)},setValue:function(){}})}function Q(e,t){return Array.isArray(e)?e.map(function(e){var n;return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e?{value:e.value,label:(0,s.hd)(null!=(n=e.label)?n:e.value,t)}:{value:e,label:String(e)}}):[]}function ee(e,t){t.forEach(function(t){void 0===(0,I.get)(e,t.name)&&void 0!==t.defaultValue&&(0,I.set)(e,t.name,function(e){if("string"!=typeof e)return(0,I.cloneDeep)(e);var t=e.match(/^\s*\{\{\s*useNewId\((['"])(.*?)\1\)\s*\}\}\s*$/);return t?(0,r.randomId)(t[2]):e}(t.defaultValue))})}function et(e,t,n,r){return{changedName:r,context:n,values:t,getValue:function(e){return(0,I.get)(t,e)},setValue:function(t,n){(0,I.get)(e.getFieldsValue(!0),t)!==n&&e.setFieldValue(q(t),n)}}}function en(e,t,n){if(t)return(0,I.cloneDeep)(t);var l=D(M({name:(0,r.randomId)("f_")},(0,I.cloneDeep)((null==e?void 0:e.default)||{})),{interface:null==e?void 0:e.name});return l.reverseField&&(l.reverseField.name=(0,r.randomId)("f_")),l.uiSchema&&(null==e?void 0:e.name)!=="tableoid"&&delete l.uiSchema.title,(null==e?void 0:e.name)==="tableoid"&&((0,I.set)(l,"name","__collection"),(0,I.set)(l,"uiSchema.title",(0,s.Ad)((0,I.get)(l,"uiSchema.title")||'{{t("Table OID")}}',n))),l}function er(e){return"string"==typeof e?e.replace(/[^a-zA-Z0-9_-]/g,""):""}function el(e){return[e.mode,e.dataSourceKey,e.collectionName||"",e.fieldName||"",e.interfaceName||""].join(":")}function ea(e){var t=(0,c.kj)(),n=a.Form.useFormInstance(),l=(0,E.useSensors)((0,E.useSensor)(E.PointerSensor,{activationConstraint:{distance:4}})),u=(0,o.useMemo)(function(){return Object.keys(W).map(function(e){return{value:e,label:i().createElement(a.Tag,{color:e,style:{marginInlineEnd:0}},t(W[e]||W.default))}})},[t]),s=(0,o.useCallback)(function(e){var t=n.getFieldValue("defaultValue");Array.isArray(t)?n.setFieldValue("defaultValue",t.filter(function(t){return t!==e})):t===e&&n.setFieldValue("defaultValue",void 0)},[n]);return i().createElement(a.Form.List,{name:e.name},function(o,c){var m=c.add,f=c.move,p=c.remove,v=o.map(function(e){return String(e.key)}),y=[{key:"sort",width:48,align:"center",render:function(){return i().createElement(Z,{disabled:e.disabled})}},{title:t("Option value"),dataIndex:"value",render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"value"],rules:[{required:!0}],style:{marginBottom:0}},i().createElement(a.Input,{disabled:e.disabled}))}},{title:t("Option label"),dataIndex:"label",render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"label"],rules:[{required:!0}],style:{marginBottom:0}},i().createElement(a.Input,{disabled:e.disabled}))}},{title:t("Color"),dataIndex:"color",width:180,render:function(t,n){return i().createElement(a.Form.Item,{name:[n.name,"color"],style:{marginBottom:0}},i().createElement(a.Select,{allowClear:!0,disabled:e.disabled,options:u}))}},{key:"actions",width:56,align:"center",render:function(r,l){return i().createElement(a.Button,{"aria-label":t("Delete"),icon:i().createElement(d.DeleteOutlined,null),disabled:e.disabled,type:"text",onClick:function(){s(n.getFieldValue(K(e.name).concat([l.name,"value"]))),p(l.name)}})}}];return i().createElement("div",{style:{border:"1px solid var(--ant-color-border)",borderRadius:6,overflow:"hidden"}},i().createElement(E.DndContext,{sensors:l,collisionDetection:E.closestCenter,onDragEnd:function(e){var t=e.active,n=e.over;if(n&&t.id!==n.id){var r=v.indexOf(String(t.id)),l=v.indexOf(String(n.id));r<0||l<0||f(r,l)}}},i().createElement(w.SortableContext,{items:v,strategy:w.verticalListSortingStrategy},i().createElement(a.Table,{columns:y,dataSource:o,pagination:!1,rowKey:function(e){return String(e.key)},size:"small",locale:{emptyText:t("No data")},components:{body:{row:H}}}))),i().createElement(a.Button,{block:!0,icon:i().createElement(d.PlusOutlined,null),disabled:e.disabled,type:"dashed",size:"small",style:{borderBlockEnd:0,borderInline:0,borderRadius:0,height:36,marginTop:-1},onClick:function(){return m({value:(0,r.randomId)(),label:""})}},t("Add option")))})}function eo(e,t){if(!e)return null;var n=(null==t?void 0:t.timeOnly)&&"string"==typeof e?"2000-01-01 ".concat(e):e,r=k()(n);return r.isValid()?r:null}function ei(e){var t=e.component,n=e.componentProps,r=e.disabled,l=e.onChange,o=e.options,u=e.value;if("Checkbox"===t)return i().createElement(a.Checkbox,{checked:!!u,disabled:r,onChange:function(e){return null==l?void 0:l(e.target.checked)}});if("Checkbox.Group"===t)return i().createElement(a.Checkbox.Group,{disabled:r,options:o,value:Array.isArray(u)?u:[],onChange:function(e){return null==l?void 0:l(e)}});if("Radio.Group"===t)return i().createElement(a.Radio.Group,{disabled:r,options:o,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}});if("Select"===t){var c=n.mode;return i().createElement(a.Select,{allowClear:!0,disabled:r,mode:c,options:o,value:u,onChange:function(e){return null==l?void 0:l(e)}})}if("InputNumber"===t||"Percent"===t||"UnixTimestamp"===t){var s=n.style,d=j(n,["style"]);return i().createElement(a.InputNumber,M({style:M({width:"100%"},s),disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e)}},d))}if("DatePicker"===t){var m=n.dateFormat,p=n.dateOnly,v=n.format,y=(n.gmt,n.picker),g=void 0===y?"date":y,h=n.showTime,b=n.timeFormat,S=(n.utc,j(n,["dateFormat","dateOnly","format","gmt","picker","showTime","timeFormat","utc"])),E=v||m||(0,f.getPickerFormat)(g),w=h?"".concat(E," ").concat(void 0===b?"HH:mm:ss":b):E;return i().createElement(a.DatePicker,M({style:{width:"100%"},disabled:r,picker:g,showTime:!p&&h,format:w,value:eo(u),onChange:function(e,t){return null==l?void 0:l(t||null)}},S))}if("TimePicker"===t){var C=n.format,F=j(n,["format"]);return i().createElement(a.TimePicker,M({style:{width:"100%"},disabled:r,format:void 0===C?"HH:mm:ss":C,value:eo(u,{timeOnly:!0}),onChange:function(e,t){return null==l?void 0:l(t||null)}},F))}return"ColorPicker"===t?i().createElement(a.ColorPicker,M({allowClear:!0,disabled:r,value:u,trigger:"hover",destroyTooltipOnHide:!0,presets:J,onChange:function(e,t){return null==l?void 0:l(t)}},n)):["Input.TextArea","Markdown","RichText","Input.JSON"].includes(t||"")?i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8},disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}}):i().createElement(a.Input,{disabled:r,value:u,onChange:function(e){return null==l?void 0:l(e.target.value)}})}var eu={SourceKey:{allowClear:!1,autoSelectFirstOption:!0,showSearch:!0},TargetKey:{showSearch:!0}};function ec(e,t){var n=e.toLowerCase();return[null==t?void 0:t.label,null==t?void 0:t.value].some(function(e){return String(null!=e?e:"").toLowerCase().includes(n)})}function es(e){var t=e.allowClear,n=e.autoSelectFirstOption,r=e.disabled,l=e.form,u=e.namePath,c=e.onChange,s=e.options,d=e.selectProps,m=e.showSearch,f=e.value,p=a.Form.useWatch(u,l),v=null!=f?f:p;d.allowClear,d.filterOption,d.showSearch;var y=j(d,["allowClear","filterOption","showSearch"]);return(0,o.useEffect)(function(){if(n&&(null==v||""===v)&&s.length){var e=s[0].value;l.setFieldValue(u,e),null==c||c(e,s[0])}},[n,v,l,u,c,s]),i().createElement(a.Select,D(M({allowClear:t,disabled:r,options:s,showSearch:m,value:f,onChange:c},y),{filterOption:ec}))}function ed(e){var t=(0,c.kj)(),n=a.theme.useToken().token,l=e.availableValidationOptions,u=e.excludeValidationOptions,f=e.onChange,p=e.type,v=e.value,y=P((0,o.useState)([]),2),g=y[0],h=y[1],b=(0,o.useMemo)(function(){return(null==v?void 0:v.rules)||[]},[null==v?void 0:v.rules]),S=(null==v?void 0:v.type)||p||"string",E=(0,o.useMemo)(function(){var e=m.fieldValidationConfigureRegistry.getGroup(S),t=(null==u?void 0:u.length)?e.filter(function(e){return!u.includes(e.key)}):e;if(null==l?void 0:l.filter(function(e){return"required"!==e}).length){var n=l.map(function(e){return t.find(function(t){return t.key===e})}).filter(Boolean);return n.length?n:t}return t},[l,u,S]),w=new Set(b.map(function(e){return e.name})),C=E.filter(function(e){return!w.has(e.key)}).map(function(e){return{key:e.key,label:(0,s.hd)(e.label,t)}}),F=(0,o.useCallback)(function(e){return E.find(function(t){return t.key===e})},[E]),I=(0,o.useCallback)(function(e,t){null==f||f({type:S,rules:b.map(function(n){return n.key===e?t(n):n})})},[f,b,S]),x=(0,o.useMemo)(function(){return{items:C,onClick:function(e){var t=e.key,n=F(String(t)),l=((null==n?void 0:n.params)||[]).reduce(function(e,t){return void 0!==t.defaultValue&&(e[t.key]=t.defaultValue),e},{});null==f||f({type:S,rules:K(b).concat([{key:(0,r.randomId)("r_"),name:String(t),args:l,paramsType:null==n?void 0:n.paramsType}])})}}},[F,C,f,b,S]),O=(0,o.useCallback)(function(e){var t=b.filter(function(t){return t.key!==e});null==f||f({type:S,rules:t})},[f,b,S]),A=(0,o.useCallback)(function(e){h(function(t){return t.includes(e)?t.filter(function(t){return t!==e}):K(t).concat([e])})},[]),j=(0,o.useCallback)(function(e,n){var r,l,o=null!=(r=null==(l=e.args)?void 0:l[n.key])?r:n.defaultValue,u=function(t){I(e.key,function(e){return D(M({},e),{args:D(M({},e.args||{}),T({},n.key,t))})})};return"checkbox"===n.componentType?i().createElement(a.Checkbox,{checked:!!o,onChange:function(e){return u(e.target.checked)}}):"radio"===n.componentType?i().createElement(a.Radio.Group,{value:o,options:(n.options||[]).map(function(e){return{label:(0,s.hd)(e.label,t),value:e.value}}),onChange:function(e){return u(e.target.value)}}):"singleSelect"===n.componentType||"multipleSelect"===n.componentType?i().createElement(a.Select,{allowClear:!0,mode:"multipleSelect"===n.componentType?"multiple":void 0,value:o,options:(n.options||[]).map(function(e){return{label:(0,s.hd)(e.label,t),value:e.value}}),onChange:u}):"inputNumber"===n.componentType?i().createElement(a.InputNumber,{style:{width:"100%"},value:o,onChange:u}):"datePicker"===n.componentType?i().createElement(a.DatePicker,{style:{width:"100%"},value:o?k()(o):null,onChange:function(e){return u(null==e?void 0:e.toISOString())}}):i().createElement(a.Input,{value:o,onChange:function(e){return u(e.target.value)}})},[t,I]);return i().createElement("div",null,b.length>0&&i().createElement("div",{style:{background:n.colorBgContainer,border:"1px solid ".concat(n.colorBorderSecondary),borderRadius:n.borderRadius,marginBottom:n.marginSM,overflow:"hidden"}},b.map(function(e,r){var l,o,u=F(e.name),c=!!((null==u?void 0:u.hasValue)&&(null==(o=u.params)?void 0:o.length)),m=g.includes(e.key);return i().createElement("div",{key:e.key,style:{borderBottom:r===b.length-1?void 0:"1px solid ".concat(n.colorBorderSecondary)}},i().createElement("div",{style:{alignItems:"center",display:"flex",justifyContent:"space-between",minHeight:40,padding:"".concat(n.paddingXS,"px ").concat(n.paddingSM,"px")}},i().createElement(a.Space,{size:n.marginXS},c?i().createElement(a.Button,{"aria-label":m?t("Collapse"):t("Expand button"),icon:m?i().createElement(d.DownOutlined,null):i().createElement(d.RightOutlined,null),size:"small",type:"text",style:{color:n.colorTextSecondary,height:18,minWidth:18,padding:0,width:18},onClick:function(){return A(e.key)}}):i().createElement("span",{style:{display:"inline-block",width:18}}),i().createElement("span",null,(null==u?void 0:u.label)?(0,s.hd)(u.label,t):(0,s.hd)((l=e.name)?"".concat(l.slice(0,1).toUpperCase()).concat(l.slice(1)):l,t))),i().createElement(a.Button,{"aria-label":t("Delete"),icon:i().createElement(d.DeleteOutlined,null),size:"small",type:"text",style:{color:n.colorTextSecondary},onClick:function(){return O(e.key)}})),c&&m?i().createElement("div",{style:{background:n.colorFillQuaternary,borderTop:"1px solid ".concat(n.colorBorderSecondary),padding:n.paddingSM}},u.params.map(function(r,l){return i().createElement(a.Form.Item,{key:r.key,label:(0,s.hd)(r.label,t),required:!!r.required,style:{marginBottom:l===u.params.length-1?0:n.marginSM}},j(e,r))})):null)})),i().createElement("div",{style:{display:"flex",alignItems:"center",justifyContent:"space-between"}},i().createElement(a.Dropdown,{menu:x,placement:"bottomLeft",disabled:!C.length},i().createElement(a.Button,{size:"small",type:"dashed",icon:i().createElement(d.PlusOutlined,null)},t("Add rule")," ",i().createElement(d.DownOutlined,null))),i().createElement("span",null,i().createElement("span",{style:{color:"var(--ant-color-text-secondary)"}},t("References"),": "),i().createElement("a",{href:"https://joi.dev/api/",target:"_blank",rel:"noreferrer"},t("Joi API")))))}function em(e){var t=a.theme.useToken().token;return e.content?i().createElement("span",{style:{background:t.colorBgTextHover,borderRadius:t.borderRadiusOuter,display:"inline-block",lineHeight:1,marginLeft:t.marginMD,padding:t.paddingXXS}},e.content):null}function ef(e){return i().createElement("span",{style:{display:"inline-flex"}},i().createElement("span",null,e.format),i().createElement(em,{content:k()().format(e.format)}))}function ep(e){var t=(0,o.useMemo)(function(){return e.formats||[]},[e.formats]),n=!!e.value&&!t.includes(e.value),r=P((0,o.useState)(n?e.value:e.defaultValue||t[0]||""),2),l=r[0],u=r[1];return(0,o.useEffect)(function(){u(e.value&&!t.includes(e.value)?e.value:e.defaultValue||t[0]||"")},[t,e.defaultValue,e.value]),i().createElement(a.Radio.Group,{disabled:e.disabled,value:n?"custom":e.value,onChange:function(t){var n,r;if("custom"===t.target.value){null==(r=e.onChange)||r.call(e,l);return}null==(n=e.onChange)||n.call(e,t.target.value)}},i().createElement(a.Space,{direction:"vertical"},e.options.map(function(t){if("custom"===t.value)return i().createElement(a.Radio,{key:"custom",value:"custom",style:{display:"flex",margin:"5px 0"}},i().createElement(a.Input,{disabled:e.disabled,style:{width:150},value:l,onChange:function(t){var n,r=t.target.value;u(r),null==(n=e.onChange)||n.call(e,r||void 0)}}),i().createElement(em,{content:l?k()().format(l):null}));if(e.picker&&"date"!==e.picker)return null;var n=String(t.value);return i().createElement(a.Radio,{key:n,value:t.value,"aria-label":n,style:{display:"flex",margin:"5px 0"}},i().isValidElement(t.label)?t.label:i().createElement(ef,{format:"string"==typeof t.label?t.label:n}))})))}function ev(e){var t=e.fallbackTitle,n=e.fieldInterface,r=e.label,l=(0,c.kj)(),u=a.theme.useToken().token,d=(0,o.useMemo)(function(){return{container:{backgroundColor:u.colorFillAlter,marginBottom:u.marginLG,padding:u.paddingSM+u.paddingXXS},title:{color:u.colorText},description:{color:u.colorTextDescription,marginTop:u.marginXS},tag:{background:"none"}}},[u.colorFillAlter,u.colorText,u.colorTextDescription,u.marginLG,u.marginXS,u.paddingSM,u.paddingXXS]);return i().createElement("div",{style:d.container},i().createElement("div",{style:d.title},r,": ",i().createElement(a.Tag,{style:d.tag},(0,s.hd)((null==n?void 0:n.title)||t,l))),(null==n?void 0:n.description)?i().createElement("div",{style:d.description},(0,s.hd)(n.description,l)):null)}function ey(e,t){return e.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,t)}})}function eg(e){var t,n=(0,c.kj)(),r=e.collection,l=e.collections,u=e.components,d=e.context,f=e.form,p=e.name,v=e.schema,y=q(p),g=null==v?void 0:v["x-component"],h=g?null==u?void 0:u[g]:void 0,b=a.Form.useWatch("target",f),S=a.Form.useWatch("autoCreateReverseField",f),E=a.Form.useWatch("inputable",f),w=a.Form.useWatch(["uiSchema","enum"],f),C=a.Form.useWatch([],f)||f.getFieldsValue(!0),F=(0,o.useRef)(),k=(0,o.useMemo)(function(){return D(M({},d),{inputable:!!E,showReverseFieldConfig:!!S||!!f.getFieldValue(["reverseField","key"])})},[S,d,f,E]),x=(0,m.getCoreFieldConfigureState)(p,C,k),O=(0,o.useMemo)(function(){return JSON.stringify([null==x?void 0:x.hasValue,null==x?void 0:x.value])},[null==x?void 0:x.hasValue,null==x?void 0:x.value]),A=null!=(t=x.disabled)?t:Y(null==v?void 0:v["x-disabled"],k),T=!!x.hidden||Y(null==v?void 0:v["x-hidden"],k)||(null==v?void 0:v["x-visible"])!==void 0&&!Y(null==v?void 0:v["x-visible"],k)||p.startsWith("reverseField.")&&!k.showReverseFieldConfig,K=null==v?void 0:v.title,R=null==v?void 0:v["x-content"],N=(0,s.hd)(K||R||p,n),V=(0,s.hd)(R||K||p,n),B=!!K&&!!R&&K!==R,$=(0,s.hd)(null==v?void 0:v.description,n),W=M({},(null==v?void 0:v["x-component-props"])||{},x.componentProps||{}),J=l.find(function(e){return e.name===r.name}),X=Array.isArray(r.fields)&&r.fields.length?r.fields:(null==J?void 0:J.fields)||[],H=l.find(function(e){return e.name===b}),Z=(null==H?void 0:H.fields)||[];if((0,o.useEffect)(function(){if(!x.hasValue){F.current=void 0;return}F.current===O||(F.current=O,(0,I.get)(f.getFieldsValue(!0),y)!==x.value&&f.setFieldValue(y,x.value))},[x.hasValue,x.value,f,y,O]),T)return null;if("defaultValue"===p){var ee=Q(x.dataSource||(Array.isArray(w)?w:void 0)||(null==v?void 0:v.enum)||W.options,n);return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(ei,{component:g,componentProps:W,disabled:A,options:ee}))}if(h)return i().createElement(h,{name:p,namePath:y,schema:v,form:f,disabled:A,collection:r,collections:l,context:k,title:N,tooltip:$,componentProps:W,mode:d.createOnly?"create":"edit",fieldInterface:e.fieldInterface});if("Checkbox"===g)return B?i().createElement(a.Form.Item,{name:y,label:N,valuePropName:"checked",tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Checkbox,{disabled:A},V)):i().createElement(a.Form.Item,{name:y,valuePropName:"checked",tooltip:$},i().createElement(a.Checkbox,{disabled:A},V));if("Space"===g&&(null==v?void 0:v.properties))return i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(a.Space,{wrap:!0},Object.entries(v.properties).filter(function(e){var t=P(e,2)[1];return(null==t?void 0:t["x-component"])==="Checkbox"}).map(function(e){var t=P(e,2),r=t[0],l=t[1],o=Y(null==l?void 0:l["x-disabled"],k),u=(0,s.hd)((null==l?void 0:l.title)||(null==l?void 0:l["x-content"])||r,n);return i().createElement(a.Form.Item,{key:r,name:q(r),valuePropName:"checked",noStyle:!0},i().createElement(a.Checkbox,{disabled:o},u))})));if("InputNumber"===g)return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.InputNumber,M({style:{width:"100%"},disabled:A},W)));if("ExpiresRadio"===g){var et=W.defaultValue,en=W.formats,er=W.picker;return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(ep,{defaultValue:et,disabled:A,formats:en,options:Q(null==v?void 0:v.enum,n),picker:er}))}if("Select"===g||"CollectionSelect"===g||"RemoteSelect"===g||"TargetKey"===g||"SourceKey"===g){var el=U.has(p)?Z.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n)}}):_.has(p)?X.filter(function(e){return e.primaryKey||e.unique}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n)}}):G.has(p)&&z.has(g)&&!Array.isArray(null==v?void 0:v.enum)?ey(l.filter(function(e){return e.name&&e.name!==r.name}),n):(null==v?void 0:v.enum)==="{{collections}}"?ey(l,n):(null==v?void 0:v.enum)===L?ey(l.filter(function(e){var t;return e.name&&"file"===((null==e?void 0:e.template)||(null==e||null==(t=e.options)?void 0:t.template))}),n):"CollectionSelect"===g||"RemoteSelect"===g?ey(l,n):Q(null==v?void 0:v.enum,n),eo=W.autoSelectFirstOption,ec=W.filter,em=W.multiple,ef=j(W,["autoSelectFirstOption","filter","multiple"]),ev=D(M({},ef),{mode:em?"multiple":ef.mode}),eg=function(e,t){var n,r,l,a,o,i,u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},c=t?eu[t]:void 0;return{allowClear:null==(n=null!=(r=null==c?void 0:c.allowClear)?r:u.allowClear)||n,autoSelectFirstOption:null!=(l=null!=(a=null==c?void 0:c.autoSelectFirstOption)?a:u.autoSelectFirstOption)&&l,showSearch:null!=(o=null!=(i=null==c?void 0:c.showSearch)?i:u.showSearch)?o:G.has(e)}}(p,g,{allowClear:ef.allowClear,autoSelectFirstOption:eo,showSearch:ef.showSearch}),eh="function"==typeof ec?el.filter(function(e){return ec(l.find(function(t){return t.name===e.value}))}):el;return i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(es,{allowClear:eg.allowClear,autoSelectFirstOption:eg.autoSelectFirstOption,disabled:A,form:f,namePath:y,options:eh,selectProps:ev,showSearch:eg.showSearch}))}return"Radio.Group"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Radio.Group,{disabled:A,options:Q(null==v?void 0:v.enum,n)})):"ArrayTable"===g&&"uiSchema.enum"===p?i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(ea,{name:y,disabled:A})):"FieldValidation"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$},i().createElement(ed,(null==v?void 0:v["x-component-props"])||{})):"Input.TextArea"===g?i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Input.TextArea,{disabled:A})):"SourceCollection"===g?i().createElement(a.Form.Item,{label:N,tooltip:$},i().createElement(a.Input,{disabled:!0,value:(0,s.Ad)(r.title||r.name,n)})):i().createElement(a.Form.Item,{name:y,label:N,tooltip:$,rules:(null==v?void 0:v.required)?[{required:!0}]:void 0},i().createElement(a.Input,{disabled:A}))}function eh(e){var t=a.Form.useWatch([],e.form)||e.form.getFieldsValue(!0),n=(0,o.useMemo)(function(){return(e.item.dependencies||[e.item.name]).map(function(e){return(0,I.get)(t,e)})},[e.item.dependencies,e.item.name,t]),r=(0,o.useMemo)(function(){return JSON.stringify(n)},[n]),l=(0,o.useRef)();return(0,o.useEffect)(function(){e.item.effect&&l.current!==r&&(l.current=r,e.item.effect(et(e.form,t,e.context)))},[e.context,e.form,e.item,r,t]),null}function eb(e){var t,n,r=(0,c.kj)(),l=a.Form.useWatch([],e.form)||e.form.getFieldsValue(!0),o=et(e.form,l,e.context),u="function"==typeof e.item.hidden?e.item.hidden(o):e.item.hidden,d="function"==typeof e.item.disabled?e.item.disabled(o):e.item.disabled,f="string"==typeof d?(0,m.evaluateFieldConfigureExpression)(d,o):d,p=e.item.Component,v=D(M({},e.item.schema||{},(t=e.item,n={},void 0!==t.title&&(n.title=t.title),void 0!==t.description&&(n.description=t.description),void 0!==t.required&&(n.required=t.required),void 0!==t.options&&(n.enum=t.options),void 0!==t.defaultValue&&(n.default=t.defaultValue),void 0!==t.component&&(n["x-component"]=t.component),void 0!==t.componentProps&&(n["x-component-props"]=t.componentProps),n)),{"x-disabled":f});return("string"==typeof u?(0,m.evaluateFieldConfigureExpression)(u,o):u)?i().createElement(eh,{context:e.context,form:e.form,item:e.item}):p?i().createElement(i().Fragment,null,i().createElement(eh,{context:e.context,form:e.form,item:e.item}),i().createElement(p,{name:e.item.name,namePath:q(e.item.name),schema:v,form:e.form,disabled:f,collection:e.collection,collections:e.collections,context:e.context,title:(0,s.hd)(e.item.title,r),tooltip:(0,s.hd)(e.item.description,r),componentProps:e.item.componentProps,mode:e.context.createOnly?"create":"edit",createOnly:e.context.createOnly,editMainOnly:e.context.editMainOnly,disabledJSONB:e.context.disabledJSONB,fieldInterface:e.fieldInterface})):i().createElement(i().Fragment,null,i().createElement(eh,{context:e.context,form:e.form,item:e.item}),i().createElement(eg,{name:e.item.name,schema:v,collection:e.collection,collections:e.collections,configureProperties:e.configureProperties,fieldInterface:e.fieldInterface,form:e.form,context:e.context}))}function eS(e){for(var t=function(t){return i().createElement(eb,{key:t.name,item:t,collection:e.collection,collections:e.collections,configureProperties:[],fieldInterface:e.fieldInterface,form:e.form,context:e.context})},n=[],r=0;r<e.items.length;)!function(){var l,o,u=e.items[r],c=null==(l=u.layout)?void 0:l.row;if(!c)return n.push(t(u)),r+=1;for(var s=[];r<e.items.length&&(null==(o=e.items[r].layout)?void 0:o.row)===c;)s.push(e.items[r]),r+=1;var d=s.reduce(function(e,t){var n,r,l,a,o=(null==(r=t.layout)?void 0:r.column)||t.name,i=e.find(function(e){return e.key===o});return i?i.items.push(t):e.push({key:o,index:null!=(n=null==(l=t.layout)?void 0:l.columnIndex)?n:e.length,span:(null==(a=t.layout)?void 0:a.span)||24,items:[t]}),e},[]).sort(function(e,t){return e.index-t.index}),m=0;n.push(i().createElement(a.Row,{key:"".concat(c,"-").concat(n.length),gutter:24},d.map(function(e){var n=Math.max(e.index-m,0)*e.span;return m=e.index+1,i().createElement(a.Col,{key:e.key,xs:24,md:{span:e.span,offset:n}},e.items.map(function(e){return t(e)}))})))}();return i().createElement(i().Fragment,null,n)}function eE(e){var t,n,l,u,d,f,g,h=(0,c.kj)(),E=(0,r.useFlowContext)(),w=a.App.useApp().notification,C=(0,m.useCurrentAppInfo)(),F=E.dataSourceManager.collectionFieldInterfaceManager,k=P(a.Form.useForm(),1)[0],x=P((0,o.useState)(!1),2),O=x[0],T=x[1],j=(0,o.useRef)(),K=(0,o.useRef)(),R=E.dataSourceManager.getDataSource(e.dataSourceKey),q=(null==C||null==(t=C.database)?void 0:t.dialect)||(null==C||null==(l=C.data)||null==(n=l.database)?void 0:n.dialect),z=(0,o.useMemo)(function(){var t,n,r,l,a,o,i,u=(l=null==R||null==(i=R.options)?void 0:i.type,(null==(o=E.dataSourceManager.collectionFieldInterfaceManager)||null==(a=o.getFieldInterfaces)?void 0:a.call(o,l))||[]);return"create"!==e.mode?u:(t=e.collection,b(u,null==(r=E.app.pm.get(p.vb))||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general"),t,{databaseDialect:q}))},[q,E,null==R||null==(u=R.options)?void 0:u.type,e.collection,e.mode]),_=(0,o.useMemo)(function(){var t,n,r;return"create"===e.mode?(t=e.collection,S(z,null==(r=E.app.pm.get(p.vb))||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general"))):z},[E,z,e.collection,e.mode]),U=P((0,o.useState)((null==(d=e.field)?void 0:d.interface)||e.interfaceName||(null==(f=_[0])?void 0:f.name)),2),W=U[0],J=U[1],X=(0,o.useMemo)(function(){return z.find(function(e){return e.name===W})},[z,W]),H=(0,o.useMemo)(function(){var t;return W?null==F||null==(t=F.getFieldInterfaceConfigure)?void 0:t.call(F,W,e.collection):void 0},[F,W,e.collection]),Z=(0,o.useMemo)(function(){return X||H?D(M({},X,H),{default:(null==H?void 0:H.default)||(null==X?void 0:X.default),name:(null==H?void 0:H.name)||(null==X?void 0:X.name)}):void 0},[H,X]),Y=(0,s.hd)((null==Z?void 0:Z.title)||W||"-",h),Q=(0,s.Ad)((null==Z?void 0:Z.title)||W||"-",h),ea=(null==H?void 0:H.ConfigureForm)||(null==H?void 0:H.Component),eo=(0,o.useMemo)(function(){return(null==H?void 0:H.items)||[]},[null==H?void 0:H.items]),ei=(0,o.useMemo)(function(){return(null==Z?void 0:Z.isAssociation)?{mainConfigureItems:eo.filter(function(e){return e.name!==$}),validationConfigureItems:eo.filter(function(e){return e.name===$})}:{mainConfigureItems:eo,validationConfigureItems:[]}},[eo,null==Z?void 0:Z.isAssociation]),eu=ei.mainConfigureItems,ec=ei.validationConfigureItems,es=P((0,o.useState)([]),2),ed=es[0],em=es[1],ef=(0,o.useMemo)(function(){return eo.some(function(e){var t,n;return G.has(e.name)||(null==(t=e.schema)?void 0:t.enum)==="{{collections}}"||(null==(n=e.schema)?void 0:n.enum)===L||"CollectionSelect"===e.component||"RemoteSelect"===e.component})},[eo]),ep=(0,o.useMemo)(function(){return eo.some(function(e){return"type"===e.name})},[eo]),ey=(0,o.useMemo)(function(){var t=en(Z,e.field,h);return!e.field&&(j.current||(j.current=t.name||(0,r.randomId)("f_")),t.name=j.current,ee(t,eo),((null==X?void 0:X.isAssociation)||(null==H?void 0:H.isAssociation))&&!(0,I.get)(t,"source")&&(0,I.set)(t,"source",e.collection.name)),t},[null==H?void 0:H.isAssociation,eo,null==X?void 0:X.isAssociation,Z,e.collection.name,e.field,h]),eg=(0,o.useMemo)(function(){var t;return el({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,fieldName:null==(t=e.field)?void 0:t.name,interfaceName:W})},[W,e.collection.name,e.dataSourceKey,null==(g=e.field)?void 0:g.name,e.mode]),eh=(0,o.useMemo)(function(){return{createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,createMainOnly:"create"===e.mode&&"main"===e.dataSourceKey,disabledJSONB:"edit"===e.mode,isDialect:function(e){return q===e},isOverride:!!e.override,override:!!e.override,primaryKeyOnly:!1}},[q,e.dataSourceKey,e.mode,e.override]),eb=(0,o.useRef)(),eE=(0,o.useRef)();(0,o.useEffect)(function(){K.current!==eg&&(K.current=eg,eE.current=(0,I.cloneDeep)(ey),eb.current=(0,I.cloneDeep)(ey),k.resetFields(),k.setFieldsValue(ey))},[k,ey,eg]);var ew=a.Form.useWatch([],k)||k.getFieldsValue(!0),eC=(0,o.useMemo)(function(){return JSON.stringify(ew)},[ew]);(0,o.useEffect)(function(){if(eE.current){var e=eE.current;if((0,I.get)(ew,"name")!==(0,I.get)(e,"name")||(0,I.get)(ew,"interface")!==(0,I.get)(e,"interface")||(0,I.get)(ew,"type")!==(0,I.get)(e,"type"))return;eE.current=void 0,eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh));return}var t=eb.current||{};if(!eb.current){eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh));return}var n=["primaryKey","unique","autoIncrement","autoCreateReverseField","defaultToCurrentTime","uiSchema.x-component-props.picker","uiSchema.x-component-props.showTime"].find(function(e){return(0,I.get)(t,e)!==(0,I.get)(ew,e)});eb.current=(0,I.cloneDeep)(ew),(0,m.runCoreFieldConfigureEffects)(et(k,ew,eh,n))},[eh,k,ew,eC]),(0,o.useEffect)(function(){if(ef){var t=!1;return A(function(){var n;return N(this,function(r){switch(r.label){case 0:return[4,E.api.request({url:"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{paginate:!1,sort:["sort"],filter:{"hidden.$isFalsy":!0},appends:["fields"]}})];case 1:var l,a;return n=r.sent(),t||em(Array.isArray(a=null==n||null==(l=n.data)?void 0:l.data)?a:Array.isArray(null==a?void 0:a.data)?a.data:[]),[2]}})})(),function(){t=!0}}},[E.api,ef,e.dataSourceKey]),(0,o.useEffect)(function(){var t;!W&&e.interfaceName?J(e.interfaceName):!W&&(null==(t=_[0])?void 0:t.name)&&J(_[0].name)},[_,W,e.interfaceName]);var eF=(0,o.useCallback)(function(t){var n,l=z.find(function(e){return e.name===t}),a=null==F||null==(n=F.getFieldInterfaceConfigure)?void 0:n.call(F,t,e.collection),o=k.getFieldValue(["uiSchema","title"]),i=en(D(M({},l,a),{default:(null==a?void 0:a.default)||(null==l?void 0:l.default),name:(null==a?void 0:a.name)||(null==l?void 0:l.name)}),void 0,h);ee(i,(null==a?void 0:a.items)||[]),((null==l?void 0:l.isAssociation)||(null==a?void 0:a.isAssociation))&&!(0,I.get)(i,"source")&&(0,I.set)(i,"source",e.collection.name),o&&(0,I.set)(i,"uiSchema.title",o);var u=k.getFieldValue("name");k.isFieldTouched("name")&&u?(0,I.set)(i,"name",u):(j.current||(j.current=i.name||(0,r.randomId)("f_")),(0,I.set)(i,"name",j.current)),K.current=el({mode:e.mode,dataSourceKey:e.dataSourceKey,collectionName:e.collection.name,interfaceName:t}),J(t),k.resetFields(),k.setFieldsValue(i)},[F,z,k,e.collection,e.dataSourceKey,e.mode,h]),ek=(0,o.useCallback)(function(t){var n,r,l={mode:e.mode,fieldInterface:Z,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode},a=(null==H?void 0:H.normalizeValues)?H.normalizeValues(t,l):(null==H?void 0:H.normalize)?H.normalize(t,l):t,o=(0,I.cloneDeep)(a);return o.autoCreateReverseField?(0,I.get)(o,"reverseField.uiSchema.title")||(0,I.set)(o,"reverseField.uiSchema.title",(0,I.get)(o,"uiSchema.title")):delete o.reverseField,delete o.autoCreateReverseField,null==X||null==(n=X.initialize)||n.call(X,o),null==H||null==(r=H.initialize)||r.call(H,o,l),o},[H,X,Z,e.collection,e.field,e.mode]),eI=(0,o.useCallback)(function(){return A(function(){var t,n,l,a,o,i,u;return N(this,function(c){switch(c.label){case 0:return c.trys.push([0,8,9,10]),l=k.getFieldsValue(!0),"create"===e.mode&&!k.isFieldTouched("name")&&function(e,t){var n=null==e?void 0:e.name;if(!n)return!0;var r=(0,I.get)(e,"uiSchema.title"),l=er(n);return n===r||n===t||!!l&&(l===er(r)||l===er(t))}(l,Q)&&(j.current||(j.current=(0,r.randomId)("f_")),k.setFieldValue("name",j.current)),[4,k.validateFields()];case 1:return a=c.sent(),[4,null==H||null==(t=H.validate)?void 0:t.call(H,a,{mode:e.mode,fieldInterface:Z,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode})];case 2:if(c.sent(),o=ek(a),T(!0),"create"!==e.mode)return[3,4];return[4,E.api.request({url:y(e.dataSourceKey,e.collection.name,"create"),method:"post",data:o})];case 3:return c.sent(),[3,6];case 4:return[4,E.api.request({url:y(e.dataSourceKey,e.collection.name,"update",null==(i=e.field)?void 0:i.name),method:"post",data:o})];case 5:c.sent(),c.label=6;case 6:return[4,null==(n=E.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:n.reload()];case 7:return c.sent(),e.onSubmitted(),[3,10];case 8:throw u=c.sent(),(0,v.GN)(u)||w.error({message:(0,v.u1)(u,h("Submit failed"))}),u;case 9:return T(!1),[7];case 10:return[2]}})})()},[H,E.api,E.dataSourceManager,Z,Q,k,ek,w,e,h]),ex=(0,s.Ad)((0,I.get)(e.collection,"title")||e.collection.name,h),eO="".concat(ex," - ").concat(e.override?h("Override field"):"create"===e.mode?h("Add field"):h("Edit field")),eA=new Set((e.collection.fields||[]).map(function(e){return e.name}));return i().createElement(m.DrawerFormLayout,{title:eO,onSubmit:eI,submitting:O,submitText:h("Submit"),cancelText:h("Cancel")},i().createElement(a.Form,{form:k,layout:"vertical",initialValues:ey,autoComplete:"off"},i().createElement(ev,{fieldInterface:Z,label:h("Field interface"),fallbackTitle:Y}),e.interfaceName||"create"!==e.mode?i().createElement(a.Form.Item,{name:"interface",hidden:!0,rules:[{required:!0}]},i().createElement(a.Input,null)):i().createElement(a.Form.Item,{name:"interface",label:h("Field interface"),rules:[{required:!0}]},i().createElement(a.Select,{options:_.map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,h)}}),onChange:eF})),i().createElement(a.Form.Item,{name:["uiSchema","title"],label:h("Field display name"),rules:[{required:!0}]},i().createElement(a.Input,{autoComplete:"off"})),i().createElement(a.Form.Item,{name:"name",label:h("Field name"),rules:[{required:!0},{pattern:"tableoid"===W?/^__collection$/:V,message:h(B)},{validator:function(t,n){return"edit"!==e.mode&&n&&eA.has(n)?Promise.reject(Error(h("Field name already exists"))):Promise.resolve()}}],extra:h(B)},i().createElement(a.Input,{autoComplete:"off",disabled:"edit"===e.mode||e.override||"tableoid"===W})),i().createElement(eS,{items:eu,collection:e.collection,collections:ed,fieldInterface:Z,form:k,context:eh}),ep?null:i().createElement(a.Form.Item,{name:"type",hidden:!0,rules:[{required:!0}]},i().createElement(a.Input,null)),ea&&H?i().createElement(ea,{mode:e.mode,fieldInterface:H,collection:e.collection,field:e.field,createOnly:"create"===e.mode,editMainOnly:"edit"===e.mode,disabledJSONB:"edit"===e.mode}):null,i().createElement(eS,{items:ec,collection:e.collection,collections:ed,fieldInterface:Z,form:k,context:eh}),i().createElement(a.Form.Item,{name:"description",label:h("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:4,maxRows:8}}))))}function ew(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eC(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function eF(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||function(e,t){if(e){if("string"==typeof e)return ew(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ew(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function ek(e){if(Array.isArray(e)){var t=e.filter(Boolean).map(String);return t.length?t:void 0}return e?[String(e)]:void 0}function eI(e,t){return ek(e.filterTargetKey)||function(e,t){var n=ek(e.primaryKey);if(null==n?void 0:n.length)return n;var r=(t||[]).filter(function(e){return(null==e?void 0:e.primaryKey)&&e.name}).map(function(e){return String(e.name)});return r.length?r:void 0}(e,t)}function ex(e){var t,n=e.collection,l=e.dataSourceKey,u=e.fields,d=e.onSaved,m=e.size,f=e.style,p=(0,c.kj)(),v=(0,r.useFlowContext)(),y=a.App.useApp(),g=y.message,h=y.notification,b=eF((0,o.useState)([]),2),S=b[0],E=b[1],w=eF((0,o.useState)(!1),2),C=w[0],F=w[1],k=v.dataSourceManager.getDataSource(l),I=v.dataSourceManager.collectionFieldInterfaceManager,x=(0,o.useMemo)(function(){var e,t,n,r,l,a;return n=(t={dataSourceType:null==k||null==(e=k.options)?void 0:e.type,fieldInterfaceManager:I,fields:u,t:p}).dataSourceType,r=t.fieldInterfaceManager,l=t.fields,a=t.t,(l||[]).filter(function(e){if(!(null==e?void 0:e.name)||!e.interface)return!1;var t,l=null==r||null==(t=r.getFieldInterface)?void 0:t.call(r,String(e.interface),n);return!!(null==l?void 0:l.titleUsable)}).map(function(e){var t,n=(null==(t=e.uiSchema)?void 0:t.title)||e.title||e.name;return{value:String(e.name),label:(0,s.hd)(n,a),title:(0,s.Ad)(n,a)}})},[null==k||null==(t=k.options)?void 0:t.type,I,u,p]),O=(0,o.useMemo)(function(){return S.map(function(e){var t;return(null==(t=x.find(function(t){return t.value===e}))?void 0:t.title)||e}).join(", ")},[S,x]);return i().createElement("div",{style:f},p("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection."),"small"===m?i().createElement("br",null):" ",i().createElement(a.Space.Compact,{style:{marginTop:5}},i().createElement(a.Select,{mode:"multiple",placeholder:p("Select field"),options:x,value:S,loading:C,size:"small",style:{minWidth:200},onChange:function(e){return E(e.map(String))}}),i().createElement(a.Popconfirm,{placement:"bottom",title:i().createElement("div",{style:{width:"15em"}},O?p('Are you sure you want to set the "{{title}}" field as a record unique key? This setting cannot be changed after it\'s been set.',{title:O}):p("Please select a field.")),onConfirm:function(){var e;return(e=function(){var e,t,r,a,o;return function(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(i){switch(i.label){case 0:if(!S.length)return g.warning(p("Please select a field.")),[2];F(!0),i.label=1;case 1:return i.trys.push([1,4,5,6]),[4,v.api.request({url:"main"===l?"collections:update":"dataSources/".concat(l,"/collections:update"),method:"post",params:{filterByTk:String(n.name)},data:{filterTargetKey:S}})];case 2:return i.sent(),null==k||null==(r=k.collectionManager)||null==(t=r.getCollection(String(n.name)))||null==(e=t.setOption)||e.call(t,"filterTargetKey",S),null==d||d({filterTargetKey:S}),g.success(p("Saved successfully")),[4,null==k||null==(a=k.reload)?void 0:a.call(k)];case 3:return i.sent(),[3,6];case 4:throw o=i.sent(),h.error({message:p("Save failed")}),o;case 5:return F(!1),[7];case 6:return[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eC(a,r,l,o,i,"next",e)}function i(e){eC(a,r,l,o,i,"throw",e)}o(void 0)})})()}},i().createElement(a.Button,{type:"primary",size:"small",loading:C},p("OK")))))}function eO(e){var t=(0,c.kj)();return eI(e.collection,e.fields)?null:i().createElement(a.Popover,{trigger:["click"],content:i().createElement(ex,{collection:e.collection,dataSourceKey:e.dataSourceKey,fields:e.fields,onSaved:e.onSaved,size:"small",style:{width:"20em"}})},i().createElement(a.Button,{"aria-label":t("Record unique key"),icon:i().createElement(d.ExclamationCircleTwoTone,{twoToneColor:"#faad14"}),size:"small",type:"text",style:{height:20,marginRight:2,padding:0,width:20}}))}var eA=n(850);function eT(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function eM(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function eD(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){eM(a,r,l,o,i,"next",e)}function i(e){eM(a,r,l,o,i,"throw",e)}o(void 0)})}}function ej(e,t){return null!=t&&"u">typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function eP(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function eK(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eR(e,t){if(null==e)return{};var n,r,l,a={};if("u">typeof Reflect&&Reflect.ownKeys){for(l=0,n=Reflect.ownKeys(Object(e));l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}if(a=function(e,t){if(null==e)return{};var n,r,l={},a=Object.getOwnPropertyNames(e);for(r=0;r<a.length;r++)n=a[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(l[n]=e[n]);return l}(e,t),Object.getOwnPropertySymbols)for(l=0,n=Object.getOwnPropertySymbols(e);l<n.length;l++)r=n[l],!(t.indexOf(r)>=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(a[r]=e[r]);return a}function eN(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||eV(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eq(e){return function(e){if(Array.isArray(e))return eT(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||eV(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function eV(e,t){if(e){if("string"==typeof e)return eT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return eT(e,t)}}function eB(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var ez={basic:{label:"Basic",order:1},choices:{label:"Choices",order:20},media:{label:"Media",order:40},datetime:{label:"Date & Time",order:80},relation:{label:"Relation",order:100},advanced:{label:"Advanced type",order:200},systemInfo:{label:"System info",order:400},others:{label:"Others",order:800}};function eG(e,t){var n,r=e.dataSourceManager.collectionFieldInterfaceManager;return(null==r||null==(n=r.getFieldInterfaces)?void 0:n.call(r,t))||[]}function eL(e,t,n,r){var l,a=n.app.pm.get(p.vb);return b(e,null==a||null==(l=a.getCollectionTemplate)?void 0:l.call(a,t.template||"general"),t,{databaseDialect:r})}function e_(e,t){return(null==e?void 0:e.title)||(null==e?void 0:e.label)||t||(null==e?void 0:e.name)}function eU(e){var t,n=null==(t=e.uiSchema)?void 0:t.title;return"string"==typeof n?n:null==n?e.name:String(n)}function e$(e){var t=eN((0,o.useState)(eU(e.record)),2),n=t[0],r=t[1];(0,o.useEffect)(function(){r(eU(e.record))},[e.record]);var l=(0,o.useCallback)(function(){var t=eU(e.record),l=n.trim();l&&l!==t?e.onSave(e.record,l).catch(function(){r(t)}):r(t)},[e,n]);return i().createElement(a.Input,{disabled:e.loading,value:n,onBlur:l,onChange:function(e){return r(e.target.value)},onPressEnter:function(e){return e.currentTarget.blur()},suffix:e.loading?i().createElement(a.Spin,{size:"small"}):null})}function eW(e){var t=(0,c.kj)(),n=e.field,r=e_(e.fieldInterface,n.interface);return i().createElement(a.Descriptions,{column:1,bordered:!0,size:"small"},i().createElement(a.Descriptions.Item,{label:t("Field display name")},(0,s.hd)(eU(n),t)),i().createElement(a.Descriptions.Item,{label:t("Field name")},n.name),i().createElement(a.Descriptions.Item,{label:t("Field type")},i().createElement(a.Tag,null,n.type)),i().createElement(a.Descriptions.Item,{label:t("Field interface")},i().createElement(a.Tag,null,(0,s.hd)(r,t))),n.description?i().createElement(a.Descriptions.Item,{label:t("Description")},(0,s.hd)(n.description,t)):null)}function eJ(e,t,n){var r,l,a,o;return n.titleField||(null==(o=e.dataSourceManager.getDataSource(t))||null==(a=o.collectionManager)||null==(l=a.getCollection(n.name))||null==(r=l.getOption)?void 0:r.call(l,"titleField"))}function eX(e){return"view"===e.template||e.view}function eH(e,t){var n,r=e.app.pm.get(p.vb);return null==r||null==(n=r.getCollectionTemplate)?void 0:n.call(r,t.template||"general")}function eZ(e,t){var n,r;return!1===e.deletable||("function"==typeof(r=null==t||null==(n=t.collection)?void 0:n.fields)?r():Array.isArray(r)?r:[]).some(function(t){return(null==t?void 0:t.name)===e.name&&!1===t.deletable})}function eY(e,t){var n,r=(null==e?void 0:e.options)||e||{};return eK(eP({},r),{collectionName:r.collectionName||(null==e?void 0:e.collectionName)||(null==e||null==(n=e.collection)?void 0:n.name)||t})}function eQ(e,t,n){var r=n.get(e.name);return!!(r&&(!r.collectionName||r.collectionName===t))}function e0(e){var t=e||{};return t.rawTitle,eR(t,["rawTitle"])}function e1(e){return Array.isArray(e)?e.filter(Boolean):"string"==typeof e?e.split(".").filter(Boolean):[]}function e2(e){var t=e1(e);return t.length?t.join("."):null}function e4(e){var t,n=(0,c.kj)(),l=(0,r.useFlowContext)(),u=a.App.useApp(),d=u.message,f=u.notification,p=eN(a.Form.useForm(),1)[0],y=eN((0,o.useState)([]),2),g=y[0],h=y[1],b=eN((0,o.useState)(!1),2),S=b[0],E=b[1],w=eN((0,o.useState)([]),2),C=w[0],F=w[1],k=eN((0,o.useState)(!1),2),I=k[0],x=k[1],O=eN((0,o.useState)(!1),2),A=O[0],T=O[1],M=eN((0,o.useState)([]),2),D=M[0],j=M[1],P=eN((0,o.useState)([]),2),K=P[0],R=P[1],N=l.dataSourceManager.getDataSource("main"),q=(t=e.collection).viewName||t.name,V=(0,o.useMemo)(function(){var e=[];return K.forEach(function(t){var r=null==N?void 0:N.getCollection(t);if(r){var l=r.getFields().filter(function(e){return!["hasOne","hasMany","belongsToMany"].includes(e.type)}).map(function(e){var t,r;return{value:e.name,label:(0,s.hd)((null==(t=(r=(null==e?void 0:e.options)||e||{}).uiSchema)?void 0:t.title)||r.title||r.name,n)}});e.push({value:t,label:(0,s.hd)(r.title||r.name,n),children:l})}}),e},[N,K,n]),B=(0,o.useMemo)(function(){return g.filter(function(e){return e.source||e.interface}).map(function(e){var t;return{title:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,n),dataIndex:e.name,key:e.name,width:200,ellipsis:!0,render:function(e){return null==e?null:(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"?JSON.stringify(e):String(e)}}})},[g,n]),z=(0,o.useCallback)(function(t){return eD(function(){var n,r,a,o;return eB(this,function(i){switch(i.label){case 0:x(!0),i.label=1;case 1:return i.trys.push([1,,3,4]),r=["lineString","point","circle","polygon"],a=t.reduce(function(e,t){return t.type&&r.includes(t.type)&&(e[t.name]=t.type),e},{}),[4,l.api.resource("dbViews").query({filterByTk:q,schema:e.collection.schema,fieldTypes:a})];case 2:return F((null==(o=i.sent())||null==(n=o.data)?void 0:n.data)||[]),[3,4];case 3:return x(!1),[7];case 4:return[2]}})})()},[l.api,e.collection.schema,q]);(0,o.useEffect)(function(){var t=!1;return eD(function(){var n,r,a,o;return eB(this,function(i){switch(i.label){case 0:E(!0),i.label=1;case 1:return i.trys.push([1,,4,5]),[4,l.api.resource("dbViews").get({filterByTk:q,schema:e.collection.schema})];case 2:var u,c,s,d,m;if(n=i.sent(),t)return[2];return r={fields:(c=(null==n||null==(u=n.data)?void 0:u.data)||(null==n?void 0:n.data)||n||{}).fields,sources:c.sources,unsupportedFields:c.unsupportedFields},m=new Map(((d={currentFields:e.currentFields,fieldInterfacesByName:e.fieldInterfacesByName,inferredFields:(s=r.fields)?(Array.isArray(s)?s:Object.values(s)).filter(Boolean):[]}).currentFields||[]).map(function(e){return[e.name,e]})),a=d.inferredFields.map(function(e){var t,n,r,l=m.get(e.name)||e,a=d.fieldInterfacesByName[l.interface||e.interface||""],o=(null==a||null==(t=a.default)?void 0:t.uiSchema)||{},i=(null==(n=l.uiSchema)?void 0:n.title)||l.title||(null==(r=e.uiSchema)?void 0:r.title)||e.name,u=eK(eP({},e0(o),e0(l.uiSchema||e.uiSchema)),{title:i});return e.source?eK(eP({},e),{interface:e.interface||l.interface,type:e.type||l.type,uiSchema:u}):eK(eP({},e,l),{uiSchema:u})}),o=Array.isArray(r.sources)?r.sources:[],h(a),j(Array.isArray(r.unsupportedFields)?r.unsupportedFields:[]),R(o),p.setFieldsValue({fields:a.map(function(e){return eK(eP({},e),{source:e2(e.source)})}),schema:e.collection.schema,sources:o,viewName:q}),[4,z(a)];case 3:return i.sent(),[3,5];case 4:return t||E(!1),[7];case 5:return[2]}})})(),function(){t=!0}},[l.api,p,z,e.collection.schema,e.currentFields,e.fieldInterfacesByName,q]);var G=(0,o.useCallback)(function(e,t){var n=eq(g);n[e]=t,h(n),p.setFieldValue("fields",n.map(function(e){return eK(eP({},e),{source:e2(e.source)})}))},[g,p]),L=(0,o.useMemo)(function(){return[{title:n("Field name"),dataIndex:"name",width:130},{title:n("Field source"),dataIndex:"source",width:220,render:function(e,t,r){return i().createElement(a.Cascader,{allowClear:!0,options:V,value:e1(t.source),style:{width:"100%"},placeholder:n("Select field source"),onChange:function(e){var n,l,a,o=(e||[]).map(String),i=o.length?null==N||null==(n=N.getCollectionField(o.join(".")))?void 0:n.options:void 0;G(r,eK(eP({},t),{interface:(null==i?void 0:i.interface)||t.interface,source:o,type:(null==i?void 0:i.type)||t.type,uiSchema:eK(eP({},t.uiSchema,null==i?void 0:i.uiSchema),{title:(null==i||null==(l=i.uiSchema)?void 0:l.title)||(null==(a=t.uiSchema)?void 0:a.title)||t.name})}))}})}},{title:n("Field type"),dataIndex:"type",width:140,render:function(e,t,n){var r;return!t.source&&(null==(r=t.possibleTypes)?void 0:r.length)?i().createElement(a.Select,{value:e,style:{width:"100%"},popupMatchSelectWidth:!1,options:t.possibleTypes.map(function(e){return{label:e,value:e}}),onChange:function(e){return G(n,eK(eP({},t),{type:e}))}}):i().createElement(a.Tag,null,e)}},{title:n("Field interface"),dataIndex:"interface",width:170,render:function(t,r,l){var o,u;return r.source?i().createElement(a.Tag,null,(0,s.hd)(e_(e.fieldInterfacesByName[t],t),n)):i().createElement(a.Select,{allowClear:!0,value:t||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:(o=e.fieldInterfaceGroups,u=r.type,o.filter(function(e){return!["relation","systemInfo"].includes(e.key)}).map(function(e){return{label:e.label,options:e.children.filter(function(e){var t,n;return!u||(null==(t=e.availableTypes)?void 0:t.includes(u))||(null==(n=e.default)?void 0:n.type)===u}).map(function(e){return{label:e.title||e.label||e.name,value:e.name}})}}).filter(function(e){return e.options.length})).map(function(e){return{label:(0,s.hd)(e.label,n),options:e.options.map(function(e){return{value:e.value,label:(0,s.hd)(e.label,n)}})}}),onChange:function(t){var n,a,o,i,u,c=e.fieldInterfacesByName[t];G(l,eK(eP({},r),{interface:t||null,type:(null==c||null==(n=c.default)?void 0:n.type)||r.type,uiSchema:eK(eP({},null==c||null==(a=c.default)?void 0:a.uiSchema),{title:(null==c||null==(i=c.default)||null==(o=i.uiSchema)?void 0:o.title)||(null==(u=r.uiSchema)?void 0:u.title)||r.name})}))}})}},{title:n("Field display name"),dataIndex:["uiSchema","title"],width:200,render:function(e,t,n){var r;return i().createElement(a.Input,{value:(null==(r=t.uiSchema)?void 0:r.title)||t.name,onChange:function(e){return G(n,eK(eP({},t),{uiSchema:eK(eP({},e0(t.uiSchema)),{title:e.target.value})}))}})}}]},[G,N,e.fieldInterfaceGroups,e.fieldInterfacesByName,V,n]),_=(0,o.useCallback)(function(){return eD(function(){var t,r,a;return eB(this,function(o){switch(o.label){case 0:return o.trys.push([0,7,,8]),[4,p.validateFields()];case 1:o.sent(),t=p.getFieldsValue(!0),T(!0),o.label=2;case 2:return o.trys.push([2,,5,6]),[4,l.api.resource("collections").setFields({filterByTk:e.collection.name,values:{fields:t.fields,schema:t.schema,sources:t.sources,viewName:t.viewName}})];case 3:return o.sent(),[4,null==(r=l.dataSourceManager.getDataSource("main"))?void 0:r.reload()];case 4:return o.sent(),e.onSubmitted(),d.success(n("Sync successfully")),[3,6];case 5:return T(!1),[7];case 6:return[3,8];case 7:throw a=o.sent(),(0,v.GN)(a)||f.error({message:(0,v.u1)(a,n("Sync failed"))}),a;case 8:return[2]}})})()},[l.api,l.dataSourceManager,p,d,f,e,n]);return i().createElement(m.DrawerFormLayout,{title:n("Sync from database"),submitting:A,submitText:n("Submit"),cancelText:n("Cancel"),onSubmit:_},i().createElement(a.Spin,{spinning:S},i().createElement(a.Form,{form:p,layout:"vertical"},g.length?i().createElement(a.Form.Item,{label:n("Fields")},i().createElement(a.Table,{bordered:!0,columns:L,dataSource:g,pagination:!1,rowKey:"name",scroll:{y:300},size:"middle"})):null,i().createElement(eA.T,{dataSource:D,style:{marginBottom:24}}),i().createElement(a.Form.Item,{label:n("Preview")},i().createElement(a.Spin,{spinning:I},i().createElement(a.Table,{bordered:!0,columns:B,dataSource:C,pagination:!1,rowKey:function(e,t){return String(null!=t?t:0)},scroll:{x:1e3,y:300},size:"middle"}))))))}function e3(e){var t,n,u,f,g,h,b,E,w,C,F,k,I,x,O,A,T,M,D,j,P,K,R,N,q,V,B,z,G,L,_,U,$,W=(0,c.kj)(),J=(0,r.useFlowContext)(),X=(0,m.useCurrentAppInfo)(),H=a.App.useApp(),Z=H.message,Y=H.modal,Q=H.notification,ee=eN((0,o.useState)([]),2),et=ee[0],en=ee[1],er=eN((0,o.useState)(function(){return eJ(J,e.dataSourceKey,e.collection)}),2),el=er[0],ea=er[1],eo=eN((0,o.useState)(),2),ei=eo[0],eu=eo[1],ec=eN((0,o.useState)(),2),es=ec[0],ed=ec[1],em=eN((0,o.useState)(!1),2),ef=em[0],ep=em[1],ev=(0,l.useRequest)(function(){return eD(function(){return eB(this,function(t){switch(t.label){case 0:return[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"list"),params:{paginate:!1,filter:JSON.stringify({$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]}),sort:["sort"]}})];case 1:var n,r,l;return[2,Array.isArray(l=null==(n=t.sent())||null==(r=n.data)?void 0:r.data)?l:[]]}})})()});(0,o.useEffect)(function(){ea(eJ(J,e.dataSourceKey,e.collection))},[J,e.collection,e.collection.titleField,e.dataSourceKey]);var ey=J.dataSourceManager.getDataSource(e.dataSourceKey),eg=null==(V=J.app.pm.get(p.vb))||null==(q=V.getType)?void 0:q.call(V,null==ey||null==(N=ey.options)?void 0:N.type),eh="main"===e.dataSourceKey,eb=(null==X||null==(I=X.database)?void 0:I.dialect)||(null==X||null==(O=X.data)||null==(x=O.database)?void 0:x.dialect),eS=(0,o.useMemo)(function(){var e,t,n,r,l,a,o;return t=null==ey||null==(e=ey.options)?void 0:e.type,r=J.dataSourceManager.collectionFieldInterfaceManager,l=eG(J,t),a=eP({},ez,(null==r||null==(n=r.getFieldInterfaceGroups)?void 0:n.call(r))||{}),o=l.reduce(function(e,t){if(t.hidden)return e;var n=t.group||"basic";return e[n]=e[n]||[],e[n].push(t),e},{}),Object.keys(a).map(function(e){return eK(eP({},a[e]),{key:e,children:(o[e]||[]).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})})}).filter(function(e){return e.children.length}).sort(function(e,t){var n,r;return(null!=(n=e.order)?n:0)-(null!=(r=t.order)?r:0)})},[J,null==ey||null==(B=ey.options)?void 0:B.type]),ew=(0,o.useMemo)(function(){var t,n,r,l,a,o;return function(e,t,n){var r,l,a,o="function"==typeof(null==t?void 0:t.createFieldInterfaces)?t.createFieldInterfaces({collection:n}):null==t?void 0:t.createFieldInterfaces;if(!o)return e;var i=(null==(r=o.groups)?void 0:r.length)?new Set(o.groups):null,u=(null==(l=o.include)?void 0:l.length)?new Set(o.include):null,c=(null==(a=o.exclude)?void 0:a.length)?new Set(o.exclude):null;return e.map(function(e){return eK(eP({},e),{children:i&&!i.has(e.key)?[]:e.children.filter(function(e){return!(u&&!u.has(e.name)||(null==c?void 0:c.has(e.name)))})})}).filter(function(e){return e.children.length})}((t=e.collection,n=eS.map(function(e){return eK(eP({},e),{children:eL(e.children,t,J,eb)})}).filter(function(e){return e.children.length}),r=e.collection,o=null==(a=J.app.pm.get(p.vb))||null==(l=a.getCollectionTemplate)?void 0:l.call(a,r.template||"general"),n.map(function(e){return eK(eP({},e),{children:S(e.children,o)})}).filter(function(e){return e.children.length})),eg,e.collection)},[eS,eb,J,eg,e.collection]),eC=(0,o.useMemo)(function(){var t;return eL(eG(J,null==ey||null==(t=ey.options)?void 0:t.type),e.collection,J,eb).reduce(function(e,t){return e[t.name]=t,e},{})},[eb,J,null==ey||null==(z=ey.options)?void 0:z.type,e.collection]),eF=(0,o.useMemo)(function(){var e,t,n,r;return n=(null==(t=J.app.pm.get(p.vb))||null==(e=t.getCollectionPresetFields)?void 0:e.call(t))||[],r=new Set,n.forEach(function(e){var t,n,l=(null==(t=e.value)?void 0:t.interface)||(null==(n=e.value)?void 0:n.name);l&&r.add(l)}),r},[J]),ek=(0,o.useMemo)(function(){var t=new Map;return eq(Array.isArray(e.collection.fields)?e.collection.fields:[]).concat(eq(ev.data||[])).forEach(function(e){(null==e?void 0:e.name)&&t.set(e.name,e)}),Array.from(t.values())},[e.collection.fields,ev.data]),eO=!eI(e.collection,ek),eT=(0,o.useMemo)(function(){return eH(J,e.collection)},[J,e.collection]),eM=(0,o.useMemo)(function(){return new Map((ev.data||[]).map(function(e){return[String(e.name),e]}))},[ev.data]),eV=(0,o.useCallback)(function(t,n,r,l){J.viewer.drawer({width:800,closable:!0,content:function(){return i().createElement(eE,{mode:t,dataSourceKey:e.dataSourceKey,collection:e.collection,interfaceName:r,field:n,override:null==l?void 0:l.override,onSubmitted:function(){return ev.refresh()}})}})},[J.viewer,e.collection,e.dataSourceKey,ev]),e1=(0,o.useMemo)(function(){return{style:{maxHeight:"60vh",overflow:"auto"},items:ew.map(function(e){return{type:"group",key:e.key,label:(0,s.hd)(e.label,W),children:e.children.map(function(e){return{key:e.name,label:(0,s.hd)(e_(e),W)}})}}),onClick:function(e){return eV("create",void 0,String(e.key))}}},[ew,eV,W]),e2=null==eT||null==(L=eT.configure)||null==(G=L.syncFields)?void 0:G.Component,e3=(A=null==ey||null==(U=ey.collectionManager)||null==(_=U.getCollection)?void 0:_.call(U,e.collection.name),T=[],M=new Set,(D=function(e){(ej(null==e?void 0:e.inherits,Map)?Array.from(e.inherits.values()):[]).forEach(function(e){var t;!(null==e?void 0:e.name)||M.has(e.name)||(M.add(e.name),T.push({collectionName:e.name,fields:e?ej(e.fields,Map)?Array.from(e.fields.values()).map(function(t){return eY(t,e.name)}):Array.isArray(e.fields)?e.fields.map(function(t){return eY(t,e.name)}):[]:[],key:e.name,title:e.title||(null==(t=e.options)?void 0:t.title)||e.name}),D(e))})})(A),T),e6=Array.isArray(e.collection.unsupportedFields)?e.collection.unsupportedFields:[],e5=(0,o.useCallback)(function(){e2&&J.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(e2,{collection:e.collection,dataSourceKey:e.dataSourceKey,onSubmitted:function(){ev.refresh()}})}})},[e2,J.viewer,e.collection,e.dataSourceKey,ev]),e8=(0,o.useCallback)(function(){J.viewer.drawer({width:900,closable:!0,content:function(){return i().createElement(e4,{collection:e.collection,currentFields:ev.data||e.collection.fields||[],fieldInterfaceGroups:eS,fieldInterfacesByName:eC,onSubmitted:function(){ev.refresh()}})}})},[eS,J.viewer,eC,e.collection,ev]),e7=(0,o.useCallback)(function(t,n){var r=t.interface?eC[t.interface]:void 0;J.viewer.drawer({title:"".concat((0,s.hd)(n||t.collectionName||e.collection.name,W)," - ").concat(W("View")),width:520,closable:!0,content:function(){return i().createElement(eW,{field:t,fieldInterface:r})}})},[J.viewer,eC,e.collection.name,W]),e9=(0,o.useCallback)(function(t){!eQ(t,e.collection.name,eM)&&eV("create",(t.collectionName,t.key,t.sort,t.uiSchemaUid,eR(t,["collectionName","key","sort","uiSchemaUid"])),t.interface,{override:!0})},[eM,eV,e.collection.name]),te=(0,o.useCallback)(function(t){var n=(Array.isArray(t)?t:[t]).filter(function(e){var t=eM.get(String(e));return t&&!eZ(t,eT)});n.length&&Y.confirm({title:W("Delete record"),content:W("Are you sure you want to delete it?"),onOk:function(){return eD(function(){var t,r;return eB(this,function(l){switch(l.label){case 0:return l.trys.push([0,3,,4]),[4,Promise.all(n.map(function(t){return J.api.request({url:y(e.dataSourceKey,e.collection.name,"destroy",String(t)),method:"post"})}))];case 1:return l.sent(),[4,null==(t=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:t.reload()];case 2:return l.sent(),en([]),ev.refresh(),[3,4];case 3:throw r=l.sent(),Q.error({message:(0,v.u1)(r,W("Delete failed"))}),r;case 4:return[2]}})})()}})},[eT,J.api,J.dataSourceManager,eM,Y,Q,e.collection.name,e.dataSourceKey,ev,W]),tt=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a,o,i,u;return eB(this,function(c){switch(c.label){case 0:o=(a=(null==(l=n?eC[n]:void 0)?void 0:l.default)||{}).uiSchema?eK(eP({},a.uiSchema),{title:a.uiSchema.title||(null==(r=t.uiSchema)?void 0:r.title)}):t.uiSchema,c.label=1;case 1:return c.trys.push([1,4,,5]),[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:eK(eP({},t,a),{name:t.name,interface:n||null,type:a.type||t.type,uiSchema:o})})];case 2:return c.sent(),[4,null==(i=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:i.reload()];case 3:return c.sent(),ev.refresh(),[3,5];case 4:throw u=c.sent(),Q.error({message:(0,v.u1)(u,W("Save failed"))}),u;case 5:return[2]}})})()},[J.api,J.dataSourceManager,eC,Q,e.collection.name,e.dataSourceKey,ev,W]),tn=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a;return eB(this,function(o){switch(o.label){case 0:if(!(r=n.trim()))throw Z.error(W("Field display name is required")),Error("Field display name is required");ed(t.name),o.label=1;case 1:return o.trys.push([1,4,5,6]),[4,J.api.request({url:y(e.dataSourceKey,e.collection.name,"update",t.name),method:"post",data:eK(eP({},t),{uiSchema:eK(eP({},e0(t.uiSchema)),{title:r})})})];case 2:return o.sent(),[4,null==(l=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return o.sent(),ev.refresh(),Z.success(W("Saved successfully")),[3,6];case 4:throw a=o.sent(),Q.error({message:(0,v.u1)(a,W("Save failed"))}),a;case 5:return ed(void 0),[7];case 6:return[2]}})})()},[J.api,J.dataSourceManager,Z,Q,e.collection.name,e.dataSourceKey,ev,W]),tr=(0,o.useCallback)(function(t,n){return eD(function(){var r,l,a,o;return eB(this,function(i){var u,c,s,d,m,f,p,y;switch(i.label){case 0:r=n?t.name:"id",eu(t.name),i.label=1;case 1:return i.trys.push([1,4,5,6]),[4,J.api.request({url:"main"===(u=e.dataSourceKey)?"collections:update":"dataSources/".concat(u,"/collections:update"),method:"post",params:{filterByTk:e.collection.name},data:{titleField:r}})];case 2:return i.sent(),c=e.dataSourceKey,s=e.collection,d=r,null==(y=J.dataSourceManager.getDataSource(c))||null==(p=y.collectionManager)||null==(f=p.getCollection(s.name))||null==(m=f.setOption)||m.call(f,"titleField",d),s.titleField=d,ea(r),null==(l=e.onCollectionChange)||l.call(e,e.collection.name,{titleField:r}),[4,null==(a=J.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:a.reload()];case 3:return i.sent(),Z.success(W("Saved successfully")),[3,6];case 4:throw o=i.sent(),Q.error({message:(0,v.u1)(o,W("Save failed"))}),o;case 5:return eu(void 0),[7];case 6:return[2]}})})()},[J,Z,Q,e,W]),tl=(t=e.dataSourceKey,n=e.collection,C=(u=J).app.pm.get(p.vb),F=u.dataSourceManager.getDataSource(t),(null==(k=null==C||null==(w=C.getType)?void 0:w.call(C,null==F||null==(E=F.options)?void 0:E.type))?!void 0:!k.disableConfigureFields)&&(eX(n)?"main"===t:!!((b=null==(h=eH((f={collection:n,ctx:u,dataSourceKey:t}).ctx,f.collection))||null==(g=h.configure)?void 0:g.syncFields)&&("function"==typeof b.visible?b.visible({collection:f.collection,dataSourceKey:f.dataSourceKey}):!1!==b.visible))||"db2cm"!==n.from&&"main"===t)),ta=!!(null==eg?void 0:eg.disableConfigureFields),to=eh&&!ta,ti=!(null==(R=null==(K=(j={collection:e.collection,ctx:J,dataSourceType:null==ey||null==($=ey.options)?void 0:$.type,fieldInterfaceGroups:ew}).ctx.app.pm.get(p.vb))||null==(P=K.getType)?void 0:P.call(K,j.dataSourceType))?void 0:R.disableConfigureFields)&&!(null==R?void 0:R.disableAddFields)&&"sql"!==j.collection.template&&j.fieldInterfaceGroups.length>0,tu=(0,o.useMemo)(function(){return[{title:W("Field display name"),dataIndex:["uiSchema","title"],width:240,render:function(e,t){return(0,s.hd)(eU(t),W)}},{title:W("Field name"),dataIndex:"name"},{title:W("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:W("Field interface"),dataIndex:"interface",width:180,render:function(e){return i().createElement(a.Tag,null,(0,s.hd)(e_(eC[e],e),W))}},{title:W("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,m.isTitleField)(J.dataSourceManager,t)?i().createElement(a.Tooltip,{title:W("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",disabled:ta,loading:t.name===ei,checked:t.name===(el||"id"),onChange:function(e){return tr(t,e)}})):null}},{title:W("Description"),dataIndex:"description",ellipsis:!0},{title:W("Actions"),width:160,render:function(t,n){var r=eQ(n,e.collection.name,eM);return i().createElement(a.Space,null,ta?null:i().createElement(a.Typography.Link,{disabled:r,onClick:function(){return e9(n)}},W("Override")),i().createElement(a.Typography.Link,{onClick:function(){return e7(n,n.__parentTitle)}},W("View")))}}]},[ta,J.dataSourceManager,eM,eC,tr,e9,e7,e.collection.name,W,el,ei]),tc=(0,o.useMemo)(function(){return[{dataIndex:"title",render:function(e,t){return i().createElement("strong",null,W("Inherited fields")," - ",(0,s.hd)(t.title||t.collectionName,W))}}]},[W]),ts=(0,o.useCallback)(function(){return eD(function(){var t,n;return eB(this,function(r){switch(r.label){case 0:if(e2)return e5(),[2];if(eX(e.collection))return e8(),[2];ep(!0),r.label=1;case 1:return r.trys.push([1,4,5,6]),[4,J.api.resource("mainDataSource").syncFields({values:{collections:[e.collection.name]}})];case 2:return r.sent(),ev.refresh(),[4,null==(t=J.dataSourceManager.getDataSource("main"))?void 0:t.reload()];case 3:return r.sent(),Z.success(W("Sync successfully")),[3,6];case 4:throw n=r.sent(),Q.error({message:(0,v.u1)(n,W("Sync failed"))}),n;case 5:return ep(!1),[7];case 6:return[2]}})})()},[J.api,J.dataSourceManager,Z,Q,e5,e8,e.collection,ev,e2,W]);(0,o.useEffect)(function(){to||en([])},[to]);var td=(0,o.useMemo)(function(){var t=[{title:W("Field display name"),width:240,render:function(e){return ta?(0,s.hd)(eU(e),W):i().createElement(e$,{loading:es===e.name,record:e,onSave:tn})}},{title:W("Field name"),dataIndex:"name"},{title:W("Field type"),dataIndex:"type",render:function(e){return i().createElement(a.Tag,null,e)}},{title:W("Field interface"),dataIndex:"interface",width:180,render:function(t,n){var r,l,o,u,c,d,m=t?eC[t]:void 0,f=eS.map(function(e){return eK(eP({},e),{children:e.children.filter(function(e){var t,r;return e.name===n.interface||(null==(t=e.availableTypes)?void 0:t.includes(n.type))||(null==(r=e.default)?void 0:r.type)===n.type})})}).filter(function(e){return"sort"===n.type?"advanced"===e.key&&e.children.length:e.children.length});if(ta||t&&!m||("boolean"==typeof(d=null==(o=(r={collection:e.collection,currentFieldInterface:m,dataSourceType:eg,presetFieldInterfaces:eF}).dataSourceType)||null==(l=o.isFieldInterfaceReadOnly)?void 0:l.call(o,{collection:r.collection,field:n,fieldInterface:r.currentFieldInterface}))?d:!!(n.source||(null==(u=r.currentFieldInterface)?void 0:u.isAssociation)||(null==(c=r.currentFieldInterface)?void 0:c.group)==="systemInfo"||r.presetFieldInterfaces.has(n.interface)))||!f.length)return i().createElement(a.Tag,null,(0,s.hd)(e_(m,t),W)||t);var p=f.map(function(e){return{label:(0,s.hd)(e.label,W),options:e.children.map(function(e){return{value:e.name,label:(0,s.hd)(e_(e),W)}})}}).filter(function(e){return e.options.length});return i().createElement(a.Select,{allowClear:!0,value:t||void 0,style:{width:"100%"},popupMatchSelectWidth:!1,options:p,onChange:function(e){return tt(n,e)}})}},{title:W("Title field"),dataIndex:"titleField",width:120,render:function(e,t){return(0,m.isTitleField)(J.dataSourceManager,t)?i().createElement(a.Tooltip,{title:W("Default title for each record"),placement:"right"},i().createElement(a.Switch,{"aria-label":"switch-title-field-".concat(t.name),size:"small",disabled:ta,loading:t.name===ei,checked:t.name===(el||"id"),onChange:function(e){return tr(t,e)}})):null}},{title:W("Description"),dataIndex:"description",ellipsis:!0}];return ta||t.push({title:W("Actions"),width:160,render:function(e,t){return i().createElement(a.Space,null,i().createElement("a",{onClick:function(){return eV("edit",t)}},W("Edit")),to?i().createElement(a.Typography.Link,{disabled:eZ(t,eT),onClick:function(){return te(t.name)}},W("Delete")):null)}}),t},[eS,ta,to,eT,J.dataSourceManager,eg,eC,te,tn,tt,tr,eV,eF,e.collection,W,es,el,ei]);return i().createElement(i().Fragment,null,eO?i().createElement(a.Alert,{style:{marginBottom:16},type:"warning",message:i().createElement(ex,{collection:e.collection,dataSourceKey:e.dataSourceKey,fields:ek,onSaved:function(t){var n;Object.assign(e.collection,t),null==(n=e.onCollectionChange)||n.call(e,e.collection.name,t),ev.refresh()}})}):null,i().createElement("div",{style:{display:"flex",justifyContent:"flex-end",gap:8,marginBottom:16}},i().createElement(a.Space,null,to?i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!et.length,onClick:function(){return te(et)}},W("Delete")):null,tl?i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null),loading:ef,onClick:ts},W("Sync from database")):null,ti?i().createElement(a.Dropdown,{menu:e1,placement:"bottomRight",trigger:["hover"]},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},W("Add field")," ",i().createElement(d.DownOutlined,null))):null)),i().createElement(m.Table,{rowKey:"name",loading:ev.loading,dataSource:ev.data||[],columns:td,pagination:!1,rowSelection:to?{selectedRowKeys:et,onChange:en,getCheckboxProps:function(e){return{disabled:eZ(e,eT)}}}:void 0}),i().createElement(eA.T,{dataSource:e6}),e3.some(function(e){return e.fields.length})?i().createElement(a.Table,{style:{marginTop:16},rowKey:"key",columns:tc,dataSource:e3.filter(function(e){return e.fields.length}),pagination:!1,showHeader:!1,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:e3.map(function(e){return e.key}),expandedRowRender:function(e){return i().createElement(a.Table,{rowKey:"name",columns:tu,dataSource:e.fields.map(function(t){return eK(eP({},t),{__parentTitle:e.title})}),pagination:!1,showHeader:!1})}}}):null)}function e6(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function e5(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function e8(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){e5(a,r,l,o,i,"next",e)}function i(e){e5(a,r,l,o,i,"throw",e)}o(void 0)})}}function e7(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function e9(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function te(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var a=[],o=!0,i=!1;try{for(l=l.call(e);!(o=(n=l.next()).done)&&(a.push(n.value),!t||a.length!==t);o=!0);}catch(e){i=!0,r=e}finally{try{o||null==l.return||l.return()}finally{if(i)throw r}}return a}}(e,t)||tn(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tt(e){return function(e){if(Array.isArray(e))return e6(e)}(e)||function(e){if("u">typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tn(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tn(e,t){if(e){if("string"==typeof e)return e6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e6(e,t)}}function tr(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}var tl=["default","red","orange","yellow","green","cyan","blue","purple"],ta={default:"Default",red:"Red",orange:"Orange",yellow:"Yellow",green:"Green",cyan:"Cyan",blue:"Blue",purple:"Purple"};function to(e){return[{value:"$includes",label:e("contains")},{value:"$notIncludes",label:e("does not contain")},{value:"$eq",label:e("is")},{value:"$ne",label:e("is not")}]}var ti=function(e){var t=e.value,n=e.onChange;return i().createElement(a.Input,{style:{minWidth:180},value:null!=t?t:"",onChange:function(e){return n(e.target.value)}})},tu=function(e){var t=e.value,n=e.onChange,l=(0,c.kj)(),o=(0,r.useFlowContext)().app.pm.get(p.vb).getCollectionTemplates();return i().createElement(a.Select,{style:{minWidth:220},value:t,options:o.map(function(e){return{value:e.name,label:(0,s.hd)(e.title,l)}}),onChange:function(e){return n(e)},allowClear:!0})};function tc(e,t,n){return(null==e?void 0:e.records)?e9(e7({},e),{records:e.records.map(function(e){return e.name===t?e7({},e,n):e})}):e}function ts(e){var t,n=null==e||null==(t=e.data)?void 0:t.data;return Array.isArray(n)?n:Array.isArray(null==n?void 0:n.data)?n.data:[]}function td(){return{hidden:{$isFalsy:!0}}}var tm=(0,r.observer)(function(e){var t,n,r,l=e.value,u=(0,c.kj)(),s=(t=(0,c.kj)(),(0,o.useMemo)(function(){return[{name:"title",title:t("Collection display name"),operators:to(t),RenderValue:ti},{name:"name",title:t("Collection name"),operators:to(t),RenderValue:ti},{name:"template",title:t("Collection template"),operators:[{value:"$eq",label:t("is")},{value:"$ne",label:t("is not")}],RenderValue:tu},{name:"description",title:t("Description"),operators:to(t),RenderValue:ti}]},[t])),d=s.find(function(e){return e.name===l.path}),m=null!=(n=null==d?void 0:d.operators)?n:[],f=null!=(r=null==d?void 0:d.RenderValue)?r:ti,p=(0,o.useMemo)(function(){return s.map(function(e){return{value:e.name,label:e.title}})},[s]);return i().createElement(a.Space,{style:{flex:1},wrap:!0},i().createElement(a.Select,{style:{minWidth:180},placeholder:u("Select field"),value:l.path||void 0,options:p,onChange:function(e){var t,n,r=s.find(function(t){return t.name===e});l.path=e,l.operator=null!=(t=null==r||null==(n=r.operators[0])?void 0:n.value)?t:"",l.value=void 0}}),i().createElement(a.Select,{style:{minWidth:140},placeholder:u("Comparison"),value:l.operator||void 0,options:m,disabled:!l.path,onChange:function(e){l.operator=e,l.value=void 0}}),i().createElement(f,{value:l.value,onChange:function(e){return l.value=e}}))},{displayName:"CollectionFilterItem"}),tf=(0,r.observer)(function(e){var t=e.value,n=e.onSubmit,r=e.onReset,l=(0,c.kj)(),u=te((0,o.useState)(!1),2),s=u[0],f=u[1],p=(0,o.useMemo)(function(){return{model:{translate:function(e){return l(e)},dispatchEvent:function(e){"submit"===e&&(n(),f(!1)),"reset"===e&&r()}}}},[r,n,l]),v=t.items.length,y=v?l("{{count}} filter items").replace("{{count}}",String(v)):l("Filter");return i().createElement(a.Popover,{open:s,onOpenChange:f,trigger:"click",placement:"bottomLeft",content:i().createElement("div",{style:{minWidth:560}},i().createElement(m.FilterContent,{value:t,ctx:p,FilterItem:tm}))},i().createElement(a.Button,{icon:i().createElement(d.FilterOutlined,null),type:v?"primary":"default"},y))},{displayName:"CollectionFilterPopover"});function tp(e){return e.name||e.value.name}function tv(e){var t,n=null==(t=e.collection)?void 0:t.options;return"function"==typeof n?n():n||("function"==typeof e.defaultValues?e.defaultValues():e.defaultValues||{})}function ty(e,t){var n;return!!(null==e||null==(n=e.capabilities)?void 0:n[t])}function tg(e){var t;return(null==e||null==(t=e.capabilities)?void 0:t.inherits)!==!1}var th=function(e){var t=e.template,n=(0,c.kj)(),r=a.theme.useToken().token,l=(0,o.useMemo)(function(){return{container:{backgroundColor:r.colorFillAlter,marginBottom:r.marginLG,padding:r.paddingSM+r.paddingXXS},title:{color:r.colorText},description:{color:r.colorTextDescription,marginTop:r.marginXS},tag:{background:"none"}}},[r.colorFillAlter,r.colorText,r.colorTextDescription,r.marginLG,r.marginXS,r.paddingSM,r.paddingXXS]);return t?i().createElement("div",{style:l.container},i().createElement("div",{style:l.title},n("Collection template"),": ",i().createElement(a.Tag,{style:l.tag},(0,s.hd)(t.title,n))),t.description?i().createElement("div",{style:l.description},(0,s.hd)(t.description,n)):null):null},tb=function(e){var t,n=e.form,r=e.mode,l=e.template,o=(0,c.kj)(),u=(null==(t=l.configure)?void 0:t.items)||[];return u.length?i().createElement(i().Fragment,null,u.map(function(e,t){var u="function"==typeof e.hidden?e.hidden({mode:r,template:l,form:n}):!!e.hidden,c=e.Component;if(u||!c){if(u||!e.name)return null;var d=(0,s.hd)(e.label||e.name,o),m=e.required?[{required:!0}]:void 0,f=e.componentProps||{},p=i().createElement(a.Input,f);return("Input.TextArea"===e.component&&(p=i().createElement(a.Input.TextArea,e7({autoSize:{minRows:3,maxRows:8}},f))),"Select"===e.component&&(p=i().createElement(a.Select,e7({options:(e.options||[]).map(function(e){return{value:e.value,label:(0,s.hd)(e.label,o)}})},f))),"Checkbox"===e.component)?i().createElement(a.Form.Item,{key:e.name||t,name:e.name,valuePropName:"checked",rules:m},i().createElement(a.Checkbox,f,d)):i().createElement(a.Form.Item,{key:e.name||t,name:e.name,label:d,rules:m},p)}return c?i().createElement(c,{key:e.name||t,mode:r,template:l,form:n,item:e}):null})):null},tS=function(e){var t=e.form,n=(0,c.kj)(),r=a.Form.useWatch("fields",t),l=(0,o.useMemo)(function(){return(Array.isArray(r)?r:[]).filter(function(e){return null==e?void 0:e.name}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.title||e.name,n)}})},[r,n]);return i().createElement(a.Form.Item,{name:"filterTargetKey",label:n("Record unique key"),extra:n("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:l,allowClear:!0}))};function tE(e){var t,n=e.activeCategoryKey,u=e.categories,d=e.onSubmitted,f=e.template,y=(0,c.kj)(),g=(0,r.useFlowContext)(),h=a.App.useApp().notification,b=g.app.pm.get(p.vb),S=te(a.Form.useForm(),1)[0],E=(0,o.useMemo)(function(){return b.getCollectionPresetFields()},[b]),w=te((0,o.useState)(!1),2),C=w[0],F=w[1],k="sql"===f.name,I="view"===f.name,x=te((0,o.useState)(function(){return k||I?[]:E.filter(function(e){return!1!==e.defaultSelected}).map(function(e){return tp(e)})}),2),O=x[0],A=x[1],T=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,g.api.request({url:"dataSources/main/collections:list",params:{paginate:!1,sort:["sort"],filter:JSON.stringify(td())}})];case 1:return[2,ts(e.sent())]}})})()}),M=(0,o.useMemo)(function(){return(T.data||[]).filter(function(e){return e.name}).map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,y)}})},[T.data,y]),D=(0,o.useMemo)(function(){return e9(e7({},tv(f)),{template:f.name,name:(0,r.randomId)("t_"),category:"all"===n?[]:[n]})},[n,f]),j=(0,o.useMemo)(function(){var e;return new Set((null==(e=f.presetFields)?void 0:e.disabledIncludes)||f.presetFieldsDisabledIncludes||[])},[f]),P=(0,o.useMemo)(function(){var e;return e=g.dataSourceManager.collectionFieldInterfaceManager,E.map(function(t){var n,r,l,a=t.value.interface?null==e||null==(n=e.getFieldInterface)?void 0:n.call(e,t.value.interface):void 0,o=(null==(r=t.value.uiSchema)?void 0:r.title)||(null==a?void 0:a.title),i=t.field||(null==(l=t.value.uiSchema)?void 0:l.title)||t.value.name,u=t.interfaceLabel||(null==a?void 0:a.title)||t.value.interface||t.value.type;return{name:tp(t),field:(0,s.sZ)(i,o),interfaceLabel:(0,s.sZ)(u,null==a?void 0:a.title),description:t.description}})},[E,g.dataSourceManager.collectionFieldInterfaceManager]),K=(0,o.useMemo)(function(){return[{title:y("Field"),dataIndex:"field",render:function(e){return(0,s.hd)(e,y)}},{title:y("Interface"),dataIndex:"interfaceLabel",render:function(e){return i().createElement(a.Tag,null,(0,s.hd)(e,y))}},{title:y("Description"),dataIndex:"description",render:function(e){return(0,s.hd)(e,y)}}]},[y]),R=(null==(t=f.configure)?void 0:t.Form)||f.ConfigureForm,N=tg(f),q=i().createElement(a.Form.Item,{name:"category",label:y("Categories")},i().createElement(a.Select,{mode:"multiple",options:u.map(function(e){return{value:String(e.id),label:(0,s.hd)(e.name||e.id,y)}}),allowClear:!0})),V=i().createElement(a.Form.Item,{name:"description",label:y("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),B=i().createElement(i().Fragment,null,R?i().createElement(R,{mode:"create",template:f,form:S}):null,i().createElement(tb,{mode:"create",template:f,form:S})),z=(0,o.useCallback)(function(){return e8(function(){var e,t,n;return tr(this,function(r){switch(r.label){case 0:return r.trys.push([0,6,,7]),[4,S.validateFields()];case 1:e=function(e){var t,n,r,l,a,o,i,u=e.fieldInterfaceManager,c=e.formValues,s=e.presetFields,d=e.selectedPresetFields,f=e.template,p=tv(f),v=Array.isArray(p.fields)?p.fields:[],y=(0,m.normalizeCollectionTemplateFields)(Array.isArray(c.fields)?c.fields:[],u,{collectionInfo:e9(e7({},p,c),{template:f.name})}),g=(0,m.normalizeCollectionTemplateFields)(tt(v).concat(tt("function"==typeof(n=null==(t=f.collection)?void 0:t.fields)?n():n||[])),u,{collectionInfo:e9(e7({},p,c),{template:f.name})}),h=e9(e7({autoGenId:!1,view:!1},p,c),{template:f.name,logging:!0,category:null==(r=c.category)?void 0:r.map(function(e){if("string"!=typeof e)return e;var t=Number(e);return Number.isSafeInteger(t)&&String(t)===e?t:e}),fields:tt(g).concat(tt((l=new Set(d.map(String)),s.filter(function(e){return l.has(tp(e))}).map(function(e){return structuredClone(e.value)}))),tt(y))}),b=null==(o=f.configure)||null==(a=o.transformSubmitValues)?void 0:a.call(o,h);return b||(null==(i=f.beforeSubmit)||i.call(f,h),h)}({template:f,formValues:r.sent(),selectedPresetFields:O,presetFields:E,fieldInterfaceManager:g.dataSourceManager.collectionFieldInterfaceManager}),F(!0),r.label=2;case 2:return r.trys.push([2,,4,5]),[4,g.api.resource("collections").create({values:e})];case 3:return r.sent(),d(),null==(t=g.dataSourceManager.getDataSource("main"))||t.reload(),[3,5];case 4:return F(!1),[7];case 5:return[3,7];case 6:throw n=r.sent(),(0,v.GN)(n)||h.error({message:(0,v.u1)(n,y("Submit failed"))}),n;case 7:return[2]}})})()},[E,g.api,g.dataSourceManager,S,h,d,O,y,f]);return i().createElement(m.DrawerFormLayout,{title:y("Create collection"),submitting:C,submitText:y("Submit"),cancelText:y("Cancel"),onSubmit:z},i().createElement(a.Form,{form:S,layout:"vertical",initialValues:D},i().createElement(th,{template:f}),i().createElement(a.Form.Item,{name:"template",hidden:!0},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"title",label:y("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:y("Collection name"),rules:[{required:!0},{pattern:/^[A-Za-z][A-Za-z0-9_]*$/,message:y("Support letters, numbers and underscores, must start with a letter.")}],extra:y("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,null)),B,k?i().createElement(i().Fragment,null,ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,q,V):I?i().createElement(i().Fragment,null,ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,q,V,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:y("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,y("Use simple pagination mode")))):i().createElement(i().Fragment,null,N?i().createElement(a.Form.Item,{name:"inherits",label:y("Inherits")},i().createElement(a.Select,{mode:"multiple",options:M,loading:T.loading,allowClear:!0})):null,q,V,i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:y("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,y("Use simple pagination mode"))),ty(f,"recordUniqueKey")?i().createElement(tS,{form:S}):null,i().createElement(a.Form.Item,{label:y("Preset fields")},i().createElement(m.Table,{size:"small",rowKey:"name",bordered:!0,pagination:!1,dataSource:P,columns:K,rowSelection:{type:"checkbox",selectedRowKeys:O,getCheckboxProps:function(e){var t,n;return{disabled:(null!=(t=null==(n=f.presetFields)?void 0:n.disabled)?t:f.presetFieldsDisabled)||j.has(e.name)}},onChange:function(e){return A(e)}}})))))}function tw(e){var t,n=e.categories,u=e.collection,d=e.dataSourceKey,f=e.onSubmitted,g=(0,c.kj)(),h=(0,r.useFlowContext)(),b=a.App.useApp().notification,S=h.app.pm.get(p.vb),E=te(a.Form.useForm(),1)[0],w=te((0,o.useState)(!1),2),C=w[0],F=w[1],k="main"===d,I=(0,o.useMemo)(function(){return S.getCollectionTemplate(u.template||"general")},[u.template,S]),x=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,h.api.request({url:"dataSources/".concat(d,"/collections:list"),params:{paginate:!1,sort:["sort"],filter:JSON.stringify(td())}})];case 1:return[2,ts(e.sent())]}})})()}),O=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:return[4,h.api.request({url:y(d,u.name,"list"),params:{}})];case 1:return[2,ts(e.sent())]}})})()}),A=(0,o.useMemo)(function(){return(x.data||[]).filter(function(e){return e.name&&e.name!==u.name&&"view"!==e.template&&"file"!==e.template}).map(function(e){return{value:e.name,label:(0,s.hd)(e.title||e.name,g)}})},[u.name,x.data,g]),T=(0,o.useMemo)(function(){var e=Array.isArray(u.fields)&&u.fields.length?u.fields:O.data||[],t=eI(u,u.fields)||[],n=e.filter(function(e){return!!e.name}).map(function(e){var t;return{value:e.name,label:(0,s.hd)((null==(t=e.uiSchema)?void 0:t.title)||e.name,g)}});return t.forEach(function(e){n.some(function(t){return t.value===e})||n.push({value:e,label:e})}),n},[u,O.data,g]),M=(0,o.useMemo)(function(){return{title:u.title,name:u.name,inherits:Array.isArray(u.inherits)?u.inherits:u.inherits?[u.inherits]:void 0,category:Array.isArray(u.category)?u.category.map(function(e){return String(e.id)}):[],description:u.description,simplePaginate:u.simplePaginate,filterTargetKey:eI(u,u.fields),databaseView:function(e){var t=e.viewName||e.name;if(t)return e.schema?"".concat(e.schema,"@").concat(t):t}(u),schema:u.schema,viewName:u.viewName||u.name,writableView:u.writableView,sql:u.sql,sources:u.sources,fields:u.fields}},[u]),D=(0,o.useCallback)(function(){return e8(function(){var e,t,n,r,l;return tr(this,function(a){switch(a.label){case 0:return a.trys.push([0,9,,10]),[4,E.validateFields()];case 1:n=e7({},a.sent()),"sql"===u.template?(n.name=u.name,n.key=u.key):delete n.name,k||(delete n.category,delete n.inherits),n=(null==I||null==(t=I.configure)||null==(e=t.transformSubmitValues)?void 0:e.call(t,n))||n,F(!0),a.label=2;case 2:if(a.trys.push([2,,7,8]),!k)return[3,4];return[4,h.api.resource("sql"===u.template?"sqlCollection":"collections").update({filterByTk:u.name,values:n})];case 3:return a.sent(),[3,6];case 4:return[4,h.api.request({url:"dataSources/".concat(d,"/collections:update"),method:"post",params:{filterByTk:u.name},data:n})];case 5:a.sent(),a.label=6;case 6:return f(),null==(r=h.dataSourceManager.getDataSource(d))||r.reload(),[3,8];case 7:return F(!1),[7];case 8:return[3,10];case 9:throw l=a.sent(),(0,v.GN)(l)||b.error({message:(0,v.u1)(l,g("Submit failed"))}),l;case 10:return[2]}})})()},[u.key,u.name,u.template,h.api,h.dataSourceManager,d,E,k,b,f,g,I]);if(!k)return i().createElement(m.DrawerFormLayout,{title:g("Edit collection"),submitting:C,submitText:g("Submit"),cancelText:g("Cancel"),onSubmit:D},i().createElement(a.Form,{form:E,layout:"vertical",initialValues:M},i().createElement(a.Form.Item,{name:"title",label:g("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:g("Collection name"),extra:g("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,{disabled:!0})),i().createElement(a.Form.Item,{name:"description",label:g("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:g("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,g("Use simple pagination mode"))),i().createElement(a.Form.Item,{name:"filterTargetKey",label:g("Record unique key"),extra:g("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:T,loading:O.loading,allowClear:!0}))));var j=(null==I||null==(t=I.configure)?void 0:t.Form)||(null==I?void 0:I.ConfigureForm),P=tg(I),K=I?i().createElement(i().Fragment,null,j?i().createElement(j,{mode:"edit",template:I,form:E}):null,i().createElement(tb,{mode:"edit",template:I,form:E})):null;return i().createElement(m.DrawerFormLayout,{title:g("Edit collection"),submitting:C,submitText:g("Submit"),cancelText:g("Cancel"),onSubmit:D},i().createElement(a.Form,{form:E,layout:"vertical",initialValues:M},i().createElement(th,{template:I}),i().createElement(a.Form.Item,{name:"title",label:g("Collection display name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"name",label:g("Collection name"),extra:g("Randomly generated and can be modified. Support letters, numbers and underscores, must start with a letter.")},i().createElement(a.Input,{disabled:!0})),K,k?i().createElement(i().Fragment,null,P?i().createElement(a.Form.Item,{name:"inherits",label:g("Inherits")},i().createElement(a.Select,{mode:"multiple",options:A,loading:x.loading,allowClear:!0})):null,i().createElement(a.Form.Item,{name:"category",label:g("Categories")},i().createElement(a.Select,{mode:"multiple",options:n.map(function(e){return{value:String(e.id),label:(0,s.hd)(e.name||e.id,g)}}),allowClear:!0}))):null,i().createElement(a.Form.Item,{name:"description",label:g("Description")},i().createElement(a.Input.TextArea,{autoSize:{minRows:3,maxRows:8}})),i().createElement(a.Form.Item,{name:"simplePaginate",valuePropName:"checked",extra:g("Skip getting the total number of table records during paging to speed up loading. It is recommended to enable this option for data tables with a large amount of data")},i().createElement(a.Checkbox,null,g("Use simple pagination mode"))),ty(I,"recordUniqueKey")?i().createElement(a.Form.Item,{name:"filterTargetKey",label:g("Record unique key"),extra:g("If a collection lacks a primary key, you must configure a unique record key to locate row records within a block, failure to configure this will prevent the creation of data blocks for the collection.")},i().createElement(a.Select,{mode:"multiple",options:T,loading:O.loading,allowClear:!0})):null))}var tC=function(e){var t,n,u,y=(0,c.kj)(),g=(0,r.useFlowContext)(),h=a.App.useApp(),b=h.message,S=h.modal,E=h.notification,w=g.app.pm.get(p.vb),C=te(a.Form.useForm(),1)[0],F=(0,o.useRef)((0,r.observable)({logic:"$and",items:[]})),k=te((0,o.useState)(1),2),I=k[0],x=k[1],O=te((0,o.useState)(m.DEFAULT_PAGE_SIZE),2),A=O[0],T=O[1],M=te((0,o.useState)("all"),2),D=M[0],j=M[1],P=te((0,o.useState)(!1),2),K=P[0],R=P[1],N=te((0,o.useState)(!1),2),q=N[0],V=N[1],B=te((0,o.useState)(),2),z=B[0],G=B[1],L=te((0,o.useState)([]),2),_=L[0],U=L[1],$=te((0,o.useState)(),2),W=$[0],J=$[1],X=te((0,o.useState)(!1),2),H=X[0],Z=X[1],Y=te((0,o.useState)(!1),2),Q=Y[0],ee=Y[1],et=te((0,o.useState)([]),2),en=et[0],er=et[1],el=te((0,o.useState)([]),2),ea=el[0],eo=el[1],ei=te((0,o.useState)([]),2),eu=ei[0],ec=ei[1],es=te((0,o.useState)(""),2),ed=es[0],em=es[1],ef=te((0,o.useState)(!1),2),ep=ef[0],ev=ef[1],ey="main"===e.dataSourceKey,eg=g.dataSourceManager.getDataSource(e.dataSourceKey),eh=w.getType(null==eg||null==(t=eg.options)?void 0:t.type),eb=null==eh?void 0:eh.AddCollection,eS=null==eh?void 0:eh.EditCollection,eE=null==eh?void 0:eh.DeleteCollection,ew=!!(null==eh?void 0:eh.disableConfigureFields),eC=!ew,eF=!!(!ey&&!ew&&eS),ek=!!(!ey&&!ew&&(null==eh?void 0:eh.allowCollectionCreate)&&eb),eI=!!(!ey&&!ew&&(null==eh?void 0:eh.allowCollectionDeletion)&&eE),ex=(0,o.useMemo)(function(){return w.getCreatableCollectionTemplates()},[w]),eA=(0,l.useRequest)(function(){return e8(function(){return tr(this,function(e){switch(e.label){case 0:if(!ey)return[2,[]];return[4,g.api.request({url:"collectionCategories:list",params:{paginate:!1,sort:["sort"]}})];case 1:return[2,ts(e.sent())]}})})()},{refreshDeps:[ey]}),eT=(0,l.useRequest)(function(){return e8(function(){var t;return tr(this,function(n){var r,l,a,o,i,u,c,s,d;switch(n.label){case 0:return r={activeCategoryKey:D,filterPayload:W,isMainDataSource:ey},l=[td()],r.isMainDataSource&&"all"!==r.activeCategoryKey&&l.push({"category.id":Number.isSafeInteger(o=Number(a=r.activeCategoryKey))&&String(o)===a?o:a}),r.filterPayload&&l.push(r.filterPayload),t=l.length>1?{$and:l}:l[0],[4,g.api.request({url:ey?"collections:list":"dataSources/".concat(e.dataSourceKey,"/collections:list"),params:{page:I,pageSize:A,sort:["sort"],filter:JSON.stringify(t),appends:ey?["fields","category"]:["fields"]}})];case 1:return[2,{records:s=Array.isArray(c=null==(u=null==(i=n.sent())?void 0:i.data)?void 0:u.data)?c:Array.isArray(null==c?void 0:c.data)?c.data:[],total:(d=(null==u?void 0:u.meta)||(null==c?void 0:c.meta)||{}).count||d.total||s.length}]}})})()},{refreshDeps:[D,W,ey,e.dataSourceKey,I,A]}),eM=(0,o.useMemo)(function(){return eA.data||[]},[eA.data]);(0,o.useEffect)(function(){ey&&("all"===D||eM.some(function(e){return String(e.id)===D}))||j("all")},[D,eM,ey]);var eD=(0,o.useCallback)(function(t){g.viewer.drawer({title:i().createElement("span",null,(0,s.hd)(t.title||t.name,y)," - ",y("Configure fields")),width:"80%",closable:!0,content:function(){return i().createElement(e3,{dataSourceKey:e.dataSourceKey,collection:t,onCollectionChange:function(e,n){Object.assign(t,n),eT.mutate(tc(eT.data,e,n)),eT.refresh()}})}})},[g.viewer,e.dataSourceKey,eT,y]),ej=(0,o.useCallback)(function(e){j(e),x(1)},[]),eP=(0,o.useCallback)(function(){G(void 0),C.setFieldsValue({color:"default"}),R(!0)},[C]),eK=(0,o.useCallback)(function(e){G(e),C.setFieldsValue({name:e.name,color:e.color||"default"}),R(!0)},[C]),eR=(0,o.useCallback)(function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,9,,10]),[4,C.validateFields()];case 1:e=n.sent(),V(!0),n.label=2;case 2:if(n.trys.push([2,,7,8]),!z)return[3,4];return[4,g.api.resource("collectionCategories").update({filter:{id:z.id},values:e})];case 3:return n.sent(),[3,6];case 4:return[4,g.api.resource("collectionCategories").create({values:e})];case 5:n.sent(),n.label=6;case 6:return R(!1),G(void 0),C.resetFields(),eA.refresh(),eT.refresh(),[3,8];case 7:return V(!1),[7];case 8:return[3,10];case 9:throw t=n.sent(),(0,v.GN)(t)||E.error({message:(0,v.u1)(t,y("Submit failed"))}),t;case 10:return[2]}})})()},[C,eA,g.api,z,E,eT,y]),eN=(0,o.useCallback)(function(e){S.confirm({title:y("Delete category"),content:y("Are you sure you want to delete it?"),onOk:function(){return e8(function(){var t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g.api.resource("collectionCategories").destroy({filter:{id:e.id}})];case 1:return n.sent(),String(e.id)===D&&j("all"),eA.refresh(),eT.refresh(),[3,3];case 2:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Delete failed"))}),t;case 3:return[2]}})})()}})},[D,eA,g.api,S,E,eT,y]),eq=(0,o.useCallback)(function(e,t){return e8(function(){var n;return tr(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,g.api.resource("collectionCategories").move({sourceId:e.id,targetId:t.id})];case 1:return r.sent(),eA.refresh(),eT.refresh(),[3,3];case 2:throw n=r.sent(),E.error({message:(0,v.u1)(n,y("Save failed"))}),n;case 3:return[2]}})})()},[eA,g.api,E,eT,y]),eV=(0,o.useCallback)(function(e){g.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(tE,{template:e,categories:eM,activeCategoryKey:D,onSubmitted:function(){U([]),eT.refresh()}})}})},[D,eM,g.viewer,eT]),eB=(0,o.useCallback)(function(t){g.viewer.drawer({width:"50%",closable:!0,content:function(){return i().createElement(tw,{dataSourceKey:e.dataSourceKey,collection:t,categories:eM,onSubmitted:function(){U([]),eT.refresh()}})}})},[eM,g.viewer,e.dataSourceKey,eT]),ez=(0,o.useCallback)(function(e){var t=Array.isArray(e)?e:[e];if(t.length){var n=!1;S.confirm({closable:!0,icon:i().createElement(d.ExclamationCircleFilled,{style:{color:"#faad14"}}),okText:y("Ok"),cancelText:y("Cancel"),title:y("Delete collection"),width:520,content:i().createElement("div",null,i().createElement("div",null,y("Are you sure you want to delete it?")),i().createElement(a.Checkbox,{style:{marginTop:8},onChange:function(e){return n=e.target.checked}},y("Automatically drop objects that depend on the collection (such as views), and in turn all objects that depend on those objects"))),onOk:function(){return e8(function(){var e,r;return tr(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,,3]),[4,g.api.resource("collections").destroy({filterByTk:t,cascade:n})];case 1:return l.sent(),U([]),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),[3,3];case 2:throw r=l.sent(),E.error({message:(0,v.u1)(r,y("Delete failed"))}),r;case 3:return[2]}})})()}})}},[g.api,g.dataSourceManager,S,E,eT,y]),eG=(0,o.useCallback)(function(e,t){return e8(function(){var n,r;return tr(this,function(l){switch(l.label){case 0:if(!ey)return[2];l.label=1;case 1:return l.trys.push([1,3,,4]),[4,g.api.resource("collections").move({sourceId:e.name,targetId:t.name})];case 2:return l.sent(),b.success(y("Saved successfully")),eT.refresh(),null==(n=g.dataSourceManager.getDataSource("main"))||n.reload(),[3,4];case 3:throw r=l.sent(),E.error({message:(0,v.u1)(r,y("Save failed"))}),r;case 4:return[2]}})})()},[g.api,g.dataSourceManager,ey,b,E,eT,y]),eL=(0,o.useCallback)(function(){return e8(function(){var t,n,r,l,a,o,i,u;return tr(this,function(c){switch(c.label){case 0:if(ey)return eT.refresh(),[2];ev(!0),c.label=1;case 1:return c.trys.push([1,4,5,6]),a=(null==eg?void 0:eg.status)||"loaded",[4,g.api.request({url:"dataSources:refresh?filterByTk=".concat(encodeURIComponent(e.dataSourceKey),"&clientStatus=").concat(encodeURIComponent(a)),method:"post"})];case 2:return"reloading"===(i=(null==(o=c.sent())||null==(n=o.data)||null==(t=n.data)?void 0:t.status)||(null==o||null==(r=o.data)?void 0:r.status))?b.warning(y("Data source synchronization in progress")):"loaded"===i&&(b.success(y("Data source synchronization successful")),eT.refresh()),[4,null==(l=g.dataSourceManager.getDataSource(e.dataSourceKey))?void 0:l.reload()];case 3:return c.sent(),[3,6];case 4:return u=c.sent(),E.error({message:(0,v.u1)(u,y("Data source synchronization failed"))}),[3,6];case 5:return ev(!1),[7];case 6:return[2]}})})()},[g.api,g.dataSourceManager,null==eg?void 0:eg.status,ey,b,E,e.dataSourceKey,eT,y]),e_=(0,o.useCallback)(function(){S.confirm({title:y("Sync field changes from database"),content:y("Field synchronization confirmation prompt"),onOk:function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:return n.trys.push([0,2,,3]),[4,g.api.resource("mainDataSource").syncFields()];case 1:return n.sent(),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),b.success(y("Sync successfully")),[3,3];case 2:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Sync failed"))}),t;case 3:return[2]}})})()}})},[g.api,g.dataSourceManager,b,S,E,eT,y]),eU=(0,o.useCallback)(function(){Z(!1),eo([]),ec([]),em("")},[]),e$=(0,o.useCallback)(function(){return e8(function(){var e,t,n,r;return tr(this,function(l){switch(l.label){case 0:Z(!0),ee(!0),l.label=1;case 1:return l.trys.push([1,3,4,5]),[4,g.api.resource("dataSources").readTables({values:{dataSourceKey:"main"}})];case 2:return er((Array.isArray(n=null==(t=l.sent())||null==(e=t.data)?void 0:e.data)?n:[]).map(function(e){return{key:e.name,name:e.name,title:e.title||e.name,description:e.description}})),eo([]),ec([]),[3,5];case 3:return r=l.sent(),E.error({message:(0,v.u1)(r,y("Failed to load tables"))}),[3,5];case 4:return ee(!1),[7];case 5:return[2]}})})()},[g.api,E,y]),eW=(0,o.useCallback)(function(){ea.length?S.confirm({title:y("Confirm load tables"),content:y("Are you sure you want to load {{count}} table(s)?").replace("{{count}}",String(ea.length)),onOk:function(){return e8(function(){var e,t;return tr(this,function(n){switch(n.label){case 0:ee(!0),n.label=1;case 1:return n.trys.push([1,3,4,5]),[4,g.api.resource("dataSources").loadTables({values:{dataSourceKey:"main",tables:ea}})];case 2:return n.sent(),b.success(y("Tables loaded successfully")),eU(),eT.refresh(),null==(e=g.dataSourceManager.getDataSource("main"))||e.reload(),[3,5];case 3:throw t=n.sent(),E.error({message:(0,v.u1)(t,y("Failed to load tables"))}),t;case 4:return ee(!1),[7];case 5:return[2]}})})()}}):b.warning(y("Please select at least one table"))},[g.api,g.dataSourceManager,b,S,E,eT,eU,ea,y]),eJ=(0,o.useCallback)(function(){J((0,f.transformFilter)(F.current)),x(1)},[]),eX=(0,o.useCallback)(function(){F.current.logic="$and",F.current.items.splice(0,F.current.items.length),J(void 0),x(1)},[]),eH=(0,o.useMemo)(function(){if(!ed)return en;var e=ed.toLowerCase();return en.filter(function(t){var n;return t.title.toLowerCase().includes(e)||t.name.toLowerCase().includes(e)||(null==(n=t.description)?void 0:n.toLowerCase().includes(e))})},[en,ed]),eZ=(0,o.useMemo)(function(){return eM.map(function(e){return{id:e.id,label:(0,s.hd)(e.name||e.id,y),color:e.color}})},[eM,y]),eY=(0,o.useCallback)(function(e){return eM.find(function(t){return String(t.id)===String(e)})},[eM]),eQ=(0,o.useMemo)(function(){var t=[{title:y("Collection display name"),render:function(t){return i().createElement(a.Space,{size:4},i().createElement(eO,{collection:t,dataSourceKey:e.dataSourceKey,fields:t.fields,onSaved:function(e){Object.assign(t,e),eT.mutate(tc(eT.data,t.name,e)),eT.refresh()}}),i().createElement("span",null,(0,s.hd)(t.title||t.name,y)))}},{title:y("Collection name"),dataIndex:"name",ellipsis:!0},{title:y("Collection template"),dataIndex:"template",render:function(e){var t,n;return i().createElement(a.Tag,null,(t=e||"general",(n=w.getCollectionTemplate(t))?(0,s.hd)(n.title,y):t))}}];return ey&&"all"===D&&t.push({title:y("Collection category"),dataIndex:"category",render:function(e){return Array.isArray(e)&&e.length?i().createElement(a.Space,{size:[4,4],wrap:!0},e.map(function(e){return i().createElement(a.Tag,{key:e.id,color:"default"===e.color?void 0:e.color},(0,s.hd)(e.name||e.id,y))})):null}}),t.push({title:y("Description"),dataIndex:"description",ellipsis:!0},{title:y("Actions"),width:ey||eC||eF||eI?260:140,render:function(t,n){return i().createElement(a.Space,{size:16},i().createElement("a",{onClick:function(){return eD(n)}},y("Configure fields")),ey?i().createElement(i().Fragment,null,i().createElement("a",{onClick:function(){return eB(n)}},y("Edit")),i().createElement("a",{onClick:function(){return ez(n.name)}},y("Delete"))):i().createElement(i().Fragment,null,eF&&eS?i().createElement(eS,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){U([]),eT.refresh()}}):eC?i().createElement("a",{onClick:function(){return eB(n)}},y("Edit")):null,eI&&eE?i().createElement(eE,{dataSourceKey:e.dataSourceKey,record:n,onSubmitted:function(){U([]),eT.refresh()}}):null))}}),t},[eS,eE,D,eF,eC,eI,ez,ey,eB,eD,w,e.dataSourceKey,eT,y]);return i().createElement(a.Card,{title:(0,s.hd)(e.title,y),variant:"borderless"},ey?i().createElement(m.SortableCategoryTabs,{activeKey:D,onChange:ej,allTab:{key:"all",label:y("All collections")},categories:eZ,onAdd:eP,onEdit:function(e){var t=eY(e);t&&eK(t)},onDelete:function(e){var t=eY(e);t&&eN(t)},onSort:function(e,t){var n=eY(e),r=eY(t);if(n&&r)return eq(n,r)},menuLabels:{edit:y("Edit category"),delete:y("Delete category")}}):null,i().createElement(a.Flex,{justify:"space-between",align:"center",style:{marginBottom:16}},i().createElement(tf,{value:F.current,onSubmit:eJ,onReset:eX}),i().createElement(a.Space,null,i().createElement(a.Button,{icon:i().createElement(d.ReloadOutlined,null),loading:ep,onClick:eL},y("Refresh")),ey?i().createElement(i().Fragment,null,i().createElement(a.Button,{icon:i().createElement(d.DeleteOutlined,null),disabled:!_.length,onClick:function(){return ez(_)}},y("Delete")),i().createElement(a.Dropdown,{placement:"bottomLeft",menu:{items:[{key:"load-tables",icon:i().createElement(d.ImportOutlined,null),label:y("Load tables from database")},{key:"sync-fields",icon:i().createElement(d.ReloadOutlined,null),label:y("Sync field changes from database")}],onClick:function(e){var t=e.key;"load-tables"===t&&e$(),"sync-fields"===t&&e_()}}},i().createElement(a.Button,{icon:i().createElement(d.SyncOutlined,null)},y("Sync from database")," ",i().createElement(d.DownOutlined,null))),i().createElement(a.Dropdown,{menu:{items:ex.flatMap(function(e){var t={key:e.name,label:(0,s.hd)(e.title,y)};return e.divider?[{type:"divider"},t]:[t]}),onClick:function(e){var t=e.key,n=ex.find(function(e){return e.name===t});n&&eV(n)}}},i().createElement(a.Button,{type:"primary",icon:i().createElement(d.PlusOutlined,null)},y("Create collection")," ",i().createElement(d.DownOutlined,null)))):i().createElement(i().Fragment,null,eI&&eE?i().createElement(eE,{dataSourceKey:e.dataSourceKey,selectedRowKeys:_,isBulk:!0,onSubmitted:function(){U([]),eT.refresh()}},y("Delete")):null,ek&&eb?i().createElement(eb,{dataSourceKey:e.dataSourceKey,onSubmitted:function(){U([]),eT.refresh()}}):null))),i().createElement(m.Table,{rowKey:"name",isDraggable:ey,onSortEnd:ey?eG:void 0,loading:eT.loading,dataSource:(null==(n=eT.data)?void 0:n.records)||[],columns:eQ,rowSelection:ey||eI?{selectedRowKeys:_,onChange:function(e){return U(e)}}:void 0,pagination:{current:I,pageSize:A,total:null==(u=eT.data)?void 0:u.total,onChange:function(e,t){if(t!==A){T(t),x(1);return}x(e)}}}),i().createElement(a.Modal,{title:z?y("Edit category"):y("Add category"),open:K,confirmLoading:q,okText:y("Submit"),cancelText:y("Cancel"),onOk:eR,onCancel:function(){R(!1),G(void 0),C.resetFields()}},i().createElement(a.Form,{form:C,layout:"vertical",initialValues:{color:"default"}},i().createElement(a.Form.Item,{name:"name",label:y("Category name"),rules:[{required:!0}]},i().createElement(a.Input,null)),i().createElement(a.Form.Item,{name:"color",label:y("Color")},i().createElement(a.Select,{options:tl.map(function(e){return{value:e,label:i().createElement(a.Tag,{color:"default"===e?void 0:e},y(ta[e]))}})})))),i().createElement(a.Drawer,{title:y("Load tables from database"),placement:"right",width:800,open:H,onClose:eU,footer:i().createElement(a.Flex,{justify:"flex-end",gap:8},i().createElement(a.Button,{onClick:eU},y("Cancel")),i().createElement(a.Button,{type:"primary",loading:Q,disabled:!ea.length,onClick:eW},y("Submit")))},i().createElement(a.Spin,{spinning:Q},i().createElement(a.Transfer,{dataSource:eH,titles:[y("Available tables"),y("Selected tables")],targetKeys:ea,selectedKeys:eu,onChange:function(e){return eo(e.map(String))},onSelectChange:function(e,t){return ec(tt(e).concat(tt(t)).map(String))},onSearch:function(e,t){return em(t)},render:function(e){return e.title},showSearch:!0,style:{height:"calc(100vh - 160px)"},listStyle:{width:350,height:"calc(100vh - 220px)"},locale:{itemUnit:y("item"),itemsUnit:y("items"),searchPlaceholder:y("Search collections...")}}))))};function tF(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function tk(e,t,n,r,l,a,o){try{var i=e[a](o),u=i.value}catch(e){n(e);return}i.done?t(u):Promise.resolve(u).then(r,l)}function tI(){var e=(0,c.kj)(),t=(0,r.useFlowContext)(),n=(0,u.useParams)(),d=function(e){if(e)try{return decodeURIComponent(e)}catch(t){return e}}(n.name||n.dataSourceKey),m=function(e){if(Array.isArray(e))return e}(w=(0,o.useState)("main"))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var l=[],a=!0,o=!1;try{for(r=r.call(e);!(a=(t=r.next()).done)&&(l.push(t.value),2!==l.length);a=!0);}catch(e){o=!0,n=e}finally{try{a||null==r.return||r.return()}finally{if(o)throw n}}return l}}(w)||function(e){if(e){if("string"==typeof e)return tF(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return tF(e,2)}}(w)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),f=m[0],p=m[1],v=d||f,y=(0,l.useRequest)(function(){var e;return(e=function(){return function(e,t){var n,r,l,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]},o=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),i=Object.defineProperty;return i(o,"next",{value:u(0)}),i(o,"throw",{value:u(1)}),i(o,"return",{value:u(2)}),"function"==typeof Symbol&&i(o,Symbol.iterator,{value:function(){return this}}),o;function u(i){return function(u){var c=[i,u];if(n)throw TypeError("Generator is already executing.");for(;o&&(o=0,c[0]&&(a=0)),a;)try{if(n=1,r&&(l=2&c[0]?r.return:c[0]?r.throw||((l=r.return)&&l.call(r),0):r.next)&&!(l=l.call(r,c[1])).done)return l;switch(r=0,l&&(c=[2&c[0],l.value]),c[0]){case 0:case 1:l=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,r=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(l=(l=a.trys).length>0&&l[l.length-1])&&(6===c[0]||2===c[0])){a=0;continue}if(3===c[0]&&(!l||c[1]>l[0]&&c[1]<l[3])){a.label=c[1];break}if(6===c[0]&&a.label<l[1]){a.label=l[1],l=c;break}if(l&&a.label<l[2]){a.label=l[2],a.ops.push(c);break}l[2]&&a.ops.pop(),a.trys.pop();continue}c=t.call(e,a)}catch(e){c=[6,e],r=0}finally{n=l=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}}}(this,function(e){switch(e.label){case 0:return[4,t.dataSourceManager.ensureLoaded({force:!0,keys:["*"]})];case 1:return e.sent(),[2,t.dataSourceManager.getDataSources()]}})},function(){var t=this,n=arguments;return new Promise(function(r,l){var a=e.apply(t,n);function o(e){tk(a,r,l,o,i,"next",e)}function i(e){tk(a,r,l,o,i,"throw",e)}o(void 0)})})()}),g=(0,o.useMemo)(function(){return y.data||[]},[y.data]),h=(0,o.useMemo)(function(){return g.find(function(e){return e.key===v})},[v,g]),b=(0,o.useCallback)(function(t){return"main"===t.key?e("Main"):(0,s.hd)(t.displayName||t.key,e)},[e]),S=(0,o.useMemo)(function(){return t.app.pluginSettingsManager.getRoutePath("".concat(c.Ji,".list"))},[t.app.pluginSettingsManager]),E=(0,o.useCallback)(function(){t.router.navigate(S)},[t.router,S]);if((0,o.useEffect)(function(){!d&&g.length&&(g.some(function(e){return e.key===v})||p(g[0].key))},[v,g,d]),y.loading)return i().createElement(a.Spin,null);if(d){var w,C,F,k=h?b(h):d;return i().createElement(tC,{dataSourceKey:d,title:i().createElement(a.Breadcrumb,{items:[{title:i().createElement("a",{onClick:E},e("Data sources"))},{title:i().createElement(a.Space,{size:8},i().createElement("span",null,k),(C=null==h?void 0:h.status,(F=({loading:{color:"orange",label:e("Loading")},"loading-failed":{color:"red",label:e("Failed")},loaded:{color:"green",label:e("Loaded")},reloading:{color:"orange",label:e("Reloading")}})[C||""])?i().createElement(a.Tag,{color:F.color},F.label):null))}]})})}return i().createElement(a.Space,{direction:"vertical",size:16,style:{width:"100%"}},i().createElement(a.Select,{style:{width:320},value:v,options:g.map(function(e){return{value:e.key,label:b(e)}}),onChange:p}),v?i().createElement(tC,{dataSourceKey:v}):null)}},872:function(e,t,n){function r(e){return(void 0===e?"undefined":e&&"u">typeof Symbol&&e.constructor===Symbol?"symbol":typeof e)=="object"&&null!==e}function l(e,t){var n=e,l=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(l=(i=u.next()).done);l=!0){var c=i.value;if(!r(n))return;n=n[c]}}catch(e){a=!0,o=e}finally{try{l||null==u.return||u.return()}finally{if(a)throw o}}return r(n)?n:void 0}function a(e,t){var n=e,l=!0,a=!1,o=void 0;try{for(var i,u=t[Symbol.iterator]();!(l=(i=u.next()).done);l=!0){var c=i.value;if(!r(n))return;n=n[c]}}catch(e){a=!0,o=e}finally{try{l||null==u.return||u.return()}finally{if(a)throw o}}return n}function o(e){return"string"==typeof e&&e?e:void 0}function i(e){if(Array.isArray(e))return e.map(function(e){return r(e)?e.message:e}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function u(e){if(Array.isArray(e))return e.map(function(e){return e.message}).filter(function(e){return"string"==typeof e&&!!e}).join("\n")||void 0}function c(e){return Array.isArray(a(e,["errorFields"]))}function s(e,t){if("string"==typeof e)return e;var n,r=l(e,["response","data"]);return o(a(e,["errorFields","0","errors","0"]))||u(null==r?void 0:r.errors)||i(null==r?void 0:r.messages)||o(null==r||null==(n=r.error)?void 0:n.message)||o(null==r?void 0:r.message)||o(a(e,["message"]))||t}function d(e){var t,n=l(e,["data"]);return u(null==n?void 0:n.errors)||i(null==n?void 0:n.messages)||o(null==n||null==(t=n.error)?void 0:t.message)||o(null==n?void 0:n.message)}n.d(t,{GN:function(){return c},tK:function(){return d},u1:function(){return s}})}}]);
|