@bryntum/grid-vue-3 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 +171 -23
- package/lib/chunks/Cqm7WaTu.js.map +1 -1
- package/lib/chunks/D4TAsqNB.js.map +1 -1
- package/lib/chunks/khm7PMFG.js.map +1 -1
- package/package.json +1 -1
- package/src/components/BryntumGrid.vue +2 -2
- package/src/components/BryntumGridBase.vue +2 -2
- package/src/components/BryntumTreeGrid.vue +2 -2
package/README.md
CHANGED
|
@@ -1,53 +1,201 @@
|
|
|
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/vue.svg" alt="Vue" width="100">
|
|
6
|
+
</div>
|
|
7
|
+
|
|
1
8
|
# Vue 3 wrapper for Bryntum Grid
|
|
2
9
|
|
|
3
|
-
This package
|
|
4
|
-
|
|
10
|
+
This package provides a wrapper that turns Bryntum Grid into a Vue 3 component, exposing configuration options,
|
|
11
|
+
properties, features, and events.
|
|
12
|
+
|
|
13
|
+
## Version Requirement
|
|
5
14
|
|
|
6
|
-
|
|
15
|
+
* Vue: `3.2` or higher
|
|
16
|
+
* TypeScript: `4.2` or higher
|
|
17
|
+
* Vite `5` or higher
|
|
7
18
|
|
|
8
|
-
|
|
9
|
-
You must be logged in to this repository as a licensed or trial user to access it.
|
|
10
|
-
Please check the [Online npm repository guide](https://bryntum.com/products/grid/docs/guide/Grid/npm-repository) for detailed information on the sign-up/login
|
|
11
|
-
process.
|
|
19
|
+
## Package Contents
|
|
12
20
|
|
|
13
|
-
|
|
21
|
+
| Path | Description |
|
|
22
|
+
|--------------|------------------------------------------------|
|
|
23
|
+
| `lib/` | Vue 3 wrapper components (BryntumGrid etc.) |
|
|
24
|
+
| `src/` | Original Vue source files |
|
|
25
|
+
| `src/*.d.ts` | TypeScript type definitions |
|
|
14
26
|
|
|
15
|
-
|
|
16
|
-
command depends on the package manager used in your application.
|
|
27
|
+
**Note:** This is a wrapper package. The core `@bryntum/grid` package must be installed separately.
|
|
17
28
|
|
|
18
|
-
|
|
29
|
+
## Installation
|
|
19
30
|
|
|
20
|
-
|
|
31
|
+
### Vue 3 Wrapper
|
|
21
32
|
|
|
22
|
-
```
|
|
23
|
-
npm install @bryntum/grid-vue-3@
|
|
33
|
+
```bash
|
|
34
|
+
npm install @bryntum/grid-vue-3@latest
|
|
24
35
|
```
|
|
25
36
|
|
|
26
|
-
|
|
37
|
+
### Component Package (Required)
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
npm install @bryntum/grid@latest
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
## Try Bryntum Online Demos
|
|
44
|
+
|
|
45
|
+
* [View Online Vue Demos](https://bryntum.com/products/grid/examples/?framework=vue)
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
27
48
|
|
|
28
|
-
|
|
29
|
-
|
|
49
|
+
Edit the `src/App.vue` file and replace the content with the following:
|
|
50
|
+
|
|
51
|
+
```typescript
|
|
52
|
+
<script setup>
|
|
53
|
+
import { BryntumGrid } from '@bryntum/grid-vue-3';
|
|
54
|
+
import { gridProps } from './AppConfig.js';
|
|
55
|
+
</script>
|
|
56
|
+
|
|
57
|
+
<template>
|
|
58
|
+
<bryntum-grid v-bind=gridProps />
|
|
59
|
+
</template>
|
|
60
|
+
|
|
61
|
+
<style lang="scss">
|
|
62
|
+
@import './App.scss';
|
|
63
|
+
</style>
|
|
30
64
|
```
|
|
31
65
|
|
|
32
|
-
|
|
66
|
+
Create a `GridConfig.ts` file in the `src/` directory with the following content:
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
import { BryntumGridProps } from '@bryntum/grid-vue-3';
|
|
70
|
+
|
|
71
|
+
export const gridProps: BryntumGridProps = {
|
|
72
|
+
columns : [
|
|
73
|
+
{
|
|
74
|
+
text : 'Name',
|
|
75
|
+
field : 'name',
|
|
76
|
+
flex : 1,
|
|
77
|
+
editor : {
|
|
78
|
+
type : 'textfield',
|
|
79
|
+
required : true
|
|
80
|
+
}
|
|
81
|
+
}, {
|
|
82
|
+
text : 'Age',
|
|
83
|
+
field : 'age',
|
|
84
|
+
width : 100,
|
|
85
|
+
type : 'number'
|
|
86
|
+
}, {
|
|
87
|
+
text : 'City',
|
|
88
|
+
field : 'city',
|
|
89
|
+
flex : 1
|
|
90
|
+
}, {
|
|
91
|
+
text : 'Food',
|
|
92
|
+
field : 'food',
|
|
93
|
+
flex : 1
|
|
94
|
+
}, {
|
|
95
|
+
text : 'Color',
|
|
96
|
+
field : 'color',
|
|
97
|
+
flex : 1,
|
|
98
|
+
sortable : false,
|
|
99
|
+
type : 'color'
|
|
100
|
+
}
|
|
101
|
+
],
|
|
102
|
+
|
|
103
|
+
data : [
|
|
104
|
+
{ id : 1, name : 'Don A Taylor', age : 30, city : 'Moscow', food : 'Salad', color : 'Black' },
|
|
105
|
+
{ id : 2, name : 'John B Adams', age : 65, city : 'Paris', food : 'Bolognese', color : 'Orange' },
|
|
106
|
+
{ id : 3, name : 'John Doe', age : 40, city : 'London', food : 'Fish and Chips', color : 'Blue' },
|
|
107
|
+
{ id : 4, name : 'Maria Garcia', age : 28, city : 'Madrid', food : 'Paella', color : 'Green' },
|
|
108
|
+
{ id : 5, name : 'Li Wei', age : 35, city : 'Beijing', food : 'Dumplings', color : 'Yellow' },
|
|
109
|
+
{ id : 6, name : 'Sara Johnson', age : 32, city : 'Sydney', food : 'Sushi', color : 'Purple' },
|
|
110
|
+
{ id : 7, name : 'Lucas Brown', age : 22, city : 'Toronto', food : 'Poutine', color : 'Orange' },
|
|
111
|
+
{ id : 8, name : 'Emma Wilson', age : 27, city : 'Paris', food : 'Croissant', color : 'Pink' },
|
|
112
|
+
{ id : 9, name : 'Ivan Petrov', age : 45, city : 'St. Petersburg', food : 'Borscht', color : 'Grey' },
|
|
113
|
+
{ id : 10, name : 'Zhang Ming', age : 50, city : 'Shanghai', food : 'Hot Pot', color : 'Purple' },
|
|
114
|
+
{ id : 11, name : 'Sophia Martinez', age : 20, city : 'Mexico City', food : 'Tacos', color : 'Crimson' },
|
|
115
|
+
{ id : 12, name : 'Noah Smith', age : 55, city : 'Cape Town', food : 'Biltong', color : 'Turquoise' },
|
|
116
|
+
{ id : 13, name : 'Isabella Jones', age : 33, city : 'Rio de Janeiro', food : 'Feijoada', color : 'Magenta' },
|
|
117
|
+
{ id : 14, name : 'Ethan Taylor', age : 29, city : 'Chicago', food : 'Deep-Dish Pizza', color : 'Cyan' },
|
|
118
|
+
{ id : 15, name : 'Olivia Brown', age : 37, city : 'Berlin', food : 'Schnitzel', color : 'Maroon' },
|
|
119
|
+
{ id : 16, name : 'Mia Wilson', age : 26, city : 'Rome', food : 'Pasta', color : 'Olive' },
|
|
120
|
+
{ id : 17, name : 'Jacob Miller', age : 60, city : 'Amsterdam', food : 'Stroopwafel', color : 'Lime' },
|
|
121
|
+
{ id : 18, name : 'Chloe Davis', age : 23, city : 'Los Angeles', food : 'Burger', color : 'Teal' },
|
|
122
|
+
{ id : 19, name : 'Aiden Martinez', age : 48, city : 'Buenos Aires', food : 'Asado', color : 'Violet' },
|
|
123
|
+
{ id : 20, name : 'Liam Lee', age : 38, city : 'Seoul', food : 'Kimchi', color : 'Indigo' },
|
|
124
|
+
{ id : 21, name : 'Sophie Kim', age : 21, city : 'Tokyo', food : 'Ramen', color : 'Pink' },
|
|
125
|
+
{ id : 22, name : 'Alexander Nguyen', age : 41, city : 'Hanoi', food : 'Pho', color : 'Coral' },
|
|
126
|
+
{ id : 23, name : 'Ella Patel', age : 19, city : 'Mumbai', food : 'Curry', color : 'Amber' },
|
|
127
|
+
{ id : 24, name : 'James O Connor', age : 34, city : 'Dublin', food : 'Irish Stew', color : 'Green' },
|
|
128
|
+
{ id : 25, name : 'Isabelle Chen', age : 31, city : 'Hong Kong', food : 'Dim Sum', color : 'Brown' }
|
|
129
|
+
]
|
|
130
|
+
};
|
|
131
|
+
```
|
|
132
|
+
|
|
133
|
+
Lastly, add some styling to your `src/style.css`:
|
|
134
|
+
|
|
135
|
+
```css
|
|
136
|
+
/* FontAwesome is used for icons */
|
|
137
|
+
@import '@bryntum/grid/fontawesome/css/fontawesome.css';
|
|
138
|
+
@import '@bryntum/grid/fontawesome/css/solid.css';
|
|
139
|
+
/* Structural CSS */
|
|
140
|
+
@import "@bryntum/grid/grid.css";
|
|
141
|
+
/* Bryntum theme of your choice */
|
|
142
|
+
@import "@bryntum/grid/svalbard-light.css";
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
## Integration Guide
|
|
33
146
|
|
|
34
147
|
For details on installing and using this package, see the
|
|
35
148
|
[Vue Integration Guide](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide).
|
|
36
149
|
|
|
37
|
-
|
|
150
|
+
## Wrappers
|
|
151
|
+
|
|
152
|
+
Vue wrappers encapsulate Bryntum components as native Vue components, exposing all configuration options,
|
|
153
|
+
properties, features, and events through Vue-familiar patterns like props, events, and slots.
|
|
154
|
+
|
|
155
|
+
Visit [Wrappers documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide#wrappers) for the complete list of available
|
|
156
|
+
wrapper components.
|
|
157
|
+
|
|
158
|
+
## Features
|
|
159
|
+
|
|
160
|
+
Features are optional modules that extend Bryntum Grid functionality. Each feature is suffixed with `Feature` and
|
|
161
|
+
can be enabled and configured through standard Vue props.
|
|
162
|
+
|
|
163
|
+
Visit [Features documentation](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide#features) for the complete list of available
|
|
164
|
+
features and their configuration options.
|
|
165
|
+
|
|
166
|
+
## Explore All Bryntum Products
|
|
167
|
+
|
|
168
|
+
* [Bryntum Grid](https://bryntum.com/products/grid/) - High-performance data grid
|
|
169
|
+
* [Bryntum Scheduler](https://bryntum.com/products/scheduler/) - Resource scheduling component
|
|
170
|
+
* [Bryntum Scheduler Pro](https://bryntum.com/products/schedulerpro/) - Advanced scheduling with dependencies
|
|
171
|
+
* [Bryntum Gantt](https://bryntum.com/products/gantt/) - Project planning and management
|
|
172
|
+
* [Bryntum Calendar](https://bryntum.com/products/calendar/) - Full-featured calendar component
|
|
173
|
+
* [Bryntum TaskBoard](https://bryntum.com/products/taskboard/) - Kanban-style task management
|
|
174
|
+
|
|
175
|
+
Explore our comprehensive collection of demos:
|
|
176
|
+
|
|
177
|
+
| 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 |
|
|
178
|
+
|-------------------|:------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------:|:----------------------------------------------------------------------:|:------------------------------------------------------------------------------:|
|
|
179
|
+
| **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) |
|
|
180
|
+
| **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) |
|
|
181
|
+
| **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) |
|
|
182
|
+
| **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) |
|
|
183
|
+
| **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) |
|
|
184
|
+
| **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) |
|
|
185
|
+
|
|
186
|
+
## Online references
|
|
38
187
|
|
|
39
|
-
* [Bryntum Vue Quick Start Guide](https://bryntum.com/products/grid/docs/guide/Grid/quick-start/vue-3)
|
|
40
|
-
* [Bryntum Vue Integration Guide](https://bryntum.com/products/grid/docs/guide/Grid/integration/vue/guide)
|
|
41
|
-
* [Bryntum npm repository guide](https://bryntum.com/products/grid/docs/guide/Grid/npm-repository)
|
|
42
188
|
* [Bryntum Grid documentation](https://bryntum.com/products/grid/docs/)
|
|
43
189
|
* [Bryntum Grid examples](https://bryntum.com/products/grid/examples/)
|
|
190
|
+
|
|
44
191
|
* [Bryntum Support Forum](https://forum.bryntum.com/)
|
|
45
192
|
* [Contact us](https://bryntum.com/contact/)
|
|
46
193
|
|
|
47
|
-
|
|
194
|
+
## License and copyright
|
|
48
195
|
|
|
49
196
|
This wrapper depends on Bryntum Grid, which is commercial software and requires a paid license.
|
|
50
197
|
Please visit the [Bryntum Grid End User License](https://bryntum.com/products/grid/license/) for the full text of the license.
|
|
51
198
|
|
|
52
199
|
Copyright © 2009-2026, Bryntum
|
|
53
200
|
All rights reserved.
|
|
201
|
+
|