@cxtms/cx-schema 1.0.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 (133) hide show
  1. package/README.md +384 -0
  2. package/dist/cli.d.ts +6 -0
  3. package/dist/cli.d.ts.map +1 -0
  4. package/dist/cli.js +1523 -0
  5. package/dist/cli.js.map +1 -0
  6. package/dist/index.d.ts +7 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +11 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/types.d.ts +111 -0
  11. package/dist/types.d.ts.map +1 -0
  12. package/dist/types.js +6 -0
  13. package/dist/types.js.map +1 -0
  14. package/dist/utils/schemaLoader.d.ts +17 -0
  15. package/dist/utils/schemaLoader.d.ts.map +1 -0
  16. package/dist/utils/schemaLoader.js +134 -0
  17. package/dist/utils/schemaLoader.js.map +1 -0
  18. package/dist/validator.d.ts +64 -0
  19. package/dist/validator.d.ts.map +1 -0
  20. package/dist/validator.js +380 -0
  21. package/dist/validator.js.map +1 -0
  22. package/dist/workflowValidator.d.ts +64 -0
  23. package/dist/workflowValidator.d.ts.map +1 -0
  24. package/dist/workflowValidator.js +410 -0
  25. package/dist/workflowValidator.js.map +1 -0
  26. package/package.json +50 -0
  27. package/schemas/actions/all.json +26 -0
  28. package/schemas/actions/confirm.json +21 -0
  29. package/schemas/actions/consoleLog.json +16 -0
  30. package/schemas/actions/dialog.json +25 -0
  31. package/schemas/actions/fileDownload.json +16 -0
  32. package/schemas/actions/forEach.json +31 -0
  33. package/schemas/actions/if.json +12 -0
  34. package/schemas/actions/mutation.json +25 -0
  35. package/schemas/actions/navigate.json +18 -0
  36. package/schemas/actions/navigateBack.json +22 -0
  37. package/schemas/actions/navigateBackOrClose.json +21 -0
  38. package/schemas/actions/notification.json +19 -0
  39. package/schemas/actions/openBarcodeScanner.json +104 -0
  40. package/schemas/actions/query.json +32 -0
  41. package/schemas/actions/refresh.json +13 -0
  42. package/schemas/actions/resetDirtyState.json +22 -0
  43. package/schemas/actions/setFields.json +21 -0
  44. package/schemas/actions/setStore.json +13 -0
  45. package/schemas/actions/validateForm.json +15 -0
  46. package/schemas/actions/workflow.json +24 -0
  47. package/schemas/components/README.md +147 -0
  48. package/schemas/components/appComponent.json +50 -0
  49. package/schemas/components/barcodeScanner.json +69 -0
  50. package/schemas/components/button.json +123 -0
  51. package/schemas/components/calendar.json +489 -0
  52. package/schemas/components/card.json +176 -0
  53. package/schemas/components/collection.json +54 -0
  54. package/schemas/components/dataGrid.json +119 -0
  55. package/schemas/components/datasource.json +151 -0
  56. package/schemas/components/dropdown.json +57 -0
  57. package/schemas/components/field-collection.json +618 -0
  58. package/schemas/components/field.json +265 -0
  59. package/schemas/components/form.json +234 -0
  60. package/schemas/components/index.json +68 -0
  61. package/schemas/components/layout.json +69 -0
  62. package/schemas/components/module.json +138 -0
  63. package/schemas/components/navDropdown.json +36 -0
  64. package/schemas/components/navbar.json +78 -0
  65. package/schemas/components/navbarItem.json +28 -0
  66. package/schemas/components/navbarLink.json +36 -0
  67. package/schemas/components/row.json +31 -0
  68. package/schemas/components/tab.json +34 -0
  69. package/schemas/components/tabs.json +35 -0
  70. package/schemas/components/timeline.json +172 -0
  71. package/schemas/components/timelineGrid.json +324 -0
  72. package/schemas/fields/README.md +66 -0
  73. package/schemas/fields/attachment.json +156 -0
  74. package/schemas/fields/autocomplete-googleplaces.json +130 -0
  75. package/schemas/fields/checkbox.json +82 -0
  76. package/schemas/fields/date.json +88 -0
  77. package/schemas/fields/datetime.json +75 -0
  78. package/schemas/fields/email.json +75 -0
  79. package/schemas/fields/index.json +53 -0
  80. package/schemas/fields/number.json +91 -0
  81. package/schemas/fields/password.json +70 -0
  82. package/schemas/fields/radio.json +94 -0
  83. package/schemas/fields/rangedatetime.json +56 -0
  84. package/schemas/fields/select-async.json +334 -0
  85. package/schemas/fields/select.json +115 -0
  86. package/schemas/fields/tel.json +79 -0
  87. package/schemas/fields/text.json +86 -0
  88. package/schemas/fields/textarea.json +95 -0
  89. package/schemas/fields/time.json +91 -0
  90. package/schemas/fields/url.json +74 -0
  91. package/schemas/schema.graphql +10492 -0
  92. package/schemas/schemas.json +598 -0
  93. package/schemas/workflows/activity.json +111 -0
  94. package/schemas/workflows/common/condition.json +48 -0
  95. package/schemas/workflows/common/expression.json +76 -0
  96. package/schemas/workflows/common/mapping.json +134 -0
  97. package/schemas/workflows/input.json +76 -0
  98. package/schemas/workflows/output.json +41 -0
  99. package/schemas/workflows/schedule.json +26 -0
  100. package/schemas/workflows/tasks/accounting-transaction.json +95 -0
  101. package/schemas/workflows/tasks/all.json +34 -0
  102. package/schemas/workflows/tasks/attachment.json +94 -0
  103. package/schemas/workflows/tasks/charge.json +90 -0
  104. package/schemas/workflows/tasks/commodity.json +89 -0
  105. package/schemas/workflows/tasks/contact.json +82 -0
  106. package/schemas/workflows/tasks/csv.json +79 -0
  107. package/schemas/workflows/tasks/document-render.json +105 -0
  108. package/schemas/workflows/tasks/document-send.json +84 -0
  109. package/schemas/workflows/tasks/email-send.json +110 -0
  110. package/schemas/workflows/tasks/error.json +72 -0
  111. package/schemas/workflows/tasks/export.json +90 -0
  112. package/schemas/workflows/tasks/foreach.json +69 -0
  113. package/schemas/workflows/tasks/generic.json +47 -0
  114. package/schemas/workflows/tasks/graphql.json +78 -0
  115. package/schemas/workflows/tasks/httpRequest.json +119 -0
  116. package/schemas/workflows/tasks/job.json +88 -0
  117. package/schemas/workflows/tasks/log.json +73 -0
  118. package/schemas/workflows/tasks/map.json +58 -0
  119. package/schemas/workflows/tasks/order.json +87 -0
  120. package/schemas/workflows/tasks/payment.json +85 -0
  121. package/schemas/workflows/tasks/setVariable.json +76 -0
  122. package/schemas/workflows/tasks/switch.json +75 -0
  123. package/schemas/workflows/tasks/template.json +73 -0
  124. package/schemas/workflows/tasks/validation.json +90 -0
  125. package/schemas/workflows/tasks/while.json +53 -0
  126. package/schemas/workflows/tasks/workflow-execute.json +82 -0
  127. package/schemas/workflows/trigger.json +86 -0
  128. package/schemas/workflows/variable.json +46 -0
  129. package/schemas/workflows/workflow.json +172 -0
  130. package/scripts/postinstall.js +161 -0
  131. package/scripts/setup-vscode.js +80 -0
  132. package/templates/module.yaml +83 -0
  133. package/templates/workflow.yaml +100 -0
@@ -0,0 +1,138 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "StoreVista Module",
4
+ "type": "object",
5
+ "properties": {
6
+ "module": {
7
+ "type": "object",
8
+ "properties": {
9
+ "name": {
10
+ "type": "string",
11
+ "description": "Module name"
12
+ },
13
+ "description": {
14
+ "$ref": "../schemas.json#/definitions/localized"
15
+ },
16
+ "appModuleId": {
17
+ "type": "string",
18
+ "description": "Unique module identifier (UUID)"
19
+ },
20
+ "displayName": {
21
+ "$ref": "../schemas.json#/definitions/localized"
22
+ },
23
+ "application": {
24
+ "type": "string",
25
+ "description": "Application name"
26
+ },
27
+ "priority": {
28
+ "type": "integer",
29
+ "description": "Module priority for override resolution"
30
+ },
31
+ "fileName": {
32
+ "type": "string",
33
+ "description": "File name/path for the module YAML file in the repository. Creates a direct link to the module definition file location. Default is modules/{name}-module.yaml"
34
+ }
35
+ },
36
+ "required": ["name", "appModuleId", "displayName", "application"]
37
+ },
38
+ "components": {
39
+ "type": "array",
40
+ "description": "Module components",
41
+ "items": {
42
+ "$ref": "../schemas.json#/components/schemas/appComponent"
43
+ }
44
+ },
45
+ "routes": {
46
+ "type": "array",
47
+ "description": "Module routes",
48
+ "items": {
49
+ "type": "object",
50
+ "properties": {
51
+ "name": {
52
+ "type": "string",
53
+ "description": "Route name"
54
+ },
55
+ "path": {
56
+ "type": "string",
57
+ "description": "Route path pattern"
58
+ },
59
+ "platforms": {
60
+ "type": "array",
61
+ "description": "Target platforms for this route",
62
+ "items": {
63
+ "type": "string",
64
+ "enum": ["web", "mobile"]
65
+ },
66
+ "default": ["web", "mobile"]
67
+ },
68
+ "component": {
69
+ "type": "string",
70
+ "description": "Component name to render"
71
+ },
72
+ "props": {
73
+ "type": "object",
74
+ "description": "Route-specific properties",
75
+ "properties": {
76
+ "title": {
77
+ "$ref": "../schemas.json#/definitions/localized"
78
+ },
79
+ "icon": {
80
+ "type": "string",
81
+ "description": "Icon class name"
82
+ },
83
+ "permission": {
84
+ "type": "string",
85
+ "description": "Required permission to access this route"
86
+ }
87
+ },
88
+ "required": ["title"],
89
+ "additionalProperties": true
90
+ },
91
+ "children": {
92
+ "type": "array",
93
+ "description": "Child routes",
94
+ "items": {
95
+ "$ref": "../schemas.json#"
96
+ }
97
+ }
98
+ },
99
+ "required": ["name", "path", "component"]
100
+ }
101
+ },
102
+ "entities": {
103
+ "type": "array",
104
+ "description": "Module entities",
105
+ "items": {
106
+ "$ref": "../schemas.json#/definitions/entity"
107
+ }
108
+ },
109
+ "permissions": {
110
+ "type": "array",
111
+ "description": "Module permissions",
112
+ "items": {
113
+ "type": "object",
114
+ "properties": {
115
+ "name": {
116
+ "type": "string",
117
+ "description": "Permission name"
118
+ },
119
+ "displayName": {
120
+ "$ref": "../schemas.json#/definitions/localized"
121
+ },
122
+ "description": {
123
+ "$ref": "../schemas.json#/definitions/localized"
124
+ },
125
+ "roles": {
126
+ "type": "array",
127
+ "items": {
128
+ "type": "string"
129
+ },
130
+ "description": "Roles that have this permission"
131
+ }
132
+ },
133
+ "required": ["name", "roles"]
134
+ }
135
+ }
136
+ },
137
+ "required": ["module"]
138
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Nav Dropdown Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "navDropdown"
9
+ },
10
+ "props": {
11
+ "type": "object",
12
+ "properties": {
13
+ "permission": {
14
+ "$ref": "../schemas.json#/definitions/permissions"
15
+ },
16
+ "label": {
17
+ "type": "string",
18
+ "description": "Dropdown label text"
19
+ },
20
+ "icon": {
21
+ "type": "string",
22
+ "description": "Icon class name"
23
+ },
24
+ "isHidden": {
25
+ "$ref": "../schemas.json#/definitions/templateExpression",
26
+ "description": "Boolean expression for conditional rendering"
27
+ }
28
+ },
29
+ "required": ["label"]
30
+ },
31
+ "children": {
32
+ "$ref": "../schemas.json#/definitions/componentChildren"
33
+ }
34
+ },
35
+ "required": ["component", "props"]
36
+ }
@@ -0,0 +1,78 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Navbar Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "navbar"
9
+ },
10
+ "props": {
11
+ "type": "object",
12
+ "properties": {
13
+ "options": {
14
+ "type": "object",
15
+ "description": "Additional options for the navbar"
16
+ },
17
+ "brand": {
18
+ "type": "object",
19
+ "description": "Brand/logo configuration",
20
+ "properties": {
21
+ "component": {
22
+ "type": "string",
23
+ "description": "Component type for brand"
24
+ },
25
+ "name": {
26
+ "type": "string",
27
+ "description": "Component name identifier"
28
+ },
29
+ "props": {
30
+ "type": "object",
31
+ "properties": {
32
+ "value": {
33
+ "type": "string",
34
+ "description": "Text value for brand"
35
+ },
36
+ "options": {
37
+ "type": "object",
38
+ "properties": {
39
+ "className": {
40
+ "type": "string",
41
+ "description": "CSS classes for styling"
42
+ }
43
+ }
44
+ },
45
+ "onClick": {
46
+ "$ref": "../schemas.json#/definitions/actionsList"
47
+ },
48
+ "label": {
49
+ "type": "string",
50
+ "description": "Label text"
51
+ },
52
+ "to": {
53
+ "type": "string",
54
+ "description": "Navigation URL"
55
+ }
56
+ }
57
+ }
58
+ }
59
+ },
60
+ "items": {
61
+ "type": "array",
62
+ "description": "Main navigation items",
63
+ "items": {
64
+ "$ref": "../schemas.json#/definitions/component"
65
+ }
66
+ },
67
+ "contextItems": {
68
+ "type": "array",
69
+ "description": "Context menu items (e.g., user menu)",
70
+ "items": {
71
+ "$ref": "../schemas.json#/definitions/component"
72
+ }
73
+ }
74
+ }
75
+ }
76
+ },
77
+ "required": ["component", "props"]
78
+ }
@@ -0,0 +1,28 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Navbar Item Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "navbarItem"
9
+ },
10
+ "props": {
11
+ "type": "object",
12
+ "properties": {
13
+ "label": {
14
+ "type": "string",
15
+ "description": "Item label text"
16
+ },
17
+ "isHidden": {
18
+ "$ref": "../schemas.json#/definitions/templateExpression",
19
+ "description": "Boolean expression for conditional rendering"
20
+ }
21
+ }
22
+ },
23
+ "children": {
24
+ "$ref": "../schemas.json#/definitions/componentChildren"
25
+ }
26
+ },
27
+ "required": ["component"]
28
+ }
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Navbar Link Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "navbarLink"
9
+ },
10
+ "props": {
11
+ "type": "object",
12
+ "properties": {
13
+ "permission": {
14
+ "$ref": "../schemas.json#/definitions/permissions"
15
+ },
16
+ "label": {
17
+ "type": "string",
18
+ "description": "Link label text"
19
+ },
20
+ "to": {
21
+ "type": "string",
22
+ "description": "Navigation URL (supports template variables)"
23
+ },
24
+ "isHidden": {
25
+ "$ref": "../schemas.json#/definitions/templateExpression",
26
+ "description": "Boolean expression for conditional rendering"
27
+ },
28
+ "onClick": {
29
+ "$ref": "../schemas.json#/definitions/actionsList"
30
+ }
31
+ },
32
+ "required": ["label"]
33
+ }
34
+ },
35
+ "required": ["component", "props"]
36
+ }
@@ -0,0 +1,31 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Row Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "row"
9
+ },
10
+ "props": {
11
+ "type": "object",
12
+ "properties": {
13
+ "className": {
14
+ "type": "string",
15
+ "description": "CSS classes for styling"
16
+ },
17
+ "cols": {
18
+ "type": "integer",
19
+ "description": "Number of columns"
20
+ }
21
+ }
22
+ },
23
+ "children": {
24
+ "$ref": "../schemas.json#/definitions/componentChildren"
25
+ },
26
+ "onClick": {
27
+ "$ref": "../schemas.json#/definitions/actionsList",
28
+ "description": "Actions to execute when the row is clicked"
29
+ }
30
+ }
31
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Tab Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "tab"
9
+ },
10
+ "name": {
11
+ "type": "string",
12
+ "description": "Tab name identifier"
13
+ },
14
+ "props": {
15
+ "type": "object",
16
+ "properties": {
17
+ "label": {
18
+ "oneOf": [{ "type": "string" }, { "$ref": "../schemas.json#/definitions/localized" }]
19
+ },
20
+ "icon": {
21
+ "type": "string",
22
+ "description": "Icon class name"
23
+ },
24
+ "isHidden": {
25
+ "$ref": "../schemas.json#/definitions/templateExpression"
26
+ }
27
+ }
28
+ },
29
+ "children": {
30
+ "$ref": "../schemas.json#/definitions/componentChildren"
31
+ }
32
+ },
33
+ "required": ["component"]
34
+ }
@@ -0,0 +1,35 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Tabs Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "tabs"
9
+ },
10
+ "name": {
11
+ "type": "string",
12
+ "description": "Tabs name identifier"
13
+ },
14
+ "props": {
15
+ "type": "object",
16
+ "properties": {
17
+ "toolbar": {
18
+ "type": "array",
19
+ "description": "Toolbar components",
20
+ "items": {
21
+ "$ref": "../schemas.json#/definitions/component"
22
+ }
23
+ },
24
+ "defaultTab": {
25
+ "type": "string",
26
+ "description": "Default active tab name"
27
+ }
28
+ }
29
+ },
30
+ "children": {
31
+ "$ref": "../schemas.json#/definitions/componentChildren"
32
+ }
33
+ },
34
+ "required": ["component"]
35
+ }
@@ -0,0 +1,172 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "title": "Timeline Component",
4
+ "type": "object",
5
+ "properties": {
6
+ "component": {
7
+ "type": "string",
8
+ "const": "timeline"
9
+ },
10
+ "name": {
11
+ "type": "string",
12
+ "description": "Instance name for referencing in actions/variables"
13
+ },
14
+ "inputs": {
15
+ "type": "object",
16
+ "description": "Input parameters for the timeline"
17
+ },
18
+ "props": {
19
+ "type": "object",
20
+ "properties": {
21
+ "orientation": {
22
+ "type": "string",
23
+ "enum": ["horizontal", "vertical"],
24
+ "default": "horizontal",
25
+ "description": "Timeline axis direction"
26
+ },
27
+ "view": {
28
+ "type": "string",
29
+ "enum": ["day", "week", "month", "year"],
30
+ "default": "day",
31
+ "description": "Zoom level controlling granularity and visible window"
32
+ },
33
+ "startDate": {
34
+ "$ref": "../schemas.json#/definitions/templateExpression",
35
+ "description": "Initial lower bound for the visible date range (ISO or expression)",
36
+ "x-example": "{{ today() }}"
37
+ },
38
+ "endDate": {
39
+ "$ref": "../schemas.json#/definitions/templateExpression",
40
+ "description": "Initial upper bound for the visible date range",
41
+ "x-example": "{{ addDays today 7 }}"
42
+ },
43
+ "defaultDate": {
44
+ "$ref": "../schemas.json#/definitions/templateExpression",
45
+ "description": "Initial focal date when no specific range is set",
46
+ "x-example": "{{ today() }}"
47
+ },
48
+ "options": {
49
+ "type": "object",
50
+ "description": "Visual/behavioral options for the timeline",
51
+ "properties": {
52
+ "height": {
53
+ "oneOf": [
54
+ { "type": "number", "description": "Height in pixels" },
55
+ { "type": "string", "description": "CSS size (e.g., '400px', '50vh')" }
56
+ ],
57
+ "default": "400px",
58
+ "description": "Timeline container height"
59
+ }
60
+ }
61
+ },
62
+ "eventTemplate": {
63
+ "$ref": "../schemas.json#/definitions/component",
64
+ "description": "Component used to render each event; receives 'item' bound to mapped fields"
65
+ },
66
+ "eventSources": {
67
+ "type": "array",
68
+ "description": "Data providers executed for the current visible range",
69
+ "items": {
70
+ "type": "object",
71
+ "properties": {
72
+ "query": {
73
+ "type": "object",
74
+ "description": "GraphQL source executed when the visible range changes",
75
+ "properties": {
76
+ "command": {
77
+ "type": "string",
78
+ "description": "GraphQL document string"
79
+ },
80
+ "variables": {
81
+ "type": "object",
82
+ "description": "Variables for the GraphQL command (template expressions supported)",
83
+ "additionalProperties": true
84
+ }
85
+ },
86
+ "required": ["command"]
87
+ },
88
+ "path": {
89
+ "type": "string",
90
+ "description": "Dot path to the array of items in the result (e.g., 'orders.items')"
91
+ },
92
+ "mapping": {
93
+ "type": "object",
94
+ "description": "Maps source fields to timeline event fields",
95
+ "properties": {
96
+ "date": { "type": "string", "description": "ISO date/time for the event" },
97
+ "title": { "type": "string", "description": "Display title" },
98
+ "id": {
99
+ "oneOf": [{ "type": "string" }, { "type": "number" }],
100
+ "description": "Stable identifier"
101
+ },
102
+ "endDate": { "type": "string", "description": "ISO end date/time for ranged spans" },
103
+ "description": { "type": "string" },
104
+ "backgroundColor": { "type": "string" },
105
+ "textColor": { "type": "string" },
106
+ "icon": { "type": "string" },
107
+ "iconColor": { "type": "string" },
108
+ "iconSize": { "oneOf": [{ "type": "string" }, { "type": "number" }] }
109
+ },
110
+ "required": ["date", "title"],
111
+ "additionalProperties": true,
112
+ "x-example": {
113
+ "id": "{{ item.orderId }}",
114
+ "date": "{{ item.orderDate }}",
115
+ "endDate": "{{ item.orderEnd }}",
116
+ "title": "{{ item.orderNumber }}",
117
+ "description": "Order created on {{ item.orderDate }}",
118
+ "icon": "package"
119
+ }
120
+ }
121
+ },
122
+ "required": ["query", "path", "mapping"]
123
+ }
124
+ },
125
+ "isHidden": {
126
+ "$ref": "../schemas.json#/definitions/templateExpression",
127
+ "description": "Boolean expression for conditional rendering"
128
+ }
129
+ }
130
+ },
131
+ "children": {
132
+ "$ref": "../schemas.json#/definitions/componentChildren"
133
+ }
134
+ },
135
+ "required": ["component", "props"],
136
+ "x-examples": [
137
+ {
138
+ "component": "timeline",
139
+ "name": "shipmentTimeline",
140
+ "props": {
141
+ "orientation": "horizontal",
142
+ "view": "day",
143
+ "options": { "height": "360px" },
144
+ "eventTemplate": {
145
+ "component": "card",
146
+ "props": {
147
+ "title": "{{ item.title }}",
148
+ "description": "{{ item.description }}"
149
+ }
150
+ },
151
+ "eventSources": [
152
+ {
153
+ "query": {
154
+ "command": "query GetOrders($organizationId: Int!, $filter: String) { orders(organizationId: $organizationId, take: 500, filter: $filter) { items { orderId orderDate orderNumber } } }",
155
+ "variables": {
156
+ "organizationId": "{{ number organizationId }}",
157
+ "filter": "orderDate:[{{startDate}} TO {{endDate}}]"
158
+ }
159
+ },
160
+ "path": "orders.items",
161
+ "mapping": {
162
+ "id": "{{ item.orderId }}",
163
+ "date": "{{ item.orderDate }}",
164
+ "title": "{{ item.orderNumber }}",
165
+ "description": "Order created on {{ item.orderDate }}"
166
+ }
167
+ }
168
+ ]
169
+ }
170
+ }
171
+ ]
172
+ }