@nocobase/plugin-data-source-manager 2.1.0-beta.9 → 2.2.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/client-v2.d.ts +2 -0
- package/client-v2.js +1 -0
- package/dist/ai/ai-employees/orin/ignored.d.ts +10 -0
- package/dist/ai/ai-employees/orin/ignored.js +59 -0
- package/dist/ai/ai-employees/orin/skills/data-modeling/SKILLS.md +245 -0
- package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/defineCollections.js +47 -1
- package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/intentRouter.js +1 -1
- package/dist/ai/{tools/data-query → common}/common.js +63 -11
- package/dist/ai/{tools/data-query → common}/utils.d.ts +1 -0
- package/dist/ai/{tools/data-query → common}/utils.js +15 -0
- package/dist/ai/skills/data-metadata/SKILLS.md +108 -0
- package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionMetadata.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionNames.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/getDataSources.js +2 -2
- package/dist/ai/{tools → skills/data-metadata/tools}/searchFieldMetadata.js +2 -2
- package/dist/ai/skills/data-query/SKILLS.md +245 -0
- package/dist/ai/skills/data-query/tools/dataQuery.js +282 -0
- package/dist/ai/{tools/data-query → skills/data-query/tools}/dataSourceCounting.js +12 -4
- package/dist/ai/skills/data-query/tools/dataSourceQuery.d.ts +10 -0
- package/dist/ai/{tools/data-query → skills/data-query/tools}/dataSourceQuery.js +12 -5
- package/dist/client/271.1374702d84646fff.js +10 -0
- package/dist/client/369.342f1e0231dbe482.js +10 -0
- package/dist/client/397.c8c6659cf3f7ac1c.js +10 -0
- package/dist/client/416.197712b8b93033c5.js +10 -0
- package/dist/client/420.a37695bbfc3bec7a.js +10 -0
- package/dist/client/603.d6022bceb934f5b0.js +10 -0
- package/dist/client/644.b98e4b39058e9c32.js +10 -0
- package/dist/client/936.d5ab7aecb4eb6004.js +10 -0
- package/dist/client/index.js +1 -1
- package/dist/client-v2/167.52e683be46f9cfc7.js +10 -0
- package/dist/client-v2/426.53e3eaee8d9dbca0.js +10 -0
- package/dist/client-v2/907.a0ab273516f45ac3.js +10 -0
- package/dist/client-v2/components/DataSourceForm.d.ts +17 -0
- package/dist/client-v2/field-interfaces/index.d.ts +13 -0
- package/dist/client-v2/index.d.ts +12 -0
- package/dist/client-v2/index.js +10 -0
- package/dist/client-v2/locale.d.ts +12 -0
- package/dist/client-v2/pages/DataSourceCollectionsPage.d.ts +10 -0
- package/dist/client-v2/pages/DataSourcesPage.d.ts +10 -0
- package/dist/client-v2/pages/components/CollectionsPage.d.ts +27 -0
- package/dist/client-v2/pages/components/FieldForm.d.ts +19 -0
- package/dist/client-v2/pages/components/FieldsPage.d.ts +16 -0
- package/dist/client-v2/pages/components/ViewCollectionConfigure.d.ts +27 -0
- package/dist/client-v2/pages/components/collectionFieldApi.d.ts +11 -0
- package/dist/client-v2/pages/components/collectionTemplateFieldInterfaces.d.ts +18 -0
- package/dist/client-v2/pages/permissions/DataSourcePermissionsTab.d.ts +15 -0
- package/dist/client-v2/pages/permissions/PermissionEditors.d.ts +45 -0
- package/dist/client-v2/pages/permissions/ScopeSelect.d.ts +21 -0
- package/dist/client-v2/pages/permissions/permissionRequests.d.ts +33 -0
- package/dist/client-v2/pages/permissions/types.d.ts +55 -0
- package/dist/client-v2/plugin.d.ts +243 -0
- package/dist/client-v2/registries.d.ts +36 -0
- package/dist/client-v2/runtime.d.ts +12 -0
- package/dist/client-v2/utils/compileLegacyTemplate.d.ts +16 -0
- package/dist/client-v2/utils/error.d.ts +11 -0
- package/dist/externalVersion.js +17 -13
- package/dist/locale/en-US.json +275 -3
- package/dist/locale/zh-CN.json +275 -3
- package/dist/node_modules/zod/index.cjs +1 -1
- package/dist/node_modules/zod/package.json +1 -1
- package/dist/server/collections/data-sources-collections.js +1 -0
- package/dist/server/collections/data-sources-fields.js +1 -0
- package/dist/server/collections/data-sources-roles-resources-actions.js +1 -0
- package/dist/server/collections/data-sources-roles-resources-scopes.js +1 -0
- package/dist/server/collections/data-sources-roles-resources.js +1 -0
- package/dist/server/collections/data-sources-roles.js +1 -0
- package/dist/server/collections/data-sources.js +1 -0
- package/dist/server/mcp-post-processors.d.ts +24 -0
- package/dist/server/mcp-post-processors.js +158 -0
- package/dist/server/models/data-source.js +3 -13
- package/dist/server/plugin.js +7 -2
- package/dist/server/resourcers/data-sources-collections-fields.d.ts +1 -0
- package/dist/server/resourcers/data-sources-collections-fields.js +19 -0
- package/dist/server/services/external-field-apply.d.ts +23 -0
- package/dist/server/services/external-field-apply.js +208 -0
- package/dist/server/utils.js +11 -3
- package/dist/swagger/index.d.ts +326 -0
- package/dist/swagger/index.js +385 -0
- package/package.json +4 -2
- package/dist/client/1a8cce8035a89dd9.js +0 -10
- package/dist/client/276bcf3de74bebd1.js +0 -10
- package/dist/client/2f7a418e7935984d.js +0 -10
- package/dist/client/689d3bec33ad2ec3.js +0 -10
- package/dist/client/d33eb40009bd7ec6.js +0 -10
- package/dist/client/dbf5ddf434ab29c0.js +0 -10
- package/dist/client/f528b165e77e3608.js +0 -10
- package/dist/client/fdae18574fda07af.js +0 -10
- /package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/defineCollections.d.ts +0 -0
- /package/dist/ai/{tools → ai-employees/orin/skills/data-modeling/tools}/intentRouter.d.ts +0 -0
- /package/dist/ai/{tools/data-query → common}/common.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionMetadata.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getCollectionNames.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/getDataSources.d.ts +0 -0
- /package/dist/ai/{tools → skills/data-metadata/tools}/searchFieldMetadata.d.ts +0 -0
- /package/dist/ai/{tools/data-query/dataSourceCounting.d.ts → skills/data-query/tools/dataQuery.d.ts} +0 -0
- /package/dist/ai/{tools/data-query/dataSourceQuery.d.ts → skills/data-query/tools/dataSourceCounting.d.ts} +0 -0
|
@@ -0,0 +1,385 @@
|
|
|
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
|
+
var __defProp = Object.defineProperty;
|
|
11
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
12
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
13
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
14
|
+
var __export = (target, all) => {
|
|
15
|
+
for (var name in all)
|
|
16
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
17
|
+
};
|
|
18
|
+
var __copyProps = (to, from, except, desc) => {
|
|
19
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
20
|
+
for (let key of __getOwnPropNames(from))
|
|
21
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
22
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
23
|
+
}
|
|
24
|
+
return to;
|
|
25
|
+
};
|
|
26
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
27
|
+
var swagger_exports = {};
|
|
28
|
+
__export(swagger_exports, {
|
|
29
|
+
default: () => swagger_default
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(swagger_exports);
|
|
32
|
+
var swagger_default = {
|
|
33
|
+
openapi: "3.0.2",
|
|
34
|
+
info: {
|
|
35
|
+
title: "NocoBase API - Data source manager plugin"
|
|
36
|
+
},
|
|
37
|
+
paths: {
|
|
38
|
+
"/dataSources:listEnabled": {
|
|
39
|
+
get: {
|
|
40
|
+
tags: ["dataSources"],
|
|
41
|
+
summary: "List enabled external data sources",
|
|
42
|
+
description: "Return enabled non-main data sources, optionally including loaded collections.",
|
|
43
|
+
parameters: [
|
|
44
|
+
{
|
|
45
|
+
name: "appends",
|
|
46
|
+
in: "query",
|
|
47
|
+
description: "Append related data, for example `collections`.",
|
|
48
|
+
required: false,
|
|
49
|
+
schema: {
|
|
50
|
+
type: "string"
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
responses: {
|
|
55
|
+
200: {
|
|
56
|
+
description: "OK",
|
|
57
|
+
content: {
|
|
58
|
+
"application/json": {
|
|
59
|
+
schema: {
|
|
60
|
+
type: "object",
|
|
61
|
+
properties: {
|
|
62
|
+
data: {
|
|
63
|
+
type: "array",
|
|
64
|
+
items: {
|
|
65
|
+
$ref: "#/components/schemas/DataSourceInfo"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
meta: {
|
|
69
|
+
type: "object",
|
|
70
|
+
additionalProperties: true
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
},
|
|
80
|
+
"/dataSources/{associatedIndex}/collections:list": {
|
|
81
|
+
get: {
|
|
82
|
+
tags: ["dataSources.collections"],
|
|
83
|
+
summary: "List external data source collections",
|
|
84
|
+
description: [
|
|
85
|
+
"List loaded collections in one external data source, including field metadata.",
|
|
86
|
+
"",
|
|
87
|
+
"Use this endpoint to discover external table names before applying relation field metadata."
|
|
88
|
+
].join("\n"),
|
|
89
|
+
parameters: [
|
|
90
|
+
{
|
|
91
|
+
name: "associatedIndex",
|
|
92
|
+
in: "path",
|
|
93
|
+
required: true,
|
|
94
|
+
description: "External data source key, for example `external`.",
|
|
95
|
+
schema: {
|
|
96
|
+
type: "string"
|
|
97
|
+
}
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
name: "filter",
|
|
101
|
+
in: "query",
|
|
102
|
+
required: false,
|
|
103
|
+
description: "Filter object matched against collection options.",
|
|
104
|
+
schema: {
|
|
105
|
+
type: "object",
|
|
106
|
+
additionalProperties: true
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
{
|
|
110
|
+
name: "page",
|
|
111
|
+
in: "query",
|
|
112
|
+
required: false,
|
|
113
|
+
schema: {
|
|
114
|
+
type: "integer"
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
name: "pageSize",
|
|
119
|
+
in: "query",
|
|
120
|
+
required: false,
|
|
121
|
+
schema: {
|
|
122
|
+
type: "integer"
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
name: "paginate",
|
|
127
|
+
in: "query",
|
|
128
|
+
required: false,
|
|
129
|
+
schema: {
|
|
130
|
+
type: "boolean"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
],
|
|
134
|
+
responses: {
|
|
135
|
+
200: {
|
|
136
|
+
description: "OK",
|
|
137
|
+
content: {
|
|
138
|
+
"application/json": {
|
|
139
|
+
schema: {
|
|
140
|
+
type: "object",
|
|
141
|
+
properties: {
|
|
142
|
+
data: {
|
|
143
|
+
type: "array",
|
|
144
|
+
items: {
|
|
145
|
+
$ref: "#/components/schemas/DataSourceCollectionInfo"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
meta: {
|
|
149
|
+
type: "object",
|
|
150
|
+
additionalProperties: true
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"/dataSourcesCollections/{associatedIndex}/fields:list": {
|
|
161
|
+
get: {
|
|
162
|
+
tags: ["dataSourcesCollections.fields"],
|
|
163
|
+
summary: "List external data source collection fields",
|
|
164
|
+
description: [
|
|
165
|
+
"List loaded field metadata for one external data source collection.",
|
|
166
|
+
"",
|
|
167
|
+
"The associatedIndex path parameter is `<dataSourceKey>.<collectionName>`."
|
|
168
|
+
].join("\n"),
|
|
169
|
+
parameters: [
|
|
170
|
+
{
|
|
171
|
+
name: "associatedIndex",
|
|
172
|
+
in: "path",
|
|
173
|
+
required: true,
|
|
174
|
+
description: "External data source collection locator, for example `external.orders`.",
|
|
175
|
+
schema: {
|
|
176
|
+
type: "string"
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
responses: {
|
|
181
|
+
200: {
|
|
182
|
+
description: "OK",
|
|
183
|
+
content: {
|
|
184
|
+
"application/json": {
|
|
185
|
+
schema: {
|
|
186
|
+
type: "array",
|
|
187
|
+
items: {
|
|
188
|
+
type: "object",
|
|
189
|
+
additionalProperties: true
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
},
|
|
198
|
+
"/dataSourcesCollections/{associatedIndex}/fields:apply": {
|
|
199
|
+
post: {
|
|
200
|
+
tags: ["dataSourcesCollections.fields"],
|
|
201
|
+
summary: "Create or update an external data source field",
|
|
202
|
+
description: [
|
|
203
|
+
"Upsert one external data source field from a compact request body.",
|
|
204
|
+
"",
|
|
205
|
+
"Use this endpoint for external data source field metadata, including relation fields.",
|
|
206
|
+
"The associatedIndex path parameter is `<dataSourceKey>.<collectionName>`.",
|
|
207
|
+
"",
|
|
208
|
+
"Relation fields may use compact interfaces such as `m2o`, `o2m`, `oho`, and `m2m`.",
|
|
209
|
+
"The server fills readable relation key defaults when explicit keys are omitted."
|
|
210
|
+
].join("\n"),
|
|
211
|
+
parameters: [
|
|
212
|
+
{
|
|
213
|
+
name: "associatedIndex",
|
|
214
|
+
in: "path",
|
|
215
|
+
required: true,
|
|
216
|
+
description: "External data source collection locator, for example `external.orders`.",
|
|
217
|
+
schema: {
|
|
218
|
+
type: "string"
|
|
219
|
+
}
|
|
220
|
+
}
|
|
221
|
+
],
|
|
222
|
+
requestBody: {
|
|
223
|
+
content: {
|
|
224
|
+
"application/json": {
|
|
225
|
+
schema: { $ref: "#/components/schemas/DataSourceFieldApplyInput" }
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
},
|
|
229
|
+
responses: {
|
|
230
|
+
200: {
|
|
231
|
+
description: "OK",
|
|
232
|
+
content: {
|
|
233
|
+
"application/json": {
|
|
234
|
+
schema: {
|
|
235
|
+
type: "object",
|
|
236
|
+
properties: {
|
|
237
|
+
data: {
|
|
238
|
+
$ref: "#/components/schemas/DataSourceFieldApplyResult"
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
components: {
|
|
250
|
+
schemas: {
|
|
251
|
+
DataSourceInfo: {
|
|
252
|
+
type: "object",
|
|
253
|
+
properties: {
|
|
254
|
+
key: {
|
|
255
|
+
type: "string"
|
|
256
|
+
},
|
|
257
|
+
displayName: {
|
|
258
|
+
type: "string"
|
|
259
|
+
},
|
|
260
|
+
status: {
|
|
261
|
+
type: "string"
|
|
262
|
+
},
|
|
263
|
+
type: {
|
|
264
|
+
type: "string"
|
|
265
|
+
},
|
|
266
|
+
isDBInstance: {
|
|
267
|
+
type: "boolean"
|
|
268
|
+
},
|
|
269
|
+
options: {
|
|
270
|
+
type: "object",
|
|
271
|
+
additionalProperties: true
|
|
272
|
+
},
|
|
273
|
+
errorMessage: {
|
|
274
|
+
type: "string"
|
|
275
|
+
},
|
|
276
|
+
collections: {
|
|
277
|
+
type: "array",
|
|
278
|
+
items: {
|
|
279
|
+
$ref: "#/components/schemas/DataSourceCollectionInfo"
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
additionalProperties: true
|
|
284
|
+
},
|
|
285
|
+
DataSourceCollectionInfo: {
|
|
286
|
+
type: "object",
|
|
287
|
+
properties: {
|
|
288
|
+
name: {
|
|
289
|
+
type: "string"
|
|
290
|
+
},
|
|
291
|
+
title: {
|
|
292
|
+
type: "string"
|
|
293
|
+
},
|
|
294
|
+
fields: {
|
|
295
|
+
type: "array",
|
|
296
|
+
items: {
|
|
297
|
+
type: "object",
|
|
298
|
+
additionalProperties: true
|
|
299
|
+
}
|
|
300
|
+
},
|
|
301
|
+
availableActions: {
|
|
302
|
+
type: "object",
|
|
303
|
+
additionalProperties: true
|
|
304
|
+
},
|
|
305
|
+
unavailableActions: {
|
|
306
|
+
type: "object",
|
|
307
|
+
additionalProperties: true
|
|
308
|
+
}
|
|
309
|
+
},
|
|
310
|
+
additionalProperties: true
|
|
311
|
+
},
|
|
312
|
+
DataSourceFieldApplyInput: {
|
|
313
|
+
type: "object",
|
|
314
|
+
required: ["name"],
|
|
315
|
+
properties: {
|
|
316
|
+
dataSourceKey: {
|
|
317
|
+
type: "string",
|
|
318
|
+
description: "Optional when the path associatedIndex supplies the data source key."
|
|
319
|
+
},
|
|
320
|
+
collectionName: {
|
|
321
|
+
type: "string",
|
|
322
|
+
description: "Optional when the path associatedIndex supplies the collection name."
|
|
323
|
+
},
|
|
324
|
+
name: {
|
|
325
|
+
type: "string"
|
|
326
|
+
},
|
|
327
|
+
title: {
|
|
328
|
+
type: "string"
|
|
329
|
+
},
|
|
330
|
+
interface: {
|
|
331
|
+
type: "string",
|
|
332
|
+
description: "Compact field interface, for example `input`, `m2o`, `o2m`, `oho`, or `m2m`."
|
|
333
|
+
},
|
|
334
|
+
type: {
|
|
335
|
+
type: "string",
|
|
336
|
+
description: "Raw field type. Relation types include `belongsTo`, `hasMany`, `hasOne`, and `belongsToMany`."
|
|
337
|
+
},
|
|
338
|
+
target: {
|
|
339
|
+
type: "string"
|
|
340
|
+
},
|
|
341
|
+
foreignKey: {
|
|
342
|
+
type: "string"
|
|
343
|
+
},
|
|
344
|
+
sourceKey: {
|
|
345
|
+
type: "string"
|
|
346
|
+
},
|
|
347
|
+
targetKey: {
|
|
348
|
+
type: "string"
|
|
349
|
+
},
|
|
350
|
+
through: {
|
|
351
|
+
type: "string"
|
|
352
|
+
},
|
|
353
|
+
otherKey: {
|
|
354
|
+
type: "string"
|
|
355
|
+
},
|
|
356
|
+
targetTitleField: {
|
|
357
|
+
type: "string"
|
|
358
|
+
},
|
|
359
|
+
titleField: {
|
|
360
|
+
type: "string"
|
|
361
|
+
},
|
|
362
|
+
uiSchema: {
|
|
363
|
+
type: "object",
|
|
364
|
+
additionalProperties: true
|
|
365
|
+
},
|
|
366
|
+
settings: {
|
|
367
|
+
type: "object",
|
|
368
|
+
additionalProperties: true
|
|
369
|
+
}
|
|
370
|
+
},
|
|
371
|
+
additionalProperties: true
|
|
372
|
+
},
|
|
373
|
+
DataSourceFieldApplyResult: {
|
|
374
|
+
type: "object",
|
|
375
|
+
properties: {
|
|
376
|
+
data: {
|
|
377
|
+
type: "object",
|
|
378
|
+
additionalProperties: true
|
|
379
|
+
}
|
|
380
|
+
},
|
|
381
|
+
additionalProperties: true
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nocobase/plugin-data-source-manager",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0-alpha.1",
|
|
4
4
|
"main": "dist/server/index.js",
|
|
5
5
|
"displayName": "Data source manager",
|
|
6
6
|
"displayName.ru-RU": "Менеджер управления источниками данных",
|
|
@@ -13,6 +13,8 @@
|
|
|
13
13
|
"homepage.zh-CN": "https://docs-cn.nocobase.com/handbook/data-source-manager",
|
|
14
14
|
"peerDependencies": {
|
|
15
15
|
"@nocobase/client": "2.x",
|
|
16
|
+
"@nocobase/client-v2": "2.x",
|
|
17
|
+
"@nocobase/flow-engine": "2.x",
|
|
16
18
|
"@nocobase/plugin-acl": "2.x",
|
|
17
19
|
"@nocobase/server": "2.x",
|
|
18
20
|
"@nocobase/test": "2.x"
|
|
@@ -20,6 +22,6 @@
|
|
|
20
22
|
"keywords": [
|
|
21
23
|
"Data model tools"
|
|
22
24
|
],
|
|
23
|
-
"gitHead": "
|
|
25
|
+
"gitHead": "303663aba6c6eefa27e6a6435b4c0352074ec40f",
|
|
24
26
|
"license": "Apache-2.0"
|
|
25
27
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
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=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["746"],{93:function(e,t,r){r.r(t),r.d(t,{CollectionMainProvider:function(){return i}});var n=r(156),a=r.n(n),o=r(772),u=r(128);function l(e,t,r,n,a,o,u){try{var l=e[o](u),i=l.value}catch(e){r(e);return}l.done?t(i):Promise.resolve(i).then(n,a)}var i=function(e){var t,r=(0,o.useAPIClient)(),i={url:"collectionCategories:list",params:{paginate:!1,sort:["sort"]}},c=(0,o.useRequest)(i),s=(0,n.useCallback)((t=function(){var e;return function(e,t){var r,n,a,o,u={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]};return o={next:l(0),throw:l(1),return:l(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function l(o){return function(l){var i=[o,l];if(r)throw TypeError("Generator is already executing.");for(;u;)try{if(r=1,n&&(a=2&i[0]?n.return:i[0]?n.throw||((a=n.return)&&a.call(n),0):n.next)&&!(a=a.call(n,i[1])).done)return a;switch(n=0,a&&(i=[2&i[0],a.value]),i[0]){case 0:case 1:a=i;break;case 4:return u.label++,{value:i[1],done:!1};case 5:u.label++,n=i[1],i=[0];continue;case 7:i=u.ops.pop(),u.trys.pop();continue;default:if(!(a=(a=u.trys).length>0&&a[a.length-1])&&(6===i[0]||2===i[0])){u=0;continue}if(3===i[0]&&(!a||i[1]>a[0]&&i[1]<a[3])){u.label=i[1];break}if(6===i[0]&&u.label<a[1]){u.label=a[1],a=i;break}if(a&&u.label<a[2]){u.label=a[2],u.ops.push(i);break}a[2]&&u.ops.pop(),u.trys.pop();continue}i=t.call(e,u)}catch(e){i=[6,e],n=0}finally{r=a=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:return[4,r.request(i)];case 1:return e=t.sent().data,c.mutate(e),[2,(null==e?void 0:e.data)||[]]}})},function(){var e=this,r=arguments;return new Promise(function(n,a){var o=t.apply(e,r);function u(e){l(o,n,a,u,i,"next",e)}function i(e){l(o,n,a,u,i,"throw",e)}u(void 0)})}),[c]);return a().createElement(o.CollectionCategoriesProvider,{service:c,refreshCategory:s},a().createElement(u.Outlet,null))}}}]);
|
|
@@ -1,10 +0,0 @@
|
|
|
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=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["674"],{937:function(e,t,r){r.r(t),r.d(t,{DataSourcePermissionManager:function(){return ep},CurrentRolesContext:function(){return es}});var n,o,a,c,i=r(875),l=r(772),u=r(721),s=r(156),p=r.n(s),m=r(329),d=r(238);function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function y(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function b(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}var v=(0,s.createContext)(null);v.displayName="PermissionContext";var x=function(e){var t,r,n,o=(0,l.useAPIClient)(),a=(0,l.useRecord)(),c=(0,d.useTranslation)().t,i=(0,s.useContext)(es),m=i.snippets;null==m||m.forEach(function(e){i[e]=!0});var x=(t=(0,s.useState)(i),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return f(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return f(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),g=x[0],h=x[1];return(0,s.useEffect)(function(){h(i)},[i]),p().createElement(v.Provider,{value:{currentDataSource:a,currentRecord:g,update:(r=function(e,t){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){var l=[a,i];if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,n=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){c.label=l[1];break}if(6===l[0]&&c.label<o[1]){c.label=o[1],o=l;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(l);break}o[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(e){switch(e.label){case 0:return[4,o.request({url:"dataSources/".concat(a.key,"/roles:update"),data:t.values,method:"post",params:{filterByTk:t.values.roleName}})];case 1:return e.sent(),h(b({},g,t.values)),u.message.success(c("Saved successfully")),[2]}})},n=function(){var e=this,t=arguments;return new Promise(function(n,o){var a=r.apply(e,t);function c(e){y(a,n,o,c,i,"next",e)}function i(e){y(a,n,o,c,i,"throw",e)}c(void 0)})},function(e,t){return n.apply(this,arguments)})}},e.children)},g=(0,s.createContext)({dataSourceKey:"main"}),h=function(e){var t=(0,s.useContext)(es),r=(0,l.useRecord)();return p().createElement(l.RecordContext_deprecated.Provider,{value:b({},t)},p().createElement(g.Provider,{value:{dataSourceKey:r.key}},p().createElement(l.SchemaComponentOptions,{scope:{dataSourceKey:r.key}},e.children)))},O=r(505);function S(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}function P(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function w(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}function C(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var j={name:"dataSourcesCollections",targetKey:"name",filterTargetKey:"name",fields:[{type:"integer",name:"title",interface:"input",uiSchema:{title:'{{t("Collection display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Collection name")}}',type:"string","x-component":"Input"}},{type:"string",name:"type",interface:"input",uiSchema:{title:'{{t("Resource type")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Collection")}}',value:"collection",color:"green"},{label:'{{t("Association")}}',value:"association",color:"blue"}]}},{type:"string",name:"usingConfig",interface:"input",uiSchema:{title:'{{t("Permission policy")}}',type:"string","x-component":"Select",enum:[{label:'{{t("Individual")}}',value:"resourceAction",color:"orange"},{label:'{{t("General")}}',value:"strategy",color:"default"}]}},{type:"hasMany",name:"fields",target:"fields",collectionName:"collections",sourceKey:"name",targetKey:"name",uiSchema:{}}]},A={type:"void","x-decorator":"RoleRecordProvider",properties:C({},(0,i.uid)(),{type:"void","x-decorator":function(e){var t=(0,s.useContext)(g).dataSourceKey;console.log(e,(0,l.useRecord)().key,t);var r=w(P({},e.request),{params:w(P({},e.request.params),{filter:w(P({},e.request.params.filter),{dataSourceKey:t})})});return p().createElement(l.ResourceActionProvider,w(P({},e),{request:r}),e.children)},"x-decorator-props":{collection:j,association:{sourceKey:"name",targetKey:"name"},resourceName:"roles.dataSourcesCollections",request:{resource:"roles.dataSourcesCollections",action:"list",params:{pageSize:20,filter:{hidden:{$isFalsy:!0},dataSourceKey:"{{dataSourceKey}}"},sort:["sort"],appends:["fields"]}}},properties:(C(c={},(0,i.uid)(),{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{title:{$includes:""}},{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"cm.useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"}}}),C(c,"table1",{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"name",useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column0:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{title:{type:"number","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column3:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{usingConfig:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{configure:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-component-props":{type:"primary"},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"Form","x-decorator-props":{useValues:function(e){var t,r,n=(0,l.useRecord)(),o=(0,l.useActionContext)().visible,a=(0,s.useContext)(v).currentDataSource,c=(0,l.useRequest)({resource:"roles.dataSourceResources",resourceOf:n.roleName,action:"get",params:{appends:["actions","actions.scope"],filterByTk:n.name,filter:{dataSourceKey:a.key,name:n.name}}},(t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={manual:!0},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t));return(0,s.useEffect)(function(){if(!n.exists)return void e.onSuccess({data:{}});o&&c.run()},[o,n.exists]),c}},title:'{{t("Configure permission")}}',properties:{usingActionsConfig:{title:'{{t("Permission policy")}}',"x-component":"Radio.Group","x-decorator":"FormItem",default:!1,enum:[{value:!1,label:'{{t("General")}}'},{value:!0,label:'{{t("Individual")}}'}],"x-reactions":{target:"actions",fulfill:{state:{hidden:"{{!$self.value}}"}}}},actions:{"x-component":"RolesResourcesActions","x-decorator":"FormItem"},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-component-props":{type:"primary",useAction:function(){var e=(0,O.useForm)(),t=(0,l.useAPIClient)(),r=(0,l.useRecord)(),n=(0,l.useActionContext)(),o=(0,l.useResourceActionContext)().refresh,a=(0,s.useContext)(v).currentDataSource;return{run:function(){var c;return(c=function(){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){var l=[a,i];if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,n=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){c.label=l[1];break}if(6===l[0]&&c.label<o[1]){c.label=o[1],o=l;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(l);break}o[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(c){switch(c.label){case 0:var i,l;return[4,t.resource("roles.dataSourceResources",r.roleName)[r.exists?"update":"create"]({filterByTk:r.name,filter:{dataSourceKey:a.key,name:r.name},values:(i=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e.values),l=l={name:r.name,dataSourceKey:a.key},Object.getOwnPropertyDescriptors?Object.defineProperties(i,Object.getOwnPropertyDescriptors(l)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(l)).forEach(function(e){Object.defineProperty(i,e,Object.getOwnPropertyDescriptor(l,e))}),i)})];case 1:return c.sent(),n.setVisible(!1),o(),[2]}})},function(){var e=this,t=arguments;return new Promise(function(r,n){var o=c.apply(e,t);function a(e){S(o,r,n,a,i,"next",e)}function i(e){S(o,r,n,a,i,"throw",e)}a(void 0)})})()}}}}}}}}}}}}}}}}}),c)})},E={name:"dataSources",filterTargetKey:"name",targetKey:"name",fields:[{type:"string",name:"displayName",interface:"input",uiSchema:{title:'{{t("Display name")}}',type:"number","x-component":"Input",required:!0}},{type:"string",name:"key",interface:"input",uiSchema:{title:'{{t("Name")}}',type:"number","x-component":"Input",required:!0}}]},k=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return{type:"object",properties:{block1:{type:"void","x-decorator":"ResourceActionProvider","x-decorator-props":{collection:E,resourceName:"dataSources",request:{resource:"dataSources",action:"list",params:{pageSize:50,showAnonymous:!0,appends:[]}}},"x-component":"CollectionProvider_deprecated","x-component-props":{collection:E},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{}},table:{type:"void","x-uid":"input","x-component":"Table.Void","x-component-props":{rowKey:"key",rowSelection:{type:"checkbox"},useDataSource:"{{ cm.useDataSourceFromRAC }}"},properties:{column1:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{displayName:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column2:{type:"void","x-decorator":"Table.Column.Decorator","x-component":"Table.Column",properties:{key:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},column4:{type:"void",title:'{{t("Actions")}}',"x-component":"Table.Column",properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{view:{type:"void",title:'{{t("Configure")}}',"x-component":"Action.Link","x-decorator":"ACLActionProvider","x-acl-action":"roles:update","x-component-props":{},properties:{drawer:{type:"void","x-component":"Action.Drawer","x-decorator":"PermissionProvider",title:'{{t("Configure permissions")}}',properties:{tabs1:{type:"void","x-component":"Tabs","x-component-props":{},properties:function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({tab1:{type:"void",title:'{{t("General action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{role:{"x-component":"RoleConfigure"}}},tab2:{type:"void",title:'{{t("Action permissions")}}',"x-component":"Tabs.TabPane","x-component-props":{},properties:{roleCollectionsSchema:A}}},e)}}}}}}}}}}}}}}}},R=(0,s.createContext)([]);R.displayName="AvailableActionsContext";var D=function(e){var t=(0,l.useRequest)({resource:"availableActions",action:"list"}),r=t.data;return t.loading?p().createElement(u.Spin,null):p().createElement(R.Provider,{value:null==r?void 0:r.data},e.children)},T=function(){return(0,s.useContext)(R)},F={designable:!1},I=function(){var e=(0,l.useRecord)(),t=(0,l.usePlugin)(m.default);return p().createElement("div",null,p().createElement(l.SchemaComponentContext.Provider,{value:F},p().createElement(D,null,p().createElement(l.SchemaComponent,{schema:k(t.getExtendedTabs()),components:{SettingCenterPermissionProvider:l.SettingCenterPermissionProvider,PermissionProvider:x},scope:{dataSourceKey:e.key}}))))},N=r(563);function K(e,t,r,n,o,a,c){try{var i=e[a](c),l=i.value}catch(e){r(e);return}i.done?t(l):Promise.resolve(l).then(n,o)}var B=function(){var e=(0,s.useContext)(v).update,t=(0,d.useTranslation)().t,r=(0,l.useRecord)().key;return p().createElement(l.SchemaComponent,{schema:{type:"void",name:"form","x-component":"Form","x-component-props":{useValues:function(e){var t=(0,l.useAPIClient)(),n=(0,s.useContext)(es);return(0,l.useRequest)(function(){return t.resource("dataSources/".concat(r,"/roles")).get({filterByTk:n.name}).then(function(e){var t,r,n=null==e||null==(t=e.data)?void 0:t.data;return null==(r=n.snippets)||r.forEach(function(e){n[e]=!0}),{data:n}})},e)},effects:function(){var t,r;(0,N.onFieldChange)("*",(t=function(t,r){return function(e,t){var r,n,o,a,c={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){var l=[a,i];if(r)throw TypeError("Generator is already executing.");for(;c;)try{if(r=1,n&&(o=2&l[0]?n.return:l[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,l[1])).done)return o;switch(n=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return c.label++,{value:l[1],done:!1};case 5:c.label++,n=l[1],l=[0];continue;case 7:l=c.ops.pop(),c.trys.pop();continue;default:if(!(o=(o=c.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){c=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){c.label=l[1];break}if(6===l[0]&&c.label<o[1]){c.label=o[1],o=l;break}if(o&&c.label<o[2]){c.label=o[2],c.ops.push(l);break}o[2]&&c.ops.pop(),c.trys.pop();continue}l=t.call(e,c)}catch(e){l=[6,e],n=0}finally{r=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}(this,function(n){switch(n.label){case 0:if(!r.modified)return[2];return[4,e(t,r)];case 1:return n.sent(),[2]}})},r=function(){var e=this,r=arguments;return new Promise(function(n,o){var a=t.apply(e,r);function c(e){K(a,n,o,c,i,"next",e)}function i(e){K(a,n,o,c,i,"throw",e)}c(void 0)})},function(e,t){return r.apply(this,arguments)}))}},properties:{"strategy.actions":{description:t("All collections use general action permissions by default; permission configured individually will override the default one."),"x-component":"StrategyActions"}}}})},V=r(632),q=r(467);function M(){var e,t,r=(e=["\n .ant-table-cell {\n > .ant-space-horizontal {\n .ant-space-item-split:has(+ .ant-space-item:empty) {\n display: none;\n }\n }\n }\n "],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return M=function(){return r},r}var _=(0,r(933).createStyles)(function(e){return(0,e.css)(M())});function z(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function $(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var L=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"main";return{name:"dataSources/".concat(e,"/rolesResourcesScopes"),fields:[{type:"string",name:"name",interface:"input",uiSchema:{title:'{{t("Scope name")}}',type:"string","x-component":"Input",required:!0}}]}},G=function(){var e=(0,s.useContext)(en).name,t=(0,l.useFormBlockContext)();return(0,s.useEffect)(function(){t.form.setInitialValues({resourceName:e})},[e]),{form:t.form}},U=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,r=$(z({},e),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,r)},W=function(e){var t=((0,l.useCollectionRecord)().data||{}).id,r=$(z({},e,(0,l.useDestroyActionProps)()),{disabled:[1,2].includes(t)});return p().createElement(l.Action.Link,r)},H=function(e){var t=L(e);return{type:"object",properties:{scope:{"x-component":"RecordPicker","x-component-props":{size:"small",fieldNames:{label:"name",value:"id"},multiple:!1,association:{target:"rolesResourcesScopes"},onChange:"{{ onChange }}"},properties:{selector:{type:"void",title:'{{ t("Select record") }}',"x-component":"RecordPicker.Selector","x-component-props":{className:"nb-record-picker-selector"},properties:{tableBlock:{type:"void","x-decorator":"TableSelectorProvider","x-decorator-props":{collection:t,resource:"dataSources/".concat(e,"/rolesResourcesScopes"),action:"list",params:{pageSize:20},useParams:function(){return{filter:{$or:[{resourceName:(0,s.useContext)(en).name},{resourceName:null}]}}},rowKey:"id"},"x-component":"BlockItem",properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{create:{type:"void",title:'{{ t("Add new") }}',"x-action":"create","x-component":"Action","x-component-props":{icon:"PlusOutlined",openMode:"drawer",type:"primary"},properties:{drawer:{type:"void",title:'{{ t("Add record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"dataSources/".concat(e,"/rolesResourcesScopes"),collection:t},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":G,properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(en);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{create:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useCreateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}}},value:{type:"array","x-component":"TableV2.Selector","x-use-component-props":"useTableSelectorProps","x-component-props":{rowKey:"id",rowSelection:{type:"checkbox"}},properties:{column1:{type:"void","x-decorator":"TableV2.Column.Decorator","x-component":"TableV2.Column",properties:{name:{type:"string","x-component":"CollectionField","x-read-pretty":!0}}},actions:{type:"void",title:'{{ t("Actions") }}',"x-action-column":"actions","x-component":"TableV2.Column",properties:{actions:{type:"void","x-decorator":"DndContext","x-component":"Space","x-component-props":{split:"|"},properties:{edit:{type:"void",title:'{{ t("Edit") }}',"x-action":"update","x-decorator":"ACLActionProvider","x-component":U,"x-component-props":{openMode:"drawer",icon:"EditOutlined"},properties:{drawer:{type:"void",title:'{{ t("Edit record") }}',"x-component":"Action.Container","x-component-props":{className:"nb-action-popup"},properties:{formBlock:{type:"void","x-decorator":"FormBlockProvider","x-decorator-props":{resource:"dataSources/".concat(e,"/rolesResourcesScopes"),collection:t,action:"get",useParams:"{{ useParamsFromRecord }}"},"x-component":"CardItem",properties:{form:{type:"void","x-component":"FormV2","x-use-component-props":"useFormBlockProps",properties:{name:{type:"string","x-component":"CollectionField","x-decorator":"FormItem"},scope:{type:"object",title:'{{t("Data scope")}}',name:"filter","x-decorator":"FormItem","x-component":(0,l.withDynamicSchemaProps)(function(e){return p().createElement(l.FlagProvider,{isVariableParsedInOtherContext:!0},p().createElement(l.Filter,e))}),"x-use-component-props":function(){var e=(0,s.useContext)(en);return{options:(0,l.useFilterFieldOptions)(e.fields)}},"x-component-props":{dynamicComponent:l.VariableInput}},actions:{type:"void","x-component":"ActionBar","x-component-props":{layout:"one-column",style:{marginTop:24}},properties:{update:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"useUpdateActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}},destroy:{title:'{{ t("Delete") }}',"x-action":"destroy","x-decorator":"ACLActionProvider","x-component-props":{icon:"DeleteOutlined",confirm:{title:"{{t('Delete record')}}",content:"{{t('Are you sure you want to delete it?')}}"}},"x-component":W}}}}}}}}},footer:{"x-component":"Action.Container.Footer","x-component-props":{},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{},properties:{submit:{title:'{{ t("Submit") }}',"x-action":"submit","x-component":"Action","x-use-component-props":"usePickActionProps","x-component-props":{type:"primary",htmlType:"submit"}}}}}}}}}}}}};function J(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var Q=(0,s.createContext)(null);Q.displayName="RolesResourcesScopesSelectedRowKeysContext";var X=function(e){var t,r=(t=(0,s.useState)([]),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return J(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return J(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),n=r[0],o=r[1];return p().createElement(Q.Provider,{value:[n,o]},e.children)},Y=function(e){var t,r=(0,s.useMemo)(function(){return(0,N.createForm)({values:{scope:e.value}})},[]),n=H(((null==(t=(0,l.useCollectionRecord)())?void 0:t.parentRecord.data)||{}).key);return p().createElement(l.FormProvider,{form:r},p().createElement(l.SchemaComponent,{components:{RolesResourcesScopesSelectedRowKeysProvider:X},scope:{onChange:function(t){var r;null==e||null==(r=e.onChange)||r.call(e,t)}},schema:n}))};function Z(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}function ee(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}function et(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(t)).forEach(function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}),e}var er=function(e){var t,r={};return null==e||null==(t=e.forEach)||t.call(e,function(e){e.name&&(r[e.name]=e,r[e.name].scope=(0,q.isEmpty)(e.scope)?null:e.scope)}),r},en=(0,s.createContext)({});en.displayName="RoleResourceCollectionContext";var eo=(0,O.connect)(function(e){var t,r=_().styles,n=function(t){var r=t.map(function(e){return et(ee({},e),{scope:(0,q.isEmpty)(e.scope)?null:e.scope})});e.onChange(r)},o=(0,l.useRecord)(),a=T(),c=o.fields,i=(0,l.useCompile)(),s=(0,d.useTranslation)().t,m=er((0,O.useField)().value||[]),f=function(e,t){var r,n=null==m?void 0:m[e];return!!n&&(null==n||null==(r=n.fields)?void 0:r.includes(t))},y=a.filter(function(e){return e.allowConfigureFields}),b=null==c?void 0:c.map(function(e){var t=ee({},e),r=!0,n=!1,o=void 0;try{for(var a,c=y[Symbol.iterator]();!(r=(a=c.next()).done);r=!0){var i=a.value;t[i.name]=f(i.name,e.name)}}catch(e){n=!0,o=e}finally{try{r||null==c.return||c.return()}finally{if(n)throw o}}return t}),v=function(e){if(m[e])delete m[e];else{var t;m[e]={name:e,fields:null==c||null==(t=c.map)?void 0:t.call(c,function(e){return e.name})}}n(Object.values(m))},x=function(e,t){m[e]||v(e),m[e].scope=t,n(Object.values(m))},g={},h=!0,S=!1,P=void 0;try{for(var w,C=y[Symbol.iterator]();!(h=(w=C.next()).done);h=!0){var j,A,E=w.value;g[E.name]=(null==c?void 0:c.length)===(null==m||null==(A=m[E.name])||null==(j=A.fields)?void 0:j.length)}}catch(e){S=!0,P=e}finally{try{h||null==C.return||C.return()}finally{if(S)throw P}}return p().createElement("div",null,p().createElement(en.Provider,{value:o},p().createElement(V.FormLayout,{layout:"vertical"},p().createElement(V.FormItem,{label:s("Action permission")},p().createElement(u.Table,{className:r,size:"small",pagination:!1,columns:[{dataIndex:"displayName",title:s("Action display name"),render:function(e){return i(e)}},{dataIndex:"onNewRecord",title:s("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},s("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},s("Action on existing records"))}},{dataIndex:"enabled",title:s("Allow"),render:function(e,t){return p().createElement(u.Checkbox,{checked:e,onChange:function(){v(t.name)}})}},{dataIndex:"scope",title:s("Data scope"),render:function(e,t){return!t.onNewRecord&&p().createElement(Y,{value:e,onChange:function(e){x(t.name,e)}})}}],dataSource:null==a?void 0:a.map(function(e){var t=!1,r=null;return m[e.name]&&(t=!0,e.onNewRecord||(r=m[e.name].scope)),et(ee({},e),{enabled:t,scope:r})})})),p().createElement(V.FormItem,{label:s("Field permission")},p().createElement(u.Table,{className:r,pagination:!1,dataSource:b,columns:[{dataIndex:["uiSchema","title"],title:s("Field display name"),render:function(e,t){return i(e)||t.name}}].concat(function(e){if(Array.isArray(e))return Z(e)}(t=y.map(function(e){var t=null==g?void 0:g[e.name];return{dataIndex:e.name,title:p().createElement(p().Fragment,null,p().createElement(u.Checkbox,{checked:t,onChange:function(){var r,o=m[e.name]||{name:e.name};t?o.fields=[]:o.fields=null==c||null==(r=c.map)?void 0:r.call(c,function(e){return e.name}),m[e.name]=o,n(Object.values(m))}}),i(e.displayName)),render:function(t,r){return p().createElement(u.Checkbox,{checked:t,onChange:function(){var o=m[e.name]||{name:e.name},a=o.fields||[];if(t){var c=a.indexOf(r.name);a.splice(c,1)}else a.push(r.name);o.fields=a,m[e.name]=o,n(Object.values(m))}})}}}))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(t)||function(e,t){if(e){if("string"==typeof e)return Z(e,void 0);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return Z(e,t)}}(t)||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 ea(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,n=Array(t);r<t;r++)n[r]=e[r];return n}var ec=function(e){if(!e)return{};var t,r={};return null==e||null==(t=e.forEach)||t.call(e,function(e){var t,n=(t=e.split(":"),function(e){if(Array.isArray(e))return e}(t)||function(e,t){var r,n,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var a=[],c=!0,i=!1;try{for(o=o.call(e);!(c=(r=o.next()).done)&&(a.push(r.value),a.length!==t);c=!0);}catch(e){i=!0,n=e}finally{try{c||null==o.return||o.return()}finally{if(i)throw n}}return a}}(t,2)||function(e,t){if(e){if("string"==typeof e)return ea(e,2);var r=Object.prototype.toString.call(e).slice(8,-1);if("Object"===r&&e.constructor&&(r=e.constructor.name),"Map"===r||"Set"===r)return Array.from(r);if("Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return ea(e,t)}}(t,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=n[0],a=n[1];r[o]=a||"all"}),r},ei=function(e){var t=[];for(var r in e)if(Object.prototype.hasOwnProperty.call(e,r)){var n=e[r];"all"===n?t.push(r):t.push("".concat(r,":").concat(n))}return t},el=(0,O.connect)(function(e){var t=e.onChange,r=T(),n=(0,l.useCompile)(),o=(0,d.useTranslation)().t,a=ec((0,O.useField)().value);return p().createElement("div",null,p().createElement(u.Table,{size:"small",pagination:!1,rowKey:"name",columns:[{dataIndex:"displayName",title:o("Action display name"),render:function(e){return n(e)}},{dataIndex:"onNewRecord",title:o("Action type"),render:function(e){return e?p().createElement(u.Tag,{color:"green"},o("Action on new records")):p().createElement(u.Tag,{color:"geekblue"},o("Action on existing records"))}},{dataIndex:"enabled",title:o("Allow"),render:function(e,r){return p().createElement(u.Checkbox,{checked:e,onChange:function(n){e?delete a[r.name]:a[r.name]="all",t(ei(a))}})}},{dataIndex:"scope",title:o("Data scope"),render:function(e,r){return!r.onNewRecord&&p().createElement(u.Select,{"data-testid":"select-data-scope",popupMatchSelectWidth:!1,size:"small",value:e,options:[{label:o("All records"),value:"all"},{label:o("Own records"),value:"own"}],onChange:function(e){a[r.name]=e,t(ei(a))}})}}],dataSource:null==r?void 0:r.map(function(e){var t,r,n="all",o=!1;return a[e.name]&&(o=!0,n=a[e.name]),t=function(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{},n=Object.keys(r);"function"==typeof Object.getOwnPropertySymbols&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(e){return Object.getOwnPropertyDescriptor(r,e).enumerable}))),n.forEach(function(t){var n;n=r[t],t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n})}return e}({},e),r=r={enabled:o,scope:n},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):(function(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r.push.apply(r,n)}return r})(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))}),t})}))}),eu={type:"object",properties:(n={},o=(0,i.uid)(),a={"x-component":"DataSourceTable"},o in n?Object.defineProperty(n,o,{value:a,enumerable:!0,configurable:!0,writable:!0}):n[o]=a,n)},es=(0,s.createContext)({});es.displayName="CurrentRolesContext";var ep=function(e){var t=e.role;return p().createElement(u.Card,{"data-testid":"acl-pane-card",bordered:!1},p().createElement(es.Provider,{value:t},p().createElement(l.SchemaComponent,{components:{MenuConfigure:l.MenuConfigure,RoleConfigure:B,RolesResourcesActions:eo,DataSourceTable:I,StrategyActions:el,SettingsCenterConfigure:l.SettingsCenterConfigure,SettingCenterProvider:l.SettingCenterProvider,ResourceActionProvider:l.ResourceActionProvider,RoleRecordProvider:h},schema:eu})))}}}]);
|
|
@@ -1,10 +0,0 @@
|
|
|
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=self.webpackChunk_nocobase_plugin_data_source_manager||[]).push([["398"],{593:function(e,t,n){n.d(t,{E:function(){return s}});var r=n(482),l=n(772),i=n(505),a=n(721),o=n(156),c=n.n(o),u=n(973),s=function(e){var t=(0,l.useCollectionRecordData)()||{},n=(0,l.useCompile)();return(0,i.useField)().editable?c().createElement(l.Input,e):(null==t?void 0:t.filterTargetKey)?n(t.title):c().createElement("div",{style:{display:"inline"}},c().createElement(a.Popover,{trigger:["click"],content:c().createElement(u.L,{size:"small",style:{width:"20em"}})},c().createElement(r.ExclamationCircleTwoTone,{style:{marginRight:"0.3em"},twoToneColor:"#faad14"})),n(t.title))}},202:function(e,t,n){n.d(t,{a:function(){return u}});var r=n(772),l=n(721),i=n(156),a=n.n(i),o=n(128),c=n(973),u=function(e){var t=e.collectionName,n=(0,r.useApp)(),u=(0,o.useParams)().name,s=void 0===u?"main":u,d=(0,i.useMemo)(function(){return n.getCollectionManager(s).getCollection(t)},[n,s,t]);return!(null==d?void 0:d.filterTargetKey)&&a().createElement(l.Alert,{style:{marginBottom:16},type:"warning",message:a().createElement(c.L,null)})}},973:function(e,t,n){n.d(t,{L:function(){return p}});var r=n(772),l=n(721),i=n(156),a=n.n(i),o=n(128),c=n(551),u=n(642);function s(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 d(e,t,n,r,l,i,a){try{var o=e[i](a),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,l)}function f(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var i=[],a=!0,o=!1;try{for(l=l.call(e);!(a=(n=l.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){o=!0,r=e}finally{try{a||null==l.return||l.return()}finally{if(o)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(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 s(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.")}()}var p=function(e){var t,n=e.size,s=e.style,p=(0,r.useAPIClient)(),m=(0,o.useParams)().name,h=void 0===m?"main":m,y=(0,r.useCollectionRecordData)(),v=(0,r.useApp)(),b=f((0,i.useState)(),2),g=b[0],x=b[1],w=f((0,i.useState)(),2),S=w[0],E=w[1],C=(0,r.useCompile)(),A=(0,i.useMemo)(function(){return v.getCollectionManager(h).getCollection(y.name)},[v,h,y.name]),F=(0,i.useMemo)(function(){return v.getCollectionManager(h).getCollectionFields(y.name).filter(function(e){if(!e.interface)return!1;var t=v.dataSourceManager.collectionFieldInterfaceManager.getFieldInterface(e.interface);return null!=t&&!!t.titleUsable}).map(function(e){var t;return{label:C(null==(t=e.uiSchema)?void 0:t.title),value:e.name}})},[v,C,h,y.name]),I=(0,r.useResourceActionContext)().refresh,T=(0,i.useContext)(u.I),k=(0,c.EL)().t;return a().createElement("div",{style:function(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}({},s)},k("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"===n?a().createElement("br",null):" ",a().createElement(l.Space.Compact,{style:{marginTop:5}},a().createElement(l.Select,{onChange:function(e,t){console.log(e,t),x(e),E(t.map(function(e){return e.label}).join(","))},placeholder:k("Select field"),size:"small",options:F,mode:"multiple",style:{width:"200px"}}),a().createElement(l.Popconfirm,{placement:"bottom",title:a().createElement("div",{style:{width:"15em"}},S?k('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:S}):k("Please select a field.")),onConfirm:(t=function(){var e;return function(e,t){var n,r,l,i,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){var c=[i,o];if(n)throw TypeError("Generator is already executing.");for(;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(t){switch(t.label){case 0:if(!g)return[2];if("main"!==h)return[3,2];return[4,p.request({url:"collections:update",method:"post",params:{filterByTk:y.name},data:{filterTargetKey:g}})];case 1:return t.sent(),[3,4];case 2:return[4,p.request({url:"dataSources/".concat(h,"/collections:update"),method:"post",params:{filterByTk:y.name},data:{filterTargetKey:g}})];case 3:t.sent(),t.label=4;case 4:return null==T||null==(e=T.refresh)||e.call(T),I(),[4,v.dataSourceManager.getDataSource(h).reload()];case 5:return t.sent(),A.setOption("filterTargetKey",g),[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,l){var i=t.apply(e,n);function a(e){d(i,r,l,a,o,"next",e)}function o(e){d(i,r,l,a,o,"throw",e)}a(void 0)})})},a().createElement(l.Button,{type:"primary",size:"small"},k("OK")))))}},642:function(e,t,n){n.d(t,{I:function(){return R},f:function(){return U}});var r=n(964),l=n(563),i=n(505),a=n(772),o=n(721),c=n(156),u=n.n(c),s=n(238),d=n(467),f=n(202),p={name:"fields",fields:[{type:"string",name:"type",interface:"input",uiSchema:{title:'{{ t("Storage type") }}',type:"string","x-component":"Select",enum:[{label:"String",value:"string"}],required:!0}},{type:"string",name:"interface",interface:"input",uiSchema:{title:'{{ t("Field interface") }}',type:"string","x-component":"Select",enum:"{{interfaces}}"}},{type:"string",name:"title",interface:"input",uiSchema:{title:'{{ t("Field display name") }}',type:"string","x-component":"Input",required:!0}},{type:"string",name:"name",interface:"input",uiSchema:{title:'{{ t("Field name") }}',type:"string","x-component":"Input"}},{type:"string",name:"description",interface:"input",uiSchema:{title:'{{ t("Description") }}',type:"string","x-component":"Input.TextArea"}}]},m=n(482),h=n(551);function y(e,t,n,r,l,i,a){try{var o=e[i](a),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,l)}var v=function(){var e,t=(0,h.EL)().t,n=(0,a.useAPIClient)(),r=(0,a.useCollectionRecordData)(),l=(0,a.useDataSource)(),i=(0,a.useResourceActionContext)().refresh;return"db2cm"===r.from||"view"===r.template||"sql"===r.template?null:u().createElement(o.Button,{icon:u().createElement(m.SyncOutlined,null),onClick:(e=function(){return function(e,t){var n,r,l,i,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){var c=[i,o];if(n)throw TypeError("Generator is already executing.");for(;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,n.resource("mainDataSource").syncFields({values:{collections:[r.name]}})];case 1:return e.sent(),i(),l.reload(),o.message.success(t("Sync successfully")),[2]}})},function(){var t=this,n=arguments;return new Promise(function(r,l){var i=e.apply(t,n);function a(e){y(i,r,l,a,o,"next",e)}function o(e){y(i,r,l,a,o,"throw",e)}a(void 0)})})},t("Sync from database"))};function b(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 g(e,t,n,r,l,i,a){try{var o=e[i](a),c=o.value}catch(e){n(e);return}o.done?t(c):Promise.resolve(c).then(r,l)}function x(e){return function(){var t=this,n=arguments;return new Promise(function(r,l){var i=e.apply(t,n);function a(e){g(i,r,l,a,o,"next",e)}function o(e){g(i,r,l,a,o,"throw",e)}a(void 0)})}}function w(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function S(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){w(e,t,n[t])})}return e}function E(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function C(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,l=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=l){var i=[],a=!0,o=!1;try{for(l=l.call(e);!(a=(n=l.next()).done)&&(i.push(n.value),!t||i.length!==t);a=!0);}catch(e){o=!0,r=e}finally{try{a||null==l.return||l.return()}finally{if(o)throw r}}return i}}(e,t)||F(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 A(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function F(e,t){if(e){if("string"==typeof e)return b(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 b(e,t)}}function I(e,t){var n,r,l,i,a={label:0,sent:function(){if(1&l[0])throw l[1];return l[1]},trys:[],ops:[]};return i={next:o(0),throw:o(1),return:o(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function o(i){return function(o){var c=[i,o];if(n)throw TypeError("Generator is already executing.");for(;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 T(){var e=A(["\n tr {\n display: flex;\n }\n td,\n th {\n flex: 2;\n width: 0;\n min-width: 120px;\n\n /* Field display name */\n &:nth-child(2) {\n flex: 2.5;\n min-width: 150px;\n }\n\n /* Field name */\n &:nth-child(3) {\n flex: 2;\n min-width: 120px;\n }\n\n /* Field interface - 需要更多空间 */\n &:nth-child(4) {\n flex: 2.5;\n min-width: 180px;\n }\n\n /* Field type */\n &:nth-child(5) {\n flex: 1.8;\n min-width: 120px;\n }\n\n /* Title field */\n &:nth-child(6) {\n flex: 1.2;\n min-width: 100px;\n }\n\n /* Description */\n &:nth-child(7) {\n flex: 2;\n min-width: 120px;\n }\n\n /* Actions */\n &:last-child {\n flex: 1.5;\n min-width: 120px;\n }\n }\n .ant-table-selection-column,\n .ant-table-row-expand-icon-cell {\n flex-basis: 50px !important;\n min-width: 50px;\n flex: 0;\n }\n"]);return T=function(){return e},e}function k(){var e=A(["\n tr {\n display: flex;\n }\n td,\n th {\n flex: 2;\n width: 0;\n min-width: 120px;\n\n /* Title column for inherited fields - 需要更多空间显示完整标题 */\n &:nth-child(2) {\n flex: 4;\n min-width: 300px;\n white-space: nowrap;\n }\n\n /* Field display name */\n &:nth-child(3) {\n flex: 2.5;\n min-width: 150px;\n }\n\n /* Field name */\n &:nth-child(4) {\n flex: 2;\n min-width: 120px;\n }\n\n /* Field interface */\n &:nth-child(5) {\n flex: 2.5;\n min-width: 180px;\n }\n\n /* Field type */\n &:nth-child(6) {\n flex: 1.8;\n min-width: 120px;\n }\n\n /* Title field */\n &:nth-child(7) {\n flex: 1.2;\n min-width: 100px;\n }\n\n /* Actions */\n &:last-child {\n flex: 1.5;\n min-width: 120px;\n }\n }\n .ant-table-selection-column,\n .ant-table-row-expand-icon-cell {\n flex-basis: 50px !important;\n min-width: 50px;\n flex: 0;\n }\n"]);return k=function(){return e},e}function O(){var e=A(["\n tr {\n display: flex;\n }\n td,\n th {\n flex: 2;\n width: 0;\n min-width: 100px;\n\n /* Field display name */\n &:nth-child(1) {\n flex: 2.5;\n min-width: 150px;\n }\n\n /* Field name - 减少宽度 */\n &:nth-child(2) {\n flex: 1.5;\n min-width: 100px;\n }\n\n /* Field interface */\n &:nth-child(3) {\n flex: 2;\n min-width: 150px;\n }\n\n /* Field type */\n &:nth-child(4) {\n flex: 1.5;\n min-width: 100px;\n }\n\n /* Title field */\n &:nth-child(5) {\n flex: 1.2;\n min-width: 80px;\n }\n\n /* Description */\n &:nth-child(6) {\n flex: 2;\n min-width: 120px;\n }\n\n /* Actions */\n &:last-child {\n flex: 1.8;\n min-width: 140px;\n }\n }\n"]);return O=function(){return e},e}function P(){var e=A(["\n font-weight: 500;\n white-space: nowrap;\n min-width: 300px;\n "]);return P=function(){return e},e}function j(){var e=A(["\n justify-content: flex-end;\n display: flex;\n margin-bottom: 16px;\n "]);return j=function(){return e},e}var D={association:{sourceKey:"name",targetKey:"name"},collection:p,request:{resource:"collections.fields",action:"list",params:{paginate:!1,filter:{$or:[{"interface.$not":null},{"options.source.$notEmpty":!0}]},sort:["sort"]}}},R=(0,c.createContext)(null),M=function(e){return u().createElement(R.Provider,{value:(0,a.useResourceActionContext)()},u().createElement(a.ResourceActionProvider,D,e.children))},_=(0,r.css)(T()),K=(0,r.css)(k()),B=(0,r.css)(O()),q="Default title for each record",L=function(e,t){var n=[];return e.forEach(function(e){var r=e.children.filter(function(e){var n;return null==e||null==(n=e.availableTypes)?void 0:n.includes(t)});n.push({label:e.label,key:e.key,children:r})}),n.filter(function(e){return"sort"===t?"advanced"===e.key:e.children.length>0})},N=function(e){var t,n,r,l,i,s,d=e.value,f=e.record,p=e.updateFieldHandler,m=e.isPresetField,h=void 0!==m&&m,y=(0,a.useCompile)(),v=(0,a.useCollectionManager_deprecated)().getInterface,b=(0,a.useFieldInterfaceOptions)(),g=C((0,c.useState)(d),2),w=g[0],E=g[1],A=C((0,c.useState)([]),2),F=A[0],T=A[1],k=f.type,O=(0,c.useCallback)((t=x(function(e){var t,n,r;return I(this,function(l){switch(l.label){case 0:return r=v(e),E(e),[4,p(f,{interface:e,uiSchema:S({title:null==f||null==(t=f.uiSchema)?void 0:t.title},null==r||null==(n=r.default)?void 0:n.uiSchema)},!1)];case 1:return l.sent(),[2]}})}),function(e){return t.apply(this,arguments)}),[f]);return((0,c.useEffect)(function(){!h&&((null==f?void 0:f.possibleTypes)||k)&&T(L(b,k))},[f,h,k,b]),(0,c.useEffect)(function(){if(!h&&F.length){var e,t,n,r,l,i=null==(n=F[0])||null==(t=n.children)||null==(e=t[0])?void 0:e.name;i&&((1!==F.length||(null==(l=F[0])||null==(r=l.children)?void 0:r.length)!==1||w===i)&&(!w||(null==F?void 0:F.some(function(e){var t,n;return null==(n=e.children)||null==(t=n.some)?void 0:t.call(n,function(e){return e.name===w})})))||O(i))}},[w,h,F,O]),["oho","obo","o2m","m2o","m2m"].includes(f.interface))?u().createElement(o.Tag,null,y(null==(i=b.find(function(e){return"relation"===e.key}))||null==(l=i.children)||null==(r=l.find(function(e){return e.name===d}))?void 0:r.label)):!F.length||F.every(function(e){return!e.children.length})?u().createElement(o.Tag,null,y(null==(s=v(d))?void 0:s.title)):u().createElement(o.Select,{"aria-label":"field-interface-".concat(null==f?void 0:f.interface),value:w,style:{width:"100%"},popupMatchSelectWidth:!1,disabled:h,onChange:(n=x(function(e){var t,n,r;return I(this,function(l){switch(l.label){case 0:if(h)return[2];return r=v(e),E(e),[4,p(f,{interface:e,uiSchema:S({title:null==f||null==(t=f.uiSchema)?void 0:t.title},null==r||null==(n=r.default)?void 0:n.uiSchema)})];case 1:return l.sent(),[2]}})}),function(e){return n.apply(this,arguments)})},F.map(function(e){return u().createElement(o.Select.OptGroup,{key:e.key,label:y(e.label)},e.children.map(function(e){return u().createElement(o.Select.Option,{key:e.name,value:e.name},y(e.label))}))}))},z=function(e){var t,n=e.value,r=e.record,l=e.updateFieldHandler,i=e.isPresetField,a=(0,d.omit)(r,["__parent","__collectionName"]),c=(null==a?void 0:a.possibleTypes)||[];return Array.isArray(null==a?void 0:a.possibleTypes)&&!(void 0!==i&&i)&&c.includes(n)?u().createElement(o.Select,{"aria-label":"field-type-".concat(n),defaultValue:n,popupMatchSelectWidth:!1,style:{width:"100%"},options:(null==a?void 0:a.possibleTypes.map(function(e){return{label:e,value:e}}))||[],onChange:(t=x(function(e){return I(this,function(t){switch(t.label){case 0:return[4,l(r,{type:e})];case 1:return t.sent(),[2]}})}),function(e){return t.apply(this,arguments)})}):u().createElement(o.Tag,null,n)},H=function(e){var t,n=(0,a.useCompile)();(0,a.useCollectionManager_deprecated)().getInterface;var r=(0,s.useTranslation)().t,l=(0,a.useResourceActionContext)().setState,i=e.collectionResource||{},d=i.targetKey,f=i.resource,p=(0,a.useRecord)(),m=C(u().useState(null),2),h=m[0],y=m[1],v=(0,a.useCollectionManager_deprecated)(),b=v.refreshCM,g=v.isTitleField,A=v.getTemplate,F=p[d],T=p.titleField,k=A(p.template),O=(0,a.useAPIClient)(),P=(0,c.useContext)(R),j=e.collectionInfo,D=(0,a.useApp)(),M=o.App.useApp().modal,K=D.pm.get("data-source-main").getCollectionPresetFields().map(function(e){var t;return null==(t=e.value)?void 0:t.interface}).filter(function(e){return e}),B=(t=x(function(t,n){var l,i,a=arguments;return I(this,function(c){switch(c.label){case 0:var u;if(l=!(a.length>2)||void 0===a[2]||a[2],u=x(function(){return I(this,function(l){switch(l.label){case 0:return l.trys.push([0,3,,4]),[4,f.update({filterByTk:t.name,values:E(S({},n),{collectionName:t.collectionName})})];case 1:return l.sent(),[4,e.refreshAsync()];case 2:return l.sent(),o.message.success(r("Saved successfully")),b(),[3,4];case 3:return console.error("Failed to update field:",l.sent()),o.message.error(r("Save failed")),[3,4];case 4:return[2]}})}),i=function(){return u.apply(this,arguments)},!l)return[3,1];return M.confirm({title:r("Save"),content:r("Are you sure you want to save it?"),onOk:i}),[3,3];case 1:return[4,i()];case 2:c.sent(),c.label=3;case 3:return[2]}})}),function(e,n){return t.apply(this,arguments)}),L=[{dataIndex:["uiSchema","title"],title:r("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:7}},n(e))}},{dataIndex:"name",title:r("Field name")},{dataIndex:"type",title:r("Field type"),render:function(e,t){return u().createElement(z,{value:e,record:t,updateFieldHandler:B,isPresetField:"db2cm"===j.from||K.includes(t.interface)})}},{dataIndex:"interface",title:r("Field interface"),render:function(e,t){return u().createElement(N,{value:e,record:t,updateFieldHandler:B,isPresetField:"db2cm"===j.from||K.includes(t.interface)})}},{dataIndex:"titleField",title:r("Title field"),render:function(t,n){var l,i=(l=x(function(t){var l;return I(this,function(i){switch(i.label){case 0:return y(n),[4,O.request({url:"collections:update",method:"post",params:{filterByTk:F},data:{titleField:t?n.name:"id"}})];case 1:return i.sent(),null==P||null==(l=P.refresh)||l.call(P),[4,e.refreshAsync()];case 2:return i.sent(),y(null),b(),o.message.success(r("Saved successfully")),[2]}})}),function(e){return l.apply(this,arguments)});return g(n)?u().createElement(o.Tooltip,{title:r(q),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{"aria-label":"switch-title-field-".concat(n.name),size:"small",loading:n.name===(null==h?void 0:h.name),checked:n.name===(T||"id"),onChange:i})):null}},{dataIndex:"description",title:r("Description"),render:function(e){return u().createElement(a.Input.ReadPretty,{value:e,ellipsis:!0})}},{dataIndex:"actions",title:r("Actions"),render:function(e,t){var n={confirm:{title:r("Delete record"),content:r("Are you sure you want to delete it?")},useAction:a.useDestroyActionAndRefreshCM,disabled:(0,a.isDeleteButtonDisabled)(t)||(null==k?void 0:k.forbidDeletion),title:r("Delete")};return u().createElement(a.RecordProvider,{record:t,parent:p},u().createElement(o.Space,{size:"middle"},u().createElement(a.EditCollectionField,{role:"button","aria-label":"edit-button-".concat(t.name),type:"primary"}),u().createElement(a.Action.Link,n)))}}];return u().createElement(o.Table,{rowKey:"name",columns:L,showHeader:!0,pagination:!1,dataSource:e.fields,className:_,rowSelection:{type:"checkbox",getCheckboxProps:function(e){return{"aria-label":"checkbox-".concat(e.name)}},onChange:function(t){l(function(n){return E(S({},n),w({},e.type,t))})}}})},$=function(e){var t=(0,a.useCompile)(),n=(0,a.useCollectionManager_deprecated)().getInterface,r=(e.collectionResource||{}).targetKey,l=(0,a.useRecord)(),i=C(u().useState(null),2),d=i[0],f=i[1],p=(0,s.useTranslation)().t,m=(0,a.useCollectionManager_deprecated)(),h=m.refreshCM,y=m.isTitleField,v=l[r],b=l.titleField,g=l.name,w=(0,c.useContext)(R),S=(0,a.useAPIClient)(),E=[{dataIndex:["uiSchema","rawTitle"],title:p("Field display name"),render:function(e){return u().createElement("div",{style:{marginLeft:1}},t(e))}},{dataIndex:"name",title:p("Field name")},{dataIndex:"interface",title:p("Field interface"),render:function(e){var r;return u().createElement(o.Tag,null,t(null==(r=n(e))?void 0:r.title))}},{dataIndex:"type",title:p("Field type"),render:function(e,t){return u().createElement(o.Tag,null,e)}},{dataIndex:"titleField",title:p("Title field"),render:function(t,n){var r,l=(r=x(function(t){var r;return I(this,function(l){switch(l.label){case 0:return f(n),[4,S.request({url:"collections:update",method:"post",params:{filterByTk:v},data:{titleField:t?n.name:"id"}})];case 1:return l.sent(),null==w||null==(r=w.refresh)||r.call(w),[4,e.refreshAsync()];case 2:return l.sent(),f(null),h(),o.message.success(p("Saved successfully")),[2]}})}),function(e){return r.apply(this,arguments)});return y(n)?u().createElement(o.Tooltip,{title:p(q),placement:"right",overlayInnerStyle:{textAlign:"center"}},u().createElement(o.Switch,{size:"small",loading:n.name===(null==d?void 0:d.name),checked:n.name===(b||"id"),onChange:l})):null}},{dataIndex:"description",title:p("Description"),render:function(e){return u().createElement(a.Input.ReadPretty,{value:e,ellipsis:!0})}},{dataIndex:"actions",title:p("Actions"),render:function(e,t){return u().createElement(a.RecordProvider,{record:t,parent:l},u().createElement(o.Space,null,u().createElement(a.OverridingCollectionField,{type:"primary",currentCollection:g}),u().createElement(a.ViewCollectionField,{type:"primary"})))}}];return u().createElement(o.Table,{rowKey:"name",columns:E,showHeader:!1,pagination:!1,dataSource:e.fields.filter(function(e){return e.interface}),className:B})},G=function(){var e,t=(0,a.useCompile)(),n=(0,i.useField)(),d=(0,a.useRecord)(),p=d.name,m=d.template,h=((0,a.useCurrentAppInfo)()||{data:{database:{}}}).data.database,y=(0,a.useCollectionManager_deprecated)(),g=(y.getInterface,y.getInheritCollections),x=y.getCollection,w=y.getTemplate,C=(0,c.useMemo)(function(){return(0,l.createForm)()},[]),A=(0,a.useAttach)(C.createArrayField(E(S({},n.props),{basePath:""}))),I=(0,s.useTranslation)().t,T=(0,a.useResourceContext)(),k=(0,c.useContext)(a.ResourceActionContext),O=k.refreshAsync,D=k.data,R=w(m),M=g(p),_=[{dataIndex:"title",title:I("Field display name"),render:function(e){return u().createElement("div",{className:(0,r.css)(P())},e)}},{dataIndex:"name",title:I("Field name")},{dataIndex:"interface",title:I("Field interface")},{dataIndex:"type",title:I("Field type")},{dataIndex:"titleField",title:I("Title field")},{dataIndex:"actions",title:I("Actions")}],B=((null==D?void 0:D.data)||[]).filter(function(e){return e.interface||e.primaryKey||e.isForeignKey}),q=[];q.push.apply(q,function(e){if(Array.isArray(e))return b(e)}(e=M.map(function(e){var n=x(e);if(n)return{key:e,title:"".concat(I("Inherited fields")," - ")+t(null==n?void 0:n.title),inherit:!0,fields:(null==n?void 0:n.fields)||[]}}).filter(Boolean))||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||F(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.")}());var L=(0,c.useMemo)(function(){return{useAction:function(){return(0,a.useBulkDestroyActionAndRefreshCM)(!0)},title:I("Delete"),icon:"DeleteOutlined",disabled:null==R?void 0:R.forbidDeletion,confirm:{title:I("Delete record"),content:I("Are you sure you want to delete it?")}}},[I]);return u().createElement(i.FormContext.Provider,{value:C},u().createElement(i.FieldContext.Provider,{value:A},u().createElement(f.a,{collectionName:p}),u().createElement(o.Space,{align:"end",className:(0,r.css)(j())},u().createElement(a.Action,L),u().createElement(a.SyncFieldsAction,{type:"primary"}),u().createElement(a.SyncSQLFieldsAction,{refreshCMList:O}),u().createElement(v,null),u().createElement(a.SchemaComponent,{schema:{type:"object",properties:S({},null==R?void 0:R.configureActions)}}),u().createElement(a.AddCollectionField,{type:"primary",database:h})),B.length>0&&u().createElement("div",null,u().createElement(H,{fields:B,collectionInfo:n.record,collectionResource:T,refreshAsync:O,type:"all"})),q.filter(function(e){return e.fields.length}).length>0&&u().createElement(o.Table,{rowKey:"key",columns:_,dataSource:q.filter(function(e){return e.fields.length}),pagination:!1,showHeader:!1,className:K,expandable:{defaultExpandAllRows:!0,defaultExpandedRowKeys:q.map(function(e){return e.key}),expandedRowRender:function(e){return u().createElement($,{fields:e.fields,collectionResource:T,refreshAsync:O})}}})))},U=function(){return u().createElement(M,null,u().createElement(G,null))}}}]);
|