@genesislcap/grid-pro 15.64.1-alpha-ddbd4ead05.0 → 15.64.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.
@@ -0,0 +1,75 @@
1
+ import { GridProFilterTypes } from './column-filters';
2
+ /**
3
+ * Whether a column filter lists set values that metadata can supply.
4
+ * @internal
5
+ */
6
+ export const isSetFilter = (filter) => filter === 'agSetColumnFilter' || filter === GridProFilterTypes.enumFilter;
7
+ /**
8
+ * The enum values datasource metadata gives a column's set filter.
9
+ * @remarks Flat (`{ values }`) on the server-side and infinite datasources, but nested in a multi
10
+ * filter's set sub-filter on the client-side datasource - an enum filter once
11
+ * `applyCommunityFilterFallbacks` has swapped out an unregistered set filter.
12
+ * @internal
13
+ */
14
+ export function getMetadataSetFilterValues(metadataColDef) {
15
+ var _a, _b, _c, _d;
16
+ const filterParams = metadataColDef === null || metadataColDef === void 0 ? void 0 : metadataColDef.filterParams;
17
+ return ((_a = filterParams === null || filterParams === void 0 ? void 0 : filterParams.values) !== null && _a !== void 0 ? _a : (_d = (_c = (_b = filterParams === null || filterParams === void 0 ? void 0 : filterParams.filters) === null || _b === void 0 ? void 0 : _b.find((subFilter) => isSetFilter(subFilter.filter))) === null || _c === void 0 ? void 0 : _c.filterParams) === null || _d === void 0 ? void 0 : _d.values);
18
+ }
19
+ function enrichColumnDef(colDef, metadataColDef, { fillUnsetFilters }) {
20
+ var _a, _b;
21
+ const enriched = Object.assign({}, colDef);
22
+ let changed = false;
23
+ if (enriched.sortable === undefined && metadataColDef.sortable !== undefined) {
24
+ enriched.sortable = metadataColDef.sortable;
25
+ changed = true;
26
+ }
27
+ if (fillUnsetFilters &&
28
+ (enriched.filter === undefined || enriched.filter === true) &&
29
+ metadataColDef.filter !== undefined) {
30
+ enriched.filter = metadataColDef.filter;
31
+ if (metadataColDef.filterParams || enriched.filterParams) {
32
+ enriched.filterParams = Object.assign(Object.assign({}, metadataColDef.filterParams), enriched.filterParams);
33
+ }
34
+ if (metadataColDef.floatingFilterComponent) {
35
+ (_a = enriched.floatingFilterComponent) !== null && _a !== void 0 ? _a : (enriched.floatingFilterComponent = metadataColDef.floatingFilterComponent);
36
+ }
37
+ changed = true;
38
+ }
39
+ else if (isSetFilter(enriched.filter) && !('values' in ((_b = enriched.filterParams) !== null && _b !== void 0 ? _b : {}))) {
40
+ const values = getMetadataSetFilterValues(metadataColDef);
41
+ if (values) {
42
+ enriched.filterParams = Object.assign(Object.assign({}, enriched.filterParams), { values });
43
+ changed = true;
44
+ }
45
+ }
46
+ return changed ? enriched : colDef;
47
+ }
48
+ /**
49
+ * Fills what consumer-authored column defs leave unset from the datasource's metadata column defs.
50
+ * @remarks Only what the server decides is filled in: whether the column sorts (a DATASERVER can
51
+ * only order by an index), the filter its field type and transport support (when `filter` is
52
+ * unset or `true`, and `fillUnsetFilters` is set), and the enum values a set filter lists.
53
+ * Formatting, rendering and headers stay the consumer's. A column is matched on `field`, and only
54
+ * when its `colId` is unset or the same: the datasources send the column id as the server field
55
+ * in ORDER_BY and CRITERIA_MATCH.
56
+ * @returns The enriched column defs, or `columnDefs` itself when nothing was filled in
57
+ * @internal
58
+ */
59
+ export function enrichColumnDefsFromMetadata(columnDefs, metadataColDefs, options) {
60
+ const metadataByField = new Map(metadataColDefs.map((colDef) => [colDef.field, colDef]));
61
+ const enrich = (def) => {
62
+ if ('children' in def) {
63
+ const children = def.children.map(enrich);
64
+ return children.every((child, index) => child === def.children[index])
65
+ ? def
66
+ : Object.assign(Object.assign({}, def), { children });
67
+ }
68
+ const metadataColDef = def.field && (def.colId == null || def.colId === def.field)
69
+ ? metadataByField.get(def.field)
70
+ : undefined;
71
+ return metadataColDef ? enrichColumnDef(def, metadataColDef, options) : def;
72
+ };
73
+ const enriched = columnDefs.map(enrich);
74
+ return enriched.every((def, index) => def === columnDefs[index]) ? columnDefs : enriched;
75
+ }
@@ -3863,6 +3863,15 @@ export declare class GridPro extends GridPro_base {
3863
3863
  * @internal
3864
3864
  */
3865
3865
  private processSchemaUpdate;
3866
+ /**
3867
+ * Fills the consumer's column defs with the sortability, filter and set-filter values the
3868
+ * schema knows and they left unset.
3869
+ * @remarks Reads `getGridOption('columnDefs')` - the defs as given - rather than
3870
+ * `getColumnDefs()`, which merges in `defaultColDef`, so an unset `sortable` would already read
3871
+ * as the datasource default.
3872
+ * @internal
3873
+ */
3874
+ private enrichPresetColumnDefs;
3866
3875
  /**
3867
3876
  * Downgrades enterprise filters in metadata-generated colDefs when their modules are not
3868
3877
  * registered — from v35 AG Grid throws on unregistered filters instead of falling back.
package/dist/react.cjs CHANGED
@@ -124,6 +124,11 @@ const StringEditor = React.forwardRef(function StringEditor(props, ref) {
124
124
  return React.createElement(customElements.getName(StringEditorWC) ?? '%%prefix%%-string-editor', { ...rest, ref }, children);
125
125
  });
126
126
 
127
+ const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
128
+ const { children, ...rest } = props;
129
+ return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
130
+ });
131
+
127
132
  const ActionRenderer = React.forwardRef(function ActionRenderer(props, ref) {
128
133
  const { children, ...rest } = props;
129
134
  return React.createElement(customElements.getName(ActionRendererWC) ?? '%%prefix%%-grid-pro-action-renderer', { ...rest, ref }, children);
@@ -164,11 +169,6 @@ const AgTextRenderer = React.forwardRef(function AgTextRenderer(props, ref) {
164
169
  return React.createElement(customElements.getName(AgTextRendererWC) ?? '%%prefix%%-grid-text-renderer', { ...rest, ref }, children);
165
170
  });
166
171
 
167
- const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
168
- const { children, ...rest } = props;
169
- return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
170
- });
171
-
172
172
  const ColumnSelection = React.forwardRef(function ColumnSelection(props, ref) {
173
173
  const { children, ...rest } = props;
174
174
  return React.createElement(customElements.getName(ColumnSelectionWC) ?? '%%prefix%%-column-selection', { ...rest, ref }, children);
@@ -596,6 +596,7 @@ module.exports = {
596
596
  NumberEditor,
597
597
  SelectEditor,
598
598
  StringEditor,
599
+ GridProColumn,
599
600
  ActionRenderer,
600
601
  ActionsMenuRenderer,
601
602
  BooleanRenderer,
@@ -604,7 +605,6 @@ module.exports = {
604
605
  StatusPillRenderer,
605
606
  AgTextFieldRenderer,
606
607
  AgTextRenderer,
607
- GridProColumn,
608
608
  ColumnSelection,
609
609
  GridProClientSideDatasource,
610
610
  GridProInfiniteDatasource,
package/dist/react.mjs CHANGED
@@ -122,6 +122,11 @@ export const StringEditor = React.forwardRef(function StringEditor(props, ref) {
122
122
  return React.createElement(customElements.getName(StringEditorWC) ?? '%%prefix%%-string-editor', { ...rest, ref }, children);
123
123
  });
124
124
 
125
+ export const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
126
+ const { children, ...rest } = props;
127
+ return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
128
+ });
129
+
125
130
  export const ActionRenderer = React.forwardRef(function ActionRenderer(props, ref) {
126
131
  const { children, ...rest } = props;
127
132
  return React.createElement(customElements.getName(ActionRendererWC) ?? '%%prefix%%-grid-pro-action-renderer', { ...rest, ref }, children);
@@ -162,11 +167,6 @@ export const AgTextRenderer = React.forwardRef(function AgTextRenderer(props, re
162
167
  return React.createElement(customElements.getName(AgTextRendererWC) ?? '%%prefix%%-grid-text-renderer', { ...rest, ref }, children);
163
168
  });
164
169
 
165
- export const GridProColumn = React.forwardRef(function GridProColumn(props, ref) {
166
- const { children, ...rest } = props;
167
- return React.createElement(customElements.getName(GridProColumnWC) ?? 'grid-pro-column', { ...rest, ref }, children);
168
- });
169
-
170
170
  export const ColumnSelection = React.forwardRef(function ColumnSelection(props, ref) {
171
171
  const { children, ...rest } = props;
172
172
  return React.createElement(customElements.getName(ColumnSelectionWC) ?? '%%prefix%%-column-selection', { ...rest, ref }, children);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@genesislcap/grid-pro",
3
3
  "description": "Genesis Foundation AG Grid",
4
- "version": "15.64.1-alpha-ddbd4ead05.0",
4
+ "version": "15.64.1",
5
5
  "sideEffects": false,
6
6
  "license": "SEE LICENSE IN license.txt",
7
7
  "main": "dist/esm/index.js",
@@ -38,19 +38,19 @@
38
38
  }
39
39
  },
40
40
  "devDependencies": {
41
- "@genesislcap/foundation-testing": "15.64.1-alpha-ddbd4ead05.0",
42
- "@genesislcap/genx": "15.64.1-alpha-ddbd4ead05.0",
43
- "@genesislcap/ts-builder": "15.64.1-alpha-ddbd4ead05.0",
44
- "@genesislcap/uvu-playwright-builder": "15.64.1-alpha-ddbd4ead05.0",
45
- "@genesislcap/vite-builder": "15.64.1-alpha-ddbd4ead05.0",
46
- "@genesislcap/webpack-builder": "15.64.1-alpha-ddbd4ead05.0"
41
+ "@genesislcap/foundation-testing": "15.64.1",
42
+ "@genesislcap/genx": "15.64.1",
43
+ "@genesislcap/ts-builder": "15.64.1",
44
+ "@genesislcap/uvu-playwright-builder": "15.64.1",
45
+ "@genesislcap/vite-builder": "15.64.1",
46
+ "@genesislcap/webpack-builder": "15.64.1"
47
47
  },
48
48
  "dependencies": {
49
- "@genesislcap/foundation-comms": "15.64.1-alpha-ddbd4ead05.0",
50
- "@genesislcap/foundation-criteria": "15.64.1-alpha-ddbd4ead05.0",
51
- "@genesislcap/foundation-logger": "15.64.1-alpha-ddbd4ead05.0",
52
- "@genesislcap/foundation-ui": "15.64.1-alpha-ddbd4ead05.0",
53
- "@genesislcap/foundation-utils": "15.64.1-alpha-ddbd4ead05.0",
49
+ "@genesislcap/foundation-comms": "15.64.1",
50
+ "@genesislcap/foundation-criteria": "15.64.1",
51
+ "@genesislcap/foundation-logger": "15.64.1",
52
+ "@genesislcap/foundation-ui": "15.64.1",
53
+ "@genesislcap/foundation-utils": "15.64.1",
54
54
  "@microsoft/fast-colors": "5.3.1",
55
55
  "@microsoft/fast-components": "2.30.6",
56
56
  "@microsoft/fast-element": "1.14.0",