@gadmin2n/schematics 0.0.70 → 0.0.72
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/lib/application/files/gadmin2-game-angle-demo/config/prisma/system.prisma +21 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/gadmin-cli.json +9 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package-lock.json +15579 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/package.json +5 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/seed/permissions.ts +16 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/app.module.ts +2 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/agenda/agenda.controller.ts +106 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/agenda/agenda.module.ts +10 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/src/modules/agenda/agenda.service.ts +569 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/server/yarn.lock +1159 -481
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/.env +1 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/package.json +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/agentPanel/inspectorActions.ts +130 -3
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumCard/index.tsx +5 -5
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/components/canvas/NumLineCard/index.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/config/routeRegistry.tsx +15 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/DevShell.tsx +55 -43
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/dev-shell/SkillMenu.tsx +1 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/en/common.json +2 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/locales/zh_CN/common.json +2 -4
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/index.tsx +536 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/agenda/show.tsx +671 -0
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx +9 -60
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx +2 -2
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/ComponentThumbnail.tsx +3 -1
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/canvasContextMenuRegistry.tsx +11 -11
- package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/vite-env.d.ts +12 -0
- package/package.json +1 -1
package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasPage.tsx
CHANGED
|
@@ -148,7 +148,6 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
148
148
|
id: string;
|
|
149
149
|
componentType: string;
|
|
150
150
|
code: string;
|
|
151
|
-
mode: 'api' | 'sql';
|
|
152
151
|
} | null>(null);
|
|
153
152
|
|
|
154
153
|
// ── PromptModal state(通用文本输入弹窗)──
|
|
@@ -178,7 +177,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
178
177
|
skill?: string,
|
|
179
178
|
) => {
|
|
180
179
|
const prompt = generatePrompt({
|
|
181
|
-
skill: skill ?? 'canvas-
|
|
180
|
+
skill: skill ?? 'canvas-sql-query',
|
|
182
181
|
pageInfo: agent?.pageInfo ?? {
|
|
183
182
|
resourceName: '',
|
|
184
183
|
pageType: 'unknown',
|
|
@@ -456,7 +455,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
456
455
|
{
|
|
457
456
|
key: 'data-source',
|
|
458
457
|
icon: <DatabaseOutlined />,
|
|
459
|
-
label: t('canvas.dataSource.
|
|
458
|
+
label: t('canvas.dataSource.label'),
|
|
460
459
|
onClick: () => {
|
|
461
460
|
if (
|
|
462
461
|
componentType === 'NumCard' ||
|
|
@@ -469,51 +468,11 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
469
468
|
id: itemMenu.id,
|
|
470
469
|
componentType,
|
|
471
470
|
code: item?.code ?? '',
|
|
472
|
-
mode: 'api',
|
|
473
471
|
});
|
|
474
472
|
} else {
|
|
475
|
-
// 其他组件:弹 modal 收集描述后触发 agent
|
|
476
473
|
menuActionContext.showPrompt({
|
|
477
|
-
label: t('canvas.dataSource.
|
|
478
|
-
placeholder: t('canvas.dataSource.
|
|
479
|
-
defaultValue: '',
|
|
480
|
-
onConfirm: (value) => {
|
|
481
|
-
if (!value.trim()) return;
|
|
482
|
-
triggerDataSourceAgent(
|
|
483
|
-
itemMenu.id,
|
|
484
|
-
componentType,
|
|
485
|
-
item?.code ?? '',
|
|
486
|
-
value.trim(),
|
|
487
|
-
);
|
|
488
|
-
},
|
|
489
|
-
});
|
|
490
|
-
}
|
|
491
|
-
setItemMenu(null);
|
|
492
|
-
},
|
|
493
|
-
},
|
|
494
|
-
{
|
|
495
|
-
key: 'data-source-sql',
|
|
496
|
-
icon: <DatabaseOutlined />,
|
|
497
|
-
label: t('canvas.dataSource.sql'),
|
|
498
|
-
onClick: () => {
|
|
499
|
-
if (
|
|
500
|
-
componentType === 'NumCard' ||
|
|
501
|
-
componentType === 'Table' ||
|
|
502
|
-
componentType === 'BarChart' ||
|
|
503
|
-
componentType === 'LineChart' ||
|
|
504
|
-
componentType === 'RadarChart'
|
|
505
|
-
) {
|
|
506
|
-
setDataSourceModal({
|
|
507
|
-
id: itemMenu.id,
|
|
508
|
-
componentType,
|
|
509
|
-
code: item?.code ?? '',
|
|
510
|
-
mode: 'sql',
|
|
511
|
-
});
|
|
512
|
-
} else {
|
|
513
|
-
// 其他组件:弹通用输入 modal
|
|
514
|
-
menuActionContext.showPrompt({
|
|
515
|
-
label: t('canvas.dataSource.sql'),
|
|
516
|
-
placeholder: t('canvas.dataSource.sqlPlaceholder'),
|
|
474
|
+
label: t('canvas.dataSource.label'),
|
|
475
|
+
placeholder: t('canvas.dataSource.placeholder'),
|
|
517
476
|
defaultValue: '',
|
|
518
477
|
onConfirm: (value) => {
|
|
519
478
|
if (!value.trim()) return;
|
|
@@ -973,9 +932,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
973
932
|
dataSourceModal.componentType,
|
|
974
933
|
newCode,
|
|
975
934
|
userPrompt || undefined,
|
|
976
|
-
|
|
977
|
-
? 'canvas-sql-query'
|
|
978
|
-
: 'canvas-data-query',
|
|
935
|
+
'canvas-sql-query',
|
|
979
936
|
);
|
|
980
937
|
}}
|
|
981
938
|
onCancel={() => setDataSourceModal(null)}
|
|
@@ -1048,9 +1005,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
1048
1005
|
dataSourceModal.componentType,
|
|
1049
1006
|
newCode,
|
|
1050
1007
|
userPrompt,
|
|
1051
|
-
|
|
1052
|
-
? 'canvas-sql-query'
|
|
1053
|
-
: 'canvas-data-query',
|
|
1008
|
+
'canvas-sql-query',
|
|
1054
1009
|
);
|
|
1055
1010
|
}}
|
|
1056
1011
|
onCancel={() => setDataSourceModal(null)}
|
|
@@ -1141,9 +1096,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
1141
1096
|
'BarChart',
|
|
1142
1097
|
newCode,
|
|
1143
1098
|
userPrompt,
|
|
1144
|
-
|
|
1145
|
-
? 'canvas-sql-query'
|
|
1146
|
-
: 'canvas-data-query',
|
|
1099
|
+
'canvas-sql-query',
|
|
1147
1100
|
);
|
|
1148
1101
|
}}
|
|
1149
1102
|
onCancel={() => setDataSourceModal(null)}
|
|
@@ -1316,9 +1269,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
1316
1269
|
'LineChart',
|
|
1317
1270
|
newCode,
|
|
1318
1271
|
userPrompt || undefined,
|
|
1319
|
-
|
|
1320
|
-
? 'canvas-sql-query'
|
|
1321
|
-
: 'canvas-data-query',
|
|
1272
|
+
'canvas-sql-query',
|
|
1322
1273
|
);
|
|
1323
1274
|
}}
|
|
1324
1275
|
onCancel={() => setDataSourceModal(null)}
|
|
@@ -1344,9 +1295,7 @@ const CanvasPage: React.FC<CanvasPageProps> = ({
|
|
|
1344
1295
|
dataSourceModal.componentType,
|
|
1345
1296
|
dataSourceModal.code,
|
|
1346
1297
|
userPrompt,
|
|
1347
|
-
|
|
1348
|
-
? 'canvas-sql-query'
|
|
1349
|
-
: 'canvas-data-query',
|
|
1298
|
+
'canvas-sql-query',
|
|
1350
1299
|
);
|
|
1351
1300
|
}}
|
|
1352
1301
|
onCancel={() => setDataSourceModal(null)}
|
package/dist/lib/application/files/gadmin2-game-angle-demo/web/src/routes/canvas/CanvasToolbar.tsx
CHANGED
|
@@ -36,8 +36,8 @@ const CanvasToolbar: React.FC<CanvasToolbarProps> = ({
|
|
|
36
36
|
onPreview,
|
|
37
37
|
}) => {
|
|
38
38
|
const { t } = useTranslation();
|
|
39
|
-
const [expanded, setExpanded] = useState(
|
|
40
|
-
const [everExpanded, setEverExpanded] = useState(
|
|
39
|
+
const [expanded, setExpanded] = useState(true);
|
|
40
|
+
const [everExpanded, setEverExpanded] = useState(true);
|
|
41
41
|
|
|
42
42
|
const handleToggle = useCallback(() => {
|
|
43
43
|
setExpanded((prev) => {
|
|
@@ -161,29 +161,29 @@ function numCardActions(
|
|
|
161
161
|
...(isWithChart
|
|
162
162
|
? [
|
|
163
163
|
{
|
|
164
|
-
key: 'toggle-
|
|
165
|
-
icon: /
|
|
164
|
+
key: 'toggle-axis',
|
|
165
|
+
icon: /showAxis\s*=\s*\{true\}/.test(code) ? (
|
|
166
166
|
<MinusOutlined />
|
|
167
167
|
) : (
|
|
168
168
|
<PlusOutlined />
|
|
169
169
|
),
|
|
170
|
-
danger: /
|
|
171
|
-
label: /
|
|
172
|
-
? (t?.('canvas.menu.
|
|
173
|
-
: (t?.('canvas.menu.
|
|
170
|
+
danger: /showAxis\s*=\s*\{true\}/.test(code) ? true : undefined,
|
|
171
|
+
label: /showAxis\s*=\s*\{true\}/.test(code)
|
|
172
|
+
? (t?.('canvas.menu.hideAxis') ?? '隐藏坐标轴')
|
|
173
|
+
: (t?.('canvas.menu.showAxis') ?? '显示坐标轴'),
|
|
174
174
|
onClick: () => {
|
|
175
175
|
let newCode = code;
|
|
176
|
-
const
|
|
177
|
-
if (
|
|
178
|
-
newCode = newCode.replace(/\s*
|
|
176
|
+
const hasAxis = /showAxis\s*=\s*\{true\}/.test(newCode);
|
|
177
|
+
if (hasAxis) {
|
|
178
|
+
newCode = newCode.replace(/\s*showAxis\s*=\s*\{true\}/, '');
|
|
179
179
|
} else {
|
|
180
180
|
if (/testId\s*=/.test(newCode)) {
|
|
181
181
|
newCode = newCode.replace(
|
|
182
182
|
/([ \t]*)(testId\s*=)/,
|
|
183
|
-
`$
|
|
183
|
+
`$1showAxis={true}\n$1$2`,
|
|
184
184
|
);
|
|
185
185
|
} else {
|
|
186
|
-
newCode = newCode.replace(/\/>/, `
|
|
186
|
+
newCode = newCode.replace(/\/>/, ` showAxis={true}\n/>`);
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
updateCode(newCode);
|
|
@@ -1 +1,13 @@
|
|
|
1
1
|
/// <reference types="vite/client" />
|
|
2
|
+
|
|
3
|
+
interface ImportMetaEnv {
|
|
4
|
+
readonly VITE_BACKEND_URL?: string;
|
|
5
|
+
readonly VITE_API_URL?: string;
|
|
6
|
+
readonly VITE_DEPLOY_NAME?: string;
|
|
7
|
+
readonly VITE_AGENT_ID?: string;
|
|
8
|
+
readonly VITE_AGENT_BASE_URL?: string;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
interface ImportMeta {
|
|
12
|
+
readonly env: ImportMetaEnv;
|
|
13
|
+
}
|