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