@toclocoinc/lattice-grid 1.65.0 → 1.66.0
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 +6 -4
- package/angular/LICENSE +111 -0
- package/angular/README.md +78 -0
- package/angular/fesm2022/toclocoinc-lattice-grid-angular.mjs +2843 -0
- package/angular/package.json +16 -0
- package/angular/types/toclocoinc-lattice-grid-angular.d.ts +1366 -0
- package/docs/API.html +675 -14
- package/docs/api-detail.html +137 -4
- package/lattice-grid.d.ts +1 -1
- package/lattice-grid.esm.min.js +18 -6
- package/lattice-grid.min.cjs +18 -6
- package/lattice-grid.min.css +1 -1
- package/lattice-grid.min.js +18 -6
- package/modules/ai.d.ts +1 -1
- package/modules/ai.esm.min.js +3 -3
- package/modules/ai.min.cjs +3 -3
- package/modules/ai.min.js +3 -3
- package/modules/angular.d.ts +1 -1
- package/modules/angular.esm.min.js +7 -7
- package/modules/angular.min.cjs +7 -7
- package/modules/angular.min.js +7 -7
- package/modules/chart-alluvial.d.ts +1 -1
- package/modules/chart-alluvial.esm.min.js +1 -1
- package/modules/chart-alluvial.min.cjs +1 -1
- package/modules/chart-alluvial.min.js +1 -1
- package/modules/chart-arc.d.ts +1 -1
- package/modules/chart-arc.esm.min.js +1 -1
- package/modules/chart-arc.min.cjs +1 -1
- package/modules/chart-arc.min.js +1 -1
- package/modules/chart-bubblemap.d.ts +1 -1
- package/modules/chart-bubblemap.esm.min.js +1 -1
- package/modules/chart-bubblemap.min.cjs +1 -1
- package/modules/chart-bubblemap.min.js +1 -1
- package/modules/chart-bump.d.ts +1 -1
- package/modules/chart-bump.esm.min.js +1 -1
- package/modules/chart-bump.min.cjs +1 -1
- package/modules/chart-bump.min.js +1 -1
- package/modules/chart-calendar.d.ts +1 -1
- package/modules/chart-calendar.esm.min.js +1 -1
- package/modules/chart-calendar.min.cjs +1 -1
- package/modules/chart-calendar.min.js +1 -1
- package/modules/chart-decomposition.d.ts +1 -1
- package/modules/chart-decomposition.esm.min.js +1 -1
- package/modules/chart-decomposition.min.cjs +1 -1
- package/modules/chart-decomposition.min.js +1 -1
- package/modules/chart-diverging.d.ts +1 -1
- package/modules/chart-diverging.esm.min.js +1 -1
- package/modules/chart-diverging.min.cjs +1 -1
- package/modules/chart-diverging.min.js +1 -1
- package/modules/chart-dumbbell.d.ts +1 -1
- package/modules/chart-dumbbell.esm.min.js +1 -1
- package/modules/chart-dumbbell.min.cjs +1 -1
- package/modules/chart-dumbbell.min.js +1 -1
- package/modules/chart-fan.d.ts +1 -1
- package/modules/chart-fan.esm.min.js +1 -1
- package/modules/chart-fan.min.cjs +1 -1
- package/modules/chart-fan.min.js +1 -1
- package/modules/chart-hexbin.d.ts +1 -1
- package/modules/chart-hexbin.esm.min.js +1 -1
- package/modules/chart-hexbin.min.cjs +1 -1
- package/modules/chart-hexbin.min.js +1 -1
- package/modules/chart-hexmap.d.ts +1 -1
- package/modules/chart-hexmap.esm.min.js +1 -1
- package/modules/chart-hexmap.min.cjs +1 -1
- package/modules/chart-hexmap.min.js +1 -1
- package/modules/chart-icicle.d.ts +1 -1
- package/modules/chart-icicle.esm.min.js +1 -1
- package/modules/chart-icicle.min.cjs +1 -1
- package/modules/chart-icicle.min.js +1 -1
- package/modules/chart-markermap.d.ts +1 -1
- package/modules/chart-markermap.esm.min.js +1 -1
- package/modules/chart-markermap.min.cjs +1 -1
- package/modules/chart-markermap.min.js +1 -1
- package/modules/chart-parallel.d.ts +1 -1
- package/modules/chart-parallel.esm.min.js +1 -1
- package/modules/chart-parallel.min.cjs +1 -1
- package/modules/chart-parallel.min.js +1 -1
- package/modules/chart-ridgeline.d.ts +1 -1
- package/modules/chart-ridgeline.esm.min.js +1 -1
- package/modules/chart-ridgeline.min.cjs +1 -1
- package/modules/chart-ridgeline.min.js +1 -1
- package/modules/chart-roc.d.ts +1 -1
- package/modules/chart-roc.esm.min.js +1 -1
- package/modules/chart-roc.min.cjs +1 -1
- package/modules/chart-roc.min.js +1 -1
- package/modules/chart-slope.d.ts +1 -1
- package/modules/chart-slope.esm.min.js +1 -1
- package/modules/chart-slope.min.cjs +1 -1
- package/modules/chart-slope.min.js +1 -1
- package/modules/chart-splom.d.ts +1 -1
- package/modules/chart-splom.esm.min.js +1 -1
- package/modules/chart-splom.min.cjs +1 -1
- package/modules/chart-splom.min.js +1 -1
- package/modules/chart-waffle.d.ts +1 -1
- package/modules/chart-waffle.esm.min.js +1 -1
- package/modules/chart-waffle.min.cjs +1 -1
- package/modules/chart-waffle.min.js +1 -1
- package/modules/charts.d.ts +1 -1
- package/modules/charts.esm.min.js +261 -48
- package/modules/charts.min.cjs +261 -48
- package/modules/charts.min.js +261 -48
- package/modules/data-router.d.ts +1 -1
- package/modules/data-router.esm.min.js +3 -3
- package/modules/data-router.min.cjs +3 -3
- package/modules/data-router.min.js +3 -3
- package/modules/devtools.d.ts +1 -1
- package/modules/devtools.esm.min.js +1 -1
- package/modules/devtools.min.cjs +1 -1
- package/modules/devtools.min.js +1 -1
- package/modules/dhtmlx-compat.d.ts +1 -1
- package/modules/dhtmlx-compat.esm.min.js +3 -3
- package/modules/dhtmlx-compat.min.cjs +3 -3
- package/modules/dhtmlx-compat.min.js +3 -3
- package/modules/gantt.d.ts +1 -1
- package/modules/gantt.esm.min.js +3 -3
- package/modules/gantt.min.cjs +3 -3
- package/modules/gantt.min.js +3 -3
- package/modules/geo-europe-nuts.d.ts +1 -1
- package/modules/geo-europe-nuts.esm.min.js +1 -1
- package/modules/geo-uk.d.ts +1 -1
- package/modules/geo-uk.esm.min.js +1 -1
- package/modules/geo-us-states.d.ts +1 -1
- package/modules/geo-us-states.esm.min.js +1 -1
- package/modules/geo-world-110m.d.ts +1 -1
- package/modules/geo-world-110m.esm.min.js +1 -1
- package/modules/geo-world-50m.d.ts +1 -1
- package/modules/geo-world-50m.esm.min.js +1 -1
- package/modules/htmx.d.ts +1 -1
- package/modules/htmx.esm.min.js +18 -6
- package/modules/htmx.min.cjs +18 -6
- package/modules/htmx.min.js +18 -6
- package/modules/kanban.d.ts +1 -1
- package/modules/kanban.esm.min.js +3 -3
- package/modules/kanban.min.cjs +3 -3
- package/modules/kanban.min.js +3 -3
- package/modules/kpi.d.ts +1 -1
- package/modules/kpi.esm.min.js +3 -3
- package/modules/kpi.min.cjs +3 -3
- package/modules/kpi.min.js +3 -3
- package/modules/layout.d.ts +1 -1
- package/modules/layout.esm.min.js +3 -3
- package/modules/layout.min.cjs +3 -3
- package/modules/layout.min.js +3 -3
- package/modules/mock-socket.d.ts +1 -1
- package/modules/mock-socket.esm.min.js +1 -1
- package/modules/mock-socket.min.cjs +1 -1
- package/modules/mock-socket.min.js +1 -1
- package/modules/react.d.ts +1 -1
- package/modules/react.esm.min.js +3 -3
- package/modules/react.min.cjs +3 -3
- package/modules/react.min.js +3 -3
- package/modules/svelte.d.ts +251 -2
- package/modules/svelte.esm.min.js +960 -6
- package/modules/svelte.min.cjs +942 -5
- package/modules/svelte.min.js +942 -5
- package/modules/tabs.d.ts +1 -1
- package/modules/tabs.esm.min.js +3 -3
- package/modules/tabs.min.cjs +3 -3
- package/modules/tabs.min.js +3 -3
- package/modules/vue.d.ts +398 -9
- package/modules/vue.esm.min.js +1163 -31
- package/modules/vue.min.cjs +1147 -30
- package/modules/vue.min.js +1147 -30
- package/modules/webcomponent.d.ts +233 -1
- package/modules/webcomponent.esm.min.js +1266 -37
- package/modules/webcomponent.min.cjs +1248 -37
- package/modules/webcomponent.min.js +1248 -37
- package/package.json +27 -2
- package/svelte/Chart.svelte +34 -0
- package/svelte/Gantt.svelte +34 -0
- package/svelte/Grid.svelte +30 -0
- package/svelte/GridProvider.svelte +13 -0
- package/svelte/KPI.svelte +34 -0
- package/svelte/Kanban.svelte +34 -0
- package/svelte/Layout.svelte +34 -0
- package/svelte/Router.svelte +16 -0
- package/svelte/Tabs.svelte +53 -0
package/README.md
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
**A high-performance data grid for the browser.** Vanilla JavaScript, no runtime
|
|
4
4
|
dependencies, no build step required. Optional adapters for React, Vue, Svelte
|
|
5
|
-
and Web Components ship alongside it, and Angular has
|
|
6
|
-
own
|
|
5
|
+
and Web Components ship alongside it, and Angular has compiled components of its
|
|
6
|
+
own at `@toclocoinc/lattice-grid/angular` — inside this package, not beside it.
|
|
7
7
|
|
|
8
|
-
Version 1.
|
|
8
|
+
Version 1.66.0 · [latticegrid.dev](https://www.latticegrid.dev) · TOCLOCO Inc
|
|
9
9
|
|
|
10
10
|
---
|
|
11
11
|
|
|
@@ -21,6 +21,7 @@ runtime, not a CDN, not a font, not an icon sprite.
|
|
|
21
21
|
| `lattice-grid.esm.min.js` | The same, as an ES module. |
|
|
22
22
|
| `lattice-grid.min.css` | The theme. Required. |
|
|
23
23
|
| `lattice-grid.d.ts` | TypeScript declarations. |
|
|
24
|
+
| `angular/` | The Angular components, compiled ahead of time: `@toclocoinc/lattice-grid/angular`. |
|
|
24
25
|
| `docs/API.html` | The complete API reference. |
|
|
25
26
|
| `docs/api-detail.html` | The developer guide: what each part does, and why. |
|
|
26
27
|
|
|
@@ -332,7 +333,8 @@ shown; append `.js` for the UMD build or `.cjs` for CommonJS.
|
|
|
332
333
|
| react | `@toclocoinc/lattice-grid/modules/react` | `modules/react.min.js` | `LatticeGridReact` | React adapter. |
|
|
333
334
|
| vue | `@toclocoinc/lattice-grid/modules/vue` | `modules/vue.min.js` | `LatticeGridVue` | Vue adapter. |
|
|
334
335
|
| svelte | `@toclocoinc/lattice-grid/modules/svelte` | `modules/svelte.min.js` | `LatticeGridSvelte` | Svelte adapter. |
|
|
335
|
-
| angular | `@toclocoinc/lattice-grid/
|
|
336
|
+
| angular (compiled) | `@toclocoinc/lattice-grid/angular` | — | — | **Angular components, compiled ahead of time**: one standalone component per viewer, plus the Data Router as a service. A partial-Ivy library your build's Angular Linker handles like any other; no JIT compiler in the page. `@angular/core` and `@angular/common` are optional peers, so a non-Angular install pulls in nothing. |
|
|
337
|
+
| angular (deprecated) | `@toclocoinc/lattice-grid/modules/angular` | `modules/angular.min.js` | `LatticeGridAngular` | The old run-time adapter for the grid alone. Needs Angular's JIT compiler, which a production build does not ship; use `@toclocoinc/lattice-grid/angular` instead. |
|
|
336
338
|
| webcomponent | `@toclocoinc/lattice-grid/modules/webcomponent` | `modules/webcomponent.min.js` | `LatticeGrid` (extends it) | `<lattice-grid>` as a self-contained custom element. |
|
|
337
339
|
| htmx | `@toclocoinc/lattice-grid/modules/htmx` | `modules/htmx.min.js` | `LatticeGridHtmx` | htmx integration that survives DOM swaps and hydrates from a server-rendered `<table>`. |
|
|
338
340
|
|
package/angular/LICENSE
ADDED
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
Lattice Grid
|
|
2
|
+
Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
3
|
+
|
|
4
|
+
Lattice Grid is commercial software. It is not open source, and no part of it
|
|
5
|
+
is placed in the public domain.
|
|
6
|
+
|
|
7
|
+
--------------------------------------------------------------------------
|
|
8
|
+
1. ONE PRODUCT
|
|
9
|
+
--------------------------------------------------------------------------
|
|
10
|
+
|
|
11
|
+
There is one Lattice Grid and every copy is feature-identical. There is no
|
|
12
|
+
community edition, no professional edition, and no feature that a licence key
|
|
13
|
+
unlocks. Every capability the documentation describes is present and working in
|
|
14
|
+
every copy, licensed or not.
|
|
15
|
+
|
|
16
|
+
A licence key removes the trial watermark. That is the whole of what it does.
|
|
17
|
+
|
|
18
|
+
--------------------------------------------------------------------------
|
|
19
|
+
2. WHAT YOU MAY DO WITHOUT A KEY
|
|
20
|
+
--------------------------------------------------------------------------
|
|
21
|
+
|
|
22
|
+
You may download, install, evaluate, develop against and test Lattice Grid
|
|
23
|
+
without a licence key and without charge, for as long as you like.
|
|
24
|
+
|
|
25
|
+
On localhost and other loopback hosts -- localhost, *.localhost, 127.0.0.0/8
|
|
26
|
+
and ::1 -- no watermark is shown and no key is required. Development needs no
|
|
27
|
+
paperwork.
|
|
28
|
+
|
|
29
|
+
--------------------------------------------------------------------------
|
|
30
|
+
3. SERVING ON OTHER HOSTS, AND WHAT A KEY REMOVES
|
|
31
|
+
--------------------------------------------------------------------------
|
|
32
|
+
|
|
33
|
+
You may serve Lattice Grid from any host -- including production, staging,
|
|
34
|
+
internal tools, intranets and private networks -- without a licence key and
|
|
35
|
+
without charge. On any host other than a loopback host (section 2), the grid
|
|
36
|
+
renders in full and displays a trial watermark. Nothing is disabled, degraded
|
|
37
|
+
or withheld: every capability works, watermarked, for as long as you like.
|
|
38
|
+
|
|
39
|
+
A valid licence key issued by TOCLOCO Inc removes that watermark. Removing the
|
|
40
|
+
watermark is the only thing a key does (section 1), so you need one when, and
|
|
41
|
+
only when, you want the watermark gone -- typically for a production or
|
|
42
|
+
customer-facing deployment. Serving watermarked, without a key, is permitted
|
|
43
|
+
rather than a breach.
|
|
44
|
+
|
|
45
|
+
Keys are issued per deployment rather than per developer or per seat. A key
|
|
46
|
+
names the domains it covers, and one key covers every developer, every build and
|
|
47
|
+
every user on them.
|
|
48
|
+
|
|
49
|
+
--------------------------------------------------------------------------
|
|
50
|
+
4. GRANT
|
|
51
|
+
--------------------------------------------------------------------------
|
|
52
|
+
|
|
53
|
+
Subject to your compliance with these terms and to payment of the applicable
|
|
54
|
+
fees, TOCLOCO Inc grants you a non-exclusive, non-transferable, non-
|
|
55
|
+
sublicensable licence to use Lattice Grid, and to reproduce and distribute it
|
|
56
|
+
as an incorporated component of your own applications, for the term and on the
|
|
57
|
+
domains stated in your licence key.
|
|
58
|
+
|
|
59
|
+
--------------------------------------------------------------------------
|
|
60
|
+
5. RESTRICTIONS
|
|
61
|
+
--------------------------------------------------------------------------
|
|
62
|
+
|
|
63
|
+
You may not:
|
|
64
|
+
|
|
65
|
+
(a) remove, disable, obscure or circumvent the licence check, the console
|
|
66
|
+
warning or the trial watermark, or use a key on a deployment it does not
|
|
67
|
+
name;
|
|
68
|
+
|
|
69
|
+
(b) reverse engineer, decompile or disassemble the software, or attempt to
|
|
70
|
+
derive its source code, except to the extent that this restriction is
|
|
71
|
+
expressly prohibited by applicable law;
|
|
72
|
+
|
|
73
|
+
(c) redistribute, resell, sublicense or make the software available as a
|
|
74
|
+
standalone product, a component library, a developer tool or a competing
|
|
75
|
+
grid, whether or not for a fee. Distribution as part of your own
|
|
76
|
+
application under section 4 is permitted; distribution of Lattice Grid
|
|
77
|
+
itself is not;
|
|
78
|
+
|
|
79
|
+
(d) remove or alter any copyright or attribution notice.
|
|
80
|
+
|
|
81
|
+
--------------------------------------------------------------------------
|
|
82
|
+
6. DEPENDENCIES
|
|
83
|
+
--------------------------------------------------------------------------
|
|
84
|
+
|
|
85
|
+
Lattice Grid has no runtime dependencies and incorporates no third-party code.
|
|
86
|
+
Nothing in this distribution is subject to a third-party open source licence,
|
|
87
|
+
and adopting it introduces no transitive licence obligations.
|
|
88
|
+
|
|
89
|
+
--------------------------------------------------------------------------
|
|
90
|
+
7. WARRANTY
|
|
91
|
+
--------------------------------------------------------------------------
|
|
92
|
+
|
|
93
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
94
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
95
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
96
|
+
|
|
97
|
+
--------------------------------------------------------------------------
|
|
98
|
+
8. LIABILITY
|
|
99
|
+
--------------------------------------------------------------------------
|
|
100
|
+
|
|
101
|
+
IN NO EVENT SHALL TOCLOCO INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
102
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
103
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
104
|
+
SOFTWARE.
|
|
105
|
+
|
|
106
|
+
--------------------------------------------------------------------------
|
|
107
|
+
9. TERMS
|
|
108
|
+
--------------------------------------------------------------------------
|
|
109
|
+
|
|
110
|
+
For licence terms, pricing and key issuance, contact TOCLOCO Inc or visit
|
|
111
|
+
https://www.latticegrid.dev.
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# Angular components
|
|
2
|
+
|
|
3
|
+
**Standalone Angular components for [Lattice Grid](https://www.latticegrid.dev), compiled ahead of time.** One component per viewer — the grid, KPI panel, charts, kanban board, Gantt plan, dashboard layout and tab strip — plus the data router as a service. No JIT compiler in your bundle: this is a partial-Ivy library your build's Angular Linker handles exactly like any other Angular package you install.
|
|
4
|
+
|
|
5
|
+
They ship **inside** the grid package, at `@toclocoinc/lattice-grid/angular` — which is the directory you are reading this in. There is nothing else to install and no second version number to keep in step. `@angular/core` and `@angular/common` are optional peer dependencies of the package, so a project that is not an Angular one installs nothing extra and is not warned about them.
|
|
6
|
+
|
|
7
|
+
Requires Angular 17 or later.
|
|
8
|
+
|
|
9
|
+
```sh
|
|
10
|
+
npm install @toclocoinc/lattice-grid
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## A dashboard in one component
|
|
14
|
+
|
|
15
|
+
```ts
|
|
16
|
+
import { Component, viewChild } from '@angular/core';
|
|
17
|
+
import { bootstrapApplication } from '@angular/platform-browser';
|
|
18
|
+
import { createGrid } from '@toclocoinc/lattice-grid';
|
|
19
|
+
import { createKPI } from '@toclocoinc/lattice-grid/modules/kpi';
|
|
20
|
+
import { createChart } from '@toclocoinc/lattice-grid/modules/charts';
|
|
21
|
+
import {
|
|
22
|
+
LatticeGridComponent, LatticeKpiComponent, LatticeChartComponent, provideLattice,
|
|
23
|
+
} from '@toclocoinc/lattice-grid/angular';
|
|
24
|
+
|
|
25
|
+
@Component({
|
|
26
|
+
selector: 'app-dashboard',
|
|
27
|
+
imports: [LatticeGridComponent, LatticeKpiComponent, LatticeChartComponent],
|
|
28
|
+
template: `
|
|
29
|
+
<lattice-grid #grid name="quakes" [config]="config" [quickFilter]="search()"
|
|
30
|
+
(cell-changed)="save($event)" />
|
|
31
|
+
<lattice-kpi gridName="quakes" [config]="{ tiles }" />
|
|
32
|
+
<lattice-chart gridName="quakes" [config]="{ type: 'bar', x: 'region', y: 'count' }" />
|
|
33
|
+
`,
|
|
34
|
+
})
|
|
35
|
+
export class Dashboard {
|
|
36
|
+
// The live grid — the same object createGrid returns.
|
|
37
|
+
grid = viewChild<LatticeGridComponent>('grid');
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
// Each factory is injected, not imported by the library: an application that
|
|
41
|
+
// shows a grid downloads the grid, and never the board or the charts.
|
|
42
|
+
bootstrapApplication(Dashboard, {
|
|
43
|
+
providers: [provideLattice({ createGrid, createKPI, createChart })],
|
|
44
|
+
});
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
Give the grid element a height; the grid fills it.
|
|
48
|
+
|
|
49
|
+
## What is in the package
|
|
50
|
+
|
|
51
|
+
| Export | Element | What it is |
|
|
52
|
+
|---|---|---|
|
|
53
|
+
| `LatticeGridComponent` | `<lattice-grid>` | The grid. `[config]` is every configuration key; `[sort]`, `[filters]`, `[quickFilter]` and `[selectedKeys]` are applied through the matching API; `[rowUpdates]` and `[predicates]` drive a live feed. Every grid event is an output under its kebab-case name, and `(grid-ready)` hands you the instance. |
|
|
54
|
+
| `LatticeGridDirective` | `[latticeGrid]` | The same component on an element your template already owns: `<div [latticeGrid]="config" class="tall"></div>`. |
|
|
55
|
+
| `LatticeKpiComponent` | `<lattice-kpi>` | The KPI panel. Grid-bound by default — `[gridName]` picks the published grid — or give it `[rows]` for a panel with no grid. |
|
|
56
|
+
| `LatticeChartComponent` | `<lattice-chart>` | A chart over a grid. A changed spec key goes to `chart.update()`; the chart redraws rather than being rebuilt. `(click)`, `(hover)` and `(leave)` carry the datum under the pointer. |
|
|
57
|
+
| `LatticeKanbanComponent` | `<lattice-kanban>` | The board. `[rows]`, `[quickFilter]`, `[sprint]`, `[epic]`, `[loading]` and `[error]` are live inputs. |
|
|
58
|
+
| `LatticeGanttComponent` | `<lattice-gantt>` | The plan. `[tasks]` and `[dependencies]` are live inputs. |
|
|
59
|
+
| `LatticeLayoutComponent` | `<lattice-layout>` | The dashboard layout; its events arrive as `(layout-changed)`, `(window-moved)` and the rest. |
|
|
60
|
+
| `LatticeTabsComponent`, `LatticeTabDirective` | `<lattice-tabs>`, `<ng-template latticeTab="id">` | The tab strip with Angular-rendered tab content, so a tab's grid is a real `<lattice-grid>` with inputs, a reference and your injectors above it. |
|
|
61
|
+
| `LatticeGridRegistry` | `inject(LatticeGridRegistry)` | Where `<lattice-grid name="…">` publishes itself and grid-bound viewers find it, as a signal per name. |
|
|
62
|
+
| `provideLattice` | `provideLattice({ …factories })` | The factories the components build through. |
|
|
63
|
+
| `provideLatticeRouter`, `LatticeRouter` | `providers: [provideLatticeRouter(cfg)]` | The data router as a service, created with the first routed grid under it and destroyed with the component that provides it. |
|
|
64
|
+
|
|
65
|
+
## How it behaves inside Angular
|
|
66
|
+
|
|
67
|
+
- **Created once, updated in place, destroyed with the component.** An input change is applied through the instance's own API; nothing is rebuilt. `ngOnDestroy` destroys the instance and leaves no listeners or timers behind.
|
|
68
|
+
- **Zone or zoneless, unconfigured.** The grid is created outside `NgZone`, because it installs its own scroll, wheel and pointer listeners. An event that reaches an output you have bound re-enters the zone; an output nobody bound costs nothing. The grid paints on its own schedule, so measure a cell in a grid event rather than in `ngAfterViewInit`.
|
|
69
|
+
- **`OnPush` is safe everywhere.** No component asks its parent to re-render.
|
|
70
|
+
- **Browser only.** The grid is a DOM object; under server-side rendering the components render their empty host and the grid is created on hydration.
|
|
71
|
+
|
|
72
|
+
The full reference — every input, output and configuration key — is in this package's `docs/API.html`, under *Frameworks › Angular*, and at [latticegrid.dev/docs](https://www.latticegrid.dev/docs/).
|
|
73
|
+
|
|
74
|
+
## Licence
|
|
75
|
+
|
|
76
|
+
Lattice Grid is commercial software; these components are covered by the grid's own licence (`LICENSE`, beside this file and at the package root — the same document). The grid renders in full with no key on localhost, and carries a trial watermark on any other host until a domain licence is installed.
|
|
77
|
+
|
|
78
|
+
Copyright © 2026 TOCLOCO Inc. All rights reserved.
|