@bryntum/gantt-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,323 @@
1
- # Angular Ivy wrapper for Bryntum Gantt
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 Gantt 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 Gantt Thin packages
9
+
10
+ This package provides a wrapper that turns Bryntum Gantt 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/gantt/docs/guide/Gantt/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/gantt-angular-thin@latest
38
+ ```
39
+
40
+ ### Component Package (Required)
41
+
42
+ ```bash
43
+ npm install @bryntum/gantt-thin@latest
44
+ ```
45
+
46
+ ## Try Bryntum Online Demos
47
+
48
+ * [View Online Angular Demos](https://bryntum.com/products/gantt/examples/?framework=angular)
49
+
50
+ ## Quick Start
51
+
52
+ Edit the `src/app/app-module.ts` file and add the following import:
53
+
54
+ ```typescript
55
+ import { NgModule } from '@angular/core';
56
+ import { BrowserModule } from '@angular/platform-browser';
57
+
58
+ import { BryntumCoreModule } from '@bryntum/core-angular-thin';
59
+ import { BryntumGridModule } from '@bryntum/grid-angular-thin';
60
+ import { BryntumSchedulerModule } from '@bryntum/scheduler-angular-thin';
61
+ import { BryntumSchedulerProModule } from '@bryntum/schedulerpro-angular-thin';
62
+ import { BryntumGanttModule } from '@bryntum/gantt-angular-thin';
63
+
64
+ import { AppComponent } from './app';
65
+
66
+ @NgModule({
67
+ declarations : [
68
+ AppComponent
69
+ ],
70
+ imports : [
71
+ BrowserModule,
72
+ BryntumCoreModule,
73
+ BryntumGridModule,
74
+ BryntumSchedulerModule,
75
+ BryntumSchedulerProModule,
76
+ BryntumGanttModule
77
+ ],
78
+ providers : [],
79
+ bootstrap : [AppComponent]
80
+ })
81
+ export class AppModule {}
82
+ ```
83
+
84
+ Create `src/app/app.config.ts` file with the following content:
85
+
86
+ ```typescript
87
+ import { BryntumGanttProps, BryntumGanttProjectModelProps } from '@bryntum/gantt-angular-thin';
88
+
89
+ export const projectProps: BryntumGanttProjectModelProps = {
90
+ // Automatically introduces a `startnoearlier` constraint for tasks that (a) have no predecessors,
91
+ // (b) do not use constraints and (c) aren't `manuallyScheduled`
92
+ autoSetConstraints : true,
93
+ loadUrl : 'data/data.json',
94
+ autoLoad : true
95
+ };
96
+ export const ganttProps: BryntumGanttProps = {
97
+ columns : [
98
+ { type : 'name', width : 200 }
99
+ ],
100
+ startDate : new Date(2026, 0, 1),
101
+ endDate : new Date(2026, 2, 1)
102
+ };
103
+ ```
104
+
105
+ Update the `src/app/app.ts` file with the following content:
106
+
107
+ ```typescript
108
+ import { Component, ViewChild } from '@angular/core';
109
+ import { BryntumGanttComponent, BryntumGanttProjectModelComponent } from '@bryntum/gantt-angular-thin';
110
+ import { ganttProps, projectProps } from './app.config';
111
+
112
+ @Component({
113
+ selector : 'app-root',
114
+ standalone : false,
115
+ templateUrl : './app.html',
116
+ styleUrl : './app.css',
117
+ })
118
+ export class AppComponent {
119
+
120
+ ganttProps = ganttProps;
121
+ projectProps = projectProps;
122
+
123
+ @ViewChild('gantt') ganttComponent!: BryntumGanttComponent;
124
+ @ViewChild('project') projectComponent!: BryntumGanttProjectModelComponent;
125
+ }
126
+ ```
127
+
128
+ Edit the `src/app/app.html` file and replace the content with the following:
10
129
 
11
- The following are most frequently used:
130
+ ```html
131
+ <bryntum-gantt-project-model
132
+ #project
133
+ [loadUrl] = "projectProps.loadUrl!"
134
+ [autoLoad] = "projectProps.autoLoad!"
135
+ [autoSetConstraints] = "projectProps.autoSetConstraints!"
136
+ ></bryntum-gantt-project-model>
12
137
 
13
- Install using `npm`:
138
+ <bryntum-gantt
139
+ #gantt
140
+ [startDate] = "ganttProps.startDate!"
141
+ [columns] = "ganttProps.columns!"
142
+ [endDate] = "ganttProps.endDate!"
143
+ [project] = "project"
144
+ ></bryntum-gantt>
145
+ ```
146
+
147
+ <details>
148
+ <summary>Create sample data (click to expand)</summary>
149
+
150
+ Create a `public/data/data.json` file for example data and add the following JSON data to it:
151
+ ```javascript
152
+ {
153
+ "success": "true",
154
+ "tasks": {
155
+ "rows": [
156
+ {
157
+ "id": 1,
158
+ "name": "Documentation Project",
159
+ "expanded": true,
160
+ "children": [
161
+ {
162
+ "id": 2,
163
+ "name": "Preparation",
164
+ "expanded": true,
165
+ "children": [
166
+ { "id": 6, "name": "Proof-read docs", "startDate": "2026-01-02", "endDate": "2026-01-09" },
167
+ { "id": 3, "name": "Release docs", "startDate": "2026-01-09", "endDate": "2026-01-10" }
168
+ ]
169
+ },
170
+ {
171
+ "id": 4,
172
+ "name": "Development",
173
+ "expanded": true,
174
+ "children": [
175
+ { "id": 7, "name": "Write API docs", "startDate": "2026-01-05", "endDate": "2026-01-12" },
176
+ { "id": 8, "name": "Write tutorials", "startDate": "2026-01-10", "endDate": "2026-01-16" },
177
+ { "id": 9, "name": "Create examples", "startDate": "2026-01-12", "endDate": "2026-01-18" }
178
+ ]
179
+ },
180
+ {
181
+ "id": 5,
182
+ "name": "Review & Release",
183
+ "expanded": true,
184
+ "children": [
185
+ { "id": 10, "name": "Team review", "startDate": "2026-01-18", "endDate": "2026-01-20" },
186
+ { "id": 11, "name": "Final approval", "startDate": "2026-01-20", "endDate": "2026-01-21" },
187
+ { "id": 12, "name": "Public release", "startDate": "2026-01-22", "endDate": "2026-01-22" }
188
+ ]
189
+ }
190
+ ]
191
+ }
192
+ ]
193
+ },
194
+ "dependencies": {
195
+ "rows": [
196
+ { "fromTask": 6, "toTask": 3 },
197
+ { "fromTask": 7, "toTask": 8 },
198
+ { "fromTask": 8, "toTask": 9 },
199
+ { "fromTask": 9, "toTask": 10 },
200
+ { "fromTask": 10, "toTask": 11 },
201
+ { "fromTask": 11, "toTask": 12 }
202
+ ]
203
+ }
204
+ }
205
+ ```
206
+
207
+ This is the data the Bryntum Gantt will use.
208
+
209
+ </details>
210
+
211
+ ## Project Structure
212
+
213
+ ### Product Dependencies
214
+
215
+ API packages:
216
+
217
+ ```json
218
+ {
219
+ "dependencies": {
220
+ "@bryntum/core-thin": "7.1.2",
221
+ "@bryntum/engine-thin": "7.1.2",
222
+ "@bryntum/grid-thin": "7.1.2",
223
+ "@bryntum/scheduler-thin": "7.1.2",
224
+ "@bryntum/schedulerpro-thin": "7.1.2",
225
+ "@bryntum/gantt-thin": "7.1.2"
226
+ }
227
+ }
228
+ ```
229
+
230
+ Framework wrapper packages:
231
+
232
+ ```json
233
+ {
234
+ "dependencies": {
235
+ "@bryntum/core-angular-thin": "7.1.2",
236
+ "@bryntum/gantt-angular-thin": "7.1.2"
237
+ }
238
+ }
239
+ ```
240
+
241
+ ### Product Configuration
242
+
243
+ ```typescript
244
+ import { BryntumGanttProps } from '@bryntum/gantt-angular-thin';
14
245
 
15
- ```shell
16
- npm install @bryntum/gantt-angular@7.1.1
246
+ const ganttProps : BryntumGanttProps = {
247
+ // Gantt configuration
248
+ };
17
249
  ```
18
250
 
19
- Install using `yarn`:
251
+ ### Product Styling
20
252
 
21
- ```shell
22
- yarn add @bryntum/gantt-angular@7.1.1
253
+ **SCSS/CSS:**
254
+
255
+ ```css
256
+ /* FontAwesome is used for icons */
257
+ @import '@bryntum/core-thin/fontawesome/css/fontawesome.css';
258
+ @import "@bryntum/core-thin/fontawesome/css/solid.css";
259
+ /* Structural CSS */
260
+ @import '@bryntum/core-thin/core.css';
261
+ @import '@bryntum/grid-thin/grid.css';
262
+ @import '@bryntum/scheduler-thin/scheduler.css';
263
+ @import '@bryntum/schedulerpro-thin/schedulerpro.css';
264
+ @import '@bryntum/gantt-thin/gantt.css';
265
+ /* Theme */
266
+ @import '@bryntum/core-thin/material3-light.css';
267
+ ```
268
+
269
+ ### Product Localization
270
+
271
+ ```javascript
272
+ import '@bryntum/gantt-thin/lib/localization/De.js'
23
273
  ```
24
274
 
25
- ## Integration guide
275
+ ## Integration Guide
26
276
 
27
277
  For details on installing and using this package, see the
28
278
  [Angular Integration Guide](https://bryntum.com/products/gantt/docs/guide/Gantt/integration/angular/guide).
29
279
 
30
- # Online references
280
+ ## Wrappers
281
+
282
+ Angular wrappers encapsulate Bryntum components as native Angular components, exposing all configuration options,
283
+ properties, features, and events through Angular-familiar patterns like inputs, outputs, and templates.
284
+
285
+ Visit [Wrappers documentation](https://bryntum.com/products/gantt/docs/guide/Gantt/integration/angular/guide#wrappers) for the complete list of available
286
+ wrapper components.
287
+
288
+ ## Features
289
+
290
+ Features are optional modules that extend Bryntum Gantt functionality. Each feature is suffixed with `Feature` and
291
+ can be enabled and configured through standard Angular inputs.
292
+
293
+ Visit [Features documentation](https://bryntum.com/products/gantt/docs/guide/Gantt/integration/angular/guide#features) for the complete list of available
294
+ features and their configuration options.
295
+
296
+ ## Explore All Bryntum Products
297
+
298
+ * [Bryntum Grid](https://bryntum.com/products/grid/) - High-performance data grid
299
+ * [Bryntum Scheduler](https://bryntum.com/products/scheduler/) - Resource scheduling component
300
+ * [Bryntum Scheduler Pro](https://bryntum.com/products/schedulerpro/) - Advanced scheduling with dependencies
301
+ * [Bryntum Gantt](https://bryntum.com/products/gantt/) - Project planning and management
302
+ * [Bryntum Calendar](https://bryntum.com/products/calendar/) - Full-featured calendar component
303
+ * [Bryntum TaskBoard](https://bryntum.com/products/taskboard/) - Kanban-style task management
304
+
305
+ Explore our comprehensive collection of demos:
306
+
307
+ | 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 |
308
+ |-------------------|:------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
309
+ | **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) |
310
+ | **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) |
311
+ | **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) |
312
+ | **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) |
313
+ | **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) |
314
+ | **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) |
315
+
316
+ ## Online references
31
317
 
32
- * [Bryntum npm repository guide](https://bryntum.com/products/gantt/docs/guide/Gantt/npm-repository)
33
318
  * [Bryntum Gantt documentation](https://bryntum.com/products/gantt/docs/)
34
319
  * [Bryntum Gantt examples](https://bryntum.com/products/gantt/examples/)
320
+
35
321
  * [Bryntum Support Forum](https://forum.bryntum.com/)
36
322
  * [Contact us](https://bryntum.com/contact/)
37
323
 
@@ -42,3 +328,4 @@ Please visit the [Bryntum Gantt End User License](https://bryntum.com/products/g
42
328
 
43
329
  Copyright © 2009-2026, Bryntum
44
330
  All rights reserved.
331
+