@docupace/ihub-config 1.1.28 → 1.1.30

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 (37) hide show
  1. package/README.md +182 -182
  2. package/dist/config-service.d.ts.map +1 -1
  3. package/dist/config-service.js +30 -21
  4. package/dist/config-service.js.map +1 -1
  5. package/dist/model/graphs/config/common.graphql +7 -7
  6. package/dist/model/graphs/config/fields.graphql +454 -442
  7. package/dist/model/graphs/config/menu.graphql +60 -60
  8. package/dist/model/graphs/config/mutation.graphql +30 -30
  9. package/dist/model/graphs/config/page.graphql +283 -264
  10. package/dist/model/graphs/config/panel.graphql +43 -37
  11. package/dist/model/graphs/config/query.graphql +93 -93
  12. package/dist/model/graphs/config/rules.graphql +116 -116
  13. package/dist/model/graphs/config/selectOptions.graphql +48 -48
  14. package/dist/model/graphs/config/table.graphql +231 -228
  15. package/dist/model/graphs/config/tests.graphql +16 -16
  16. package/dist/model/graphs/config/theme.graphql +41 -41
  17. package/dist/model/graphs/config/ui-components.graphql +11 -11
  18. package/dist/model/graphs/domains/scalars.graphql +3 -3
  19. package/dist/model/graphs/filter.graphql +5 -5
  20. package/dist/model/graphs/schema.graphql +7 -7
  21. package/model/graphs/config/common.graphql +7 -7
  22. package/model/graphs/config/fields.graphql +454 -442
  23. package/model/graphs/config/menu.graphql +60 -60
  24. package/model/graphs/config/mutation.graphql +30 -30
  25. package/model/graphs/config/page.graphql +283 -264
  26. package/model/graphs/config/panel.graphql +43 -37
  27. package/model/graphs/config/query.graphql +93 -93
  28. package/model/graphs/config/rules.graphql +116 -116
  29. package/model/graphs/config/selectOptions.graphql +48 -48
  30. package/model/graphs/config/table.graphql +231 -228
  31. package/model/graphs/config/tests.graphql +16 -16
  32. package/model/graphs/config/theme.graphql +41 -41
  33. package/model/graphs/config/ui-components.graphql +11 -11
  34. package/model/graphs/domains/scalars.graphql +3 -3
  35. package/model/graphs/filter.graphql +5 -5
  36. package/model/graphs/schema.graphql +7 -7
  37. package/package.json +83 -81
@@ -1,264 +1,283 @@
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!]
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
+ """
51
+ The write operation used when applying Core data type attribute security.
52
+ """
53
+ enum DataTypeSecurityMode {
54
+ CREATE
55
+ UPDATE
56
+ }
57
+
58
+ type DetailsPage implements Page {
59
+ title: String
60
+ description: String
61
+ panel: Panel
62
+ """
63
+ Selects the Core write permission applied when processing this page's panel.
64
+
65
+ This belongs to DetailsPage because CREATE or UPDATE describes how the page uses
66
+ the panel. Panel.dataType remains on Panel because it identifies the panel's record
67
+ type. A panel may be reused by create and update pages with different security modes.
68
+
69
+ CREATE checks insert permission and UPDATE checks update permission. Both modes
70
+ check select permission. When omitted, the application uses UPDATE.
71
+ """
72
+ dataTypeSecurityMode: DataTypeSecurityMode
73
+ config: JSON
74
+ breadcrumbs: [Breadcrumb!]
75
+ }
76
+
77
+ type DomainRecordTemplate implements Page {
78
+ title: String
79
+ description: String
80
+ sideMenu: SideMenu
81
+ viewer: Viewer
82
+ config: JSON
83
+ }
84
+
85
+ type PageLayout implements Page {
86
+ title: String
87
+ description: String
88
+ sideMenu: SideMenu
89
+ widgets: [ExternalWidget]
90
+ config: JSON
91
+ }
92
+
93
+ type DashboardPage implements Page {
94
+ panel: DashboardPanel
95
+ title: String
96
+ description: String
97
+ config: JSON
98
+ }
99
+
100
+ type ReportPage implements Page {
101
+ title: String
102
+ description: String
103
+ controlPanel: Panel
104
+ dashboardPanel: DashboardPanel
105
+ breadcrumbs: [Breadcrumb!]
106
+ config: JSON
107
+ }
108
+
109
+ type AnyPage implements Page {
110
+ title: String
111
+ description: String
112
+ tables: [NamedTable!]
113
+ panels: [Panel!]
114
+ tabbedPages: [TabbedPage!]
115
+ config: JSON
116
+ breadcrumbs: [Breadcrumb!]
117
+ }
118
+
119
+ type WizardPage implements Page {
120
+ description: String
121
+ title : String
122
+ dataSource: String
123
+ steps: [Step!]!
124
+ loadWizardByCustodian: [LoadWizardByCustodian]
125
+ defaultWizard: String
126
+ # TODO: Replace `mutations` (currently a JSON object used as { [mutationName: String]: GQLQuery }) with a properly typed map.
127
+ mutations: JSON
128
+ config: JSON
129
+ breadcrumbs: [Breadcrumb!]
130
+ workItemsQueryParams: BaseWorkItemQueryParams
131
+ }
132
+
133
+ type BaseWorkItemQueryParams {
134
+ docIds: [Int!]
135
+ excludeFields: [String!]
136
+ excludeInitialData: Boolean
137
+ format: String
138
+ includeFields: [String!]
139
+ oldNames: Boolean
140
+ onlyInitialData: Boolean
141
+ sorted: Boolean
142
+ performMapping: String
143
+ }
144
+
145
+ type LoadWizardByCustodian {
146
+ custodian: String
147
+ wizard: String
148
+ }
149
+
150
+ type Step {
151
+ id : String!
152
+ label : String!
153
+ icon: String
154
+ page : Page
155
+ visibilityCondition: String
156
+ pathUrl: String
157
+ }
158
+
159
+ type SideMenu {
160
+ headerCard: Card
161
+ menuItems: [MenuItem!]
162
+ dataCard: Card
163
+ }
164
+
165
+ type CardView {
166
+ queryName: String
167
+ card: Card!
168
+ groups: CardGroups
169
+ }
170
+
171
+ type CardGroups {
172
+ queryName: String!
173
+ titlePath: String!
174
+ configKeyPath: String!
175
+ dataKeyPath: String!
176
+ }
177
+
178
+ type Tab {
179
+ name: String!
180
+ label: String!
181
+ page: Page!
182
+ visibilityCondition: String
183
+ config: JSON
184
+ }
185
+
186
+ type DashboardPanel implements IPanel {
187
+ name: String
188
+ rows: [DashboardPanelRow!]
189
+ }
190
+
191
+ type DashboardPanelRow implements IPanelRow {
192
+ name: String!
193
+ title: String
194
+ titleVariant: String
195
+ layout: Number
196
+ hidden: Boolean
197
+ visibilityCondition: String
198
+ elements: [Widget!]
199
+ }
200
+
201
+ type Preview {
202
+ headerCard: Card
203
+ panel: Panel
204
+ }
205
+
206
+ interface ICard implements IElement {
207
+ name: String
208
+ component: String
209
+ config: JSON
210
+ }
211
+
212
+ interface QuickApp {
213
+ url: String
214
+ appPreference: String
215
+ target: Boolean
216
+ }
217
+
218
+ type CardRow {
219
+ name: String
220
+ paths: [String!]
221
+ expression: String
222
+ icon: String
223
+ component: String
224
+ }
225
+
226
+ type Card implements ICard & IRowElement & IElement {
227
+ name: String
228
+ component: String!
229
+ config: JSON
230
+ cols: Int
231
+ title: String
232
+ rows: [CardRow]
233
+ }
234
+
235
+ type Widget implements ICard & IRowElement & IElement & QuickApp {
236
+ id: String!
237
+ name: String
238
+ title: String
239
+ description: String
240
+ component: String
241
+ config: JSON
242
+ cols: Int
243
+ table: AnyTable
244
+ }
245
+
246
+ type ExternalWidget {
247
+ id: String
248
+ name: String
249
+ description: String
250
+ visibilityCondition: String
251
+ config: JSON
252
+ }
253
+
254
+ type ViewerOptions {
255
+ thumbnails: Boolean
256
+ pageNavigation: Boolean
257
+ lazyLoading: Boolean
258
+ }
259
+
260
+ type ViewerToolbar {
261
+ menuItems: [MenuItem!]!
262
+ actionButton: ActionButton
263
+ }
264
+
265
+ type Viewer {
266
+ documentActions: [MenuItem!]
267
+ options: ViewerOptions
268
+ toolbar: ViewerToolbar
269
+ }
270
+
271
+ type Breadcrumb {
272
+ label: String
273
+ path: String
274
+ isLabelExpression: Boolean
275
+ isPathExpression: Boolean
276
+ """
277
+ Dot-notation paths (e.g. "name", "folder.title") to try, in order, against
278
+ the already-fetched page record to compute the breadcrumb label. Used only
279
+ when `isLabelExpression` is not set. If none of the paths resolve to a
280
+ non-empty value, the client falls back to the record's `id`.
281
+ """
282
+ valuePaths: [String!]
283
+ }
@@ -1,37 +1,43 @@
1
- interface IPanel {
2
- name: String
3
- rows: [IPanelRow!]
4
- dataType: String
5
- }
6
-
7
- interface IPanelRow {
8
- elements: [IRowElement!]
9
- name: String
10
- title: String
11
- titleVariant: String
12
- visibilityCondition: String
13
- }
14
-
15
- type Panel implements IPanel {
16
- columns: Int
17
- isGrouped: Boolean
18
- name: String
19
- rows: [PanelRow!]!
20
- dataType: String
21
- }
22
-
23
- type PanelRow implements IPanelRow {
24
- elements: [IRowElement!]
25
- hasDivider: Boolean
26
- name: String
27
- title: String
28
- titleVariant: String
29
- visibilityCondition: String
30
- """
31
- Screen Designer: true when this group exists only via the screen layout patch — no
32
- counterpart in the raw base config — vs. `false`/absent for a real group (whether or
33
- not the patch also overrides some of its properties). See `Tab.custom` for the full
34
- reasoning; stamped the same way, one level down the tree.
35
- """
36
- custom: Boolean
37
- }
1
+ interface IPanel {
2
+ name: String
3
+ rows: [IPanelRow!]
4
+ """
5
+ Identifies the GraphQL data type used to load Core domain metadata for attribute-security checks.
6
+ """
7
+ dataType: String
8
+ }
9
+
10
+ interface IPanelRow {
11
+ elements: [IRowElement!]
12
+ name: String
13
+ title: String
14
+ titleVariant: String
15
+ visibilityCondition: String
16
+ }
17
+
18
+ type Panel implements IPanel {
19
+ columns: Int
20
+ isGrouped: Boolean
21
+ name: String
22
+ rows: [PanelRow!]!
23
+ """
24
+ Identifies the GraphQL data type used to load Core domain metadata for attribute-security checks.
25
+ """
26
+ dataType: String
27
+ }
28
+
29
+ type PanelRow implements IPanelRow {
30
+ elements: [IRowElement!]
31
+ hasDivider: Boolean
32
+ name: String
33
+ title: String
34
+ titleVariant: String
35
+ visibilityCondition: String
36
+ """
37
+ Screen Designer: true when this group exists only via the screen layout patch — no
38
+ counterpart in the raw base config — vs. `false`/absent for a real group (whether or
39
+ not the patch also overrides some of its properties). See `Tab.custom` for the full
40
+ reasoning; stamped the same way, one level down the tree.
41
+ """
42
+ custom: Boolean
43
+ }