Installations
npm install @lowdefy/blocks-aggrid
Developer Guide
Typescript
No
Module System
ESM
Node Version
20.18.1
NPM Version
10.8.2
Score
63.1
Supply Chain
87.9
Quality
87.4
Maintenance
50
Vulnerability
99.3
License
Releases
Contributors
Languages
JavaScript (94.77%)
HTML (2.39%)
Less (2.01%)
Nunjucks (0.41%)
TypeScript (0.38%)
Shell (0.02%)
Dockerfile (0.02%)
Developer
Download Statistics
Total Downloads
21,444
Last Day
10
Last Week
43
Last Month
393
Last Year
7,418
GitHub Statistics
2,736 Stars
5,836 Commits
164 Forks
29 Watching
48 Branches
22 Contributors
Package Meta Information
Latest Version
4.4.0
Package Id
@lowdefy/blocks-aggrid@4.4.0
Unpacked Size
113.44 kB
Size
12.71 kB
File Count
38
NPM Version
10.8.2
Node Version
20.18.1
Publised On
06 Dec 2024
Total Downloads
Cumulative downloads
Total Downloads
21,444
Last day
25%
10
Compared to previous day
Last week
-64.8%
43
Compared to previous week
Last month
-19.3%
393
Compared to previous month
Last year
-23%
7,418
Compared to previous year
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
9
Lowdefy Blocks for Ag-Grid
This repository provides blocks for Ag-Grid, a feature rich javascript grid and table library.
The implementation of these blocks is a minimal wrapper for the @ag-grid-community/core package. This means you write normal Ag-Grid config to create tables.
See the Ag-Grid docs for the table settings API.
Blocks
Block types for supported Ag-Grid themes are available for for dispay
and input
block categories.
Block types
The availible ag-gird block types are:
Events
All Blocks
onCellClick
: Trigger event when a cell is clicked and pass the following to_event
:cell: object
: Cell data object.colId: string
: Column id of the clicked cell.index: number
: Data index of the clicked row as per provided data array.row: object
: Row data object.rowIndex: number
: List index of the clicked row, changes with data sorting or filtering.selected: object[]
: List of selected row objects.
onFilterChanged
: Trigger event when the filter changes and pass the following to_event
:rows: object[]
: List of row objects matched by the filter.filter: object
: An object of objects where each key is the row being filtered.
onRowClick
: Trigger event when a row is clicked and pass the following to_event
:index: number
: Data index of the clicked row as per provided data array.row: object
: Row data object.rowIndex: number
: List index of the clicked row, changes with data sorting or filtering.selected: object[]
: List of selected row objects.
onRowSelected
: Trigger event when a row is selected and pass the following to_event
:index: number
: Data index of the clicked row as per provided data array.row: object
: Row data object.rowIndex: number
: List index of the clicked row, changes with data sorting or filtering.selected: object[]
: List of selected row objects.
onSelectionChanged
: Triggered when the selected rows are changed and pass the following to_event
:selected: object[]
: List of selected row objects.
onSortChanged
: Trigger event when the sort changes and pass the following to_event
:rows: object[]
: List of row objects matched by the filter.sort: object[]
: List of rows which are being sorted.
Input Blocks
onCellValueChanged
: Triggered when a cell value is changed on the grid. The following is passed to the action_event
:field: string
: The field name of the changed cell.index: number
: Data index of the clicked row as per provided data array.newRowData: object[]
: The table data with the change applied.newValue: any
: The updated cell value.oldValue: any
: The cell value before the update was made.rowData: object
: The row data after the cell value has been changed.rowIndex: number
: List index of the clicked row, changes with data sorting or filtering.
onRowDragEnd
: Triggered when a row is dragged to another position in the grid. The following is passed to the action_event
:fromData: object
: Row data of the row selection which to moved.fromIndex: number
: Array index of the row selection which to moved.newRowData: object[]
: The table data with the change applied.toData: object
: Row data of the row to which the selection will be moved.toIndex: number
: Array index of the row to which the selection will be moved.
Methods
exportDataAsCsv
: When called, table data will be downloaded in csv format.sizeColumnsToFit
: When called, size table column widths to fit all columns to table width.autoSize
: When called, auto size columns. The following can be passed as the first argument ofargs
. -skipHeader: boolean
: Do not consider header content width when auto-sizing columns. -columnIds: string[]
: List ofcolId
s for which to calculate auto-size when called.setFilterModel
: When called, apply filter model to table. See https://www.ag-grid.com/javascript-data-grid/filter-api/ for model details.setQuickFilter
: When called, pass a quick filter text into the grid for filtering. See https://www.ag-grid.com/javascript-data-grid/filter-quick/ for details.
AgGridAlpine Example
1name: my-app 2lowdefy: 3.12.3 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 viewerReviews: 30 14 - title: Two 15 year: 2011 16 viewerReviews: 20 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 columnDefs: 22 - headerName: Title 23 field: title 24 width: 350 25 - headerName: Year 26 field: year 27 width: 100 28 - headerName: Viewer Reviews 29 field: viewerReviews 30 width: 160 31 type: numericColumn
AgGridAlpine valueFormatter: _function Example
1name: my-app 2lowdefy: 3.12.3 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 total: 300.21 14 - title: Two 15 year: 2011 16 total: 1230.9495 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 columnDefs: 22 - headerName: Title 23 field: title 24 width: 350 25 - headerName: Year 26 field: year 27 width: 100 28 - headerName: Total 29 field: total 30 width: 160 31 type: numericColumn 32 valueFormatter: 33 _function: 34 __intl.numberFormat: 35 on: 36 __args: 0.value 37 options: 38 style: 'currency' 39 currency: 'EUR'
AgGridAlpine onRowClick Example
1name: my-app 2lowdefy: 3.12.3 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 viewerReviews: 30 14 - title: Two 15 year: 2011 16 viewerReviews: 20 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 columnDefs: 22 - headerName: Title 23 field: title 24 width: 350 25 - headerName: Year 26 field: year 27 width: 100 28 - headerName: Viewer Reviews 29 field: viewerReviews 30 width: 160 31 type: numericColumn 32 events: 33 onRowClick: 34 - id: set_selected 35 type: SetState 36 params: 37 selected_row: # Update 'selected' in state with the event data. 38 _event: row 39 - id: selection 40 type: Title 41 properties: 42 level: 4 43 content: 44 _if: # Show the event data in a title, or call to action. 45 test: 46 _eq: 47 - _state: selected_row 48 - null 49 then: 'Click to select a row.' 50 else: 51 _string.concat: 52 - 'Title: ' 53 - _state: selected_row.title 54 - ', Year: ' 55 - _state: selected_row.year
AgGridAlpine onCellClick Example
1name: my-app 2lowdefy: 3.12.3 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 viewerReviews: 30 14 - title: Two 15 year: 2011 16 viewerReviews: 20 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 columnDefs: 22 - headerName: Title 23 field: title 24 width: 350 25 - headerName: Year 26 field: year 27 width: 100 28 - headerName: Viewer Reviews 29 field: viewerReviews 30 width: 160 31 type: numericColumn 32 events: 33 onCellClick: 34 - id: set_selected 35 type: SetState 36 params: 37 selected_cell: # Update 'selected_cell' in state with the event cell data. 38 _event: cell 39 - id: selection 40 type: Title 41 properties: 42 level: 4 43 content: 44 _if: # Show the event data in a title, or call to action. 45 test: 46 _eq: 47 - _state: selected_cell.column 48 - title 49 then: 50 _string.concat: 51 - 'Title: ' 52 - _state: selected_cell.value 53 else: 'Select a movie title.'
AgGridAlpine onRowSelected Example
1name: my-app 2lowdefy: 4.0.0-rc.5 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 viewerReviews: 30 14 - title: Two 15 year: 2011 16 viewerReviews: 20 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 rowSelection: 'multiple' 22 columnDefs: 23 - headerName: Title 24 field: title 25 width: 350 26 checkboxSelection: true 27 - headerName: Year 28 field: year 29 width: 100 30 - headerName: Viewer Reviews 31 field: viewerReviews 32 width: 160 33 type: numericColumn 34 events: 35 onRowSelected: 36 - id: set_selected 37 type: SetState 38 params: 39 selected_row: # Update 'selected' in state with the event data. 40 _event: row 41 all_selected: 42 _event: selected 43 - id: selection 44 type: Title 45 properties: 46 level: 4 47 content: 48 _if: # Show the event data in a title, or call to action. 49 test: 50 _eq: 51 - _state: selected_row 52 - null 53 then: 'Click to select a row.' 54 else: 55 _string.concat: 56 - 'Last Selected - Title: ' 57 - _state: selected_row.title 58 - ', Year: ' 59 - _state: selected_row.year 60 - id: all_selected 61 type: Title 62 properties: 63 level: 4 64 content: 65 _if: # Show the event data in a title, or call to action. 66 test: 67 _eq: 68 - _state: all_selected 69 - null 70 then: 'Select rows.' 71 else: 72 _string.concat: 73 - 'Total Selected: ' 74 - _array.length: 75 _state: all_selected
AgGridAlpine onSelectionChanged Example
1name: my-app 2lowdefy: 4.0.0-rc.5 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: my_table 8 type: AgGridAlpine 9 properties: 10 rowData: 11 - title: One 12 year: 2010 13 viewerReviews: 30 14 - title: Two 15 year: 2011 16 viewerReviews: 20 17 defaultColDef: 18 sortable: true 19 resizable: true 20 filter: true 21 rowSelection: 'multiple' 22 columnDefs: 23 - headerName: Title 24 field: title 25 width: 350 26 checkboxSelection: true 27 headerCheckboxSelection: true 28 - headerName: Year 29 field: year 30 width: 100 31 - headerName: Viewer Reviews 32 field: viewerReviews 33 width: 160 34 type: numericColumn 35 events: 36 onSelectionChanged: 37 - id: set_selected 38 type: SetState 39 params: 40 all_selected: 41 _event: selected 42 - id: all_selected 43 type: Title 44 properties: 45 level: 4 46 content: 47 _if: # Show the event data in a title, or call to action. 48 test: 49 _eq: 50 - _state: all_selected 51 - null 52 then: 'Select rows.' 53 else: 54 _string.concat: 55 - 'Total Selected: ' 56 - _array.length: 57 _state: all_selected
AgGridAlpine editable cells Example
1name: my-app 2lowdefy: 4.0.0-rc.5 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 blocks: 7 - id: Download 8 type: Button 9 events: 10 onClick: 11 - id: download 12 type: CallMethod 13 params: 14 blockId: table 15 method: exportDataAsCsv 16 - id: table 17 type: AgGridAlpine 18 properties: 19 rowData: 20 - a: zero 21 b: 000 22 c: AA 23 - a: one 24 b: 111 25 c: BB 26 - a: two 27 b: 222 28 c: CC 29 columnDefs: 30 - field: 'a' 31 - field: 'b' 32 - field: 'c'
AgGridInputAlpine onRowDragMove Example
1name: my-app 2lowdefy: 4.0.0-rc.5 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 events: 7 onInit: 8 - id: new 9 type: SetState 10 params: 11 table: 12 - a: zero 13 b: 000 14 c: AA 15 - a: one 16 b: 111 17 c: BB 18 - a: two 19 b: 222 20 c: CC 21 blocks: 22 - id: table 23 type: AgGridInputAlpine 24 properties: 25 columnDefs: 26 - field: 'a' 27 rowDrag: true 28 - field: 'b' 29 - field: 'c' 30 - field: 'd' 31 defaultColDef: 32 width: 170 33 sortable: true 34 filter: true
AgGridInputAlpine editable cells Example
1name: my-app 2lowdefy: 4.0.0-rc.5 3pages: 4 - id: dashboard 5 type: PageHeaderMenu 6 events: 7 onInit: 8 - id: new 9 type: SetState 10 params: 11 table: 12 - a: zero 13 b: 000 14 c: AA 15 - a: one 16 b: 111 17 c: BB 18 - a: two 19 b: 222 20 c: CC 21 blocks: 22 - id: table 23 type: AgGridInputAlpine 24 properties: 25 columnDefs: 26 - field: 'a' 27 - field: 'b' 28 - field: 'c' 29 cellEditor: 'agSelectCellEditor' 30 cellEditorParams: 31 values: ['AA', 'BB', 'CC', 'DD'] 32 defaultColDef: 33 width: 170 34 sortable: true 35 filter: true 36 editable: true
No vulnerabilities found.
Reason
all changesets reviewed
Reason
27 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10
Reason
no dangerous workflow patterns detected
Reason
security policy file detected
Details
- Info: security policy file detected: SECURITY.md:1
- Info: Found linked content: SECURITY.md:1
- Info: Found disclosure, vulnerability, and/or timelines in security policy: SECURITY.md:1
- Info: Found text in security policy: SECURITY.md:1
Reason
no binaries found in the repo
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Warn: project license file does not contain an FSF or OSI license.
Reason
SAST tool is not run on all commits -- score normalized to 9
Details
- Warn: 29 commits out of 30 are checked with a SAST tool
Reason
detected GitHub workflow tokens with excessive permissions
Details
- Warn: no topLevel permission defined: .github/workflows/release.yaml:1
- Warn: no topLevel permission defined: .github/workflows/test-branches.yml:1
- Warn: no topLevel permission defined: .github/workflows/test-pulls.yml:1
- Info: no jobLevel write permissions found
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
Project has not signed or included provenance with any releases.
Details
- Warn: release artifact v4.3.0 not signed: https://api.github.com/repos/lowdefy/lowdefy/releases/168068481
- Warn: release artifact v4.3.0 does not have provenance: https://api.github.com/repos/lowdefy/lowdefy/releases/168068481
Reason
dependency not pinned by hash detected -- score normalized to 0
Details
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:16: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/release.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/release.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/release.yaml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/release.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/release.yaml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/release.yaml:55: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/release.yaml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-branches.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-branches.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-branches.yml:21: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-branches.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-branches.yml:22: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-branches.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-branches.yml:29: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-branches.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-pulls.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-pulls.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-pulls.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-pulls.yml/main?enable=pin
- Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test-pulls.yml:20: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-pulls.yml/main?enable=pin
- Warn: third-party GitHubAction not pinned by hash: .github/workflows/test-pulls.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/lowdefy/lowdefy/test-pulls.yml/main?enable=pin
- Warn: containerImage not pinned by hash: packages/cli/src/commands/init-docker/Dockerfile:1
- Warn: containerImage not pinned by hash: packages/cli/src/commands/init-docker/Dockerfile:15
- Info: 0 out of 6 GitHub-owned GitHubAction dependencies pinned
- Info: 0 out of 7 third-party GitHubAction dependencies pinned
- Info: 0 out of 2 containerImage dependencies pinned
Reason
project is not fuzzed
Details
- Warn: no fuzzer integrations found
Reason
29 existing vulnerabilities detected
Details
- Warn: Project is vulnerable to: GHSA-m5vv-6r4h-3vj9
- Warn: Project is vulnerable to: GHSA-67hx-6x53-jw92
- Warn: Project is vulnerable to: GHSA-wf5p-g6vw-rhxx
- Warn: Project is vulnerable to: GHSA-8hc4-vh64-cxmj
- Warn: Project is vulnerable to: GHSA-grv7-fg5c-xmjg
- Warn: Project is vulnerable to: GHSA-pxg6-pf52-xh8x
- Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275
- Warn: Project is vulnerable to: GHSA-xwcq-pm8m-c4vf
- Warn: Project is vulnerable to: GHSA-gx9m-whjm-85jf
- Warn: Project is vulnerable to: GHSA-mmhx-hmjr-r674
- Warn: Project is vulnerable to: GHSA-4gmj-3p3h-gm8h
- Warn: Project is vulnerable to: GHSA-jchw-25xp-jwwc
- Warn: Project is vulnerable to: GHSA-cxjh-pqwp-8mfp
- Warn: Project is vulnerable to: GHSA-78xj-cgh5-2h22
- Warn: Project is vulnerable to: GHSA-2p57-rm9w-gvfp
- Warn: Project is vulnerable to: GHSA-hhhv-q57g-882q
- Warn: Project is vulnerable to: GHSA-952p-6rrq-rcjv
- Warn: Project is vulnerable to: GHSA-mwcw-c2x4-8c55
- Warn: Project is vulnerable to: GHSA-gp8f-8m3g-qvj9
- Warn: Project is vulnerable to: GHSA-7m27-7ghc-44w9
- Warn: Project is vulnerable to: GHSA-fr5h-rqp8-mj6g
- Warn: Project is vulnerable to: GHSA-g77x-44xx-532m
- Warn: Project is vulnerable to: GHSA-7gfc-8cq8-jh5f
- Warn: Project is vulnerable to: GHSA-9h6g-pr28-7cqp
- Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36
- Warn: Project is vulnerable to: GHSA-4vvj-4cpr-p986
- Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7
- Warn: Project is vulnerable to: GHSA-3h5v-q93c-6h6q
- Warn: Project is vulnerable to: GHSA-776f-qx25-q3cc
Score
5.5
/10
Last Scanned on 2025-01-27
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More