@judo/model-api 0.1.0

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/LICENSE +277 -0
  2. package/README.md +210 -0
  3. package/dist/data/elements.d.ts +194 -0
  4. package/dist/data/elements.d.ts.map +1 -0
  5. package/dist/data/index.d.ts +3 -0
  6. package/dist/data/index.d.ts.map +1 -0
  7. package/dist/data/types.d.ts +84 -0
  8. package/dist/data/types.d.ts.map +1 -0
  9. package/dist/enums.d.ts +203 -0
  10. package/dist/enums.d.ts.map +1 -0
  11. package/dist/extensibility.d.ts +663 -0
  12. package/dist/extensibility.d.ts.map +1 -0
  13. package/dist/index.d.ts +7 -0
  14. package/dist/index.d.ts.map +1 -0
  15. package/dist/index.js +150 -0
  16. package/dist/index.js.map +1 -0
  17. package/dist/services.d.ts +244 -0
  18. package/dist/services.d.ts.map +1 -0
  19. package/dist/structural/actions.d.ts +173 -0
  20. package/dist/structural/actions.d.ts.map +1 -0
  21. package/dist/structural/application.d.ts +137 -0
  22. package/dist/structural/application.d.ts.map +1 -0
  23. package/dist/structural/index.d.ts +3 -0
  24. package/dist/structural/index.d.ts.map +1 -0
  25. package/dist/visual/base.d.ts +32 -0
  26. package/dist/visual/base.d.ts.map +1 -0
  27. package/dist/visual/buttons.d.ts +32 -0
  28. package/dist/visual/buttons.d.ts.map +1 -0
  29. package/dist/visual/display.d.ts +36 -0
  30. package/dist/visual/display.d.ts.map +1 -0
  31. package/dist/visual/index.d.ts +9 -0
  32. package/dist/visual/index.d.ts.map +1 -0
  33. package/dist/visual/inputs.d.ts +196 -0
  34. package/dist/visual/inputs.d.ts.map +1 -0
  35. package/dist/visual/layout.d.ts +185 -0
  36. package/dist/visual/layout.d.ts.map +1 -0
  37. package/dist/visual/link.d.ts +32 -0
  38. package/dist/visual/link.d.ts.map +1 -0
  39. package/dist/visual/table.d.ts +103 -0
  40. package/dist/visual/table.d.ts.map +1 -0
  41. package/dist/visual/tabs.d.ts +26 -0
  42. package/dist/visual/tabs.d.ts.map +1 -0
  43. package/package.json +46 -0
@@ -0,0 +1,32 @@
1
+ import { AttributeType, DataElement, RelationType } from '../data/elements';
2
+ import { ActionDefinition } from '../structural/actions';
3
+ import { ButtonGroup } from './buttons';
4
+ import { VisualElement } from './layout';
5
+ import { Column } from './table';
6
+ /**
7
+ * Link/Autocomplete field for relations.
8
+ * Maps to: ui:Link
9
+ *
10
+ * EMF Defaults:
11
+ * - isEager: true
12
+ */
13
+ export interface Link extends VisualElement {
14
+ "@type": "Link";
15
+ parts: Column[];
16
+ actionButtonGroup?: ButtonGroup;
17
+ /** Resolved reference to DataElement (RelationType) */
18
+ dataElement: DataElement;
19
+ relationName: string;
20
+ /** Whether relation is eagerly loaded. @default true */
21
+ isEager?: boolean;
22
+ selectorRowsPerPage?: number;
23
+ autoCompleteRows?: number;
24
+ /** Resolved references to additional mask AttributeTypes */
25
+ additionalMaskAttributes?: AttributeType[];
26
+ /** Resolved references to additional mask RelationTypes */
27
+ additionalMaskRelations?: RelationType[];
28
+ autocompleteRangeActionDefinition?: ActionDefinition;
29
+ autocompleteSetActionDefinition?: ActionDefinition;
30
+ refreshActionDefinition?: ActionDefinition;
31
+ }
32
+ //# sourceMappingURL=link.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"link.d.ts","sourceRoot":"","sources":["../../src/visual/link.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC;;;;;;GAMG;AACH,MAAM,WAAW,IAAK,SAAQ,aAAa;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,iBAAiB,CAAC,EAAE,WAAW,CAAC;IAChC,uDAAuD;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,EAAE,MAAM,CAAC;IAErB,wDAAwD;IACxD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,4DAA4D;IAC5D,wBAAwB,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3C,2DAA2D;IAC3D,uBAAuB,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzC,iCAAiC,CAAC,EAAE,gBAAgB,CAAC;IACrD,+BAA+B,CAAC,EAAE,gBAAgB,CAAC;IACnD,uBAAuB,CAAC,EAAE,gBAAgB,CAAC;CAC3C"}
@@ -0,0 +1,103 @@
1
+ import { AttributeType, DataElement, RelationType } from '../data/elements';
2
+ import { CheckboxSelection, FilterOperationType, Sort, TableRepresentation } from '../enums';
3
+ import { ActionDefinition } from '../structural/actions';
4
+ import { ButtonGroup } from './buttons';
5
+ import { VisualElement } from './layout';
6
+ /**
7
+ * Table column definition.
8
+ * Maps to: ui:Column
9
+ *
10
+ * EMF Defaults:
11
+ * - sort: NONE
12
+ * - sortPrecedence: 0
13
+ * - formatValue: true
14
+ */
15
+ export interface Column extends VisualElement {
16
+ "@type": "Column";
17
+ /** Resolved reference to AttributeType */
18
+ attributeType?: AttributeType;
19
+ format: string;
20
+ /** Sort order for this column. @default NONE */
21
+ sort?: Sort;
22
+ /** Sort precedence (for multi-column sorting). @default 0 */
23
+ sortPrecedence?: number;
24
+ width?: string;
25
+ /** Whether to format the column value. @default true */
26
+ formatValue?: boolean;
27
+ /** Resolved reference to RelationType this column represents */
28
+ representsRelation?: RelationType;
29
+ }
30
+ /**
31
+ * Table/Link filter definition.
32
+ * Maps to: ui:Filter
33
+ *
34
+ * EMF Defaults:
35
+ * - alwaysShown: false
36
+ * - range: false
37
+ * - multiValue: false
38
+ */
39
+ export interface Filter extends VisualElement {
40
+ "@type": "Filter";
41
+ /** Resolved reference to AttributeType */
42
+ attributeType?: AttributeType;
43
+ /** Whether filter is always visible. @default false */
44
+ alwaysShown?: boolean;
45
+ /** Whether filter is a range filter. @default false */
46
+ range?: boolean;
47
+ /** Whether filter accepts multiple values. @default false */
48
+ multiValue?: boolean;
49
+ defaultOperation?: FilterOperationType;
50
+ }
51
+ /**
52
+ * Data table element.
53
+ * Maps to: ui:Table
54
+ *
55
+ * EMF Defaults:
56
+ * - crudOperationsDisplayed: 2
57
+ * - isSmallTable: false
58
+ * - rowsPerPage: 10
59
+ * - isEager: false
60
+ * - allowSelectMultiple: false
61
+ * - transferOperationsDisplayed: 0
62
+ * - showTotalCount: false
63
+ * - checkboxSelection: ENABLED
64
+ * - representationComponent: TABLE
65
+ */
66
+ export interface Table extends VisualElement {
67
+ "@type": "Table";
68
+ columns: Column[];
69
+ filters: Filter[];
70
+ tableActionButtonGroup?: ButtonGroup;
71
+ rowActionButtonGroup?: ButtonGroup;
72
+ /** Resolved reference to DataElement (RelationType) */
73
+ dataElement: DataElement;
74
+ relationName?: string;
75
+ /** Whether table loads data eagerly in-memory. @default false */
76
+ isEager?: boolean;
77
+ /** Whether multiple row selection is allowed. @default false */
78
+ allowSelectMultiple?: boolean;
79
+ isInlineEditable?: boolean;
80
+ /** Number of CRUD operations to display. @default 2 */
81
+ crudOperationsDisplayed?: number;
82
+ /** Number of transfer operations to display. @default 0 */
83
+ transferOperationsDisplayed?: number;
84
+ selectorRowsPerPage?: number;
85
+ /** Number of rows per page. @default 10 */
86
+ rowsPerPage?: number;
87
+ /** Whether to use compact table layout. @default false */
88
+ isSmallTable?: boolean;
89
+ /** Whether to show total row count. @default false */
90
+ showTotalCount?: boolean;
91
+ /** Checkbox selection mode. @default ENABLED */
92
+ checkboxSelection?: CheckboxSelection;
93
+ /** Visual representation type. @default TABLE */
94
+ representationComponent?: TableRepresentation;
95
+ actionColumnWidth?: number;
96
+ /** Resolved references to additional mask AttributeTypes */
97
+ additionalMaskAttributes?: AttributeType[];
98
+ /** Resolved references to additional mask RelationTypes */
99
+ additionalMaskRelations?: RelationType[];
100
+ autocompleteRangeActionDefinition?: ActionDefinition;
101
+ autocompleteAddActionDefinition?: ActionDefinition;
102
+ }
103
+ //# sourceMappingURL=table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"table.d.ts","sourceRoot":"","sources":["../../src/visual/table.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,KAAK,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,IAAI,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAClG,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC5C,OAAO,EAAE,QAAQ,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wDAAwD;IACxD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,YAAY,CAAC;CAClC;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,MAAO,SAAQ,aAAa;IAC5C,OAAO,EAAE,QAAQ,CAAC;IAClB,0CAA0C;IAC1C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,uDAAuD;IACvD,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uDAAuD;IACvD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,6DAA6D;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,gBAAgB,CAAC,EAAE,mBAAmB,CAAC;CACvC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,KAAM,SAAQ,aAAa;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,sBAAsB,CAAC,EAAE,WAAW,CAAC;IACrC,oBAAoB,CAAC,EAAE,WAAW,CAAC;IACnC,uDAAuD;IACvD,WAAW,EAAE,WAAW,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,iEAAiE;IACjE,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gEAAgE;IAChE,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAE3B,uDAAuD;IACvD,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,2DAA2D;IAC3D,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,2CAA2C;IAC3C,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sDAAsD;IACtD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;IACtC,iDAAiD;IACjD,uBAAuB,CAAC,EAAE,mBAAmB,CAAC;IAC9C,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,4DAA4D;IAC5D,wBAAwB,CAAC,EAAE,aAAa,EAAE,CAAC;IAC3C,2DAA2D;IAC3D,uBAAuB,CAAC,EAAE,YAAY,EAAE,CAAC;IAEzC,iCAAiC,CAAC,EAAE,gBAAgB,CAAC;IACrD,+BAA+B,CAAC,EAAE,gBAAgB,CAAC;CACnD"}
@@ -0,0 +1,26 @@
1
+ import { TabOrientation } from '../enums';
2
+ import { NamedElement } from './base';
3
+ import { VisualElement } from './layout';
4
+ /**
5
+ * Tab container for tabbed layouts.
6
+ * Maps to: ui:TabController
7
+ *
8
+ * EMF Defaults:
9
+ * - controllerRow: 1
10
+ */
11
+ export interface TabController extends VisualElement {
12
+ "@type": "TabController";
13
+ tabs: Tab[];
14
+ /** Row position of the tab controller. @default 1 */
15
+ controllerRow?: number;
16
+ orientation?: TabOrientation;
17
+ }
18
+ /**
19
+ * Single tab within a TabController.
20
+ * Maps to: ui:Tab
21
+ */
22
+ export interface Tab extends NamedElement {
23
+ element: VisualElement;
24
+ label?: string;
25
+ }
26
+ //# sourceMappingURL=tabs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tabs.d.ts","sourceRoot":"","sources":["../../src/visual/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE9C;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,aAAa;IACnD,OAAO,EAAE,eAAe,CAAC;IACzB,IAAI,EAAE,GAAG,EAAE,CAAC;IACZ,qDAAqD;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,GAAI,SAAQ,YAAY;IACxC,OAAO,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;CACf"}
package/package.json ADDED
@@ -0,0 +1,46 @@
1
+ {
2
+ "name": "@judo/model-api",
3
+ "version": "0.1.0",
4
+ "description": "TypeScript interfaces mirroring the ECore meta-model for JUDO UI Runtime",
5
+ "license": "EPL-2.0",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/BlackBeltTechnology/judo-frontend-runtime.git",
9
+ "directory": "packages/model-api"
10
+ },
11
+ "files": [
12
+ "dist",
13
+ "LICENSE",
14
+ "README.md"
15
+ ],
16
+ "type": "module",
17
+ "sideEffects": false,
18
+ "main": "./dist/index.js",
19
+ "types": "./dist/index.d.ts",
20
+ "exports": {
21
+ ".": {
22
+ "types": "./dist/index.d.ts",
23
+ "import": "./dist/index.js"
24
+ }
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "devDependencies": {
30
+ "@types/react": "^19.2.14",
31
+ "typescript": "^5.9.3"
32
+ },
33
+ "peerDependencies": {
34
+ "react": "^19.0.0"
35
+ },
36
+ "peerDependenciesMeta": {
37
+ "react": {
38
+ "optional": true
39
+ }
40
+ },
41
+ "scripts": {
42
+ "build": "vite build",
43
+ "clean": "rm -rf dist",
44
+ "type-check": "tsgo --noEmit"
45
+ }
46
+ }