@toolbox-web/grid-angular 1.9.0 → 1.9.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.
@@ -1679,6 +1679,34 @@ class GridAdapter {
1679
1679
  if (angularConfig.typeDefaults) {
1680
1680
  result.typeDefaults = this.processTypeDefaults(angularConfig.typeDefaults);
1681
1681
  }
1682
+ // Process feature configs - bridge Angular component classes embedded in
1683
+ // `gridConfig.features.<name>` (e.g. `groupingColumns.groupHeaderRenderer`,
1684
+ // per-group `renderer`) to plain renderer functions via the per-feature
1685
+ // preprocessors registered by the feature secondary entries. Without this,
1686
+ // component-class renderers supplied through `gridConfig.features` reach the
1687
+ // core plugin factory raw and are invoked without `new` at render time.
1688
+ // (The directive-input path bridges these in `createFeaturePlugins`; this
1689
+ // covers the equivalent `gridConfig.features` path.)
1690
+ if (angularConfig.features && typeof angularConfig.features === 'object') {
1691
+ const features = angularConfig.features;
1692
+ const processedFeatures = { ...features };
1693
+ let featuresChanged = false;
1694
+ for (const [name, featureConfig] of Object.entries(features)) {
1695
+ if (!featureConfig || typeof featureConfig !== 'object')
1696
+ continue;
1697
+ const preprocess = getFeatureConfigPreprocessor(name);
1698
+ if (!preprocess)
1699
+ continue;
1700
+ const processedFeature = preprocess(featureConfig, this);
1701
+ if (processedFeature !== featureConfig) {
1702
+ processedFeatures[name] = processedFeature;
1703
+ featuresChanged = true;
1704
+ }
1705
+ }
1706
+ if (featuresChanged) {
1707
+ result.features = processedFeatures;
1708
+ }
1709
+ }
1682
1710
  // Process loadingRenderer - convert Angular component class to function
1683
1711
  if (angularConfig.loadingRenderer && isComponentClass(angularConfig.loadingRenderer)) {
1684
1712
  result.loadingRenderer = this.createComponentLoadingRenderer(angularConfig.loadingRenderer);
@@ -4016,7 +4044,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
4016
4044
  let autoIdCounter$1 = 0;
4017
4045
  /**
4018
4046
  * Declarative wrapper around the grid's imperative
4019
- * {@link DataGridElement.registerHeaderContent} API.
4047
+ * {@link ShellPlugin.registerHeaderContent} API.
4020
4048
  *
4021
4049
  * Captures an `<ng-template>` and mounts it as an Angular embedded view into
4022
4050
  * the slot the grid provides for header content. Must be a child of
@@ -4856,7 +4884,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.5", ngImpor
4856
4884
  let autoIdCounter = 0;
4857
4885
  /**
4858
4886
  * Declarative wrapper around the grid's imperative
4859
- * {@link DataGridElement.registerToolbarContent} API.
4887
+ * {@link ShellPlugin.registerToolbarContent} API.
4860
4888
  *
4861
4889
  * Captures an `<ng-template>` and mounts it as an Angular embedded view into
4862
4890
  * the slot the grid provides for toolbar content. Must be a child of