@docupace/ihub-config 1.1.24-admin.2 → 1.1.25

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.
@@ -1 +1 @@
1
- {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/types/graphql.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,wCAAiB,CAAA;IACjB,yDAAkC,CAAA;AACpC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AAseD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAkVD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AA2ZD,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAwBD,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
1
+ {"version":3,"file":"graphql.js","sourceRoot":"","sources":["../../src/types/graphql.ts"],"names":[],"mappings":"AA4CA,MAAM,CAAN,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,4CAAqB,CAAA;IACrB,wCAAiB,CAAA;IACjB,yDAAkC,CAAA;AACpC,CAAC,EAJW,mBAAmB,KAAnB,mBAAmB,QAI9B;AA6eD,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,6BAAW,CAAA;AACb,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB;AAyVD,MAAM,CAAN,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,wBAAW,CAAA;IACX,0BAAa,CAAA;AACf,CAAC,EAHW,SAAS,KAAT,SAAS,QAGpB;AA4ZD,MAAM,CAAN,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,yCAAmB,CAAA;AACrB,CAAC,EAHW,kBAAkB,KAAlB,kBAAkB,QAG7B;AAwBD,MAAM,CAAN,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC7B,oCAAa,CAAA;IACb,sCAAe,CAAA;AACjB,CAAC,EAHW,mBAAmB,KAAnB,mBAAmB,QAG9B"}
@@ -103,36 +103,6 @@ type ControlGroup implements IRowElement & IElement {
103
103
  fields: [Fields!]!
104
104
  }
105
105
 
106
- # Renders the currently-linked records of a multi-valued reference attribute
107
- # (`path`) as a table (`columns`, reusing Table's Column config), with a quick
108
- # typeahead (`search`, reusing Table's SimpleSearch/QuerySelectOptions config)
109
- # to find and add records of `dataType`, and a delete affordance per row.
110
- # `rowMenuItems` (reusing Table's MenuItem config) adds further per-row actions,
111
- # e.g. an `action: "details"` item with a `url` to navigate to that record's own
112
- # details page.
113
- type ReferenceTable implements IField & IRowElement & IElement {
114
- cols: Int
115
- defaultValue: String
116
- disabledCondition: String
117
- excludeFromQueryInput: Boolean
118
- hidden: Boolean
119
- label: String
120
- name: String!
121
- path: String!
122
- readonly: Boolean
123
- required: Boolean
124
- requiredCondition: String
125
- skipQuery: Boolean
126
- visibilityCondition: String
127
- dataType: String!
128
- columns: [Column!]!
129
- search: SimpleSearch
130
- addLabel: String
131
- confirmDelete: Boolean
132
- maxRows: Int
133
- rowMenuItems: [MenuItem!]
134
- }
135
-
136
106
  type PhoneField implements IField & IRowElement & IElement {
137
107
  cols: Int
138
108
  defaultValue: String
@@ -25,12 +25,6 @@ type MenuItem implements IMenuItem {
25
25
  visibilityCondition: String
26
26
  disabledCondition: String
27
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
28
  }
35
29
 
36
30
  type ActionButton implements IMenuItem {
@@ -250,15 +250,8 @@ type Viewer {
250
250
  }
251
251
 
252
252
  type Breadcrumb {
253
- label: String
253
+ label: String!
254
254
  path: String
255
255
  isLabelExpression: Boolean
256
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
257
  }
@@ -1,14 +1,6 @@
1
1
 
2
2
  type PageQuery {
3
- """
4
- impersonateRoleId / impersonateGeneral: preview this page's config as
5
- someone else would see it — either a specific role (impersonateRoleId)
6
- or the site default with no role/personal override at all
7
- (impersonateGeneral) — restricted to admins by the host's identity
8
- resolution (see docupace-graphql-server's resolveCurrentIdentity), which
9
- throws for a non-admin caller.
10
- """
11
- getPageConfig(path: String, context: JSON, impersonateRoleId: ID, impersonateGeneral: Boolean): Page
3
+ getPageConfig(path: String, context: JSON): Page
12
4
  getAIConfig(path: String, context: JSON): JSON
13
5
  }
14
6
 
@@ -83,6 +75,7 @@ type SeedConfigResult {
83
75
  doNotUpdate: Boolean
84
76
  doNotDelete: Boolean
85
77
  uniqueColumns: [String]
78
+ dependsOn: [String]
86
79
  }
87
80
 
88
81
  type GQLQuery {
@@ -9,7 +9,6 @@ type SelectOptionsFilter {
9
9
  type QuerySelectOptions implements ISelectOptions {
10
10
  type: String
11
11
  labelProp: String # defaults to "name" in ui
12
- labelExpression: String # JS expression evaluated against each option (e.g. "`${option.name} (${option.internalId})`"); takes precedence over labelProp when set
13
12
  valueProp: String # defaults to "id" in ui
14
13
  queryName: String!
15
14
  variableDefinitions: JSON
@@ -34,19 +34,6 @@ interface ITable {
34
34
  expandable: Expandable
35
35
  totals: [TotalsItem!]
36
36
  config: JSON
37
- configPath: String
38
- configurableAttributes: [ConfigurableAttribute!]
39
- """Admin-defined columns not present in this table's own base `columns`, available to add via the Configure Columns dialog. Site/tenant-scoped catalog — see `$.predefinedColumns` under `configurableAttributes`."""
40
- predefinedColumns: [Column!]
41
- """Admin-defined filter criteria not present in this table's own base `filter.criteria`, available to add via the Configure Filters dialog. Site/tenant-scoped catalog — see `$.predefinedFilters` under `configurableAttributes`."""
42
- predefinedFilters: [TableCriteria!]
43
- }
44
-
45
- """One overridable sub-element of a config object identified by `configPath` — see the parent's own `configPath` field for how the two combine (`${configPath}#${configSubPath}`)."""
46
- type ConfigurableAttribute {
47
- name: String! # e.g. "columns", "filter" — matches the field name on the parent type
48
- configPath: String! # copy of the parent object's own configPath, for convenience
49
- configSubPath: String! # JSONPath relative to the parent object, e.g. "$.columns"
50
37
  }
51
38
 
52
39
  type TotalsItem {
@@ -104,8 +91,6 @@ enum TablePinnedPosition {
104
91
 
105
92
  type Toolbar {
106
93
  columns: ToolbarColumns
107
- configureColumns: ToolbarColumns
108
- configureFilters: ToolbarColumns
109
94
  }
110
95
 
111
96
  type ToolbarColumns {
@@ -172,11 +157,6 @@ type TableCriteria {
172
157
  selectOptions: ISelectOptions
173
158
  min: Float
174
159
  max: Float
175
- visible: Boolean
176
- """Set when this criterion was added by `$ref`-referencing a predefined/base criterion (e.g. `"#$.predefinedFilters[?(@.name=='status')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this criterion unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
177
- ref: String
178
- """True when this criterion would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `filter.criteria`). Drives two things in the Configure Filters editor. Hide-vs-delete: "remove" must hide (`visible: false`) an inherited criterion, since deleting it from the override would just have it reappear from the broader layer on the next read, while a non-inherited one can be deleted outright. And pin-on-add: re-adding a *non*-inherited criterion must write an explicit `visible: true`, or the broader layer's `visible: false` is inherited per-attribute by the name-keyed merge and the criterion stays invisible however it's re-added. Computed fresh on every read in `config-service.ts`'s `applyConfigPathOverride` against the layers below the identity's own scope tier (`ConfigurationOverrideResult.inheritedSubPaths`), never persisted."""
179
- inherited: Boolean
180
160
  }
181
161
 
182
162
  enum TableFilterVariant {
@@ -190,18 +170,12 @@ type Column {
190
170
  visible: Boolean
191
171
  paths: [String!]
192
172
  expression: String
193
- """Which predefined formatter (if any) generated `expression` — e.g. `"commaList"`, `"custom"` — see `EXPRESSION_FORMATTERS`/`CUSTOM_FORMATTER_ID` in docupace-ui-main's `expressionGeneration.ts`. Absent for the raw/no-formatting default, which stores neither this nor `expression` at all. Without this field, a column's `expression` round-trips but the formatter that produced it doesn't, so the Configure Columns editor can't tell "built from a known formatter" apart from "hand-authored custom script" on reload and always falls back to showing the latter."""
194
- formatterName: String
195
173
  component: String
196
174
  sortable: Boolean
197
175
  flex: Float
198
176
  pinned: TablePinnedPosition
199
177
  config: JSON
200
178
  filter: ColumnFilter
201
- """Set when this column was added by `$ref`-referencing a predefined/base column (e.g. `"#$.predefinedColumns[?(@.name=='email')]"`) rather than being copied inline — see the config-path override merge in `config-service.ts`. Clients that re-save this column unchanged should keep sending the same `$ref` (as this value) rather than flattening it into a full copy."""
202
- ref: String
203
- """True when this column would still show up — present by name *and* not hidden — without the current scope's own override, i.e. from a broader layer (a role/site override, or the table's own base template `columns`). Drives hide-vs-delete and pin-on-add in the Configure Columns editor — see `TableCriteria.inherited`'s doc comment for the full reasoning, identical here."""
204
- inherited: Boolean
205
179
  }
206
180
 
207
181
  type ColumnFilter {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@docupace/ihub-config",
3
- "version": "1.1.24-admin.2",
3
+ "version": "1.1.25",
4
4
  "description": "Reusable config GraphQL extension and standalone server",
5
5
  "main": "./dist/index.js",
6
6
  "type": "module",
@@ -13,13 +13,12 @@
13
13
  "license": "ISC",
14
14
  "dependencies": {
15
15
  "@docupace/ihub-cache": "1.0.1",
16
- "@docupace/ihub-core": "2.0.3-admin.2",
16
+ "@docupace/ihub-core": "0.0.114-alpha.1",
17
17
  "axios": "^1.13.5",
18
18
  "cross-env": "^7.0.3",
19
19
  "dotenv": "^16.4.1",
20
- "graphql": "^16.14.0",
20
+ "graphql": "^16.8.1",
21
21
  "js-yaml": "^4.1.0",
22
- "jsonpath": "^1.1.1",
23
22
  "lodash": "^4.17.21",
24
23
  "pino": "^10.3.1",
25
24
  "rimraf": "^6.1.3",
@@ -31,7 +30,6 @@
31
30
  "@graphql-codegen/typescript-resolvers": "4.0.6",
32
31
  "@types/jest": "^30.0.0",
33
32
  "@types/js-yaml": "^4.0.9",
34
- "@types/jsonpath": "^0.2.4",
35
33
  "@types/lodash": "^4.17.7",
36
34
  "@types/node": "^20.10.6",
37
35
  "@typescript-eslint/eslint-plugin": "^7.10.0",