@docupace/ihub-config 1.1.21 → 1.1.22-admin.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.
Files changed (48) hide show
  1. package/README.md +182 -182
  2. package/dist/config-extension.d.ts +23 -0
  3. package/dist/config-extension.d.ts.map +1 -1
  4. package/dist/config-extension.js +2 -0
  5. package/dist/config-extension.js.map +1 -1
  6. package/dist/config-service.d.ts +12 -3
  7. package/dist/config-service.d.ts.map +1 -1
  8. package/dist/config-service.js +128 -21
  9. package/dist/config-service.js.map +1 -1
  10. package/dist/mappers/config-mapper.d.ts.map +1 -1
  11. package/dist/mappers/config-mapper.js +1 -0
  12. package/dist/mappers/config-mapper.js.map +1 -1
  13. package/dist/model/graphs/config/common.graphql +7 -7
  14. package/dist/model/graphs/config/fields.graphql +412 -382
  15. package/dist/model/graphs/config/menu.graphql +60 -54
  16. package/dist/model/graphs/config/mutation.graphql +30 -30
  17. package/dist/model/graphs/config/page.graphql +263 -256
  18. package/dist/model/graphs/config/panel.graphql +30 -30
  19. package/dist/model/graphs/config/query.graphql +84 -84
  20. package/dist/model/graphs/config/rules.graphql +104 -104
  21. package/dist/model/graphs/config/selectOptions.graphql +48 -47
  22. package/dist/model/graphs/config/table.graphql +213 -182
  23. package/dist/model/graphs/config/tests.graphql +16 -16
  24. package/dist/model/graphs/config/theme.graphql +41 -41
  25. package/dist/model/graphs/config/ui-components.graphql +10 -10
  26. package/dist/model/graphs/domains/scalars.graphql +3 -3
  27. package/dist/model/graphs/filter.graphql +5 -5
  28. package/dist/model/graphs/schema.graphql +7 -7
  29. package/dist/types/graphql.d.ts +4 -2
  30. package/dist/types/graphql.d.ts.map +1 -1
  31. package/dist/types/graphql.js.map +1 -1
  32. package/model/graphs/config/common.graphql +7 -7
  33. package/model/graphs/config/fields.graphql +412 -382
  34. package/model/graphs/config/menu.graphql +60 -54
  35. package/model/graphs/config/mutation.graphql +30 -30
  36. package/model/graphs/config/page.graphql +263 -256
  37. package/model/graphs/config/panel.graphql +30 -30
  38. package/model/graphs/config/query.graphql +84 -84
  39. package/model/graphs/config/rules.graphql +104 -104
  40. package/model/graphs/config/selectOptions.graphql +48 -47
  41. package/model/graphs/config/table.graphql +213 -182
  42. package/model/graphs/config/tests.graphql +16 -16
  43. package/model/graphs/config/theme.graphql +41 -41
  44. package/model/graphs/config/ui-components.graphql +10 -10
  45. package/model/graphs/domains/scalars.graphql +3 -3
  46. package/model/graphs/filter.graphql +5 -5
  47. package/model/graphs/schema.graphql +7 -7
  48. package/package.json +81 -81
@@ -1,54 +1,60 @@
1
- interface IMenuItem {
2
- name: String!
3
- label: String!
4
- icon: String
5
- url: String
6
- color: String
7
- action: String
8
- component: String
9
- description: String
10
- visibilityCondition: String
11
- disabledCondition: String
12
- config: JSON
13
- }
14
-
15
- type MenuItem implements IMenuItem {
16
- name: String!
17
- label: String!
18
- icon: String
19
- url: String
20
- color: String
21
- action: String
22
- component: String
23
- tooltip: String
24
- description: String
25
- visibilityCondition: String
26
- disabledCondition: String
27
- config: JSON
28
- }
29
-
30
- type ActionButton implements IMenuItem {
31
- name: String!
32
- label: String!
33
- icon: String
34
- url: String
35
- color: String
36
- variant: ActionButtonVariant
37
- component: String
38
- action: String
39
- disabled: Boolean
40
- menuItems: [MenuItem!]
41
- """
42
- Reference to a dynamic menu configuration.
43
- When set, menuItems will be loaded from the backend instead of static config.
44
- """
45
- dynamicMenuRef: String
46
- visibilityCondition: String
47
- description: String
48
- }
49
-
50
- enum ActionButtonVariant {
51
- INLINE
52
- DROPDOWN
53
- INLINE_DROPDOWN
54
- }
1
+ interface IMenuItem {
2
+ name: String!
3
+ label: String!
4
+ icon: String
5
+ url: String
6
+ color: String
7
+ action: String
8
+ component: String
9
+ description: String
10
+ visibilityCondition: String
11
+ disabledCondition: String
12
+ config: JSON
13
+ }
14
+
15
+ type MenuItem implements IMenuItem {
16
+ name: String!
17
+ label: String!
18
+ icon: String
19
+ url: String
20
+ color: String
21
+ action: String
22
+ component: String
23
+ tooltip: String
24
+ description: String
25
+ visibilityCondition: String
26
+ disabledCondition: String
27
+ config: JSON
28
+ """
29
+ Child menu items. When present, this item acts as a collapsible group
30
+ header rather than a navigable leaf (consumers should treat a MenuItem
31
+ with `items` and no `url` as a group).
32
+ """
33
+ items: [MenuItem!]
34
+ }
35
+
36
+ type ActionButton implements IMenuItem {
37
+ name: String!
38
+ label: String!
39
+ icon: String
40
+ url: String
41
+ color: String
42
+ variant: ActionButtonVariant
43
+ component: String
44
+ action: String
45
+ disabled: Boolean
46
+ menuItems: [MenuItem!]
47
+ """
48
+ Reference to a dynamic menu configuration.
49
+ When set, menuItems will be loaded from the backend instead of static config.
50
+ """
51
+ dynamicMenuRef: String
52
+ visibilityCondition: String
53
+ description: String
54
+ }
55
+
56
+ enum ActionButtonVariant {
57
+ INLINE
58
+ DROPDOWN
59
+ INLINE_DROPDOWN
60
+ }
@@ -1,30 +1,30 @@
1
-
2
- input WidgetInput {
3
- name : String
4
- }
5
-
6
- input DashboardRowInput {
7
- title : String
8
- name: String
9
- hidden: Boolean
10
- layout: Number
11
- elements : [WidgetInput!]
12
- }
13
-
14
- input DashboardPanelInput {
15
- rows : [DashboardRowInput]
16
- }
17
-
18
- input DashboardPageInput {
19
- title: String
20
- panel : DashboardPanelInput
21
- }
22
-
23
- type PageMutation {
24
- updateDashboard(input: DashboardPageInput) : DashboardPage
25
- }
26
-
27
- type ConfigMutation {
28
- refresh: Boolean
29
- pages: PageMutation
30
- }
1
+
2
+ input WidgetInput {
3
+ name : String
4
+ }
5
+
6
+ input DashboardRowInput {
7
+ title : String
8
+ name: String
9
+ hidden: Boolean
10
+ layout: Number
11
+ elements : [WidgetInput!]
12
+ }
13
+
14
+ input DashboardPanelInput {
15
+ rows : [DashboardRowInput]
16
+ }
17
+
18
+ input DashboardPageInput {
19
+ title: String
20
+ panel : DashboardPanelInput
21
+ }
22
+
23
+ type PageMutation {
24
+ updateDashboard(input: DashboardPageInput) : DashboardPage
25
+ }
26
+
27
+ type ConfigMutation {
28
+ refresh: Boolean
29
+ pages: PageMutation
30
+ }
@@ -1,257 +1,264 @@
1
- interface Page {
2
- title: String
3
- description: String
4
- config: JSON
5
- }
6
-
7
- type OverviewPage implements Page {
8
- title: String
9
- description: String
10
- domain: String
11
- cards: [Card]
12
- menuItems: [MenuItem]
13
- config: JSON
14
- tables: [Table]
15
- breadcrumbs: [Breadcrumb!]
16
- }
17
-
18
- type TablePage implements Page {
19
- title: String
20
- component: String
21
- description: String
22
- actionButton: ActionButton
23
- table: AnyTable!
24
- panel: Panel
25
- config: JSON
26
- breadcrumbs: [Breadcrumb!]
27
- }
28
-
29
- type ComponentPage implements Page {
30
- title: String
31
- description: String
32
- component: String
33
- panel: Panel
34
- config: JSON
35
- mutations: JSON
36
- breadcrumbs: [Breadcrumb!]
37
- }
38
-
39
- type TabbedPage implements Page {
40
- title: String
41
- description: String
42
- tabs: [Tab!]!
43
- config: JSON
44
- gqlQuery: GQLQuery
45
- # TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
46
- mutations: JSON
47
- breadcrumbs: [Breadcrumb!]
48
- }
49
-
50
- type DetailsPage implements Page {
51
- title: String
52
- description: String
53
- panel: Panel
54
- config: JSON
55
- breadcrumbs: [Breadcrumb!]
56
- }
57
-
58
- type DomainRecordTemplate implements Page {
59
- title: String
60
- description: String
61
- sideMenu: SideMenu
62
- viewer: Viewer
63
- config: JSON
64
- }
65
-
66
- type PageLayout implements Page {
67
- title: String
68
- description: String
69
- sideMenu: SideMenu
70
- widgets: [ExternalWidget]
71
- config: JSON
72
- }
73
-
74
- type DashboardPage implements Page {
75
- panel: DashboardPanel
76
- title: String
77
- description: String
78
- config: JSON
79
- }
80
-
81
- type ReportPage implements Page {
82
- title: String
83
- description: String
84
- controlPanel: Panel
85
- dashboardPanel: DashboardPanel
86
- breadcrumbs: [Breadcrumb!]
87
- config: JSON
88
- }
89
-
90
- type AnyPage implements Page {
91
- title: String
92
- description: String
93
- tables: [NamedTable!]
94
- panels: [Panel!]
95
- tabbedPages: [TabbedPage!]
96
- config: JSON
97
- breadcrumbs: [Breadcrumb!]
98
- }
99
-
100
- type WizardPage implements Page {
101
- description: String
102
- title : String
103
- dataSource: String
104
- steps: [Step!]!
105
- loadWizardByCustodian: [LoadWizardByCustodian]
106
- defaultWizard: String
107
- # TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
108
- mutations: JSON
109
- config: JSON
110
- breadcrumbs: [Breadcrumb!]
111
- workItemsQueryParams: BaseWorkItemQueryParams
112
- }
113
-
114
- type BaseWorkItemQueryParams {
115
- docIds: [Int!]
116
- excludeFields: [String!]
117
- excludeInitialData: Boolean
118
- format: String
119
- includeFields: [String!]
120
- oldNames: Boolean
121
- onlyInitialData: Boolean
122
- sorted: Boolean
123
- performMapping: String
124
- }
125
-
126
- type LoadWizardByCustodian {
127
- custodian: String
128
- wizard: String
129
- }
130
-
131
- type Step {
132
- id : String!
133
- label : String!
134
- icon: String
135
- page : Page
136
- visibilityCondition: String
137
- pathUrl: String
138
- }
139
-
140
- type SideMenu {
141
- headerCard: Card
142
- menuItems: [MenuItem!]
143
- dataCard: Card
144
- }
145
-
146
- type CardView {
147
- queryName: String
148
- card: Card!
149
- groups: CardGroups
150
- }
151
-
152
- type CardGroups {
153
- queryName: String!
154
- titlePath: String!
155
- configKeyPath: String!
156
- dataKeyPath: String!
157
- }
158
-
159
- type Tab {
160
- name: String!
161
- label: String!
162
- page: Page!
163
- visibilityCondition: String
164
- config: JSON
165
- }
166
-
167
- type DashboardPanel implements IPanel {
168
- name: String
169
- rows: [DashboardPanelRow!]
170
- }
171
-
172
- type DashboardPanelRow implements IPanelRow {
173
- name: String!
174
- title: String
175
- titleVariant: String
176
- layout: Number
177
- hidden: Boolean
178
- visibilityCondition: String
179
- elements: [Widget!]
180
- }
181
-
182
- type Preview {
183
- headerCard: Card
184
- panel: Panel
185
- }
186
-
187
- interface ICard implements IElement {
188
- name: String
189
- component: String
190
- config: JSON
191
- }
192
-
193
- interface QuickApp {
194
- url: String
195
- appPreference: String
196
- target: Boolean
197
- }
198
-
199
- type CardRow {
200
- name: String
201
- paths: [String!]
202
- expression: String
203
- icon: String
204
- component: String
205
- }
206
-
207
- type Card implements ICard & IRowElement & IElement {
208
- name: String
209
- component: String!
210
- config: JSON
211
- cols: Int
212
- title: String
213
- rows: [CardRow]
214
- }
215
-
216
- type Widget implements ICard & IRowElement & IElement & QuickApp {
217
- id: String!
218
- name: String
219
- title: String
220
- description: String
221
- component: String
222
- config: JSON
223
- cols: Int
224
- table: AnyTable
225
- }
226
-
227
- type ExternalWidget {
228
- id: String
229
- name: String
230
- description: String
231
- visibilityCondition: String
232
- config: JSON
233
- }
234
-
235
- type ViewerOptions {
236
- thumbnails: Boolean
237
- pageNavigation: Boolean
238
- lazyLoading: Boolean
239
- }
240
-
241
- type ViewerToolbar {
242
- menuItems: [MenuItem!]!
243
- actionButton: ActionButton
244
- }
245
-
246
- type Viewer {
247
- documentActions: [MenuItem!]
248
- options: ViewerOptions
249
- toolbar: ViewerToolbar
250
- }
251
-
252
- type Breadcrumb {
253
- label: String!
254
- path: String
255
- isLabelExpression: Boolean
256
- isPathExpression: Boolean
1
+ interface Page {
2
+ title: String
3
+ description: String
4
+ config: JSON
5
+ }
6
+
7
+ type OverviewPage implements Page {
8
+ title: String
9
+ description: String
10
+ domain: String
11
+ cards: [Card]
12
+ menuItems: [MenuItem]
13
+ config: JSON
14
+ tables: [Table]
15
+ breadcrumbs: [Breadcrumb!]
16
+ }
17
+
18
+ type TablePage implements Page {
19
+ title: String
20
+ component: String
21
+ description: String
22
+ actionButton: ActionButton
23
+ table: AnyTable!
24
+ panel: Panel
25
+ config: JSON
26
+ breadcrumbs: [Breadcrumb!]
27
+ }
28
+
29
+ type ComponentPage implements Page {
30
+ title: String
31
+ description: String
32
+ component: String
33
+ panel: Panel
34
+ config: JSON
35
+ mutations: JSON
36
+ breadcrumbs: [Breadcrumb!]
37
+ }
38
+
39
+ type TabbedPage implements Page {
40
+ title: String
41
+ description: String
42
+ tabs: [Tab!]!
43
+ config: JSON
44
+ gqlQuery: GQLQuery
45
+ # TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
46
+ mutations: JSON
47
+ breadcrumbs: [Breadcrumb!]
48
+ }
49
+
50
+ type DetailsPage implements Page {
51
+ title: String
52
+ description: String
53
+ panel: Panel
54
+ config: JSON
55
+ breadcrumbs: [Breadcrumb!]
56
+ }
57
+
58
+ type DomainRecordTemplate implements Page {
59
+ title: String
60
+ description: String
61
+ sideMenu: SideMenu
62
+ viewer: Viewer
63
+ config: JSON
64
+ }
65
+
66
+ type PageLayout implements Page {
67
+ title: String
68
+ description: String
69
+ sideMenu: SideMenu
70
+ widgets: [ExternalWidget]
71
+ config: JSON
72
+ }
73
+
74
+ type DashboardPage implements Page {
75
+ panel: DashboardPanel
76
+ title: String
77
+ description: String
78
+ config: JSON
79
+ }
80
+
81
+ type ReportPage implements Page {
82
+ title: String
83
+ description: String
84
+ controlPanel: Panel
85
+ dashboardPanel: DashboardPanel
86
+ breadcrumbs: [Breadcrumb!]
87
+ config: JSON
88
+ }
89
+
90
+ type AnyPage implements Page {
91
+ title: String
92
+ description: String
93
+ tables: [NamedTable!]
94
+ panels: [Panel!]
95
+ tabbedPages: [TabbedPage!]
96
+ config: JSON
97
+ breadcrumbs: [Breadcrumb!]
98
+ }
99
+
100
+ type WizardPage implements Page {
101
+ description: String
102
+ title : String
103
+ dataSource: String
104
+ steps: [Step!]!
105
+ loadWizardByCustodian: [LoadWizardByCustodian]
106
+ defaultWizard: String
107
+ # TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
108
+ mutations: JSON
109
+ config: JSON
110
+ breadcrumbs: [Breadcrumb!]
111
+ workItemsQueryParams: BaseWorkItemQueryParams
112
+ }
113
+
114
+ type BaseWorkItemQueryParams {
115
+ docIds: [Int!]
116
+ excludeFields: [String!]
117
+ excludeInitialData: Boolean
118
+ format: String
119
+ includeFields: [String!]
120
+ oldNames: Boolean
121
+ onlyInitialData: Boolean
122
+ sorted: Boolean
123
+ performMapping: String
124
+ }
125
+
126
+ type LoadWizardByCustodian {
127
+ custodian: String
128
+ wizard: String
129
+ }
130
+
131
+ type Step {
132
+ id : String!
133
+ label : String!
134
+ icon: String
135
+ page : Page
136
+ visibilityCondition: String
137
+ pathUrl: String
138
+ }
139
+
140
+ type SideMenu {
141
+ headerCard: Card
142
+ menuItems: [MenuItem!]
143
+ dataCard: Card
144
+ }
145
+
146
+ type CardView {
147
+ queryName: String
148
+ card: Card!
149
+ groups: CardGroups
150
+ }
151
+
152
+ type CardGroups {
153
+ queryName: String!
154
+ titlePath: String!
155
+ configKeyPath: String!
156
+ dataKeyPath: String!
157
+ }
158
+
159
+ type Tab {
160
+ name: String!
161
+ label: String!
162
+ page: Page!
163
+ visibilityCondition: String
164
+ config: JSON
165
+ }
166
+
167
+ type DashboardPanel implements IPanel {
168
+ name: String
169
+ rows: [DashboardPanelRow!]
170
+ }
171
+
172
+ type DashboardPanelRow implements IPanelRow {
173
+ name: String!
174
+ title: String
175
+ titleVariant: String
176
+ layout: Number
177
+ hidden: Boolean
178
+ visibilityCondition: String
179
+ elements: [Widget!]
180
+ }
181
+
182
+ type Preview {
183
+ headerCard: Card
184
+ panel: Panel
185
+ }
186
+
187
+ interface ICard implements IElement {
188
+ name: String
189
+ component: String
190
+ config: JSON
191
+ }
192
+
193
+ interface QuickApp {
194
+ url: String
195
+ appPreference: String
196
+ target: Boolean
197
+ }
198
+
199
+ type CardRow {
200
+ name: String
201
+ paths: [String!]
202
+ expression: String
203
+ icon: String
204
+ component: String
205
+ }
206
+
207
+ type Card implements ICard & IRowElement & IElement {
208
+ name: String
209
+ component: String!
210
+ config: JSON
211
+ cols: Int
212
+ title: String
213
+ rows: [CardRow]
214
+ }
215
+
216
+ type Widget implements ICard & IRowElement & IElement & QuickApp {
217
+ id: String!
218
+ name: String
219
+ title: String
220
+ description: String
221
+ component: String
222
+ config: JSON
223
+ cols: Int
224
+ table: AnyTable
225
+ }
226
+
227
+ type ExternalWidget {
228
+ id: String
229
+ name: String
230
+ description: String
231
+ visibilityCondition: String
232
+ config: JSON
233
+ }
234
+
235
+ type ViewerOptions {
236
+ thumbnails: Boolean
237
+ pageNavigation: Boolean
238
+ lazyLoading: Boolean
239
+ }
240
+
241
+ type ViewerToolbar {
242
+ menuItems: [MenuItem!]!
243
+ actionButton: ActionButton
244
+ }
245
+
246
+ type Viewer {
247
+ documentActions: [MenuItem!]
248
+ options: ViewerOptions
249
+ toolbar: ViewerToolbar
250
+ }
251
+
252
+ type Breadcrumb {
253
+ label: String
254
+ path: String
255
+ isLabelExpression: Boolean
256
+ isPathExpression: Boolean
257
+ """
258
+ Dot-notation paths (e.g. "name", "folder.title") to try, in order, against
259
+ the already-fetched page record to compute the breadcrumb label. Used only
260
+ when `isLabelExpression` is not set. If none of the paths resolve to a
261
+ non-empty value, the client falls back to the record's `id`.
262
+ """
263
+ valuePaths: [String!]
257
264
  }