@adaptabletools/adaptable-mcp 0.1.0-canary.1 → 0.1.0-canary.3
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/README.md +3 -1
- package/data/changes/21-22.json +542 -0
- package/data/changes/22-23.json +639 -0
- package/data/changes/23-24.json +1874 -0
- package/data/manifest.snapshot.json +28 -10
- package/data/templates/angular/src/app/adaptableOptions.ts +40 -0
- package/data/templates/angular/src/app/agGridModules.ts +7 -0
- package/data/templates/angular/src/app/app.component.ts +66 -0
- package/data/templates/angular/src/app/app.module.ts +14 -0
- package/data/templates/angular/src/app/columnDefs.ts +121 -0
- package/data/templates/angular/src/app/gridOptions.ts +32 -0
- package/data/templates/angular/src/app/onAdaptableReady.ts +11 -0
- package/data/templates/angular/src/app/rowData.ts +851 -0
- package/data/templates/angular/src/app/styles.css +50 -0
- package/data/templates/angular/src/index.html +17 -0
- package/data/templates/angular/src/main.ts +18 -0
- package/data/templates/angular/src/polyfills.ts +1 -0
- package/data/templates/angular/tsconfig.json +16 -0
- package/data/templates/manifest.json +406 -0
- package/data/templates/react/src/App.tsx +71 -0
- package/data/templates/react/src/adaptableOptions.ts +40 -0
- package/data/templates/react/src/agGridModules.ts +7 -0
- package/data/templates/react/src/columnDefs.ts +121 -0
- package/data/templates/react/src/gridOptions.ts +32 -0
- package/data/templates/react/src/index.tsx +8 -0
- package/data/templates/react/src/onAdaptableReady.ts +11 -0
- package/data/templates/react/src/rowData.ts +851 -0
- package/data/templates/react/src/styles.css +50 -0
- package/data/templates/react/tsconfig.json +9 -0
- package/data/templates/vanilla/index.html +18 -0
- package/data/templates/vanilla/src/adaptableOptions.ts +40 -0
- package/data/templates/vanilla/src/agGridModules.ts +7 -0
- package/data/templates/vanilla/src/columnDefs.ts +121 -0
- package/data/templates/vanilla/src/gridOptions.ts +32 -0
- package/data/templates/vanilla/src/index.ts +41 -0
- package/data/templates/vanilla/src/onAdaptableReady.ts +11 -0
- package/data/templates/vanilla/src/rowData.ts +851 -0
- package/data/templates/vanilla/src/styles.css +50 -0
- package/data/templates/vanilla/tsconfig.json +14 -0
- package/data/templates/vue/.babelrc +3 -0
- package/data/templates/vue/public/index.html +19 -0
- package/data/templates/vue/src/App.vue +35 -0
- package/data/templates/vue/src/adaptableOptions.ts +40 -0
- package/data/templates/vue/src/agGridModules.ts +7 -0
- package/data/templates/vue/src/columnDefs.ts +121 -0
- package/data/templates/vue/src/gridOptions.ts +32 -0
- package/data/templates/vue/src/main.ts +6 -0
- package/data/templates/vue/src/onAdaptableReady.ts +11 -0
- package/data/templates/vue/src/rowData.ts +851 -0
- package/data/templates/vue/src/shims-vue.d.ts +6 -0
- package/data/templates/vue/src/styles.css +50 -0
- package/data/templates/vue/tsconfig.json +30 -0
- package/dist/bin.js +7 -0
- package/dist/bin.js.map +1 -1
- package/dist/cli/index.js +8 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/core/anonymise/anonymise.js +315 -0
- package/dist/core/anonymise/anonymise.js.map +1 -0
- package/dist/core/anonymise/capabilities.js +94 -0
- package/dist/core/anonymise/capabilities.js.map +1 -0
- package/dist/core/aql/capabilities.js +339 -0
- package/dist/core/aql/capabilities.js.map +1 -0
- package/dist/core/aql/check.js +204 -0
- package/dist/core/aql/check.js.map +1 -0
- package/dist/core/aql/engine.js +92 -0
- package/dist/core/aql/engine.js.map +1 -0
- package/dist/core/aql/functions.js +108 -0
- package/dist/core/aql/functions.js.map +1 -0
- package/dist/core/aql/migrate.js +62 -0
- package/dist/core/aql/migrate.js.map +1 -0
- package/dist/core/capabilities.js +9 -3
- package/dist/core/capabilities.js.map +1 -1
- package/dist/core/changes/capabilities.js +92 -0
- package/dist/core/changes/capabilities.js.map +1 -0
- package/dist/core/changes/changes.js +101 -0
- package/dist/core/changes/changes.js.map +1 -0
- package/dist/core/changes/grep.js +183 -0
- package/dist/core/changes/grep.js.map +1 -0
- package/dist/core/changes/records.js +172 -0
- package/dist/core/changes/records.js.map +1 -0
- package/dist/core/changes/render-md.js +101 -0
- package/dist/core/changes/render-md.js.map +1 -0
- package/dist/core/changes/with-docs.js +86 -0
- package/dist/core/changes/with-docs.js.map +1 -0
- package/dist/core/compat/capabilities.js +1 -1
- package/dist/core/compat/capabilities.js.map +1 -1
- package/dist/core/context/capabilities.js +1 -1
- package/dist/core/context/capabilities.js.map +1 -1
- package/dist/core/convert/capabilities.js +86 -0
- package/dist/core/convert/capabilities.js.map +1 -0
- package/dist/core/convert/coldefs.js +313 -0
- package/dist/core/convert/coldefs.js.map +1 -0
- package/dist/core/docs/cache.js +1 -1
- package/dist/core/docs/capabilities.js +1 -5
- package/dist/core/docs/capabilities.js.map +1 -1
- package/dist/core/docs/hosts.js +2 -2
- package/dist/core/docs/hosts.js.map +1 -1
- package/dist/core/extract/imports.js +163 -0
- package/dist/core/extract/imports.js.map +1 -0
- package/dist/core/extract/input.js +140 -0
- package/dist/core/extract/input.js.map +1 -0
- package/dist/core/extract/line-map.js +90 -0
- package/dist/core/extract/line-map.js.map +1 -0
- package/dist/core/extract/ts-literal.js +963 -0
- package/dist/core/extract/ts-literal.js.map +1 -0
- package/dist/core/migrate/capabilities.js +143 -0
- package/dist/core/migrate/capabilities.js.map +1 -0
- package/dist/core/migrate/leftovers.js +119 -0
- package/dist/core/migrate/leftovers.js.map +1 -0
- package/dist/core/migrate/state.js +295 -0
- package/dist/core/migrate/state.js.map +1 -0
- package/dist/core/packages/cache.js +2 -1
- package/dist/core/packages/cache.js.map +1 -1
- package/dist/core/register.js +8 -0
- package/dist/core/register.js.map +1 -1
- package/dist/core/scaffold/capabilities.js +434 -0
- package/dist/core/scaffold/capabilities.js.map +1 -0
- package/dist/core/scaffold/generate.js +409 -0
- package/dist/core/scaffold/generate.js.map +1 -0
- package/dist/core/scaffold/infer.js +441 -0
- package/dist/core/scaffold/infer.js.map +1 -0
- package/dist/core/scaffold/overlay.js +290 -0
- package/dist/core/scaffold/overlay.js.map +1 -0
- package/dist/core/scaffold/readers/csv.js +146 -0
- package/dist/core/scaffold/readers/csv.js.map +1 -0
- package/dist/core/scaffold/readers/dataset.js +53 -0
- package/dist/core/scaffold/readers/dataset.js.map +1 -0
- package/dist/core/scaffold/readers/index.js +62 -0
- package/dist/core/scaffold/readers/index.js.map +1 -0
- package/dist/core/scaffold/readers/json.js +101 -0
- package/dist/core/scaffold/readers/json.js.map +1 -0
- package/dist/core/scaffold/readers/xlsx.js +81 -0
- package/dist/core/scaffold/readers/xlsx.js.map +1 -0
- package/dist/core/scaffold/suggestions.js +57 -0
- package/dist/core/scaffold/suggestions.js.map +1 -0
- package/dist/core/scaffold/templates.js +59 -0
- package/dist/core/scaffold/templates.js.map +1 -0
- package/dist/core/setup/audit.js +91 -0
- package/dist/core/setup/audit.js.map +1 -0
- package/dist/core/setup/capabilities.js +80 -0
- package/dist/core/setup/capabilities.js.map +1 -0
- package/dist/core/setup/context.js +118 -0
- package/dist/core/setup/context.js.map +1 -0
- package/dist/core/setup/rules/cell-data-type.js +40 -0
- package/dist/core/setup/rules/cell-data-type.js.map +1 -0
- package/dist/core/setup/rules/coldef-ownership.js +67 -0
- package/dist/core/setup/rules/coldef-ownership.js.map +1 -0
- package/dist/core/setup/rules/css-import.js +34 -0
- package/dist/core/setup/rules/css-import.js.map +1 -0
- package/dist/core/setup/rules/direct-grid.js +42 -0
- package/dist/core/setup/rules/direct-grid.js.map +1 -0
- package/dist/core/setup/rules/index.js +53 -0
- package/dist/core/setup/rules/index.js.map +1 -0
- package/dist/core/setup/rules/licence-literal.js +23 -0
- package/dist/core/setup/rules/licence-literal.js.map +1 -0
- package/dist/core/setup/rules/modules.js +86 -0
- package/dist/core/setup/rules/modules.js.map +1 -0
- package/dist/core/setup/rules/react-stable-refs.js +20 -0
- package/dist/core/setup/rules/react-stable-refs.js.map +1 -0
- package/dist/core/setup/rules/ready-hook.js +33 -0
- package/dist/core/setup/rules/ready-hook.js.map +1 -0
- package/dist/core/setup/rules/required-options.js +43 -0
- package/dist/core/setup/rules/required-options.js.map +1 -0
- package/dist/core/setup/rules/rule.js +10 -0
- package/dist/core/setup/rules/rule.js.map +1 -0
- package/dist/core/setup/rules/version-skew.js +65 -0
- package/dist/core/setup/rules/version-skew.js.map +1 -0
- package/dist/core/state/capabilities.js +78 -0
- package/dist/core/state/capabilities.js.map +1 -0
- package/dist/core/state/check.js +216 -0
- package/dist/core/state/check.js.map +1 -0
- package/dist/core/state/columns.js +130 -0
- package/dist/core/state/columns.js.map +1 -0
- package/dist/core/state/did-you-mean.js +83 -0
- package/dist/core/state/did-you-mean.js.map +1 -0
- package/dist/core/state/expressions.js +170 -0
- package/dist/core/state/expressions.js.map +1 -0
- package/dist/core/state/known-names.js +96 -0
- package/dist/core/state/known-names.js.map +1 -0
- package/dist/core/state/rules/aql-legacy-shape.js +42 -0
- package/dist/core/state/rules/aql-legacy-shape.js.map +1 -0
- package/dist/core/state/rules/aql-missing.js +21 -0
- package/dist/core/state/rules/aql-missing.js.map +1 -0
- package/dist/core/state/rules/aql-syntax.js +77 -0
- package/dist/core/state/rules/aql-syntax.js.map +1 -0
- package/dist/core/state/rules/calculated-settings.js +23 -0
- package/dist/core/state/rules/calculated-settings.js.map +1 -0
- package/dist/core/state/rules/column-id-exists.js +29 -0
- package/dist/core/state/rules/column-id-exists.js.map +1 -0
- package/dist/core/state/rules/dashboard-module-names.js +31 -0
- package/dist/core/state/rules/dashboard-module-names.js.map +1 -0
- package/dist/core/state/rules/dashboard-toolbar-names.js +48 -0
- package/dist/core/state/rules/dashboard-toolbar-names.js.map +1 -0
- package/dist/core/state/rules/format-column-pivot-display-format.js +43 -0
- package/dist/core/state/rules/format-column-pivot-display-format.js.map +1 -0
- package/dist/core/state/rules/helpers.js +39 -0
- package/dist/core/state/rules/helpers.js.map +1 -0
- package/dist/core/state/rules/index.js +80 -0
- package/dist/core/state/rules/index.js.map +1 -0
- package/dist/core/state/rules/layout-column-refs.js +60 -0
- package/dist/core/state/rules/layout-column-refs.js.map +1 -0
- package/dist/core/state/rules/layout-current-exists.js +27 -0
- package/dist/core/state/rules/layout-current-exists.js.map +1 -0
- package/dist/core/state/rules/layout-non-empty.js +32 -0
- package/dist/core/state/rules/layout-non-empty.js.map +1 -0
- package/dist/core/state/rules/rule.js +2 -0
- package/dist/core/state/rules/rule.js.map +1 -0
- package/dist/core/state/rules/scope-column-refs.js +32 -0
- package/dist/core/state/rules/scope-column-refs.js.map +1 -0
- package/dist/core/state/rules/scope-shape.js +61 -0
- package/dist/core/state/rules/scope-shape.js.map +1 -0
- package/dist/core/state/rules/state-unique-name.js +40 -0
- package/dist/core/state/rules/state-unique-name.js.map +1 -0
- package/dist/core/state/rules/state-unknown-section.js +30 -0
- package/dist/core/state/rules/state-unknown-section.js.map +1 -0
- package/dist/core/state/rules/type-discriminator.js +70 -0
- package/dist/core/state/rules/type-discriminator.js.map +1 -0
- package/dist/core/state/type-check.js +349 -83
- package/dist/core/state/type-check.js.map +1 -1
- package/dist/mcp/index.js +104 -16
- package/dist/mcp/index.js.map +1 -1
- package/dist/mcp/server.js +110 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/skills/adaptable-debug/SKILL.md +145 -0
- package/dist/skills/adaptable-debug/VERSION.md +1 -0
- package/dist/skills/adaptable-debug/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-debug/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-debug/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-debug/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-debug/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-debug/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-debug/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-debug/references/devtools-api.md +36 -0
- package/dist/skills/adaptable-debug/references/feedback-template.md +36 -0
- package/dist/skills/adaptable-debug/references/symptoms.md +37 -0
- package/dist/skills/adaptable-debug/references/ticket-template.md +50 -0
- package/dist/skills/adaptable-dev/SKILL.md +97 -0
- package/dist/skills/adaptable-dev/VERSION.md +1 -0
- package/dist/skills/adaptable-dev/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-dev/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-dev/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-dev/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-dev/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-dev/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-dev/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-dev/references/recommendations.md +93 -0
- package/dist/skills/adaptable-setup/SKILL.md +158 -0
- package/dist/skills/adaptable-setup/VERSION.md +1 -0
- package/dist/skills/adaptable-setup/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-setup/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-setup/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-setup/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-setup/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-setup/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-setup/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-setup/references/paths.md +45 -0
- package/dist/skills/adaptable-upgrade/SKILL.md +269 -0
- package/dist/skills/adaptable-upgrade/VERSION.md +1 -0
- package/dist/skills/adaptable-upgrade/references/_shared/agents-snippet.md +3 -0
- package/dist/skills/adaptable-upgrade/references/_shared/capabilities.md +35 -0
- package/dist/skills/adaptable-upgrade/references/_shared/conversation.md +20 -0
- package/dist/skills/adaptable-upgrade/references/_shared/docs-protocol.md +36 -0
- package/dist/skills/adaptable-upgrade/references/_shared/grounding.md +54 -0
- package/dist/skills/adaptable-upgrade/references/_shared/guards.md +20 -0
- package/dist/skills/adaptable-upgrade/references/_shared/validation-loop.md +42 -0
- package/dist/skills/adaptable-upgrade/references/apply-order.md +171 -0
- package/dist/skills/adaptable-upgrade/references/plan-preamble.md +151 -0
- package/dist/skills/adaptable-upgrade/scripts/adaptable.mjs +24 -0
- package/package.json +11 -5
- package/dist/core/state/rules.js +0 -417
- package/dist/core/state/rules.js.map +0 -1
package/README.md
CHANGED
|
@@ -62,7 +62,9 @@ Point an MCP client at the same binary with the `mcp` argument (without it the b
|
|
|
62
62
|
}
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
Cursor reads this from `.cursor/mcp.json`, Claude Code from `.mcp.json`; Codex takes the equivalent `[mcp_servers.adaptable]` block in `~/.codex/config.toml`. The server exposes the checking, docs and migration capabilities as tools with the same
|
|
65
|
+
Cursor reads this from `.cursor/mcp.json`, Claude Code from `.mcp.json`; Codex takes the equivalent `[mcp_servers.adaptable]` block in `~/.codex/config.toml`. The server exposes the checking, docs and migration capabilities as twelve tools (`detect_environment`, `get_compatibility`, `search_docs`, `get_doc`, `get_demo`, `check_state`, `check_expression`, `list_expression_functions`, `check_setup`, `migrate_state`, `migrate_expression`, `list_changes`) with the same envelope as the CLI's `--json` output; every tool also accepts the global options (`cwd`, `major`, `framework`, `offline`, `docsHost`). `adaptable mcp --cwd <dir> --major <n> --offline …` sets defaults for every call. There are no prompts or resources: the workflows live in the skills.
|
|
66
|
+
|
|
67
|
+
In a long-lived server the docs manifest is re-validated at most once a minute before a manifest-dependent call, and the library package for a project is resolved per call, so one server serves projects on different majors.
|
|
66
68
|
|
|
67
69
|
## How it works
|
|
68
70
|
|
|
@@ -0,0 +1,542 @@
|
|
|
1
|
+
{
|
|
2
|
+
"from": 21,
|
|
3
|
+
"to": 22,
|
|
4
|
+
"builtFrom": {
|
|
5
|
+
"releaseNote": "support/version-220-release-note",
|
|
6
|
+
"sourceSha256": "47efd2183ab6ab528fbff29eecf25e542f5755dc221d492b0ad7f4e560bb8f79"
|
|
7
|
+
},
|
|
8
|
+
"records": [
|
|
9
|
+
{
|
|
10
|
+
"id": "packages-upgrade-22",
|
|
11
|
+
"area": "packages",
|
|
12
|
+
"type": "BREAKING",
|
|
13
|
+
"title": "AG Grid",
|
|
14
|
+
"rows": [
|
|
15
|
+
{
|
|
16
|
+
"item": "AG Grid",
|
|
17
|
+
"before": "v.21 pairing",
|
|
18
|
+
"after": "35.0 (22.0); 22.1 pairs with 35.2",
|
|
19
|
+
"autoMigrated": "n/a"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"item": "@adaptabletools/* versions",
|
|
23
|
+
"before": "21.x",
|
|
24
|
+
"after": "all on the same 22.x",
|
|
25
|
+
"autoMigrated": "n/a"
|
|
26
|
+
}
|
|
27
|
+
],
|
|
28
|
+
"search": [],
|
|
29
|
+
"always": true,
|
|
30
|
+
"note": "Bump every @adaptabletools/* package to the same 22.x and AG Grid to 35.0 (22.1 pairs with AG Grid 35.2; use the ag-update skill for AG Grid). If 22 is only a stop on the way to a later major, go straight to the AG Grid version paired with the final target.",
|
|
31
|
+
"docs": "support/version-220-release-note#chg-packages-upgrade-22"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"id": "packages-angular-18",
|
|
35
|
+
"area": "packages",
|
|
36
|
+
"type": "BREAKING",
|
|
37
|
+
"title": "Angular wrapper",
|
|
38
|
+
"rows": [
|
|
39
|
+
{
|
|
40
|
+
"item": "Angular wrapper",
|
|
41
|
+
"before": "Angular >=17.3.0",
|
|
42
|
+
"after": "Angular >=18.2.14 (@adaptabletools/adaptable-angular-aggrid)",
|
|
43
|
+
"autoMigrated": "n/a"
|
|
44
|
+
}
|
|
45
|
+
],
|
|
46
|
+
"search": [
|
|
47
|
+
"@adaptabletools/adaptable-angular-aggrid"
|
|
48
|
+
],
|
|
49
|
+
"always": false,
|
|
50
|
+
"note": "Upgrade the application to Angular 18.2.14 or later before or together with AdapTable 22 (Angular 20 if the final target is AdapTable 24).",
|
|
51
|
+
"docs": "support/version-220-release-note#chg-packages-angular-18"
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
"id": "packages-import-from-root",
|
|
55
|
+
"area": "packages",
|
|
56
|
+
"type": "DEPRECATED",
|
|
57
|
+
"title": "Types entry point",
|
|
58
|
+
"rows": [
|
|
59
|
+
{
|
|
60
|
+
"item": "Types entry point",
|
|
61
|
+
"before": "@adaptabletools/adaptable/types",
|
|
62
|
+
"after": "@adaptabletools/adaptable (package root exports every type)",
|
|
63
|
+
"autoMigrated": "n/a"
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
"item": "AG Grid entry point",
|
|
67
|
+
"before": "@adaptabletools/adaptable/agGrid",
|
|
68
|
+
"after": "@adaptabletools/adaptable (or the framework wrapper root)",
|
|
69
|
+
"autoMigrated": "n/a"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"search": [
|
|
73
|
+
"@adaptabletools/adaptable/types",
|
|
74
|
+
"@adaptabletools/adaptable/agGrid"
|
|
75
|
+
],
|
|
76
|
+
"always": false,
|
|
77
|
+
"note": "Rewrite the imports to the package root (or the framework wrapper root) and merge duplicate import statements; the legacy entry points still resolve but are not documented.",
|
|
78
|
+
"docs": "support/version-220-release-note#chg-packages-import-from-root"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"id": "packages-ipushpull-plugin-options",
|
|
82
|
+
"area": "packages",
|
|
83
|
+
"type": "BREAKING",
|
|
84
|
+
"title": "iPushPull plugin options type",
|
|
85
|
+
"rows": [
|
|
86
|
+
{
|
|
87
|
+
"item": "iPushPull plugin options type",
|
|
88
|
+
"before": "IPushPullPluginOptions exported by @adaptabletools/adaptable",
|
|
89
|
+
"after": "exported by @adaptabletools/adaptable-plugin-ipushpull",
|
|
90
|
+
"autoMigrated": "n/a"
|
|
91
|
+
}
|
|
92
|
+
],
|
|
93
|
+
"search": [
|
|
94
|
+
"IPushPullPluginOptions"
|
|
95
|
+
],
|
|
96
|
+
"always": false,
|
|
97
|
+
"note": "Import IPushPullPluginOptions from '@adaptabletools/adaptable-plugin-ipushpull' (with the plugin's default export); the option shape passed to the plugin is unchanged.",
|
|
98
|
+
"docs": "support/version-220-release-note#chg-packages-ipushpull-plugin-options"
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"id": "css-index-file",
|
|
102
|
+
"area": "css",
|
|
103
|
+
"type": "BREAKING",
|
|
104
|
+
"title": "Root stylesheet",
|
|
105
|
+
"rows": [
|
|
106
|
+
{
|
|
107
|
+
"item": "Root stylesheet",
|
|
108
|
+
"before": "@adaptabletools/ /base.css",
|
|
109
|
+
"after": "@adaptabletools/ /index.css",
|
|
110
|
+
"autoMigrated": "n/a"
|
|
111
|
+
}
|
|
112
|
+
],
|
|
113
|
+
"search": [
|
|
114
|
+
"/base.css"
|
|
115
|
+
],
|
|
116
|
+
"always": false,
|
|
117
|
+
"note": "Replace @adaptabletools/<package>/base.css with @adaptabletools/<package>/index.css everywhere it is imported (CSS @import, JS/TS import, angular.json styles, bundler config, index.html); the Angular package keeps a base.css alias.",
|
|
118
|
+
"docs": "support/version-220-release-note#chg-css-index-file"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"id": "css-light-theme-in-index",
|
|
122
|
+
"area": "css",
|
|
123
|
+
"type": "DEPRECATED",
|
|
124
|
+
"title": "Light theme file",
|
|
125
|
+
"rows": [
|
|
126
|
+
{
|
|
127
|
+
"item": "Light theme file",
|
|
128
|
+
"before": "@adaptabletools/ /themes/light.css import",
|
|
129
|
+
"after": "light theme is included in index.css; the file is an empty stub (themes/dark.css is still required for the dark theme in 22)",
|
|
130
|
+
"autoMigrated": "n/a"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"search": [
|
|
134
|
+
"/themes/light.css"
|
|
135
|
+
],
|
|
136
|
+
"always": false,
|
|
137
|
+
"note": "Remove the themes/light.css import; keep themes/dark.css if the dark theme is used and the target is 22 (drop it too when the target is 23 or later, where both themes are in index.css).",
|
|
138
|
+
"docs": "support/version-220-release-note#chg-css-light-theme-in-index"
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
"id": "css-removed-variables",
|
|
142
|
+
"area": "css",
|
|
143
|
+
"type": "BREAKING",
|
|
144
|
+
"title": "Spacing variables",
|
|
145
|
+
"rows": [
|
|
146
|
+
{
|
|
147
|
+
"item": "Spacing variables",
|
|
148
|
+
"before": "--ab-space-0 … --ab-space-7",
|
|
149
|
+
"after": "derived from --ab-base-space: 4px with calc() (mapping under this table)",
|
|
150
|
+
"autoMigrated": "n/a"
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
"item": "Secondary colour variables",
|
|
154
|
+
"before": "--ab-color-secondary, --ab-color-secondarydark, --ab-color-secondarylight, --ab-color-text-on-secondary, --ab-color-text-on-secondarylight",
|
|
155
|
+
"after": "the accent family: --ab-color-accent, --ab-color-accentlight, --ab-color-accent-foreground (or --ab-color-primary / --ab-color-primary-foreground)",
|
|
156
|
+
"autoMigrated": "n/a"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"item": "Action-button colour variables",
|
|
160
|
+
"before": "--ab-color-action-edit / -clone / -delete / -share, --ab-color-text-on-edit / -clone / -delete / -share",
|
|
161
|
+
"after": "removed (23 reintroduces --ab-color-action-* with --ab-color-action-*-foreground)",
|
|
162
|
+
"autoMigrated": "n/a"
|
|
163
|
+
},
|
|
164
|
+
{
|
|
165
|
+
"item": "Component variables",
|
|
166
|
+
"before": "--ab-cmp-dialog*, --ab-cmp-help-block*, --ab-cmp-error-box*, --ab-cmp-warning-box*, --ab-cmp-code-block*, --ab-cmp-listgroup*, --ab-cmp-quickfilter*, --ab-cmp-one-page-wizard*, --ab-cmp-expression-editor*, --ab-cmp-module-selector*, --ab-cmp-adaptable-popup*, --ab-cmp-toggle*, --ab-cmp-simple-button*, --ab-cmp-panel* and more (about 100)",
|
|
167
|
+
"after": "removed — target the components' .ab-* classes directly (AdapTable's CSS is in the adaptable layer, so an unlayered rule wins without !important)",
|
|
168
|
+
"autoMigrated": "n/a"
|
|
169
|
+
}
|
|
170
|
+
],
|
|
171
|
+
"search": [
|
|
172
|
+
"--ab-space-0",
|
|
173
|
+
"--ab-space-1",
|
|
174
|
+
"--ab-space-2",
|
|
175
|
+
"--ab-space-3",
|
|
176
|
+
"--ab-space-4",
|
|
177
|
+
"--ab-space-5",
|
|
178
|
+
"--ab-space-6",
|
|
179
|
+
"--ab-space-7",
|
|
180
|
+
"--ab-color-secondary",
|
|
181
|
+
"--ab-color-text-on-secondary",
|
|
182
|
+
"--ab-color-action-",
|
|
183
|
+
"--ab-color-text-on-edit",
|
|
184
|
+
"--ab-color-text-on-clone",
|
|
185
|
+
"--ab-color-text-on-delete",
|
|
186
|
+
"--ab-color-text-on-share",
|
|
187
|
+
"--ab-cmp-dialog",
|
|
188
|
+
"--ab-cmp-help-block",
|
|
189
|
+
"--ab-cmp-error-box",
|
|
190
|
+
"--ab-cmp-warning-box",
|
|
191
|
+
"--ab-cmp-code-block",
|
|
192
|
+
"--ab-cmp-listgroup",
|
|
193
|
+
"--ab-cmp-quickfilter",
|
|
194
|
+
"--ab-cmp-one-page-wizard",
|
|
195
|
+
"--ab-cmp-expression-editor",
|
|
196
|
+
"--ab-cmp-module-selector",
|
|
197
|
+
"--ab-cmp-adaptable-popup",
|
|
198
|
+
"--ab-cmp-toggle--hover__background",
|
|
199
|
+
"--ab-cmp-toggle--pressed__background",
|
|
200
|
+
"--ab-cmp-toggle__background",
|
|
201
|
+
"--ab-cmp-toggle__border-radius",
|
|
202
|
+
"--ab-cmp-toggle__color",
|
|
203
|
+
"--ab-cmp-toggle__padding",
|
|
204
|
+
"--ab-cmp-toggle-button--active__background",
|
|
205
|
+
"--ab-cmp-toggle-button__font-size",
|
|
206
|
+
"--ab-cmp-simple-button--outlined__border",
|
|
207
|
+
"--ab-cmp-simple-button__font-family",
|
|
208
|
+
"--ab-cmp-simple-button__font-size",
|
|
209
|
+
"--ab-cmp-simple-button__height",
|
|
210
|
+
"--ab-cmp-simple-button__padding",
|
|
211
|
+
"--ab-cmp-simple-button__width",
|
|
212
|
+
"--ab-cmp-panel__padding",
|
|
213
|
+
"--ab-cmp-panel_body",
|
|
214
|
+
"--ab-cmp-Tag__font-size",
|
|
215
|
+
"--ab-cmp-adaptable-object-list-item-label__padding-top"
|
|
216
|
+
],
|
|
217
|
+
"always": false,
|
|
218
|
+
"note": "The removed variables resolve to nothing: spacing becomes calc() on --ab-base-space, secondary colours become the accent family (listed under this table), and component overrides are deleted (restyle through the components' .ab-* classes — an unlayered rule wins in the adaptable layer). The full removed list is in Removed CSS Variables above.",
|
|
219
|
+
"docs": "support/version-220-release-note#chg-css-removed-variables"
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"id": "css-adaptable-layer",
|
|
223
|
+
"area": "css",
|
|
224
|
+
"type": "BEHAVIOUR",
|
|
225
|
+
"title": "CSS layer",
|
|
226
|
+
"rows": [
|
|
227
|
+
{
|
|
228
|
+
"item": "CSS layer",
|
|
229
|
+
"before": "AdapTable styles unlayered; selector-doubling and !important needed to override",
|
|
230
|
+
"after": "all AdapTable CSS nested in @layer adaptable",
|
|
231
|
+
"autoMigrated": "n/a"
|
|
232
|
+
}
|
|
233
|
+
],
|
|
234
|
+
"search": [
|
|
235
|
+
"@layer"
|
|
236
|
+
],
|
|
237
|
+
"always": false,
|
|
238
|
+
"note": "If the application declares its own layers, list adaptable first (@layer adaptable, app, theme; with Tailwind: @layer theme, base, components, adaptable, utilities) and remove selector-doubling and !important hacks that existed only to beat AdapTable's specificity; applications that do not use @layer need no change.",
|
|
239
|
+
"docs": "support/version-220-release-note#chg-css-adaptable-layer"
|
|
240
|
+
},
|
|
241
|
+
{
|
|
242
|
+
"id": "state-object-name",
|
|
243
|
+
"area": "state",
|
|
244
|
+
"type": "DEPRECATED",
|
|
245
|
+
"title": "Adaptable Objects in Initial State require a Name",
|
|
246
|
+
"rows": [
|
|
247
|
+
{
|
|
248
|
+
"item": "Custom Sort",
|
|
249
|
+
"before": "CustomSorts without Name",
|
|
250
|
+
"after": "unique Name required (a deterministic one is generated when missing)",
|
|
251
|
+
"autoMigrated": "yes"
|
|
252
|
+
},
|
|
253
|
+
{
|
|
254
|
+
"item": "Flashing Cell",
|
|
255
|
+
"before": "FlashingCellDefinitions without Name",
|
|
256
|
+
"after": "unique Name required (generated when missing)",
|
|
257
|
+
"autoMigrated": "yes"
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"item": "Format Column",
|
|
261
|
+
"before": "FormatColumns without Name",
|
|
262
|
+
"after": "unique Name required (generated when missing)",
|
|
263
|
+
"autoMigrated": "yes"
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
"item": "Plus Minus",
|
|
267
|
+
"before": "PlusMinusNudges without Name",
|
|
268
|
+
"after": "unique Name required (generated when missing)",
|
|
269
|
+
"autoMigrated": "yes"
|
|
270
|
+
},
|
|
271
|
+
{
|
|
272
|
+
"item": "Shortcut",
|
|
273
|
+
"before": "Shortcuts without Name",
|
|
274
|
+
"after": "unique Name required (generated when missing)",
|
|
275
|
+
"autoMigrated": "yes"
|
|
276
|
+
},
|
|
277
|
+
{
|
|
278
|
+
"item": "Alert",
|
|
279
|
+
"before": "AlertDefinitions without Name",
|
|
280
|
+
"after": "unique Name required (generated when missing)",
|
|
281
|
+
"autoMigrated": "yes"
|
|
282
|
+
}
|
|
283
|
+
],
|
|
284
|
+
"search": [
|
|
285
|
+
"CustomSorts:",
|
|
286
|
+
"FlashingCellDefinitions:",
|
|
287
|
+
"FormatColumns:",
|
|
288
|
+
"PlusMinusNudges:",
|
|
289
|
+
"Shortcuts:",
|
|
290
|
+
"AlertDefinitions:"
|
|
291
|
+
],
|
|
292
|
+
"always": false,
|
|
293
|
+
"note": "Add a meaningful Name to every such object in initialState. To take the generated names instead, run the application once after the package bump and copy the objects back from stateApi.getAdaptableState() (or the Grid Info panel). Objects that already had Name (Layouts) or FriendlyName (Calculated Columns) are unchanged.",
|
|
294
|
+
"docs": "support/version-220-release-note#chg-state-object-name"
|
|
295
|
+
},
|
|
296
|
+
{
|
|
297
|
+
"id": "state-format-column-cell-alignment",
|
|
298
|
+
"area": "state",
|
|
299
|
+
"type": "DEPRECATED",
|
|
300
|
+
"title": "Format Column alignment",
|
|
301
|
+
"rows": [
|
|
302
|
+
{
|
|
303
|
+
"item": "Format Column alignment",
|
|
304
|
+
"before": "FormatColumn.CellAlignment",
|
|
305
|
+
"after": "FormatColumn.Style.Alignment (Alignment: 'Left', 'Right', 'Center' or 'Default', available wherever a Style is used)",
|
|
306
|
+
"autoMigrated": "yes"
|
|
307
|
+
}
|
|
308
|
+
],
|
|
309
|
+
"search": [
|
|
310
|
+
"CellAlignment"
|
|
311
|
+
],
|
|
312
|
+
"always": false,
|
|
313
|
+
"note": "In initialState, move CellAlignment: 'Right' into Style: { Alignment: 'Right' }; rename CellAlignment type imports to Alignment.",
|
|
314
|
+
"docs": "support/version-220-release-note#chg-state-format-column-cell-alignment"
|
|
315
|
+
},
|
|
316
|
+
{
|
|
317
|
+
"id": "options-predicate-time-default",
|
|
318
|
+
"area": "options",
|
|
319
|
+
"type": "BEHAVIOUR",
|
|
320
|
+
"title": "Date Predicate time comparison (changed in 21.1)",
|
|
321
|
+
"rows": [
|
|
322
|
+
{
|
|
323
|
+
"item": "Date Predicate time comparison (changed in 21.1)",
|
|
324
|
+
"before": "predicateOptions.evaluateInPredicateUsingTime defaults to true (up to 21.0): Date Predicates compare timestamps",
|
|
325
|
+
"after": "defaults to false: dates are compared date-only unless the option is set",
|
|
326
|
+
"autoMigrated": "n/a"
|
|
327
|
+
}
|
|
328
|
+
],
|
|
329
|
+
"search": [
|
|
330
|
+
"evaluateInPredicateUsingTime"
|
|
331
|
+
],
|
|
332
|
+
"always": true,
|
|
333
|
+
"note": "If date filters must keep matching on exact timestamps, set predicateOptions: { evaluateInPredicateUsingTime: true } (a function (context) => boolean is also accepted). Projects already on 21.1 or later have the new default and need nothing.",
|
|
334
|
+
"docs": "support/version-220-release-note#chg-options-predicate-time-default"
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"id": "options-hide-quick-filter-input",
|
|
338
|
+
"area": "options",
|
|
339
|
+
"type": "BREAKING",
|
|
340
|
+
"title": "Quick Filter input visibility",
|
|
341
|
+
"rows": [
|
|
342
|
+
{
|
|
343
|
+
"item": "Quick Filter input visibility",
|
|
344
|
+
"before": "columnFilterOptions.hideQuickFilterInput (per-column callback hiding only the text input)",
|
|
345
|
+
"after": "removed",
|
|
346
|
+
"autoMigrated": "n/a"
|
|
347
|
+
}
|
|
348
|
+
],
|
|
349
|
+
"search": [
|
|
350
|
+
"hideQuickFilterInput"
|
|
351
|
+
],
|
|
352
|
+
"always": false,
|
|
353
|
+
"note": "Use columnFilterOptions.hideQuickFilterDropdown(context) to hide the operator dropdown, showQuickFilter: false to hide the bar, or the AG Grid column definition (floatingFilter: false) for a single column.",
|
|
354
|
+
"docs": "support/version-220-release-note#chg-options-hide-quick-filter-input"
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"id": "api-always-hidden-columns",
|
|
358
|
+
"area": "api",
|
|
359
|
+
"type": "BREAKING",
|
|
360
|
+
"title": "Always-hidden columns method",
|
|
361
|
+
"rows": [
|
|
362
|
+
{
|
|
363
|
+
"item": "Always-hidden columns method",
|
|
364
|
+
"before": "columnApi.getAlwaysHiddenColumns()",
|
|
365
|
+
"after": "columnApi.getUIHiddenColumns()",
|
|
366
|
+
"autoMigrated": "n/a"
|
|
367
|
+
},
|
|
368
|
+
{
|
|
369
|
+
"item": "Always-hidden column flag",
|
|
370
|
+
"before": "AdaptableColumn.alwaysHidden",
|
|
371
|
+
"after": "AdaptableColumn.isUIHiddenColumn",
|
|
372
|
+
"autoMigrated": "n/a"
|
|
373
|
+
}
|
|
374
|
+
],
|
|
375
|
+
"search": [
|
|
376
|
+
"getAlwaysHiddenColumns",
|
|
377
|
+
"alwaysHidden"
|
|
378
|
+
],
|
|
379
|
+
"always": false,
|
|
380
|
+
"note": "columnApi.getAlwaysHiddenColumns() becomes columnApi.getUIHiddenColumns(); column.alwaysHidden becomes column.isUIHiddenColumn.",
|
|
381
|
+
"docs": "support/version-220-release-note#chg-api-always-hidden-columns"
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
"id": "api-custom-sort-signature",
|
|
385
|
+
"area": "api",
|
|
386
|
+
"type": "BREAKING",
|
|
387
|
+
"title": "Create Custom Sort (changed in 21.2)",
|
|
388
|
+
"rows": [
|
|
389
|
+
{
|
|
390
|
+
"item": "Create Custom Sort (changed in 21.2)",
|
|
391
|
+
"before": "customSortApi.createCustomSort(columnId, values)",
|
|
392
|
+
"after": "customSortApi.createCustomSort({ name, columnId, values })",
|
|
393
|
+
"autoMigrated": "n/a"
|
|
394
|
+
},
|
|
395
|
+
{
|
|
396
|
+
"item": "Edit Custom Sort (changed in 21.2)",
|
|
397
|
+
"before": "customSortApi.editCustomSort(columnId, values)",
|
|
398
|
+
"after": "customSortApi.editCustomSortValues(columnId, values); editCustomSort takes a full CustomSort object",
|
|
399
|
+
"autoMigrated": "n/a"
|
|
400
|
+
}
|
|
401
|
+
],
|
|
402
|
+
"search": [
|
|
403
|
+
"editCustomSort(",
|
|
404
|
+
"createCustomSort("
|
|
405
|
+
],
|
|
406
|
+
"always": false,
|
|
407
|
+
"note": "createCustomSort(col, values) becomes createCustomSort({ name: 'CustomSort-' + col, columnId: col, values }); two-argument editCustomSort(col, values) calls become editCustomSortValues(col, values) — calls that already pass a CustomSort object to editCustomSort are unchanged.",
|
|
408
|
+
"docs": "support/version-220-release-note#chg-api-custom-sort-signature"
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
"id": "api-layout-changed-action",
|
|
412
|
+
"area": "api",
|
|
413
|
+
"type": "BREAKING",
|
|
414
|
+
"title": "Layout Changed action (changed in 21.1)",
|
|
415
|
+
"rows": [
|
|
416
|
+
{
|
|
417
|
+
"item": "Layout Changed action (changed in 21.1)",
|
|
418
|
+
"before": "LayoutChanged event action 'ADAPTABLE_READY' (first Layout applied at start-up)",
|
|
419
|
+
"after": "'LAYOUT_READY'",
|
|
420
|
+
"autoMigrated": "n/a"
|
|
421
|
+
}
|
|
422
|
+
],
|
|
423
|
+
"search": [
|
|
424
|
+
"ADAPTABLE_READY"
|
|
425
|
+
],
|
|
426
|
+
"always": false,
|
|
427
|
+
"note": "Replace the string comparison; the event timing is unchanged. Projects on 21.1 or later already use the new value.",
|
|
428
|
+
"docs": "support/version-220-release-note#chg-api-layout-changed-action"
|
|
429
|
+
},
|
|
430
|
+
{
|
|
431
|
+
"id": "api-use-case-sensitivity",
|
|
432
|
+
"area": "api",
|
|
433
|
+
"type": "BREAKING",
|
|
434
|
+
"title": "Case sensitivity check (changed in 21.1)",
|
|
435
|
+
"rows": [
|
|
436
|
+
{
|
|
437
|
+
"item": "Case sensitivity check (changed in 21.1)",
|
|
438
|
+
"before": "predicateApi.useCaseSensitivity() (no argument)",
|
|
439
|
+
"after": "predicateApi.useCaseSensitivity(columnId) (per-column decision)",
|
|
440
|
+
"autoMigrated": "n/a"
|
|
441
|
+
}
|
|
442
|
+
],
|
|
443
|
+
"search": [
|
|
444
|
+
"useCaseSensitivity()"
|
|
445
|
+
],
|
|
446
|
+
"always": false,
|
|
447
|
+
"note": "Pass the column id of the value being compared: predicateApi.useCaseSensitivity(columnId). Projects on 21.1 or later already pass it. Note: predicateApi is removed in 24.",
|
|
448
|
+
"docs": "support/version-220-release-note#chg-api-use-case-sensitivity"
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
"id": "api-predefined-config",
|
|
452
|
+
"area": "api",
|
|
453
|
+
"type": "BREAKING",
|
|
454
|
+
"title": "Predefined Config type",
|
|
455
|
+
"rows": [
|
|
456
|
+
{
|
|
457
|
+
"item": "Predefined Config type",
|
|
458
|
+
"before": "PredefinedConfig type (alias of InitialState)",
|
|
459
|
+
"after": "InitialState",
|
|
460
|
+
"autoMigrated": "n/a"
|
|
461
|
+
},
|
|
462
|
+
{
|
|
463
|
+
"item": "Get Predefined Config",
|
|
464
|
+
"before": "stateApi.getPredefinedConfig()",
|
|
465
|
+
"after": "stateApi.getInitialState()",
|
|
466
|
+
"autoMigrated": "n/a"
|
|
467
|
+
},
|
|
468
|
+
{
|
|
469
|
+
"item": "Reload Predefined Config",
|
|
470
|
+
"before": "stateApi.reloadPredefinedConfig()",
|
|
471
|
+
"after": "stateApi.reloadInitialState()",
|
|
472
|
+
"autoMigrated": "n/a"
|
|
473
|
+
}
|
|
474
|
+
],
|
|
475
|
+
"search": [
|
|
476
|
+
"getPredefinedConfig",
|
|
477
|
+
"reloadPredefinedConfig",
|
|
478
|
+
"PredefinedConfig"
|
|
479
|
+
],
|
|
480
|
+
"always": false,
|
|
481
|
+
"note": "Type: PredefinedConfig becomes InitialState; getPredefinedConfig() becomes stateApi.getInitialState(); reloadPredefinedConfig() becomes stateApi.reloadInitialState().",
|
|
482
|
+
"docs": "support/version-220-release-note#chg-api-predefined-config"
|
|
483
|
+
},
|
|
484
|
+
{
|
|
485
|
+
"id": "objects-column-type-name",
|
|
486
|
+
"area": "objects",
|
|
487
|
+
"type": "BREAKING",
|
|
488
|
+
"title": "Column type name union",
|
|
489
|
+
"rows": [
|
|
490
|
+
{
|
|
491
|
+
"item": "Column type name union",
|
|
492
|
+
"before": "AdaptableColumnType (used by columnOptions.columnTypes)",
|
|
493
|
+
"after": "AdaptableColumnTypeName",
|
|
494
|
+
"autoMigrated": "n/a"
|
|
495
|
+
}
|
|
496
|
+
],
|
|
497
|
+
"search": [
|
|
498
|
+
"AdaptableColumnType,",
|
|
499
|
+
"AdaptableColumnType }",
|
|
500
|
+
"AdaptableColumnType;",
|
|
501
|
+
"AdaptableColumnType>"
|
|
502
|
+
],
|
|
503
|
+
"always": false,
|
|
504
|
+
"note": "Rename the type import to AdaptableColumnTypeName; values are unchanged.",
|
|
505
|
+
"docs": "support/version-220-release-note#chg-objects-column-type-name"
|
|
506
|
+
},
|
|
507
|
+
{
|
|
508
|
+
"id": "objects-transpose-config",
|
|
509
|
+
"area": "objects",
|
|
510
|
+
"type": "BREAKING",
|
|
511
|
+
"title": "Transpose columns switch",
|
|
512
|
+
"rows": [
|
|
513
|
+
{
|
|
514
|
+
"item": "Transpose columns switch",
|
|
515
|
+
"before": "TransposeConfig.visibleColumns (boolean)",
|
|
516
|
+
"after": "TransposeConfig.columnsToTranspose (string[] or a function of context)",
|
|
517
|
+
"autoMigrated": "n/a"
|
|
518
|
+
},
|
|
519
|
+
{
|
|
520
|
+
"item": "Transpose rows switch",
|
|
521
|
+
"before": "TransposeConfig.visibleRows (boolean)",
|
|
522
|
+
"after": "TransposeConfig.rowsToTranspose ('VisibleOnly' or 'All')",
|
|
523
|
+
"autoMigrated": "n/a"
|
|
524
|
+
},
|
|
525
|
+
{
|
|
526
|
+
"item": "Transpose autosize switch",
|
|
527
|
+
"before": "TransposeConfig.autosize (boolean)",
|
|
528
|
+
"after": "removed — columns autosize by default",
|
|
529
|
+
"autoMigrated": "n/a"
|
|
530
|
+
}
|
|
531
|
+
],
|
|
532
|
+
"search": [
|
|
533
|
+
"visibleColumns",
|
|
534
|
+
"visibleRows",
|
|
535
|
+
"autosize:"
|
|
536
|
+
],
|
|
537
|
+
"always": false,
|
|
538
|
+
"note": "visibleColumns: true becomes columnsToTranspose: (ctx) => ctx.columns.filter(c => c.visible).map(c => c.columnId) (omit to transpose all); visibleRows: true becomes rowsToTranspose: 'VisibleOnly', false becomes 'All'; delete autosize (columns autosize by default).",
|
|
539
|
+
"docs": "support/version-220-release-note#chg-objects-transpose-config"
|
|
540
|
+
}
|
|
541
|
+
]
|
|
542
|
+
}
|