@bryntum/grid-angular-thin 7.1.1 → 7.1.2

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 CHANGED
@@ -1,37 +1,288 @@
1
- # Angular Ivy wrapper for Bryntum Grid
1
+ <div style="display: flex; justify-content: space-between; align-items: center; margin: 0 50px;">
2
+ <a href="https://bryntum.com/" rel="noopener" target="_blank">
3
+ <img width="350" src="https://bryntum.com/resources/bryntum_logo_blue.svg" alt="Bryntum logo">
4
+ </a>
5
+ <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/angular.svg" alt="Angular" width="100">
6
+ </div>
2
7
 
3
- This package contains a wrapper that encapsulates Bryntum Grid and turns it into an Angular component, exposing
4
- configuration options, properties, features, and events. Compiled for the Angular Ivy engine.
8
+ # Angular wrapper for Bryntum Grid Thin packages
9
+
10
+ This package provides a wrapper that turns Bryntum Grid into an Angular component, exposing configuration options,
11
+ properties, features, and events.
12
+
13
+ > **Thin Package:** This is a thin wrapper package designed for applications that use multiple Bryntum products.
14
+ > Thin packages exclude bundled dependencies to avoid duplication. For details, see
15
+ > [Angular Multiple Products](https://bryntum.com/products/grid/docs/guide/Grid/integration/angular/multiple-products).
16
+
17
+ ## Version Requirement
18
+
19
+ Wrapper is compiled for the **Angular Ivy** rendering engine (Angular 12+).
20
+
21
+ * Angular: `12` with Ivy support or higher
22
+ * TypeScript: `4.2` or higher
23
+ * Vite `5` or higher (starting with Angular `17`)
24
+
25
+ ## Package Contents
26
+
27
+ | Path | Description |
28
+ |--------|----------------------------------|
29
+ | `lib/` | Component type definitions |
30
+ | `src/` | Original TypeScript source files |
5
31
 
6
32
  ## Installation
7
33
 
8
- The installation is performed by issuing the installation command in the root of the application folder.
9
- The specific command depends on the package manager used by the application.
34
+ ### Angular Wrapper
35
+
36
+ ```bash
37
+ npm install @bryntum/grid-angular-thin@latest
38
+ ```
39
+
40
+ ### Component Package (Required)
41
+
42
+ ```bash
43
+ npm install @bryntum/grid-thin@latest
44
+ ```
45
+
46
+ ## Try Bryntum Online Demos
47
+
48
+ * [View Online Angular Demos](https://bryntum.com/products/grid/examples/?framework=angular)
49
+
50
+ ## Quick Start
10
51
 
11
- The following are most frequently used:
52
+ Edit the `src/app/app-module.ts` file and add the following import:
12
53
 
13
- Install using `npm`:
54
+ ```typescript
55
+ import { NgModule } from '@angular/core';
56
+ import { BrowserModule } from '@angular/platform-browser';
14
57
 
15
- ```shell
16
- npm install @bryntum/grid-angular@7.1.1
58
+ import { BryntumCoreModule } from '@bryntum/core-angular-thin';
59
+ import { BryntumGridModule } from '@bryntum/grid-angular-thin';
60
+
61
+ import { AppComponent } from './app';
62
+
63
+ @NgModule({
64
+ declarations : [
65
+ AppComponent
66
+ ],
67
+ imports : [
68
+ BrowserModule,
69
+ BryntumCoreModule,
70
+ BryntumGridModule
71
+ ],
72
+ providers : [],
73
+ bootstrap : [AppComponent]
74
+ })
75
+ export class AppModule {}
17
76
  ```
18
77
 
19
- Install using `yarn`:
78
+ Create `src/app/app.config.ts` file with the following content:
79
+
80
+ ```typescript
81
+ import { BryntumGridProps } from '@bryntum/grid-angular-thin';
82
+
83
+ export const gridProps: BryntumGridProps = {
84
+ columns : [
85
+ {
86
+ text : 'Name',
87
+ field : 'name',
88
+ flex : 1,
89
+ editor : {
90
+ type : 'textfield',
91
+ required : true
92
+ }
93
+ }, {
94
+ text : 'Age',
95
+ field : 'age',
96
+ width : 100,
97
+ type : 'number'
98
+ }, {
99
+ text : 'City',
100
+ field : 'city',
101
+ flex : 1
102
+ }, {
103
+ text : 'Food',
104
+ field : 'food',
105
+ flex : 1
106
+ }, {
107
+ text : 'Color',
108
+ field : 'color',
109
+ width : 80,
110
+ type : 'column',
111
+ renderer : ({ cellElement, value }) => {
112
+ cellElement.style.color = value;
113
+ cellElement.style.fontWeight = '700';
114
+ return value;
115
+ }
116
+ }
117
+ ],
20
118
 
21
- ```shell
22
- yarn add @bryntum/grid-angular@7.1.1
119
+ data : [
120
+ { id : 1, name : 'Don A Taylor', age : 30, city : 'Moscow', food : 'Salad', color : 'Black' },
121
+ { id : 2, name : 'John B Adams', age : 65, city : 'Paris', food : 'Bolognese', color : 'Orange' },
122
+ { id : 3, name : 'John Doe', age : 40, city : 'London', food : 'Fish and Chips', color : 'Blue' },
123
+ { id : 4, name : 'Maria Garcia', age : 28, city : 'Madrid', food : 'Paella', color : 'Green' },
124
+ { id : 5, name : 'Li Wei', age : 35, city : 'Beijing', food : 'Dumplings', color : 'Yellow' },
125
+ { id : 6, name : 'Sara Johnson', age : 32, city : 'Sydney', food : 'Sushi', color : 'Purple' },
126
+ { id : 7, name : 'Lucas Brown', age : 22, city : 'Toronto', food : 'Poutine', color : 'Orange' },
127
+ { id : 8, name : 'Emma Wilson', age : 27, city : 'Paris', food : 'Croissant', color : 'Pink' },
128
+ { id : 9, name : 'Ivan Petrov', age : 45, city : 'St. Petersburg', food : 'Borscht', color : 'Grey' },
129
+ { id : 10, name : 'Zhang Ming', age : 50, city : 'Shanghai', food : 'Hot Pot', color : 'Purple' },
130
+ { id : 11, name : 'Sophia Martinez', age : 20, city : 'Mexico City', food : 'Tacos', color : 'Crimson' },
131
+ { id : 12, name : 'Noah Smith', age : 55, city : 'Cape Town', food : 'Biltong', color : 'Turquoise' },
132
+ { id : 13, name : 'Isabella Jones', age : 33, city : 'Rio de Janeiro', food : 'Feijoada', color : 'Magenta' },
133
+ { id : 14, name : 'Ethan Taylor', age : 29, city : 'Chicago', food : 'Deep-Dish Pizza', color : 'Cyan' },
134
+ { id : 15, name : 'Olivia Brown', age : 37, city : 'Berlin', food : 'Schnitzel', color : 'Maroon' },
135
+ { id : 16, name : 'Mia Wilson', age : 26, city : 'Rome', food : 'Pasta', color : 'Olive' },
136
+ { id : 17, name : 'Jacob Miller', age : 60, city : 'Amsterdam', food : 'Stroopwafel', color : 'Lime' },
137
+ { id : 18, name : 'Chloe Davis', age : 23, city : 'Los Angeles', food : 'Burger', color : 'Teal' },
138
+ { id : 19, name : 'Aiden Martinez', age : 48, city : 'Buenos Aires', food : 'Asado', color : 'Violet' },
139
+ { id : 20, name : 'Liam Lee', age : 38, city : 'Seoul', food : 'Kimchi', color : 'Indigo' },
140
+ { id : 21, name : 'Sophie Kim', age : 21, city : 'Tokyo', food : 'Ramen', color : 'Pink' },
141
+ { id : 22, name : 'Alexander Nguyen', age : 41, city : 'Hanoi', food : 'Pho', color : 'Coral' },
142
+ { id : 23, name : 'Ella Patel', age : 19, city : 'Mumbai', food : 'Curry', color : 'Amber' },
143
+ { id : 24, name : 'James O Connor', age : 34, city : 'Dublin', food : 'Irish Stew', color : 'Green' },
144
+ { id : 25, name : 'Isabelle Chen', age : 31, city : 'Hong Kong', food : 'Dim Sum', color : 'Brown' }
145
+ ]
146
+ };
23
147
  ```
24
148
 
25
- ## Integration guide
149
+ Update the `src/app/app.ts` file with the following content:
150
+
151
+ ```typescript
152
+ /**
153
+ * App component script
154
+ */
155
+ import { Component, ViewChild } from '@angular/core';
156
+ import { BryntumGridComponent } from '@bryntum/grid-angular-thin';
157
+ import { gridProps } from './app.config';
158
+
159
+ @Component({
160
+ selector : 'app-root',
161
+ standalone : false,
162
+ templateUrl : './app.html',
163
+ styleUrl : './app.css',
164
+ })
165
+ export class AppComponent {
166
+
167
+ gridProps = gridProps;
168
+
169
+ @ViewChild('grid') gridComponent!: BryntumGridComponent;
170
+ }
171
+ ```
172
+
173
+ Edit the `src/app/app.html` file and replace the content with the following:
174
+
175
+ ```html
176
+ <bryntum-grid
177
+ #grid
178
+ [data] = "gridProps.data!"
179
+ [columns] = "gridProps.columns!"
180
+ ></bryntum-grid>
181
+ ```
182
+
183
+ ## Project Structure
184
+
185
+ ### Product Dependencies
186
+
187
+ API packages:
188
+
189
+ ```json
190
+ {
191
+ "dependencies": {
192
+ "@bryntum/core-thin": "7.1.2",
193
+ "@bryntum/grid-thin": "7.1.2"
194
+ }
195
+ }
196
+ ```
197
+
198
+ Framework wrapper packages:
199
+
200
+ ```json
201
+ {
202
+ "dependencies": {
203
+ "@bryntum/core-angular-thin": "7.1.2",
204
+ "@bryntum/grid-angular-thin": "7.1.2"
205
+ }
206
+ }
207
+ ```
208
+
209
+ ### Product Configuration
210
+
211
+ ```typescript
212
+ import { BryntumGridProps } from '@bryntum/grid-angular-thin';
213
+
214
+ const gridProps : BryntumGridProps = {
215
+ // Grid configuration
216
+ };
217
+ ```
218
+
219
+ ### Product Styling
220
+
221
+ **SCSS/CSS:**
222
+
223
+ ```css
224
+ /* FontAwesome is used for icons */
225
+ @import '@bryntum/core-thin/fontawesome/css/fontawesome.css';
226
+ @import "@bryntum/core-thin/fontawesome/css/solid.css";
227
+ /* Structural CSS */
228
+ @import '@bryntum/core-thin/core.css';
229
+ @import '@bryntum/grid-thin/grid.css';
230
+ /* Theme */
231
+ @import '@bryntum/core-thin/material3-light.css';
232
+ ```
233
+
234
+ ### Product Localization
235
+
236
+ ```javascript
237
+ import '@bryntum/grid-thin/lib/localization/De.js'
238
+ ```
239
+
240
+ ## Integration Guide
26
241
 
27
242
  For details on installing and using this package, see the
28
243
  [Angular Integration Guide](https://bryntum.com/products/grid/docs/guide/Grid/integration/angular/guide).
29
244
 
30
- # Online references
245
+ ## Wrappers
246
+
247
+ Angular wrappers encapsulate Bryntum components as native Angular components, exposing all configuration options,
248
+ properties, features, and events through Angular-familiar patterns like inputs, outputs, and templates.
249
+
250
+ Visit [Wrappers documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/angular/guide#wrappers) for the complete list of available
251
+ wrapper components.
252
+
253
+ ## Features
254
+
255
+ Features are optional modules that extend Bryntum Grid functionality. Each feature is suffixed with `Feature` and
256
+ can be enabled and configured through standard Angular inputs.
257
+
258
+ Visit [Features documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/angular/guide#features) for the complete list of available
259
+ features and their configuration options.
260
+
261
+ ## Explore All Bryntum Products
262
+
263
+ * [Bryntum Grid](https://bryntum.com/products/grid/) - High-performance data grid
264
+ * [Bryntum Scheduler](https://bryntum.com/products/scheduler/) - Resource scheduling component
265
+ * [Bryntum Scheduler Pro](https://bryntum.com/products/schedulerpro/) - Advanced scheduling with dependencies
266
+ * [Bryntum Gantt](https://bryntum.com/products/gantt/) - Project planning and management
267
+ * [Bryntum Calendar](https://bryntum.com/products/calendar/) - Full-featured calendar component
268
+ * [Bryntum TaskBoard](https://bryntum.com/products/taskboard/) - Kanban-style task management
269
+
270
+ Explore our comprehensive collection of demos:
271
+
272
+ | Product | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/js.svg" alt="JavaScript" width="30"><br>JavaScript | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/react.svg" alt="React" width="30"><br>React | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/vue.svg" alt="Vue" width="30"><br>Vue | <img src="https://bryntum.com/products/grid/docs/data/Core/images/logo/angular.svg" alt="Angular" width="30"><br>Angular |
273
+ |-------------------|:------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
274
+ | **Grid** | [Grid JavaScript demos](https://bryntum.com/products/grid/examples/?framework=javascript) | [Grid React demos](https://bryntum.com/products/grid/examples/?framework=react) | [Grid Vue demos](https://bryntum.com/products/grid/examples/?framework=vue) | [Grid Angular demos](https://bryntum.com/products/grid/examples/?framework=angular) |
275
+ | **Scheduler** | [Scheduler JavaScript demos](https://bryntum.com/products/scheduler/examples/?framework=javascript) | [Scheduler React demos](https://bryntum.com/products/scheduler/examples/?framework=react) | [Scheduler Vue demos](https://bryntum.com/products/scheduler/examples/?framework=vue) | [Scheduler Angular demos](https://bryntum.com/products/scheduler/examples/?framework=angular) |
276
+ | **Scheduler Pro** | [Scheduler Pro JavaScript demos](https://bryntum.com/products/schedulerpro/examples/?framework=javascript) | [Scheduler Pro React demos](https://bryntum.com/products/schedulerpro/examples/?framework=react) | [Scheduler Pro Vue demos](https://bryntum.com/products/schedulerpro/examples/?framework=vue) | [Scheduler Pro Angular demos](https://bryntum.com/products/schedulerpro/examples/?framework=angular) |
277
+ | **Gantt** | [Gantt JavaScript demos](https://bryntum.com/products/gantt/examples/?framework=javascript) | [Gantt React demos](https://bryntum.com/products/gantt/examples/?framework=react) | [Gantt Vue demos](https://bryntum.com/products/gantt/examples/?framework=vue) | [Gantt Angular demos](https://bryntum.com/products/gantt/examples/?framework=angular) |
278
+ | **Calendar** | [Calendar JavaScript demos](https://bryntum.com/products/calendar/examples/?framework=javascript) | [Calendar React demos](https://bryntum.com/products/calendar/examples/?framework=react) | [Calendar Vue demos](https://bryntum.com/products/calendar/examples/?framework=vue) | [Calendar Angular demos](https://bryntum.com/products/calendar/examples/?framework=angular) |
279
+ | **TaskBoard** | [TaskBoard JavaScript demos](https://bryntum.com/products/taskboard/examples/?framework=javascript) | [TaskBoard React demos](https://bryntum.com/products/taskboard/examples/?framework=react) | [TaskBoard Vue demos](https://bryntum.com/products/taskboard/examples/?framework=vue) | [TaskBoard Angular demos](https://bryntum.com/products/taskboard/examples/?framework=angular) |
280
+
281
+ ## Online references
31
282
 
32
- * [Bryntum npm repository guide](https://bryntum.com/products/grid/docs/guide/Grid/npm-repository)
33
283
  * [Bryntum Grid documentation](https://bryntum.com/products/grid/docs/)
34
284
  * [Bryntum Grid examples](https://bryntum.com/products/grid/examples/)
285
+
35
286
  * [Bryntum Support Forum](https://forum.bryntum.com/)
36
287
  * [Contact us](https://bryntum.com/contact/)
37
288
 
@@ -42,3 +293,4 @@ Please visit the [Bryntum Grid End User License](https://bryntum.com/products/gr
42
293
 
43
294
  Copyright © 2009-2026, Bryntum
44
295
  All rights reserved.
296
+
@@ -2366,7 +2366,7 @@
2366
2366
  /**
2367
2367
  * Fires on the owning Grid before export started. Return `false` to cancel the export.
2368
2368
  * @param {object} event Event object
2369
- * @param {object} event.config Export config
2369
+ * @param {PdfExportConfig} event.config Export config
2370
2370
  */
2371
2371
  this.onBeforePdfExport = new i0.EventEmitter();
2372
2372
  /**
@@ -4464,7 +4464,7 @@
4464
4464
  /**
4465
4465
  * Fires on the owning Grid before export started. Return `false` to cancel the export.
4466
4466
  * @param {object} event Event object
4467
- * @param {object} event.config Export config
4467
+ * @param {PdfExportConfig} event.config Export config
4468
4468
  */
4469
4469
  this.onBeforePdfExport = new i0.EventEmitter();
4470
4470
  /**
@@ -10283,7 +10283,7 @@
10283
10283
  /**
10284
10284
  * Fires on the owning Grid before export started. Return `false` to cancel the export.
10285
10285
  * @param {object} event Event object
10286
- * @param {object} event.config Export config
10286
+ * @param {PdfExportConfig} event.config Export config
10287
10287
  */
10288
10288
  this.onBeforePdfExport = new i0.EventEmitter();
10289
10289
  /**