@adaptabletools/adaptable-react-aggrid 13.0.0-canary.7 → 13.0.0-canary.8

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptabletools/adaptable-react-aggrid",
3
- "version": "13.0.0-canary.7",
3
+ "version": "13.0.0-canary.8",
4
4
  "description": "React version of AdapTable - the powerful AG Grid add-on that provides all the rich functionality that advanced users expect from their DataGrids and Data Tables",
5
5
  "keywords": [],
6
6
  "license": "contact sales@adaptabletools.com for details",
@@ -19,7 +19,7 @@
19
19
  },
20
20
  "dependencies": {
21
21
  "tslib": "^2.3.0",
22
- "@adaptabletools/adaptable": "13.0.0-canary.7"
22
+ "@adaptabletools/adaptable": "13.0.0-canary.8"
23
23
  },
24
24
  "peerDependencies": {
25
25
  "@ag-grid-community/core": ">=28.1.0",
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.setupFrameworkComponents = void 0;
4
4
  const tslib_1 = require("tslib");
5
5
  const React = tslib_1.__importStar(require("react"));
6
- const react_dom_1 = require("react-dom");
7
6
  const logger_1 = require("./logger");
7
+ const weakMap = new WeakMap();
8
8
  const setupFrameworkComponents = (adaptableApi) => {
9
9
  adaptableApi.internalApi
10
10
  .getAdaptableInstance()
@@ -13,7 +13,10 @@ const setupFrameworkComponents = (adaptableApi) => {
13
13
  try {
14
14
  (0, logger_1.LogAdaptableInfo)(`Mounting custom framework component ${componentType}`, containerDomNode);
15
15
  const ReactComponent = frameworkComponent;
16
- (0, react_dom_1.render)(React.createElement(ReactComponent, { adaptableApi: adaptableApi }), containerDomNode);
16
+ const unmount = adaptableApi.internalApi
17
+ .getAdaptableInstance()
18
+ .renderReactRoot(React.createElement(ReactComponent, { adaptableApi: adaptableApi }), containerDomNode);
19
+ weakMap.set(containerDomNode, unmount);
17
20
  }
18
21
  catch (err) {
19
22
  (0, logger_1.LogAdaptableError)(`Cannot correctly mount custom framework component ${componentType}`, err);
@@ -22,7 +25,12 @@ const setupFrameworkComponents = (adaptableApi) => {
22
25
  else {
23
26
  (0, logger_1.LogAdaptableInfo)(`Unmounting custom framework component ${componentType}`, containerDomNode);
24
27
  try {
25
- (0, react_dom_1.unmountComponentAtNode)(containerDomNode);
28
+ const unmount = weakMap.get(containerDomNode);
29
+ weakMap.delete(containerDomNode);
30
+ if (!unmount) {
31
+ throw 'Cannot find render root for given node.';
32
+ }
33
+ unmount();
26
34
  }
27
35
  catch (err) {
28
36
  (0, logger_1.LogAdaptableError)(`Cannot correctly unmount custom framework component ${componentType}`, err);