@loom-framework/core 0.1.0-alpha.167 → 0.1.0-alpha.169

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.
Files changed (43) hide show
  1. package/builtin-skills/app-skill/references/process-builder.md +59 -34
  2. package/builtin-skills/app-skill/references/process-metrics.md +5 -5
  3. package/builtin-skills/loom/SKILL.md +19 -11
  4. package/builtin-skills/loom/references/data-model.md +30 -0
  5. package/builtin-skills/loom/references/eject.md +0 -19
  6. package/dist/cli/helpers/app-tsx-wiring-engine.d.ts.map +1 -1
  7. package/dist/cli/helpers/app-tsx-wiring-engine.js +5 -16
  8. package/dist/cli/helpers/app-tsx-wiring-engine.js.map +1 -1
  9. package/dist/cli/helpers/column-template.d.ts.map +1 -1
  10. package/dist/cli/helpers/column-template.js +9 -2
  11. package/dist/cli/helpers/column-template.js.map +1 -1
  12. package/dist/cli/helpers/field-template.d.ts.map +1 -1
  13. package/dist/cli/helpers/field-template.js +6 -2
  14. package/dist/cli/helpers/field-template.js.map +1 -1
  15. package/dist/cli/templates/crud-page.d.ts.map +1 -1
  16. package/dist/cli/templates/crud-page.js +12 -6
  17. package/dist/cli/templates/crud-page.js.map +1 -1
  18. package/dist/cli/templates/dashboard-page.d.ts.map +1 -1
  19. package/dist/cli/templates/dashboard-page.js +123 -7
  20. package/dist/cli/templates/dashboard-page.js.map +1 -1
  21. package/dist/cli/templates/login-page.d.ts +1 -1
  22. package/dist/cli/templates/login-page.js +1 -1
  23. package/dist/cli/templates/model-management-page.d.ts +1 -1
  24. package/dist/cli/templates/model-management-page.js +1 -1
  25. package/dist/cli/templates/notification-center-page.d.ts +1 -1
  26. package/dist/cli/templates/notification-center-page.js +1 -1
  27. package/dist/cli/templates/notification-detail-page.d.ts +1 -1
  28. package/dist/cli/templates/notification-detail-page.js +1 -1
  29. package/dist/cli/templates/process-management-page.d.ts +1 -1
  30. package/dist/cli/templates/process-management-page.js +1 -1
  31. package/dist/cli/templates/skill-management-page.d.ts +1 -1
  32. package/dist/cli/templates/skill-management-page.js +1 -1
  33. package/dist/cli/templates/user-management-page.d.ts +1 -1
  34. package/dist/cli/templates/user-management-page.js +1 -1
  35. package/dist/config.d.ts +9 -0
  36. package/dist/config.d.ts.map +1 -1
  37. package/dist/config.js +1 -0
  38. package/dist/config.js.map +1 -1
  39. package/dist/types/model.d.ts +2 -0
  40. package/dist/types/model.d.ts.map +1 -1
  41. package/dist/types/process.d.ts +36 -6
  42. package/dist/types/process.d.ts.map +1 -1
  43. package/package.json +1 -1
@@ -20,8 +20,13 @@ export function crudPageTemplate(model, aiButtons, relations) {
20
20
  const hasImport = crud.import !== false;
21
21
  const hasDeleteWithUndo = crud.deleteWithUndo !== false;
22
22
  // Detect field types for conditional logic
23
- const dateFields = model.fields.filter(f => f.type === 'date').map(f => f.name);
23
+ const dateFieldDefs = model.fields.filter(f => f.type === 'date');
24
+ const dateFields = dateFieldDefs.map(f => f.name);
24
25
  const hasDateFields = dateFields.length > 0;
26
+ // Default sort: if model has createdAt, sort by createdAt desc so newest data appears first
27
+ const hasCreatedAt = model.fields.some(f => f.name === 'createdAt');
28
+ const defaultSortField = hasCreatedAt ? 'createdAt' : '';
29
+ const defaultSortOrder = hasCreatedAt ? 'descend' : null;
25
30
  // Build TypeScript interface from fields
26
31
  const fieldDefs = model.fields.map((f) => {
27
32
  const tsType = fieldToTsType(f.type);
@@ -51,7 +56,7 @@ ${dateFields.map(f => ` if (formValues.${f}) formValues.${f} = dayjs(formValu
51
56
  ? `const handleSave = async () => {
52
57
  try {
53
58
  const values = await form.validateFields();
54
- ${dateFields.map(f => ` if (values.${f}) values.${f} = values.${f}.format('YYYY-MM-DD');`).join('\n')}
59
+ ${dateFieldDefs.map(f => ` if (values.${f.name}) values.${f.name} = values.${f.name}.format('${f.dateFormat ?? 'YYYY-MM-DD'}');`).join('\n')}
55
60
  if (editingRecord?.id) {
56
61
  await update(editingRecord.id, values);
57
62
  message.success(t('crud.updateSuccess'));
@@ -155,8 +160,8 @@ interface ${recordType} {
155
160
  ${model.fields.some(f => f.name === 'id') ? '' : ' id: string;\n'}${fieldDefs}
156
161
  }
157
162
 
158
- const modelFields: { name: string; type: string }[] = [
159
- ${model.fields.map(f => ` { name: '${f.name}', type: '${f.type}' },`).join('\n')}
163
+ const modelFields: { name: string; type: string; dateFormat?: string }[] = [
164
+ ${model.fields.map(f => ` { name: '${f.name}', type: '${f.type}'${f.dateFormat ? `, dateFormat: '${f.dateFormat}'` : ''} },`).join('\n')}
160
165
  ];
161
166
 
162
167
  export function ${pascalName}Page(): React.ReactElement {
@@ -168,7 +173,7 @@ export function ${pascalName}Page(): React.ReactElement {
168
173
  const [modalOpen, setModalOpen] = useState(false);
169
174
  const [editingRecord, setEditingRecord] = useState<${recordType} | null>(null);
170
175
  const [tableFilters, setTableFilters] = useState<Record<string, any>>({});
171
- const [tableSorter, setTableSorter] = useState<{ field: string; order: 'ascend' | 'descend' | null }>({ field: '', order: null });
176
+ const [tableSorter, setTableSorter] = useState<{ field: string; order: 'ascend' | 'descend' | null }>({ field: '${defaultSortField}', order: ${defaultSortOrder ? `'${defaultSortOrder}'` : 'null'} });
172
177
  const [currentPage, setCurrentPage] = useState(1);
173
178
  const [pageSize, setPageSize] = useState(10);
174
179
  const [importModalOpen, setImportModalOpen] = useState(false);${hasImport ? '' : ' // only used when import is enabled'}
@@ -201,7 +206,8 @@ export function ${pascalName}Page(): React.ReactElement {
201
206
  const field = modelFields.find(f => f.name === key);
202
207
  if (field?.type === 'date') {
203
208
  // Date range: val is [dayjs, dayjs] stored in filter
204
- apiFilter[key] = { __range: val.map((v: any) => v?.format?.('YYYY-MM-DD') || v) };
209
+ const dateFormat = field.dateFormat || 'YYYY-MM-DD';
210
+ apiFilter[key] = { __range: val.map((v: any) => v?.format?.(dateFormat) || v) };
205
211
  } else if (val.length === 1) {
206
212
  apiFilter[key] = val[0];
207
213
  } else {
@@ -1 +1 @@
1
- {"version":3,"file":"crud-page.js","sourceRoot":"","sources":["../../../src/cli/templates/crud-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"crud-page.js","sourceRoot":"","sources":["../../../src/cli/templates/crud-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACnF,OAAO,EAAE,wBAAwB,EAAE,MAAM,6BAA6B,CAAC;AAEvE,oDAAoD;AACpD,MAAM,UAAU,gBAAgB,CAAC,KAAkB,EAAE,SAA4B,EAAE,SAA4B;IAC7G,MAAM,UAAU,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5C,MAAM,UAAU,GAAG,GAAG,UAAU,QAAQ,CAAC;IACzC,MAAM,cAAc,GAAG,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IAC3E,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC;IAE/C,4CAA4C;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;IAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IACxC,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC;IACxC,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,KAAK,KAAK,CAAC;IAExD,2CAA2C;IAC3C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC;IAClE,MAAM,UAAU,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC;IAE5C,4FAA4F;IAC5F,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC;IACpE,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACzD,MAAM,gBAAgB,GAAG,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzD,yCAAyC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACvC,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACrC,OAAO,KAAK,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,GAAG,CAAC;IAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;IAC3E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM;SAC3B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,uBAAuB;SACtD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;SAChD,IAAI,CAAC,IAAI,CAAC,CAAC;IAEd,2CAA2C;IAC3C,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC,+BAA+B,UAAU;;;EAG7C,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,uBAAuB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;KAGxG;QACD,CAAC,CAAC,+BAA+B,UAAU;;;;KAI1C,CAAC;IAEJ,8CAA8C;IAC9C,MAAM,cAAc,GAAG,aAAa;QAClC,CAAC,CAAC;;;EAGJ,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC,CAAC,UAAU,IAAI,YAAY,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;;;;;;;KAa5I;QACD,CAAC,CAAC;;;;;;;;;;;;;;;KAeD,CAAC;IAEJ,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,EAAE,CAAC;IAExE,4EAA4E;IAC5E,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,4DAA4D;IAEvF,0EAA0E;IAC1E,MAAM,SAAS,GAAG,YAAY,CAAC;IAC/B,MAAM,UAAU,GAAG,uBAAuB,CAAC;IAC3C,MAAM,UAAU,GAAG,gCAAgC,CAAC;IACpD,MAAM,SAAS,GAAG,kEAAkE,CAAC;IACrF,MAAM,UAAU,GAAG,yBAAyB,CAAC;IAE7C,2CAA2C;IAC3C,MAAM,UAAU,GAAG,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/C,MAAM,aAAa,GAAG,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5D,MAAM,WAAW,GAAG,SAAS,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IACxD,MAAM,YAAY,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IAE1F,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,IAAI,QAAQ,CAAC;IAE7C,wBAAwB;IACxB,MAAM,mBAAmB,GAAG,SAAS,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAqC7B,CAAC,CAAC,CAAC,EAAE,CAAC;IAEjB,wBAAwB;IACxB,MAAM,aAAa,GAAG;QACpB,SAAS,CAAC,CAAC,CAAC,6FAA6F,CAAC,CAAC,CAAC,EAAE;QAC9G,SAAS,CAAC,CAAC,CAAC,wGAAwG,CAAC,CAAC,CAAC,EAAE;QACzH;;oBAEgB;KACjB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAEvC,OAAO,wCAAwC,UAAU;kJACuF,UAAU,wCAAwC,SAAS;uBACtL,aAAa,GAAG,WAAW,8BAA8B,UAAU,GAAG,UAAU;qFAClB,SAAS,2CAA2C,WAAW,GAAG,YAAY,CAAC,CAAC,CAAC,kEAAkE,CAAC,CAAC,CAAC,EAAE;;EAE3O,gBAAgB;;YAEN,UAAU;EACpB,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,GAAG,SAAS;;;;EAI5E,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,cAAc,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;kBAGvH,UAAU;;;iEAGqC,YAAY,gBAAgB,UAAU,MAAM,KAAK,CAAC,IAAI;kCACrF,KAAK,CAAC,IAAI;;;uDAGW,UAAU;;oHAEmD,gBAAgB,aAAa,gBAAgB,CAAC,CAAC,CAAC,IAAI,gBAAgB,GAAG,CAAC,CAAC,CAAC,MAAM;;;kEAGlI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sCAAsC;qDACpE,UAAU;iDACd,UAAU;;;;wBAInC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;;;;;;oBAM1E,KAAK,CAAC,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmD1B,cAAc;;IAEd,iBAAiB,CAAC,CAAC,CAAC,uCAAuC,UAAU;;;;;;;;;;KAUpE,CAAC,CAAC,CAAC,uCAAuC,UAAU;;;;;;;;;;;;;KAapD;;IAED,iBAAiB,CAAC,CAAC,CAAC;;;;;;;;;KASnB,CAAC,CAAC,CAAC,EAAE;;IAEN,cAAc;;;;;uCAKqB,UAAU;;;;;;;;;;;;;;;8BAenB,UAAU;EACtC,OAAO;MACH,YAAY,CAAC,CAAC,CAAC;;;;;;8CAMyB,UAAU;;;;;;;;;;sBAUlC,YAAY,IAAI,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;IACnG,CAAC,CAAC,CAAC,EAAE;EACP,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC;wCACO,UAAU;;;;;;;;;;;;;;;;;;;;YAoBtC,aAAa;;;;EAIvB,iBAAiB,CAAC,CAAC,CAAC;;;;;;;;;;;;;;;SAeb,CAAC,CAAC,CAAC,EAAE;;;;;;;;;;;;;cAaA,YAAY,CAAC,CAAC,CAAC;;;;;;;;;qBASR,KAAK,CAAC,IAAI;;;cAGjB,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QACvB,MAAM,QAAQ,GAAG,SAAS,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,OAAO,YAAY,CAAC,CAAC,IAAI,gBAAgB,QAAQ,cAAc,CAAC,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,UAAU,aAAa,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IAC7L,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;;;;gBAItB,CAAC,CAAC,CAAC,EAAE;;;;yDAIoC,QAAQ,oCAAoC,QAAQ;;;;;;;;EAQ3G,SAAS;;;EAGT,mBAAmB;;;;;iBAKJ,UAAU;CAC1B,CAAC;AACF,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,oBAAoB,CAAC,UAAkB;IACrD,OAAO;;mBAEU,UAAU;;;;kBAIX,UAAU,WAAW,UAAU;;sBAE3B,UAAU,CAAC,WAAW,EAAE;YAClC,UAAU;;;;;;iBAML,UAAU;CAC1B,CAAC;AACF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-page.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/dashboard-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAyUxD,2CAA2C;AAC3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CAoLR"}
1
+ {"version":3,"file":"dashboard-page.d.ts","sourceRoot":"","sources":["../../../src/cli/templates/dashboard-page.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAmB,MAAM,0BAA0B,CAAC;AACjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AA8YxD,2CAA2C;AAC3C,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,WAAW,EAAE,GACpB,MAAM,CA8OR"}
@@ -28,8 +28,34 @@ function buildChartDataVarName(widget, index) {
28
28
  : `${suffix.charAt(0).toLowerCase() + suffix.slice(1)}Data${index > 0 ? index : ''}`;
29
29
  return baseName;
30
30
  }
31
+ /** Build enum field names used as groupBy/crossGroupBy in a model's widgets */
32
+ function getEnumGroupByFields(modelName, dashboard, models) {
33
+ const model = models.find(m => m.name === modelName);
34
+ if (!model)
35
+ return [];
36
+ const enumFieldNames = new Set();
37
+ for (const row of dashboard.layout) {
38
+ for (const widget of row.row) {
39
+ if (widget.model !== modelName)
40
+ continue;
41
+ if (widget.groupBy && model.fields.find(f => f.name === widget.groupBy && f.enum)) {
42
+ enumFieldNames.add(widget.groupBy);
43
+ }
44
+ if (widget.crossGroupBy && model.fields.find(f => f.name === widget.crossGroupBy && f.enum)) {
45
+ enumFieldNames.add(widget.crossGroupBy);
46
+ }
47
+ }
48
+ }
49
+ // Also include enum fields used in filterDimensions
50
+ for (const dim of dashboard.filterDimensions ?? []) {
51
+ if (model.fields.find(f => f.name === dim.field && f.enum)) {
52
+ enumFieldNames.add(dim.field);
53
+ }
54
+ }
55
+ return Array.from(enumFieldNames);
56
+ }
31
57
  /** Build useChartData() call string */
32
- function buildUseChartDataCall(widget, modelName, pascalModelName, isBooleanField, usedVarNames) {
58
+ function buildUseChartDataCall(widget, modelName, pascalModelName, isBooleanField, isDateField, usedVarNames, enumLabelMaps) {
33
59
  const listVar = `${pascalModelName.charAt(0).toLowerCase() + pascalModelName.slice(1)}List`;
34
60
  let varName = buildChartDataVarName(widget, 0);
35
61
  // Deduplicate variable names
@@ -54,6 +80,9 @@ function buildUseChartDataCall(widget, modelName, pascalModelName, isBooleanFiel
54
80
  if (isBooleanField) {
55
81
  options.push(`groupByBoolean: '${widget.groupBy}'`);
56
82
  }
83
+ else if (isDateField) {
84
+ options.push(`groupByDate: '${widget.groupBy}'`);
85
+ }
57
86
  else {
58
87
  options.push(`groupBy: '${widget.groupBy}'`);
59
88
  }
@@ -73,14 +102,23 @@ function buildUseChartDataCall(widget, modelName, pascalModelName, isBooleanFiel
73
102
  if (widget.filter) {
74
103
  options.push(`filter: ${JSON.stringify(widget.filter)}`);
75
104
  }
105
+ // Add enumLabels for groupBy field if available
106
+ const labelMapVar = enumLabelMaps.get(modelName);
107
+ if (labelMapVar && widget.groupBy && !isBooleanField && !isDateField) {
108
+ options.push(`enumLabels: ${labelMapVar}`);
109
+ }
110
+ // Add crossGroupLabels for crossGroupBy field if available
111
+ if (labelMapVar && widget.crossGroupBy) {
112
+ options.push(`crossGroupLabels: ${labelMapVar}`);
113
+ }
76
114
  const optionsStr = options.length > 0 ? `{ ${options.join(', ')} }` : '{}';
77
115
  if (is2D) {
78
- return `const ${varName} = useCrossGroupChartData(${listVar}, ${optionsStr});`;
116
+ return `const ${varName} = useCrossGroupChartData(${listVar}, ${optionsStr}, locale);`;
79
117
  }
80
118
  if (isTreemap) {
81
- return `const ${varName} = useTreemapChartData(${listVar}, ${optionsStr});`;
119
+ return `const ${varName} = useTreemapChartData(${listVar}, ${optionsStr}, locale);`;
82
120
  }
83
- return `const ${varName} = useChartData(${listVar}, ${optionsStr});`;
121
+ return `const ${varName} = useChartData(${listVar}, ${optionsStr}, locale);`;
84
122
  }
85
123
  /** Build G2 Spec object literal code */
86
124
  function buildG2Spec(widget, varName) {
@@ -111,6 +149,7 @@ function buildG2Spec(widget, varName) {
111
149
  data: ${varName},
112
150
  encode: { x: 'value', y: 'name', color: 'name' },
113
151
  coordinate: { transform: [{ type: 'transpose' }] },
152
+ axis: { x: { title: false }, y: { title: false } },
114
153
  }`;
115
154
  case 'stacked_bar':
116
155
  if (widget.crossGroupBy) {
@@ -120,6 +159,7 @@ function buildG2Spec(widget, varName) {
120
159
  encode: { x: 'group', y: 'value', color: 'name' },
121
160
  coordinate: { transform: [{ type: 'transpose' }] },
122
161
  transform: [{ type: 'stackY' }],
162
+ axis: { x: { title: false }, y: { title: false } },
123
163
  }`;
124
164
  }
125
165
  return `{
@@ -128,6 +168,7 @@ function buildG2Spec(widget, varName) {
128
168
  encode: { x: 'value', y: 'name', color: 'name' },
129
169
  coordinate: { transform: [{ type: 'transpose' }] },
130
170
  transform: [{ type: 'stackY' }],
171
+ axis: { x: { title: false }, y: { title: false } },
131
172
  }`;
132
173
  case 'grouped_bar':
133
174
  if (widget.crossGroupBy) {
@@ -137,6 +178,7 @@ function buildG2Spec(widget, varName) {
137
178
  encode: { x: 'group', y: 'value', color: 'name' },
138
179
  coordinate: { transform: [{ type: 'transpose' }] },
139
180
  transform: [{ type: 'dodgeX' }],
181
+ axis: { x: { title: false }, y: { title: false } },
140
182
  }`;
141
183
  }
142
184
  return `{
@@ -145,24 +187,28 @@ function buildG2Spec(widget, varName) {
145
187
  encode: { x: 'value', y: 'name', color: 'name' },
146
188
  coordinate: { transform: [{ type: 'transpose' }] },
147
189
  transform: [{ type: 'dodgeX' }],
190
+ axis: { x: { title: false }, y: { title: false } },
148
191
  }`;
149
192
  case 'line':
150
193
  return `{
151
194
  type: 'line',
152
195
  data: ${varName},
153
196
  encode: { x: 'name', y: 'value' },
197
+ axis: { x: { title: false }, y: { title: false } },
154
198
  }`;
155
199
  case 'area':
156
200
  return `{
157
201
  type: 'area',
158
202
  data: ${varName},
159
203
  encode: { x: 'name', y: 'value' },
204
+ axis: { x: { title: false }, y: { title: false } },
160
205
  }`;
161
206
  case 'scatter':
162
207
  return `{
163
208
  type: 'point',
164
209
  data: ${varName},
165
210
  encode: { x: 'name', y: 'value', color: 'name', size: 4 },
211
+ axis: { x: { title: false }, y: { title: false } },
166
212
  }`;
167
213
  case 'radar':
168
214
  return `{
@@ -213,6 +259,7 @@ function buildG2Spec(widget, varName) {
213
259
  data: ${varName},
214
260
  encode: { x: 'name', y: 'group', color: 'value' },
215
261
  style: { inset: 1 },
262
+ axis: { x: { title: false }, y: { title: false } },
216
263
  }`;
217
264
  }
218
265
  return `{
@@ -220,12 +267,14 @@ function buildG2Spec(widget, varName) {
220
267
  data: ${varName},
221
268
  encode: { x: 'name', y: 'name', color: 'value' },
222
269
  style: { inset: 1 },
270
+ axis: { x: { title: false }, y: { title: false } },
223
271
  }`;
224
272
  default:
225
273
  return `{
226
274
  type: 'interval',
227
275
  data: ${varName},
228
276
  encode: { x: 'name', y: 'value', color: 'name' },
277
+ axis: { x: { title: false }, y: { title: false } },
229
278
  }`;
230
279
  }
231
280
  }
@@ -317,11 +366,24 @@ function detectBooleanFields(models) {
317
366
  }
318
367
  return booleanFields;
319
368
  }
369
+ /** Detect date fields for groupByDate usage in generated code */
370
+ function detectDateFields(models) {
371
+ const dateFields = new Set();
372
+ for (const model of models) {
373
+ for (const field of model.fields) {
374
+ if (field.type === 'date') {
375
+ dateFields.add(`${model.name}.${field.name}`);
376
+ }
377
+ }
378
+ }
379
+ return dateFields;
380
+ }
320
381
  /** Generate the full Dashboard page TSX */
321
382
  export function dashboardPageTemplate(dashboard, models) {
322
383
  const pascalName = toPascalCase(dashboard.name);
323
384
  const pageLabel = resolveLocale(dashboard.description, 'zh-CN') || pascalName;
324
385
  const booleanFields = detectBooleanFields(models);
386
+ const dateFields = detectDateFields(models);
325
387
  // Auto-detect date field from models when defaultDateField is not configured
326
388
  const autoDateField = dashboard.defaultDateField ? undefined : models
327
389
  .flatMap(m => m.fields)
@@ -348,20 +410,61 @@ export function dashboardPageTemplate(dashboard, models) {
348
410
  }).join('\n ');
349
411
  // Build useChartData calls — collect all chart (non-stat) widget data hooks
350
412
  // Track used variable names to deduplicate when groupBy is missing
413
+ // Also track enum label maps per model for i18n translation
351
414
  const chartDataHooks = [];
352
415
  const usedVarNames = new Set();
416
+ const enumLabelMaps = new Map(); // modelName → variable name
417
+ for (const modelName of usedModels) {
418
+ const enumFields = getEnumGroupByFields(modelName, dashboard, models);
419
+ if (enumFields.length > 0) {
420
+ const pascalModel = toPascalCase(modelName);
421
+ const varName = `${pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1)}EnumLabels`;
422
+ enumLabelMaps.set(modelName, varName);
423
+ }
424
+ }
353
425
  for (const row of dashboard.layout) {
354
426
  for (const widget of row.row) {
355
427
  if (widget.type !== 'stat') {
356
428
  const pascalModel = toPascalCase(widget.model);
357
429
  const isBoolean = booleanFields.has(`${widget.model}.${widget.groupBy}`);
358
- const hookCall = buildUseChartDataCall(widget, widget.model, pascalModel, isBoolean, usedVarNames);
430
+ const isDate = dateFields.has(`${widget.model}.${widget.groupBy}`);
431
+ const hookCall = buildUseChartDataCall(widget, widget.model, pascalModel, isBoolean, isDate, usedVarNames, enumLabelMaps);
359
432
  if (hookCall) {
360
433
  chartDataHooks.push(hookCall);
361
434
  }
362
435
  }
363
436
  }
364
437
  }
438
+ // Determine if any model has enum fields used in filters
439
+ const hasEnumFilterFields = (dashboard.filterDimensions ?? []).some(dim => models.some(m => dashboard.models.includes(m.name) && m.fields.find(f => f.name === dim.field && f.enum)));
440
+ // Build DashboardFilterBar enumLabelsMap: per-field nested map for filter dropdowns
441
+ const filterEnumLabelsVar = hasEnumFilterFields ? 'filterFieldLabels' : '';
442
+ const filterFieldNames = (dashboard.filterDimensions ?? [])
443
+ .filter(d => d.type === 'select')
444
+ .map(d => d.field);
445
+ const filterEnumLabelsCode = hasEnumFilterFields
446
+ ? Array.from(usedModels).map(modelName => {
447
+ const pascalModel = toPascalCase(modelName);
448
+ const camelModel = pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1);
449
+ const model = models.find(m => m.name === modelName);
450
+ const modelFilterFields = filterFieldNames.filter(f => model?.fields.some(mf => mf.name === f && mf.enum));
451
+ if (modelFilterFields.length === 0)
452
+ return '';
453
+ return `const ${camelModel}FilterLabels = useMemo(() => buildFieldEnumLabelsMap(${camelModel}Schema, ${JSON.stringify(modelFilterFields)}), [${camelModel}Schema]);`;
454
+ }).filter(Boolean).join('\n ') + `\n const filterFieldLabels = useMemo(() => ({${Array.from(usedModels).map(modelName => {
455
+ const pascalModel = toPascalCase(modelName);
456
+ const camelModel = pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1);
457
+ const model = models.find(m => m.name === modelName);
458
+ const modelFilterFields = filterFieldNames.filter(f => model?.fields.some(mf => mf.name === f && mf.enum));
459
+ return modelFilterFields.length > 0 ? `...${camelModel}FilterLabels` : '';
460
+ }).filter(Boolean).join(', ')} }), [${Array.from(usedModels).map(modelName => {
461
+ const pascalModel = toPascalCase(modelName);
462
+ const camelModel = pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1);
463
+ const model = models.find(m => m.name === modelName);
464
+ const modelFilterFields = filterFieldNames.filter(f => model?.fields.some(mf => mf.name === f && mf.enum));
465
+ return modelFilterFields.length > 0 ? `${camelModel}FilterLabels` : '';
466
+ }).filter(Boolean).join(', ')}]);`
467
+ : '';
365
468
  // Build layout rows JSX
366
469
  let widgetCounter = 0;
367
470
  const layoutJsx = dashboard.layout.map((layoutRow) => {
@@ -406,14 +509,14 @@ ${cols}
406
509
  }).join('\n\n');
407
510
  return `import React, { useState, useMemo, useEffect, useRef } from 'react';
408
511
  import { Row, Col, Card } from 'antd';
409
- import { useData, useChartData, useCrossGroupChartData, useTreemapChartData, DashboardChart, DashboardFilterBar, CountUp, useLocale, registerMessages, useAppShell } from '@loom-framework/frontend-antd';
512
+ import { useData, useChartData, useCrossGroupChartData, useTreemapChartData, DashboardChart, DashboardFilterBar, CountUp, useLocale, registerMessages, useSchema, buildEnumLabelsMap, buildFieldEnumLabelsMap } from '@loom-framework/frontend-antd';
410
513
 
411
514
  ${i18nRegistration}
412
515
 
413
516
  ${interfaces}
414
517
 
415
518
  export function ${pascalName}Page(): React.ReactElement {
416
- const { t } = useLocale();
519
+ const { t, locale } = useLocale();
417
520
  const [dateRange, setDateRange] = useState<[string, string] | null>(null);
418
521
  const [filterValues, setFilterValues] = useState<Record<string, string | string[] | undefined>>({});
419
522
 
@@ -421,6 +524,18 @@ export function ${pascalName}Page(): React.ReactElement {
421
524
  const dateField = defaultDateField${dashboard.layout.flatMap(r => r.row).find(w => w.dateField) ? ` || '${dashboard.layout.flatMap(r => r.row).find(w => w.dateField).dateField}'` : ''};
422
525
 
423
526
  ${useDataHooks}
527
+ ${Array.from(usedModels).map(modelName => {
528
+ const pascalModel = toPascalCase(modelName);
529
+ const camelModel = pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1);
530
+ return `const { schema: ${camelModel}Schema } = useSchema('${modelName}');`;
531
+ }).join('\n ')}
532
+ ${Array.from(enumLabelMaps.entries()).map(([modelName, varName]) => {
533
+ const pascalModel = toPascalCase(modelName);
534
+ const camelModel = pascalModel.charAt(0).toLowerCase() + pascalModel.slice(1);
535
+ const fields = getEnumGroupByFields(modelName, dashboard, models);
536
+ return `const ${varName} = useMemo(() => buildEnumLabelsMap(${camelModel}Schema, ${JSON.stringify(fields)}), [${camelModel}Schema]);`;
537
+ }).join('\n ')}
538
+ ${filterEnumLabelsCode}
424
539
  ${chartDataHooks.join('\n ')}
425
540
 
426
541
  ${dashboard.filterDimensions?.length ? `const filterDimensions = ${JSON.stringify(dashboard.filterDimensions)};` : ''}
@@ -478,6 +593,7 @@ ${dashboard.filterDimensions.filter(d => d.type === 'select' && !d.options).map(
478
593
  ${dashboard.filterDimensions?.filter(d => d.type === 'select' && !d.options).length ? 'selectOptions={selectOptions}' : ''}
479
594
  filterValues={filterValues}
480
595
  onFilterChange={handleFilterChange}
596
+ ${hasEnumFilterFields ? 'enumLabelsMap={filterFieldLabels}' : ''}
481
597
  />
482
598
  ${layoutJsx}
483
599
  </div>
@@ -1 +1 @@
1
- {"version":3,"file":"dashboard-page.js","sourceRoot":"","sources":["../../../src/cli/templates/dashboard-page.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dashboard-page.js","sourceRoot":"","sources":["../../../src/cli/templates/dashboard-page.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Login page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/login-page.tsx
6
6
  */
7
7
  export declare function loginPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Login page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/login-page.tsx
6
6
  */
7
7
  export function loginPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Model Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/model-management-page.tsx
6
6
  */
7
7
  export declare function modelManagementPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Model Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/model-management-page.tsx
6
6
  */
7
7
  export function modelManagementPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * NotificationCenter page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/NotificationCenter.tsx
6
6
  */
7
7
  export declare function notificationCenterPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * NotificationCenter page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/NotificationCenter.tsx
6
6
  */
7
7
  export function notificationCenterPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * NotificationDetail page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/NotificationDetail.tsx
6
6
  */
7
7
  export declare function notificationDetailPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * NotificationDetail page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/NotificationDetail.tsx
6
6
  */
7
7
  export function notificationDetailPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Process Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/process-management-page.tsx
6
6
  */
7
7
  export declare function processManagementPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Process Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/process-management-page.tsx
6
6
  */
7
7
  export function processManagementPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Skill Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/skill-management-page.tsx
6
6
  */
7
7
  export declare function skillManagementPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Skill Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/components/pages/skill-management-page.tsx
6
6
  */
7
7
  export function skillManagementPageTemplate() {
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * User Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/user-management-page.tsx
6
6
  */
7
7
  export declare function userManagementPageTemplate(): string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * User Management page template
3
3
  *
4
- * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.167 — DO NOT EDIT MANUALLY.
4
+ * GENERATED by scripts/generate-templates.ts — v0.1.0-alpha.169 — DO NOT EDIT MANUALLY.
5
5
  * Source: packages/frontend-antd/src/auth/user-management-page.tsx
6
6
  */
7
7
  export function userManagementPageTemplate() {