@lowdefy/blocks-aggrid 5.6.0 → 6.0.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.
@@ -0,0 +1,362 @@
1
+ # Copyright 2020-2026 Lowdefy, Inc
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ - title: Input Alpine - Basic Editable Table
16
+ fullWidth: true
17
+ blocks:
18
+ - id: input_alpine_basic_editable
19
+ type: AgGridInputAlpine
20
+ properties:
21
+ height: 300
22
+ defaultColDef:
23
+ editable: true
24
+ flex: 1
25
+ columnDefs:
26
+ - field: name
27
+ headerName: Name
28
+ - field: age
29
+ headerName: Age
30
+ - field: email
31
+ headerName: Email
32
+ - field: country
33
+ headerName: Country
34
+ rowData:
35
+ - name: Alice Johnson
36
+ age: 28
37
+ email: alice@example.com
38
+ country: United States
39
+ - name: Bob Smith
40
+ age: 35
41
+ email: bob@example.com
42
+ country: United Kingdom
43
+ - name: Charlie Lee
44
+ age: 42
45
+ email: charlie@example.com
46
+ country: Japan
47
+ - name: Diana Patel
48
+ age: 31
49
+ email: diana@example.com
50
+ country: India
51
+ - name: Erik Johansson
52
+ age: 26
53
+ email: erik@example.com
54
+ country: Sweden
55
+
56
+ - title: Input Alpine - Mixed Editable Columns
57
+ fullWidth: true
58
+ blocks:
59
+ - id: input_alpine_mixed_editable
60
+ type: AgGridInputAlpine
61
+ properties:
62
+ height: 300
63
+ columnDefs:
64
+ - field: id
65
+ headerName: ID
66
+ width: 80
67
+ editable: false
68
+ pinned: left
69
+ - field: product
70
+ headerName: Product Name
71
+ flex: 2
72
+ editable: true
73
+ - field: category
74
+ headerName: Category
75
+ flex: 1
76
+ editable: true
77
+ - field: price
78
+ headerName: Price ($)
79
+ width: 120
80
+ editable: true
81
+ - field: stock
82
+ headerName: Stock
83
+ width: 100
84
+ editable: true
85
+ - field: rating
86
+ headerName: Rating
87
+ width: 100
88
+ editable: false
89
+ rowData:
90
+ - id: 1
91
+ product: Wireless Keyboard
92
+ category: Electronics
93
+ price: 49.99
94
+ stock: 230
95
+ rating: 4.5
96
+ - id: 2
97
+ product: Standing Desk
98
+ category: Furniture
99
+ price: 399.00
100
+ stock: 45
101
+ rating: 4.8
102
+ - id: 3
103
+ product: USB-C Hub
104
+ category: Electronics
105
+ price: 29.99
106
+ stock: 520
107
+ rating: 4.2
108
+ - id: 4
109
+ product: Ergonomic Chair
110
+ category: Furniture
111
+ price: 289.00
112
+ stock: 78
113
+ rating: 4.6
114
+ - id: 5
115
+ product: Webcam HD
116
+ category: Electronics
117
+ price: 79.99
118
+ stock: 310
119
+ rating: 4.0
120
+
121
+ - title: Input Alpine - Default Column Definitions
122
+ fullWidth: true
123
+ blocks:
124
+ - id: input_alpine_default_col_def
125
+ type: AgGridInputAlpine
126
+ properties:
127
+ height: 300
128
+ defaultColDef:
129
+ sortable: true
130
+ filter: true
131
+ resizable: true
132
+ editable: true
133
+ flex: 1
134
+ columnDefs:
135
+ - field: employee
136
+ headerName: Employee
137
+ - field: department
138
+ headerName: Department
139
+ - field: title
140
+ headerName: Job Title
141
+ - field: location
142
+ headerName: Office
143
+ - field: startDate
144
+ headerName: Start Date
145
+ rowData:
146
+ - employee: Sarah Chen
147
+ department: Engineering
148
+ title: Senior Developer
149
+ location: San Francisco
150
+ startDate: '2019-03-15'
151
+ - employee: James Wilson
152
+ department: Marketing
153
+ title: Campaign Manager
154
+ location: New York
155
+ startDate: '2020-07-01'
156
+ - employee: Maria Garcia
157
+ department: Engineering
158
+ title: Tech Lead
159
+ location: Austin
160
+ startDate: '2018-11-20'
161
+ - employee: David Kim
162
+ department: Sales
163
+ title: Account Executive
164
+ location: Chicago
165
+ startDate: '2021-01-10'
166
+ - employee: Emily Brown
167
+ department: Design
168
+ title: UX Designer
169
+ location: San Francisco
170
+ startDate: '2020-09-05'
171
+
172
+ - title: Input Alpine - Row Selection
173
+ fullWidth: true
174
+ blocks:
175
+ - id: input_alpine_row_selection
176
+ type: AgGridInputAlpine
177
+ properties:
178
+ height: 300
179
+ rowSelection:
180
+ mode: multiRow
181
+ checkboxes: false
182
+ headerCheckbox: false
183
+ enableClickSelection: true
184
+ defaultColDef:
185
+ sortable: true
186
+ editable: true
187
+ flex: 1
188
+ columnDefs:
189
+ - field: task
190
+ headerName: Task
191
+ flex: 2
192
+ - field: assignee
193
+ headerName: Assignee
194
+ - field: priority
195
+ headerName: Priority
196
+ width: 120
197
+ - field: status
198
+ headerName: Status
199
+ width: 120
200
+ rowData:
201
+ - task: Design login page
202
+ assignee: Alice
203
+ priority: High
204
+ status: Done
205
+ - task: Implement API endpoints
206
+ assignee: Bob
207
+ priority: High
208
+ status: In Progress
209
+ - task: Write unit tests
210
+ assignee: Charlie
211
+ priority: Medium
212
+ status: To Do
213
+ - task: Update documentation
214
+ assignee: Diana
215
+ priority: Low
216
+ status: To Do
217
+ - task: Code review PR #42
218
+ assignee: Erik
219
+ priority: Medium
220
+ status: In Progress
221
+
222
+ - title: Input Alpine - Pagination
223
+ fullWidth: true
224
+ blocks:
225
+ - id: input_alpine_pagination
226
+ type: AgGridInputAlpine
227
+ properties:
228
+ height: 350
229
+ pagination: true
230
+ paginationPageSize: 5
231
+ defaultColDef:
232
+ sortable: true
233
+ filter: true
234
+ editable: true
235
+ flex: 1
236
+ columnDefs:
237
+ - field: orderId
238
+ headerName: Order ID
239
+ editable: false
240
+ width: 120
241
+ - field: customer
242
+ headerName: Customer
243
+ - field: product
244
+ headerName: Product
245
+ - field: quantity
246
+ headerName: Qty
247
+ width: 80
248
+ - field: total
249
+ headerName: Total ($)
250
+ width: 110
251
+ - field: status
252
+ headerName: Status
253
+ width: 120
254
+ rowData:
255
+ - orderId: ORD-501
256
+ customer: Acme Corp
257
+ product: Widget Pro
258
+ quantity: 50
259
+ total: 2499.50
260
+ status: Shipped
261
+ - orderId: ORD-502
262
+ customer: Globex Inc
263
+ product: Gadget X
264
+ quantity: 25
265
+ total: 1249.75
266
+ status: Processing
267
+ - orderId: ORD-503
268
+ customer: Initech
269
+ product: Widget Pro
270
+ quantity: 100
271
+ total: 4999.00
272
+ status: Delivered
273
+ - orderId: ORD-504
274
+ customer: Umbrella Ltd
275
+ product: Connector A
276
+ quantity: 200
277
+ total: 1998.00
278
+ status: Shipped
279
+ - orderId: ORD-505
280
+ customer: Stark Ind
281
+ product: Gadget X
282
+ quantity: 10
283
+ total: 499.90
284
+ status: Processing
285
+ - orderId: ORD-506
286
+ customer: Wayne Ent
287
+ product: Widget Pro
288
+ quantity: 75
289
+ total: 3749.25
290
+ status: Delivered
291
+ - orderId: ORD-507
292
+ customer: Oscorp
293
+ product: Connector A
294
+ quantity: 150
295
+ total: 1498.50
296
+ status: Shipped
297
+ - orderId: ORD-508
298
+ customer: LexCorp
299
+ product: Gadget X
300
+ quantity: 30
301
+ total: 1499.70
302
+ status: Processing
303
+
304
+ - title: Input Alpine - Column Styling
305
+ fullWidth: true
306
+ blocks:
307
+ - id: input_alpine_styled_columns
308
+ type: AgGridInputAlpine
309
+ properties:
310
+ height: 300
311
+ defaultColDef:
312
+ sortable: true
313
+ editable: true
314
+ flex: 1
315
+ columnDefs:
316
+ - field: metric
317
+ headerName: Metric
318
+ flex: 2
319
+ editable: false
320
+ cellStyle:
321
+ fontWeight: bold
322
+ - field: q1
323
+ headerName: Q1
324
+ cellStyle:
325
+ backgroundColor: '#e6f7ff'
326
+ textAlign: right
327
+ - field: q2
328
+ headerName: Q2
329
+ cellStyle:
330
+ backgroundColor: '#f6ffed'
331
+ textAlign: right
332
+ - field: q3
333
+ headerName: Q3
334
+ cellStyle:
335
+ backgroundColor: '#fff7e6'
336
+ textAlign: right
337
+ - field: q4
338
+ headerName: Q4
339
+ cellStyle:
340
+ backgroundColor: '#fff1f0'
341
+ textAlign: right
342
+ rowData:
343
+ - metric: Revenue ($K)
344
+ q1: 1250
345
+ q2: 1380
346
+ q3: 1520
347
+ q4: 1690
348
+ - metric: New Customers
349
+ q1: 145
350
+ q2: 162
351
+ q3: 178
352
+ q4: 201
353
+ - metric: Churn Rate (%)
354
+ q1: 3.2
355
+ q2: 2.8
356
+ q3: 2.5
357
+ q4: 2.1
358
+ - metric: NPS Score
359
+ q1: 42
360
+ q2: 45
361
+ q3: 48
362
+ q4: 52
@@ -0,0 +1,365 @@
1
+ # Copyright 2020-2026 Lowdefy, Inc
2
+
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ id: aggridinputalpine
16
+ type: Box
17
+
18
+ events:
19
+ onInit:
20
+ - id: set_defaults
21
+ type: SetState
22
+ params:
23
+ aggridinputalpine_basic:
24
+ - name: Alice
25
+ age: 25
26
+ - name: Bob
27
+ age: 30
28
+ - name: Charlie
29
+ age: 35
30
+ aggridinputalpine_height:
31
+ - name: Alice
32
+ - name: Bob
33
+ aggridinputalpine_default_col_def:
34
+ - name: Alice
35
+ age: 25
36
+ - name: Bob
37
+ age: 30
38
+ aggridinputalpine_onrowclick:
39
+ - name: Alice
40
+ age: 25
41
+ - name: Bob
42
+ age: 30
43
+ aggridinputalpine_oncellclick:
44
+ - name: Alice
45
+ age: 25
46
+ - name: Bob
47
+ age: 30
48
+ aggridinputalpine_onrowselected:
49
+ - name: Alice
50
+ age: 25
51
+ - name: Bob
52
+ age: 30
53
+ aggridinputalpine_sortable:
54
+ - name: Charlie
55
+ age: 35
56
+ - name: Alice
57
+ age: 25
58
+ - name: Bob
59
+ age: 30
60
+ aggridinputalpine_filterable:
61
+ - name: Alice
62
+ age: 25
63
+ - name: Bob
64
+ age: 30
65
+ - name: Charlie
66
+ age: 35
67
+ aggridinputalpine_editable:
68
+ - name: Alice
69
+ age: 25
70
+ - name: Bob
71
+ age: 30
72
+ aggridinputalpine_rowdrag:
73
+ - name: Alice
74
+ age: 25
75
+ - name: Bob
76
+ age: 30
77
+ - name: Charlie
78
+ age: 35
79
+
80
+ blocks:
81
+ # ============================================
82
+ # BASIC RENDERING
83
+ # ============================================
84
+
85
+ - id: aggridinputalpine_basic
86
+ type: AgGridInputAlpine
87
+ properties:
88
+ columnDefs:
89
+ - headerName: Name
90
+ field: name
91
+ - headerName: Age
92
+ field: age
93
+
94
+ # ============================================
95
+ # PROPERTY TESTS
96
+ # ============================================
97
+
98
+ - id: aggridinputalpine_height
99
+ type: AgGridInputAlpine
100
+ properties:
101
+ height: 300
102
+ columnDefs:
103
+ - headerName: Name
104
+ field: name
105
+
106
+ - id: aggridinputalpine_default_col_def
107
+ type: AgGridInputAlpine
108
+ properties:
109
+ defaultColDef:
110
+ sortable: true
111
+ resizable: true
112
+ filter: true
113
+ columnDefs:
114
+ - headerName: Name
115
+ field: name
116
+ - headerName: Age
117
+ field: age
118
+
119
+ # ============================================
120
+ # EVENT TESTS
121
+ # ============================================
122
+
123
+ - id: aggridinputalpine_onrowclick
124
+ type: AgGridInputAlpine
125
+ properties:
126
+ columnDefs:
127
+ - headerName: Name
128
+ field: name
129
+ - headerName: Age
130
+ field: age
131
+ events:
132
+ onRowClick:
133
+ - id: set_row_click
134
+ type: SetState
135
+ params:
136
+ aggridinputalpine_row_clicked:
137
+ _event: row.name
138
+
139
+ - id: aggridinputalpine_row_click_display
140
+ type: Span
141
+ properties:
142
+ content:
143
+ _if:
144
+ test:
145
+ _ne:
146
+ - _state: aggridinputalpine_row_clicked
147
+ - null
148
+ then:
149
+ _string.concat:
150
+ - 'Row: '
151
+ - _state: aggridinputalpine_row_clicked
152
+ else: ''
153
+
154
+ - id: aggridinputalpine_oncellclick
155
+ type: AgGridInputAlpine
156
+ properties:
157
+ columnDefs:
158
+ - headerName: Name
159
+ field: name
160
+ - headerName: Age
161
+ field: age
162
+ events:
163
+ onCellClick:
164
+ - id: set_cell_click
165
+ type: SetState
166
+ params:
167
+ aggridinputalpine_cell_clicked:
168
+ _event: cell.value
169
+
170
+ - id: aggridinputalpine_cell_click_display
171
+ type: Span
172
+ properties:
173
+ content:
174
+ _if:
175
+ test:
176
+ _ne:
177
+ - _state: aggridinputalpine_cell_clicked
178
+ - null
179
+ then:
180
+ _string.concat:
181
+ - 'Cell: '
182
+ - _state: aggridinputalpine_cell_clicked
183
+ else: ''
184
+
185
+ - id: aggridinputalpine_onrowselected
186
+ type: AgGridInputAlpine
187
+ properties:
188
+ rowSelection:
189
+ mode: singleRow
190
+ checkboxes: false
191
+ enableClickSelection: true
192
+ columnDefs:
193
+ - headerName: Name
194
+ field: name
195
+ - headerName: Age
196
+ field: age
197
+ events:
198
+ onRowSelected:
199
+ - id: set_row_selected
200
+ type: SetState
201
+ params:
202
+ aggridinputalpine_row_selected:
203
+ _event: row.name
204
+
205
+ - id: aggridinputalpine_row_selected_display
206
+ type: Span
207
+ properties:
208
+ content:
209
+ _if:
210
+ test:
211
+ _ne:
212
+ - _state: aggridinputalpine_row_selected
213
+ - null
214
+ then:
215
+ _string.concat:
216
+ - 'Selected: '
217
+ - _state: aggridinputalpine_row_selected
218
+ else: ''
219
+
220
+ # ============================================
221
+ # SORTING & FILTERING
222
+ # ============================================
223
+
224
+ - id: aggridinputalpine_sortable
225
+ type: AgGridInputAlpine
226
+ properties:
227
+ columnDefs:
228
+ - headerName: Name
229
+ field: name
230
+ sortable: true
231
+ - headerName: Age
232
+ field: age
233
+ sortable: true
234
+ events:
235
+ onSortChanged:
236
+ - id: set_sort_changed
237
+ type: SetState
238
+ params:
239
+ aggridinputalpine_sort_changed: true
240
+
241
+ - id: aggridinputalpine_sort_changed_display
242
+ type: Span
243
+ properties:
244
+ content:
245
+ _if:
246
+ test:
247
+ _eq:
248
+ - _state: aggridinputalpine_sort_changed
249
+ - true
250
+ then: Sort changed
251
+ else: ''
252
+
253
+ - id: aggridinputalpine_filterable
254
+ type: AgGridInputAlpine
255
+ properties:
256
+ columnDefs:
257
+ - headerName: Name
258
+ field: name
259
+ filter: true
260
+ - headerName: Age
261
+ field: age
262
+ filter: true
263
+ events:
264
+ onFilterChanged:
265
+ - id: set_filter_changed
266
+ type: SetState
267
+ params:
268
+ aggridinputalpine_filter_changed: true
269
+
270
+ - id: aggridinputalpine_filter_changed_display
271
+ type: Span
272
+ properties:
273
+ content:
274
+ _if:
275
+ test:
276
+ _eq:
277
+ - _state: aggridinputalpine_filter_changed
278
+ - true
279
+ then: Filter changed
280
+ else: ''
281
+
282
+ # ============================================
283
+ # INPUT-SPECIFIC: EDITABLE CELLS
284
+ # ============================================
285
+
286
+ - id: aggridinputalpine_editable
287
+ type: AgGridInputAlpine
288
+ properties:
289
+ columnDefs:
290
+ - headerName: Name
291
+ field: name
292
+ editable: true
293
+ - headerName: Age
294
+ field: age
295
+ events:
296
+ onCellValueChanged:
297
+ - id: set_cell_value_changed
298
+ type: SetState
299
+ params:
300
+ aggridinputalpine_cell_new_value:
301
+ _event: newValue
302
+ aggridinputalpine_cell_old_value:
303
+ _event: oldValue
304
+
305
+ - id: aggridinputalpine_cell_value_changed_display
306
+ type: Span
307
+ properties:
308
+ content:
309
+ _if:
310
+ test:
311
+ _ne:
312
+ - _state: aggridinputalpine_cell_new_value
313
+ - null
314
+ then:
315
+ _string.concat:
316
+ - 'New: '
317
+ - _state: aggridinputalpine_cell_new_value
318
+ else: ''
319
+
320
+ - id: aggridinputalpine_old_value_display
321
+ type: Span
322
+ properties:
323
+ content:
324
+ _if:
325
+ test:
326
+ _ne:
327
+ - _state: aggridinputalpine_cell_old_value
328
+ - null
329
+ then:
330
+ _string.concat:
331
+ - 'Old: '
332
+ - _state: aggridinputalpine_cell_old_value
333
+ else: ''
334
+
335
+ # ============================================
336
+ # INPUT-SPECIFIC: ROW DRAGGING
337
+ # ============================================
338
+
339
+ - id: aggridinputalpine_rowdrag
340
+ type: AgGridInputAlpine
341
+ properties:
342
+ columnDefs:
343
+ - headerName: Name
344
+ field: name
345
+ rowDrag: true
346
+ - headerName: Age
347
+ field: age
348
+ events:
349
+ onRowDragEnd:
350
+ - id: set_row_drag_end
351
+ type: SetState
352
+ params:
353
+ aggridinputalpine_drag_ended: true
354
+
355
+ - id: aggridinputalpine_row_drag_display
356
+ type: Span
357
+ properties:
358
+ content:
359
+ _if:
360
+ test:
361
+ _eq:
362
+ - _state: aggridinputalpine_drag_ended
363
+ - true
364
+ then: Drag ended
365
+ else: ''