@elliemae/ds-datagrids 3.0.0-alpha.0 → 3.0.0-alpha.1
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/dist/cjs/DataGridImpl.js +56 -23
- package/dist/cjs/DataGridImpl.js.map +1 -1
- package/dist/cjs/PaginatedDataGrid.js +56 -19
- package/dist/cjs/PaginatedDataGrid.js.map +1 -1
- package/dist/cjs/components/BodyCell.js +33 -11
- package/dist/cjs/components/BodyCell.js.map +1 -1
- package/dist/cjs/components/BodyList.js +47 -12
- package/dist/cjs/components/BodyList.js.map +1 -1
- package/dist/cjs/components/HeaderCell.js +17 -6
- package/dist/cjs/components/HeaderCell.js.map +1 -1
- package/dist/cjs/components/List.js +15 -3
- package/dist/cjs/components/List.js.map +1 -1
- package/dist/cjs/components/ListItem.js +17 -4
- package/dist/cjs/components/ListItem.js.map +1 -1
- package/dist/cjs/components/NoResults.js +33 -4
- package/dist/cjs/components/NoResults.js.map +1 -1
- package/dist/cjs/components/Table.js +27 -15
- package/dist/cjs/components/Table.js.map +1 -1
- package/dist/cjs/components/TableBody.js +52 -21
- package/dist/cjs/components/TableBody.js.map +1 -1
- package/dist/cjs/components/TableHeader.js +20 -6
- package/dist/cjs/components/TableHeader.js.map +1 -1
- package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +81 -34
- package/dist/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
- package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js +22 -9
- package/dist/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
- package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js +19 -3
- package/dist/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
- package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js +19 -3
- package/dist/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
- package/dist/cjs/plugins/column-sizing/useColumnSizeService.js +18 -1
- package/dist/cjs/plugins/column-sizing/useColumnSizeService.js.map +1 -1
- package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js +19 -2
- package/dist/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
- package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js +29 -6
- package/dist/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
- package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js +19 -3
- package/dist/cjs/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
- package/dist/cjs/plugins/editable/EditableComponents/TextBox.js +21 -4
- package/dist/cjs/plugins/editable/EditableComponents/TextBox.js.map +1 -1
- package/dist/cjs/plugins/editable/decorateEditable.js +31 -5
- package/dist/cjs/plugins/editable/decorateEditable.js.map +1 -1
- package/dist/cjs/plugins/editable/getEditorComponent.js +36 -13
- package/dist/cjs/plugins/editable/getEditorComponent.js.map +1 -1
- package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js +55 -16
- package/dist/cjs/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
- package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js +40 -16
- package/dist/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
- package/dist/cjs/plugins/expandable-grid/ExpandedRow.js +39 -14
- package/dist/cjs/plugins/expandable-grid/ExpandedRow.js.map +1 -1
- package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js +19 -3
- package/dist/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
- package/dist/cjs/plugins/export-data/ExportDataPlugin.js +15 -4
- package/dist/cjs/plugins/export-data/ExportDataPlugin.js.map +1 -1
- package/dist/cjs/plugins/filterable/addFilterToColumn.js +18 -1
- package/dist/cjs/plugins/filterable/addFilterToColumn.js.map +1 -1
- package/dist/cjs/plugins/filterable/components/FilterableHeader.js +17 -4
- package/dist/cjs/plugins/filterable/components/FilterableHeader.js.map +1 -1
- package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js +36 -10
- package/dist/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
- package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js +21 -6
- package/dist/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
- package/dist/cjs/plugins/filterable/helper.js +19 -3
- package/dist/cjs/plugins/filterable/helper.js.map +1 -1
- package/dist/cjs/plugins/filterable/useFilterableState.js +22 -8
- package/dist/cjs/plugins/filterable/useFilterableState.js.map +1 -1
- package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js +41 -21
- package/dist/cjs/plugins/grouping-grid/GroupingPlugin.js.map +1 -1
- package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js +33 -4
- package/dist/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
- package/dist/cjs/plugins/pagination/PaginationPlugin.js +57 -21
- package/dist/cjs/plugins/pagination/PaginationPlugin.js.map +1 -1
- package/dist/cjs/plugins/pagination/components/PerPageDropdown.js +30 -3
- package/dist/cjs/plugins/pagination/components/PerPageDropdown.js.map +1 -1
- package/dist/cjs/plugins/pagination/usePaginationState.js +19 -3
- package/dist/cjs/plugins/pagination/usePaginationState.js.map +1 -1
- package/dist/cjs/plugins/resizable/decorateResizable.js +19 -3
- package/dist/cjs/plugins/resizable/decorateResizable.js.map +1 -1
- package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js +24 -12
- package/dist/cjs/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
- package/dist/cjs/plugins/selectable/addSelectableColumn.js +51 -14
- package/dist/cjs/plugins/selectable/addSelectableColumn.js.map +1 -1
- package/dist/cjs/plugins/selectable/helper.js +18 -2
- package/dist/cjs/plugins/selectable/helper.js.map +1 -1
- package/dist/cjs/plugins/selectable/selectableFormatter.js +21 -4
- package/dist/cjs/plugins/selectable/selectableFormatter.js.map +1 -1
- package/dist/cjs/plugins/selectable/useSelectableState.js +19 -5
- package/dist/cjs/plugins/selectable/useSelectableState.js.map +1 -1
- package/dist/cjs/plugins/sortable/sortTree.js +19 -3
- package/dist/cjs/plugins/sortable/sortTree.js.map +1 -1
- package/dist/cjs/plugins/sortable/sorter.js +19 -9
- package/dist/cjs/plugins/sortable/sorter.js.map +1 -1
- package/dist/cjs/plugins/sortable/useSortableState.js +19 -3
- package/dist/cjs/plugins/sortable/useSortableState.js.map +1 -1
- package/dist/cjs/plugins/toolbar/RowRenderer.js +23 -9
- package/dist/cjs/plugins/toolbar/RowRenderer.js.map +1 -1
- package/dist/cjs/plugins/toolbar/ToolbarTrigger.js +19 -3
- package/dist/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
- package/dist/cjs/plugins/virtualization/AutoHeightList.js +51 -14
- package/dist/cjs/plugins/virtualization/AutoHeightList.js.map +1 -1
- package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js +22 -8
- package/dist/cjs/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
- package/dist/cjs/plugins/virtualization/VirtualizedBody.js +22 -7
- package/dist/cjs/plugins/virtualization/VirtualizedBody.js.map +1 -1
- package/dist/cjs/utilities/normalizeData.js +19 -3
- package/dist/cjs/utilities/normalizeData.js.map +1 -1
- package/dist/esm/DataGridImpl.js +58 -23
- package/dist/esm/DataGridImpl.js.map +1 -1
- package/dist/esm/PaginatedDataGrid.js +58 -19
- package/dist/esm/PaginatedDataGrid.js.map +1 -1
- package/dist/esm/components/BodyCell.js +35 -11
- package/dist/esm/components/BodyCell.js.map +1 -1
- package/dist/esm/components/BodyList.js +49 -12
- package/dist/esm/components/BodyList.js.map +1 -1
- package/dist/esm/components/HeaderCell.js +19 -6
- package/dist/esm/components/HeaderCell.js.map +1 -1
- package/dist/esm/components/List.js +17 -3
- package/dist/esm/components/List.js.map +1 -1
- package/dist/esm/components/ListItem.js +19 -4
- package/dist/esm/components/ListItem.js.map +1 -1
- package/dist/esm/components/NoResults.js +35 -4
- package/dist/esm/components/NoResults.js.map +1 -1
- package/dist/esm/components/Table.js +29 -15
- package/dist/esm/components/Table.js.map +1 -1
- package/dist/esm/components/TableBody.js +54 -21
- package/dist/esm/components/TableBody.js.map +1 -1
- package/dist/esm/components/TableHeader.js +22 -6
- package/dist/esm/components/TableHeader.js.map +1 -1
- package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js +83 -34
- package/dist/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
- package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js +24 -9
- package/dist/esm/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
- package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js +21 -3
- package/dist/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
- package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js +21 -3
- package/dist/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
- package/dist/esm/plugins/column-sizing/useColumnSizeService.js +20 -1
- package/dist/esm/plugins/column-sizing/useColumnSizeService.js.map +1 -1
- package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js +21 -2
- package/dist/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
- package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js +31 -6
- package/dist/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
- package/dist/esm/plugins/editable/EditableComponents/ComboBox.js +21 -3
- package/dist/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
- package/dist/esm/plugins/editable/EditableComponents/TextBox.js +23 -4
- package/dist/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
- package/dist/esm/plugins/editable/decorateEditable.js +33 -5
- package/dist/esm/plugins/editable/decorateEditable.js.map +1 -1
- package/dist/esm/plugins/editable/getEditorComponent.js +38 -13
- package/dist/esm/plugins/editable/getEditorComponent.js.map +1 -1
- package/dist/esm/plugins/expandable-grid/ExpandableColumn.js +57 -16
- package/dist/esm/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
- package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js +42 -16
- package/dist/esm/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
- package/dist/esm/plugins/expandable-grid/ExpandedRow.js +41 -14
- package/dist/esm/plugins/expandable-grid/ExpandedRow.js.map +1 -1
- package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js +21 -3
- package/dist/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
- package/dist/esm/plugins/export-data/ExportDataPlugin.js +17 -4
- package/dist/esm/plugins/export-data/ExportDataPlugin.js.map +1 -1
- package/dist/esm/plugins/filterable/addFilterToColumn.js +20 -1
- package/dist/esm/plugins/filterable/addFilterToColumn.js.map +1 -1
- package/dist/esm/plugins/filterable/components/FilterableHeader.js +19 -4
- package/dist/esm/plugins/filterable/components/FilterableHeader.js.map +1 -1
- package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js +38 -10
- package/dist/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
- package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js +23 -6
- package/dist/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
- package/dist/esm/plugins/filterable/helper.js +21 -3
- package/dist/esm/plugins/filterable/helper.js.map +1 -1
- package/dist/esm/plugins/filterable/useFilterableState.js +24 -8
- package/dist/esm/plugins/filterable/useFilterableState.js.map +1 -1
- package/dist/esm/plugins/grouping-grid/GroupingPlugin.js +43 -21
- package/dist/esm/plugins/grouping-grid/GroupingPlugin.js.map +1 -1
- package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js +35 -4
- package/dist/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
- package/dist/esm/plugins/pagination/PaginationPlugin.js +59 -21
- package/dist/esm/plugins/pagination/PaginationPlugin.js.map +1 -1
- package/dist/esm/plugins/pagination/components/PerPageDropdown.js +32 -3
- package/dist/esm/plugins/pagination/components/PerPageDropdown.js.map +1 -1
- package/dist/esm/plugins/pagination/usePaginationState.js +21 -3
- package/dist/esm/plugins/pagination/usePaginationState.js.map +1 -1
- package/dist/esm/plugins/resizable/decorateResizable.js +21 -3
- package/dist/esm/plugins/resizable/decorateResizable.js.map +1 -1
- package/dist/esm/plugins/row-dnd/DndRowsPlugin.js +26 -12
- package/dist/esm/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
- package/dist/esm/plugins/selectable/addSelectableColumn.js +53 -14
- package/dist/esm/plugins/selectable/addSelectableColumn.js.map +1 -1
- package/dist/esm/plugins/selectable/helper.js +20 -2
- package/dist/esm/plugins/selectable/helper.js.map +1 -1
- package/dist/esm/plugins/selectable/selectableFormatter.js +23 -4
- package/dist/esm/plugins/selectable/selectableFormatter.js.map +1 -1
- package/dist/esm/plugins/selectable/useSelectableState.js +21 -5
- package/dist/esm/plugins/selectable/useSelectableState.js.map +1 -1
- package/dist/esm/plugins/sortable/sortTree.js +21 -3
- package/dist/esm/plugins/sortable/sortTree.js.map +1 -1
- package/dist/esm/plugins/sortable/sorter.js +21 -9
- package/dist/esm/plugins/sortable/sorter.js.map +1 -1
- package/dist/esm/plugins/sortable/useSortableState.js +21 -3
- package/dist/esm/plugins/sortable/useSortableState.js.map +1 -1
- package/dist/esm/plugins/toolbar/RowRenderer.js +25 -9
- package/dist/esm/plugins/toolbar/RowRenderer.js.map +1 -1
- package/dist/esm/plugins/toolbar/ToolbarTrigger.js +21 -3
- package/dist/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
- package/dist/esm/plugins/virtualization/AutoHeightList.js +53 -14
- package/dist/esm/plugins/virtualization/AutoHeightList.js.map +1 -1
- package/dist/esm/plugins/virtualization/VirtualizationPlugin.js +24 -8
- package/dist/esm/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
- package/dist/esm/plugins/virtualization/VirtualizedBody.js +24 -7
- package/dist/esm/plugins/virtualization/VirtualizedBody.js.map +1 -1
- package/dist/esm/utilities/normalizeData.js +21 -3
- package/dist/esm/utilities/normalizeData.js.map +1 -1
- package/package.json +20 -19
- package/dist/types/DSDataGrid.d.ts +0 -863
- package/dist/types/DataGridImpl.d.ts +0 -13
- package/dist/types/PaginatedDataGrid.d.ts +0 -15
- package/dist/types/blockNames.d.ts +0 -4
- package/dist/types/columns/IconColumn.d.ts +0 -36
- package/dist/types/columns/NumberColumn.d.ts +0 -4
- package/dist/types/components/BodyCell.d.ts +0 -34
- package/dist/types/components/BodyList.d.ts +0 -12
- package/dist/types/components/ColumnVisibilityMenuOption.d.ts +0 -15
- package/dist/types/components/ColumnsOptionsMenuSection.d.ts +0 -9
- package/dist/types/components/EmptyState.d.ts +0 -7
- package/dist/types/components/HeaderCell.d.ts +0 -19
- package/dist/types/components/List.d.ts +0 -3
- package/dist/types/components/ListItem.d.ts +0 -3
- package/dist/types/components/NoResults.d.ts +0 -8
- package/dist/types/components/RowsLoader.d.ts +0 -5
- package/dist/types/components/Table.d.ts +0 -8
- package/dist/types/components/TableBody.d.ts +0 -4
- package/dist/types/components/TableHeader.d.ts +0 -4
- package/dist/types/components/footer/addOptionalFooterComponents.d.ts +0 -7
- package/dist/types/components/header/PrimaryControls.d.ts +0 -6
- package/dist/types/components/header/addOptionalHeaderComponents.d.ts +0 -11
- package/dist/types/components/index.d.ts +0 -5
- package/dist/types/components/renderers/defaultClassedRenderers.d.ts +0 -11
- package/dist/types/components/renderers/index.d.ts +0 -15
- package/dist/types/components/renderers/renderRowsLoader.d.ts +0 -2
- package/dist/types/components/tableContext.d.ts +0 -2
- package/dist/types/components/tests/ColumnVisibilityMenu.test.d.ts +0 -1
- package/dist/types/defaultPlugins.d.ts +0 -1
- package/dist/types/index.d.ts +0 -9
- package/dist/types/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.d.ts +0 -1
- package/dist/types/plugins/body-header-scroll-sync/index.d.ts +0 -1
- package/dist/types/plugins/column-dnd/DndColumnsPlugin.d.ts +0 -1
- package/dist/types/plugins/column-dnd/decorateGridWithDndColumns.d.ts +0 -2
- package/dist/types/plugins/column-dnd/index.d.ts +0 -1
- package/dist/types/plugins/column-sizing/ColumnSizingPlugin.d.ts +0 -1
- package/dist/types/plugins/column-sizing/columnMeasurerTransformer.d.ts +0 -6
- package/dist/types/plugins/column-sizing/ext-points/decorateColumn.d.ts +0 -1
- package/dist/types/plugins/column-sizing/ext-points/getTableProps.d.ts +0 -10
- package/dist/types/plugins/column-sizing/getColumnNameFromProperty.d.ts +0 -2
- package/dist/types/plugins/column-sizing/index.d.ts +0 -1
- package/dist/types/plugins/column-sizing/useColumnSizeService.d.ts +0 -18
- package/dist/types/plugins/column-sizing/useStylesheetHelpers.d.ts +0 -22
- package/dist/types/plugins/column-sizing/utils.d.ts +0 -5
- package/dist/types/plugins/custom-cell-renderer/CustomRendererPlugin.d.ts +0 -1
- package/dist/types/plugins/custom-cell-renderer/addCustomRendererToCell.d.ts +0 -4
- package/dist/types/plugins/custom-cell-renderer/getRendererComponent.d.ts +0 -12
- package/dist/types/plugins/custom-cell-renderer/index.d.ts +0 -1
- package/dist/types/plugins/editable/EditableComponents/ComboBox.d.ts +0 -12
- package/dist/types/plugins/editable/EditableComponents/TextBox.d.ts +0 -24
- package/dist/types/plugins/editable/EditableComponents/index.d.ts +0 -2
- package/dist/types/plugins/editable/EditablePlugin.d.ts +0 -1
- package/dist/types/plugins/editable/decorateEditable.d.ts +0 -7
- package/dist/types/plugins/editable/getEditorComponent.d.ts +0 -7
- package/dist/types/plugins/editable/index.d.ts +0 -2
- package/dist/types/plugins/expandable-grid/ExpandableColumn.d.ts +0 -29
- package/dist/types/plugins/expandable-grid/ExpandablePlugin.d.ts +0 -1
- package/dist/types/plugins/expandable-grid/ExpandedRow.d.ts +0 -12
- package/dist/types/plugins/expandable-grid/ExpandedRowExtra.d.ts +0 -10
- package/dist/types/plugins/expandable-grid/index.d.ts +0 -2
- package/dist/types/plugins/expandable-grid/tests/ExpandablePlugin.test.d.ts +0 -1
- package/dist/types/plugins/expandable-grid/useExpandGridState.d.ts +0 -14
- package/dist/types/plugins/export-data/ExportDataPlugin.d.ts +0 -4
- package/dist/types/plugins/export-data/index.d.ts +0 -1
- package/dist/types/plugins/filterable/FilterablePlugin.d.ts +0 -1
- package/dist/types/plugins/filterable/addFilterToColumn.d.ts +0 -1
- package/dist/types/plugins/filterable/components/FilterableHeader.d.ts +0 -29
- package/dist/types/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.d.ts +0 -31
- package/dist/types/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.d.ts +0 -28
- package/dist/types/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.d.ts +0 -31
- package/dist/types/plugins/filterable/components/filterable-menus/TextFilterMenu.d.ts +0 -36
- package/dist/types/plugins/filterable/components/filterable-menus/defaultDateFormat.d.ts +0 -1
- package/dist/types/plugins/filterable/components/filterable-menus/getFilterMenuByType.d.ts +0 -2
- package/dist/types/plugins/filterable/filterableFormatter.d.ts +0 -12
- package/dist/types/plugins/filterable/filtering-helper/filterRowsByQuery.d.ts +0 -3
- package/dist/types/plugins/filterable/filtering-helper/strategiesOperators.d.ts +0 -2
- package/dist/types/plugins/filterable/helper.d.ts +0 -22
- package/dist/types/plugins/filterable/index.d.ts +0 -1
- package/dist/types/plugins/filterable/useFilterableState.d.ts +0 -18
- package/dist/types/plugins/grouping-by/GroupingByPlugin.d.ts +0 -1
- package/dist/types/plugins/grouping-grid/GroupingPlugin.d.ts +0 -1
- package/dist/types/plugins/grouping-grid/walkStrategy.d.ts +0 -9
- package/dist/types/plugins/index.d.ts +0 -16
- package/dist/types/plugins/infinite-scrolling/InfiniteScrollPlugin.d.ts +0 -1
- package/dist/types/plugins/infinite-scrolling/index.d.ts +0 -1
- package/dist/types/plugins/pagination/PaginationPlugin.d.ts +0 -1
- package/dist/types/plugins/pagination/components/Pagination.d.ts +0 -11
- package/dist/types/plugins/pagination/components/Paginator.d.ts +0 -10
- package/dist/types/plugins/pagination/components/PerPageDropdown.d.ts +0 -10
- package/dist/types/plugins/pagination/helper.d.ts +0 -18
- package/dist/types/plugins/pagination/index.d.ts +0 -1
- package/dist/types/plugins/pagination/usePaginationState.d.ts +0 -9
- package/dist/types/plugins/resizable/ResizablePlugin.d.ts +0 -1
- package/dist/types/plugins/resizable/decorateResizable.d.ts +0 -4
- package/dist/types/plugins/resizable/index.d.ts +0 -1
- package/dist/types/plugins/resizable/useResizeHandle.d.ts +0 -13
- package/dist/types/plugins/resizable/utils.d.ts +0 -3
- package/dist/types/plugins/row-dnd/DndRowsPlugin.d.ts +0 -1
- package/dist/types/plugins/row-dnd/index.d.ts +0 -1
- package/dist/types/plugins/selectable/SelectablePlugin.d.ts +0 -1
- package/dist/types/plugins/selectable/addSelectableColumn.d.ts +0 -30
- package/dist/types/plugins/selectable/helper.d.ts +0 -5
- package/dist/types/plugins/selectable/index.d.ts +0 -1
- package/dist/types/plugins/selectable/selectableFormatter.d.ts +0 -10
- package/dist/types/plugins/selectable/useSelectableState.d.ts +0 -9
- package/dist/types/plugins/sortable/SortablePlugin.d.ts +0 -1
- package/dist/types/plugins/sortable/checkIfSortable.d.ts +0 -2
- package/dist/types/plugins/sortable/index.d.ts +0 -1
- package/dist/types/plugins/sortable/sortHeaderFormatter.d.ts +0 -7
- package/dist/types/plugins/sortable/sortTree.d.ts +0 -3
- package/dist/types/plugins/sortable/sorter.d.ts +0 -12
- package/dist/types/plugins/sortable/useSortableState.d.ts +0 -8
- package/dist/types/plugins/toolbar/RowRenderer.d.ts +0 -11
- package/dist/types/plugins/toolbar/ToolbarPlugin.d.ts +0 -1
- package/dist/types/plugins/toolbar/ToolbarTrigger.d.ts +0 -8
- package/dist/types/plugins/toolbar/index.d.ts +0 -1
- package/dist/types/plugins/virtualization/AutoHeightList.d.ts +0 -3
- package/dist/types/plugins/virtualization/VirtualizationPlugin.d.ts +0 -1
- package/dist/types/plugins/virtualization/VirtualizedBody.d.ts +0 -33
- package/dist/types/plugins/virtualization/VirtualizedBodyRow.d.ts +0 -8
- package/dist/types/plugins/virtualization/helper.d.ts +0 -1
- package/dist/types/plugins/virtualization/index.d.ts +0 -1
- package/dist/types/renders/CellWithAddons.d.ts +0 -52
- package/dist/types/renders/index.d.ts +0 -2
- package/dist/types/renders/styled.d.ts +0 -4
- package/dist/types/rowSizes.d.ts +0 -11
- package/dist/types/stories/datagrids-export.stories.d.ts +0 -1
- package/dist/types/stories/datagrids-selectable-multi.stories.d.ts +0 -1
- package/dist/types/tests/DataGrid-Columns.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Editable.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Export.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Filter-helper.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Filterable-Dates.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Filterable-State.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-RowDnd.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Selectable.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Sortable.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Toolbar.test.d.ts +0 -1
- package/dist/types/tests/DataGrid-Virtualization.test.d.ts +0 -1
- package/dist/types/tests/DataGrids-ColumnSizing.test.d.ts +0 -1
- package/dist/types/tests/DataGrids-ConditionalPagination.test.d.ts +0 -1
- package/dist/types/tests/DataGrids-Rows.test.d.ts +0 -1
- package/dist/types/tests/DataGrids.test.d.ts +0 -1
- package/dist/types/utilities/getPluginsFromProps.d.ts +0 -2
- package/dist/types/utilities/getScrollbarSize.d.ts +0 -1
- package/dist/types/utilities/normalizeData.d.ts +0 -3
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
1
32
|
import * as React from "react";
|
|
2
33
|
import React2, { useState } from "react";
|
|
3
34
|
import PropTypes from "prop-types";
|
|
@@ -22,7 +53,7 @@ function TextFilterMenu({
|
|
|
22
53
|
maxOptions = 10,
|
|
23
54
|
isMulti = false
|
|
24
55
|
}) {
|
|
25
|
-
const { options,
|
|
56
|
+
const _a = menuProps, { options } = _a, otherMenuProps = __objRest(_a, ["options"]);
|
|
26
57
|
const generateOption = (option, idx) => /* @__PURE__ */ React2.createElement(Menu.ItemCheckbox, {
|
|
27
58
|
key: idx,
|
|
28
59
|
label: option.label,
|
|
@@ -47,10 +78,9 @@ function TextFilterMenu({
|
|
|
47
78
|
}
|
|
48
79
|
});
|
|
49
80
|
shouldRemove.forEach((removedFilter) => {
|
|
50
|
-
onRemoveFilter({
|
|
51
|
-
...removedFilter,
|
|
81
|
+
onRemoveFilter(__spreadProps(__spreadValues({}, removedFilter), {
|
|
52
82
|
nextFilters
|
|
53
|
-
});
|
|
83
|
+
}));
|
|
54
84
|
});
|
|
55
85
|
selected.forEach((item) => {
|
|
56
86
|
if (!initialSelectedOptions.includes(item)) {
|
|
@@ -80,13 +110,11 @@ function TextFilterMenu({
|
|
|
80
110
|
focusOnOpen: true,
|
|
81
111
|
multi: true,
|
|
82
112
|
searchable: true
|
|
83
|
-
}, renderOptions(options))) : /* @__PURE__ */ React2.createElement(MenuCombobox, {
|
|
84
|
-
...otherMenuProps,
|
|
113
|
+
}, renderOptions(options))) : /* @__PURE__ */ React2.createElement(MenuCombobox, __spreadProps(__spreadValues({}, otherMenuProps), {
|
|
85
114
|
className,
|
|
86
|
-
dropdownFilterOptions: {
|
|
87
|
-
...column.dropdownFilterOptions,
|
|
115
|
+
dropdownFilterOptions: __spreadProps(__spreadValues({}, column.dropdownFilterOptions), {
|
|
88
116
|
maxOptions
|
|
89
|
-
},
|
|
117
|
+
}),
|
|
90
118
|
maxWidth: column.filterMenuMaxWidth,
|
|
91
119
|
minWidth: column.filterMenuMinWidth,
|
|
92
120
|
onSelectMenuItem: (selectedValue) => {
|
|
@@ -101,7 +129,7 @@ function TextFilterMenu({
|
|
|
101
129
|
onOpenMenu(false);
|
|
102
130
|
}
|
|
103
131
|
}
|
|
104
|
-
}),
|
|
132
|
+
})),
|
|
105
133
|
isOpen: isMenuOpened,
|
|
106
134
|
maxWidth: column.filterMenuMaxWidth,
|
|
107
135
|
menuProps,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../../src/plugins/filterable/components/filterable-menus/TextFilterMenu.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\nimport React, { useState } from 'react';\nimport PropTypes from 'prop-types';\nimport { compact } from 'lodash';\nimport { DSDropdownMenu } from '@elliemae/ds-dropdownmenu';\nimport { DSButton } from '@elliemae/ds-button';\nimport { PopperPositions as Position } from '@elliemae/ds-popper';\nimport { Menu, MenuCombobox } from '@elliemae/ds-menu';\nimport { SearchSmall } from '@elliemae/ds-icons';\n\nfunction TextFilterMenu({\n column,\n menuStyle = {},\n className,\n filters = [],\n isMenuOpened = false,\n onOpenMenu = () => null,\n onClose = () => null,\n placement = Position.BOTTOM_END,\n menuProps = {},\n onAddFilter = () => null,\n onRemoveFilter = () => null,\n maxOptions = 10,\n isMulti = false,\n}) {\n const { options, ...otherMenuProps } = menuProps;\n\n const generateOption = (option, idx) => <Menu.ItemCheckbox key={idx} label={option.label} name={option.id} />;\n\n const renderOptions = (arr) => arr.map(generateOption);\n\n const filtersForColumn = filters.filter((f) => f.group === column.property);\n\n const initialSelectedOptions = filtersForColumn.map((f) => f.value);\n\n const [selected, setSelected] = useState(initialSelectedOptions);\n\n React.useEffect(() => {\n const filtersForColumn2 = filters.filter((f) => f.group === column.property);\n setSelected(filtersForColumn2.map((f) => f.value));\n }, [filters]);\n\n const filterGroup = column.searchBy || column.property;\n\n const onCloseMulti = () => {\n let nextFilters = [...filters];\n const shouldRemove = [];\n // if selected doesn't includes item, then we have to remove the filter\n // but given that we are maintaining state here and updating the grid state\n // is not implemented on useFilterableState, we have to do this in 2 traverses\n // as doing it in one gives trouble when removing and adding at the same time.\n initialSelectedOptions.forEach((item) => {\n if (!selected.includes(item)) {\n nextFilters = nextFilters.filter((filter) => !(filter.group === filterGroup && filter.value === item));\n shouldRemove.push({ group: filterGroup, pill: { value: item } });\n }\n });\n shouldRemove.forEach((removedFilter) => {\n onRemoveFilter({\n ...removedFilter,\n nextFilters,\n });\n });\n selected.forEach((item) => {\n // if initialSelectedOptions includes item, then we do nothing\n if (!initialSelectedOptions.includes(item)) {\n onAddFilter(\n {\n group: filterGroup,\n label: column.label,\n value: item,\n operator: column?.filter?.operator || 'contains',\n transformRowValue: column.valueTransformation,\n },\n column,\n );\n }\n });\n onClose();\n };\n\n return (\n <DSDropdownMenu\n closeMenuOnItemSelection\n contentStyle={menuStyle}\n customMenu={\n isMulti ? (\n <Menu containerProps={{ id: 'text-filter-menu-multiple' }} className=\"dg-multiple-filter\" visible>\n <Menu.SelectionGroup\n active={selected}\n onSelect={(newValues) => {\n setSelected(newValues);\n }}\n focusOnOpen\n multi\n searchable\n >\n {renderOptions(options)}\n </Menu.SelectionGroup>\n </Menu>\n ) : (\n <MenuCombobox\n {...otherMenuProps}\n className={className}\n dropdownFilterOptions={{\n ...column.dropdownFilterOptions,\n maxOptions,\n }}\n maxWidth={column.filterMenuMaxWidth}\n minWidth={column.filterMenuMinWidth}\n onSelectMenuItem={(selectedValue) => {\n if (selectedValue) {\n onAddFilter(\n {\n group: column.searchBy || column.property,\n label: column.label,\n value: selectedValue,\n operator: column?.filter?.operator || 'contains',\n transformRowValue: column.valueTransformation,\n },\n column,\n );\n onOpenMenu(false);\n }\n }}\n />\n )\n }\n isOpen={isMenuOpened}\n maxWidth={column.filterMenuMaxWidth}\n menuProps={menuProps}\n minWidth={column.filterMenuMinWidth}\n onOpenMenu={onOpenMenu}\n onClose={isMulti ? onCloseMulti : onClose}\n options={compact(options)}\n placement={placement}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<SearchSmall />}\n onClick={() => (isMenuOpened ? onOpenMenu(false) : onOpenMenu(true))}\n size=\"s\"\n />\n }\n />\n );\n}\n\nTextFilterMenu.propTypes = {\n column: PropTypes.any,\n menuStyle: PropTypes.shape({}),\n className: PropTypes.string,\n filters: PropTypes.arrayOf(PropTypes.shape({})),\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n onClose: PropTypes.func,\n placement: PropTypes.string,\n menuProps: PropTypes.shape({}),\n onAddFilter: PropTypes.func,\n onRemoveFilter: PropTypes.func,\n maxOptions: PropTypes.number,\n isMulti: PropTypes.bool,\n};\n\nexport { TextFilterMenu };\nexport default TextFilterMenu;\n"],
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,wBAAwB;AAAA,EACtB;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,UAAU,MAAM;AAAA,EAChB,YAAY,SAAS;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc,MAAM;AAAA,EACpB,iBAAiB,MAAM;AAAA,EACvB,aAAa;AAAA,EACb,UAAU;AAAA,GACT;AACD,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,wBAAwB;AAAA,EACtB;AAAA,EACA,YAAY;AAAA,EACZ;AAAA,EACA,UAAU;AAAA,EACV,eAAe;AAAA,EACf,aAAa,MAAM;AAAA,EACnB,UAAU,MAAM;AAAA,EAChB,YAAY,SAAS;AAAA,EACrB,YAAY;AAAA,EACZ,cAAc,MAAM;AAAA,EACpB,iBAAiB,MAAM;AAAA,EACvB,aAAa;AAAA,EACb,UAAU;AAAA,GACT;AACD,QAAuC,gBAA/B,cAA+B,IAAnB,2BAAmB,IAAnB,CAAZ;AAER,QAAM,iBAAiB,CAAC,QAAQ,QAAQ,qCAAC,KAAK,cAAN;AAAA,IAAmB,KAAK;AAAA,IAAK,OAAO,OAAO;AAAA,IAAO,MAAM,OAAO;AAAA;AAEvG,QAAM,gBAAgB,CAAC,QAAQ,IAAI,IAAI;AAEvC,QAAM,mBAAmB,QAAQ,OAAO,CAAC,MAAM,EAAE,UAAU,OAAO;AAElE,QAAM,yBAAyB,iBAAiB,IAAI,CAAC,MAAM,EAAE;AAE7D,QAAM,CAAC,UAAU,eAAe,SAAS;AAEzC,SAAM,UAAU,MAAM;AACpB,UAAM,oBAAoB,QAAQ,OAAO,CAAC,MAAM,EAAE,UAAU,OAAO;AACnE,gBAAY,kBAAkB,IAAI,CAAC,MAAM,EAAE;AAAA,KAC1C,CAAC;AAEJ,QAAM,cAAc,OAAO,YAAY,OAAO;AAE9C,QAAM,eAAe,MAAM;AACzB,QAAI,cAAc,CAAC,GAAG;AACtB,UAAM,eAAe;AAKrB,2BAAuB,QAAQ,CAAC,SAAS;AACvC,UAAI,CAAC,SAAS,SAAS,OAAO;AAC5B,sBAAc,YAAY,OAAO,CAAC,WAAW,CAAE,QAAO,UAAU,eAAe,OAAO,UAAU;AAChG,qBAAa,KAAK,EAAE,OAAO,aAAa,MAAM,EAAE,OAAO;AAAA;AAAA;AAG3D,iBAAa,QAAQ,CAAC,kBAAkB;AACtC,qBAAe,iCACV,gBADU;AAAA,QAEb;AAAA;AAAA;AAGJ,aAAS,QAAQ,CAAC,SAAS;AAEzB,UAAI,CAAC,uBAAuB,SAAS,OAAO;AAC1C,oBACE;AAAA,UACE,OAAO;AAAA,UACP,OAAO,OAAO;AAAA,UACd,OAAO;AAAA,UACP,UAAU,QAAQ,QAAQ,YAAY;AAAA,UACtC,mBAAmB,OAAO;AAAA,WAE5B;AAAA;AAAA;AAIN;AAAA;AAGF,SACE,qCAAC,gBAAD;AAAA,IACE,0BAAwB;AAAA,IACxB,cAAc;AAAA,IACd,YACE,UACE,qCAAC,MAAD;AAAA,MAAM,gBAAgB,EAAE,IAAI;AAAA,MAA+B,WAAU;AAAA,MAAqB,SAAO;AAAA,OAC/F,qCAAC,KAAK,gBAAN;AAAA,MACE,QAAQ;AAAA,MACR,UAAU,CAAC,cAAc;AACvB,oBAAY;AAAA;AAAA,MAEd,aAAW;AAAA,MACX,OAAK;AAAA,MACL,YAAU;AAAA,OAET,cAAc,aAInB,qCAAC,cAAD,iCACM,iBADN;AAAA,MAEE;AAAA,MACA,uBAAuB,iCAClB,OAAO,wBADW;AAAA,QAErB;AAAA;AAAA,MAEF,UAAU,OAAO;AAAA,MACjB,UAAU,OAAO;AAAA,MACjB,kBAAkB,CAAC,kBAAkB;AACnC,YAAI,eAAe;AACjB,sBACE;AAAA,YACE,OAAO,OAAO,YAAY,OAAO;AAAA,YACjC,OAAO,OAAO;AAAA,YACd,OAAO;AAAA,YACP,UAAU,QAAQ,QAAQ,YAAY;AAAA,YACtC,mBAAmB,OAAO;AAAA,aAE5B;AAEF,qBAAW;AAAA;AAAA;AAAA;AAAA,IAMrB,QAAQ;AAAA,IACR,UAAU,OAAO;AAAA,IACjB;AAAA,IACA,UAAU,OAAO;AAAA,IACjB;AAAA,IACA,SAAS,UAAU,eAAe;AAAA,IAClC,SAAS,QAAQ;AAAA,IACjB;AAAA,IACA,kBACE,qCAAC,UAAD;AAAA,MACE,YAAW;AAAA,MACX,MAAM,qCAAC,aAAD;AAAA,MACN,SAAS,MAAO,eAAe,WAAW,SAAS,WAAW;AAAA,MAC9D,MAAK;AAAA;AAAA;AAAA;AAOf,eAAe,YAAY;AAAA,EACzB,QAAQ,UAAU;AAAA,EAClB,WAAW,UAAU,MAAM;AAAA,EAC3B,WAAW,UAAU;AAAA,EACrB,SAAS,UAAU,QAAQ,UAAU,MAAM;AAAA,EAC3C,cAAc,UAAU;AAAA,EACxB,YAAY,UAAU;AAAA,EACtB,SAAS,UAAU;AAAA,EACnB,WAAW,UAAU;AAAA,EACrB,WAAW,UAAU,MAAM;AAAA,EAC3B,aAAa,UAAU;AAAA,EACvB,gBAAgB,UAAU;AAAA,EAC1B,YAAY,UAAU;AAAA,EACtB,SAAS,UAAU;AAAA;AAIrB,IAAO,yBAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1
20
|
import * as React from "react";
|
|
2
21
|
import { isFunction } from "@elliemae/ds-utilities";
|
|
3
22
|
import { strategiesOperators } from "./strategiesOperators";
|
|
@@ -20,15 +39,13 @@ function filterRowsByQueryGroup(rows, query, composedRows) {
|
|
|
20
39
|
const parentMap = {};
|
|
21
40
|
composedRows.forEach((parentRow) => {
|
|
22
41
|
if (parentRow.isGroup) {
|
|
23
|
-
newRows.push({
|
|
24
|
-
...parentRow,
|
|
42
|
+
newRows.push(__spreadProps(__spreadValues({}, parentRow), {
|
|
25
43
|
_filtered: true
|
|
26
|
-
});
|
|
44
|
+
}));
|
|
27
45
|
} else if (!parentRow.isGroup && filterByRules(query.rules, query.condition)(parentRow.data)) {
|
|
28
|
-
newRows.push({
|
|
29
|
-
...parentRow,
|
|
46
|
+
newRows.push(__spreadProps(__spreadValues({}, parentRow), {
|
|
30
47
|
_filtered: true
|
|
31
|
-
});
|
|
48
|
+
}));
|
|
32
49
|
parentMap[parentRow.parentNode.id] = true;
|
|
33
50
|
}
|
|
34
51
|
});
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../../scripts/build/transpile/react-shim.js", "../../../../../src/plugins/filterable/filtering-helper/filterRowsByQuery.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { isFunction } from '@elliemae/ds-utilities';\nimport { strategiesOperators } from './strategiesOperators';\n\nconst getRuleStrategyOperator = (rule) => rule.strategy || strategiesOperators(rule.operator);\n\nconst executeFilterStrategy = (rule, row) => {\n const { value, field, transform, transformRowValue } = rule;\n if (field === 'all') return Object.values(row).some((colValue) => strategiesOperators('contains')(colValue, value));\n const rowValue = row[field];\n const transformedValue = isFunction(transform) ? transform(value) : value;\n const transformedRowValue = isFunction(transformRowValue) ? transformRowValue(rowValue) : rowValue;\n\n const filterStrategy = getRuleStrategyOperator(rule);\n return filterStrategy(transformedRowValue, transformedValue);\n};\n\nconst filterByRules =\n (rules, condition = 'AND') =>\n (row) =>\n condition === 'AND'\n ? rules.reduce(\n (isFiltered, rule) =>\n rule.rules && rule.rules.length\n ? isFiltered && filterByRules(rule.rules, rule.condition)(row)\n : isFiltered && executeFilterStrategy(rule, row),\n true,\n )\n : rules.some((rule) =>\n rule.rules && rule.rules.length\n ? filterByRules(rule.rules, rule.condition)(row)\n : executeFilterStrategy(rule, row),\n );\n\nexport function filterRowsByQueryGroup(rows, query, composedRows) {\n if (query && query.rules && query.rules.length === 0) return rows;\n const newRows = [];\n const parentMap = {};\n composedRows.forEach((parentRow) => {\n if (parentRow.isGroup) {\n newRows.push({\n ...parentRow,\n _filtered: true,\n });\n } else if (!parentRow.isGroup && filterByRules(query.rules, query.condition)(parentRow.data)) {\n newRows.push({\n ...parentRow,\n _filtered: true,\n });\n parentMap[parentRow.parentNode.id] = true;\n }\n });\n\n return newRows.filter((r) => {\n if (r.isGroup && !parentMap[r.id]) return false;\n return true;\n });\n}\n\nexport const filterRowsByQuery = (rows, query) => {\n return rows.filter(filterByRules(query.rules, query.condition));\n};\n\nexport default filterRowsByQuery;\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AAEA,MAAM,0BAA0B,CAAC,SAAS,KAAK,YAAY,oBAAoB,KAAK;AAEpF,MAAM,wBAAwB,CAAC,MAAM,QAAQ;AAC3C,QAAM,EAAE,OAAO,OAAO,WAAW,sBAAsB;AACvD,MAAI,UAAU;AAAO,WAAO,OAAO,OAAO,KAAK,KAAK,CAAC,aAAa,oBAAoB,YAAY,UAAU;AAC5G,QAAM,WAAW,IAAI;AACrB,QAAM,mBAAmB,WAAW,aAAa,UAAU,SAAS;AACpE,QAAM,sBAAsB,WAAW,qBAAqB,kBAAkB,YAAY;AAE1F,QAAM,iBAAiB,wBAAwB;AAC/C,SAAO,eAAe,qBAAqB;AAAA;AAG7C,MAAM,gBACJ,CAAC,OAAO,YAAY,UACpB,CAAC,QACC,cAAc,QACV,MAAM,OACJ,CAAC,YAAY,SACX,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,cAAc,KAAK,OAAO,KAAK,WAAW,OACxD,cAAc,sBAAsB,MAAM,MAChD,QAEF,MAAM,KAAK,CAAC,SACV,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,KAAK,OAAO,KAAK,WAAW,OAC1C,sBAAsB,MAAM;AAGnC,gCAAgC,MAAM,OAAO,cAAc;AAChE,MAAI,SAAS,MAAM,SAAS,MAAM,MAAM,WAAW;AAAG,WAAO;AAC7D,QAAM,UAAU;AAChB,QAAM,YAAY;AAClB,eAAa,QAAQ,CAAC,cAAc;AAClC,QAAI,UAAU,SAAS;AACrB,cAAQ,KAAK
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAEA,MAAM,0BAA0B,CAAC,SAAS,KAAK,YAAY,oBAAoB,KAAK;AAEpF,MAAM,wBAAwB,CAAC,MAAM,QAAQ;AAC3C,QAAM,EAAE,OAAO,OAAO,WAAW,sBAAsB;AACvD,MAAI,UAAU;AAAO,WAAO,OAAO,OAAO,KAAK,KAAK,CAAC,aAAa,oBAAoB,YAAY,UAAU;AAC5G,QAAM,WAAW,IAAI;AACrB,QAAM,mBAAmB,WAAW,aAAa,UAAU,SAAS;AACpE,QAAM,sBAAsB,WAAW,qBAAqB,kBAAkB,YAAY;AAE1F,QAAM,iBAAiB,wBAAwB;AAC/C,SAAO,eAAe,qBAAqB;AAAA;AAG7C,MAAM,gBACJ,CAAC,OAAO,YAAY,UACpB,CAAC,QACC,cAAc,QACV,MAAM,OACJ,CAAC,YAAY,SACX,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,cAAc,KAAK,OAAO,KAAK,WAAW,OACxD,cAAc,sBAAsB,MAAM,MAChD,QAEF,MAAM,KAAK,CAAC,SACV,KAAK,SAAS,KAAK,MAAM,SACrB,cAAc,KAAK,OAAO,KAAK,WAAW,OAC1C,sBAAsB,MAAM;AAGnC,gCAAgC,MAAM,OAAO,cAAc;AAChE,MAAI,SAAS,MAAM,SAAS,MAAM,MAAM,WAAW;AAAG,WAAO;AAC7D,QAAM,UAAU;AAChB,QAAM,YAAY;AAClB,eAAa,QAAQ,CAAC,cAAc;AAClC,QAAI,UAAU,SAAS;AACrB,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA;AAAA,eAEJ,CAAC,UAAU,WAAW,cAAc,MAAM,OAAO,MAAM,WAAW,UAAU,OAAO;AAC5F,cAAQ,KAAK,iCACR,YADQ;AAAA,QAEX,WAAW;AAAA;AAEb,gBAAU,UAAU,WAAW,MAAM;AAAA;AAAA;AAIzC,SAAO,QAAQ,OAAO,CAAC,MAAM;AAC3B,QAAI,EAAE,WAAW,CAAC,UAAU,EAAE;AAAK,aAAO;AAC1C,WAAO;AAAA;AAAA;AAIJ,MAAM,oBAAoB,CAAC,MAAM,UAAU;AAChD,SAAO,KAAK,OAAO,cAAc,MAAM,OAAO,MAAM;AAAA;AAGtD,IAAO,4BAAQ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1
20
|
import * as React from "react";
|
|
2
21
|
import {
|
|
3
22
|
isFunction,
|
|
@@ -53,11 +72,10 @@ function buildFilterArray(newFilter, filters) {
|
|
|
53
72
|
}
|
|
54
73
|
const groupFilters = (filters) => filters.filter((filter) => !filter.fixed);
|
|
55
74
|
function parseFilterToRule(filter) {
|
|
56
|
-
return {
|
|
57
|
-
...filter,
|
|
75
|
+
return __spreadProps(__spreadValues({}, filter), {
|
|
58
76
|
value: filter.filterParams || filter.value,
|
|
59
77
|
field: filter.group
|
|
60
|
-
};
|
|
78
|
+
});
|
|
61
79
|
}
|
|
62
80
|
function parseFiltersToQuery(filters) {
|
|
63
81
|
const groupedFilters = groupBy(groupFilters(filters), (filter) => filter.group);
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/filterable/helper.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import {\n isFunction,\n uniqBy,\n get,\n groupBy,\n property,\n} from '@elliemae/ds-utilities';\n\nexport const getFilterLabel = (column, value) => (column.filterLabels ? column.filterLabels[value] || value : value);\n\nexport const getFilterLabels = (column, rows) =>\n uniqBy(rows, property(column.searchBy || column.property))\n .map((row) => {\n const value = get(row, column.searchBy || column.property);\n if (value === undefined) return {};\n const rowColumnValue = String(get(row, column.searchBy || column.property));\n if (isFunction(column.valueTransformation)) {\n const nextValue = column.valueTransformation(rowColumnValue);\n return { id: nextValue, label: nextValue };\n }\n const label = getFilterLabel(column, rowColumnValue);\n return { id: rowColumnValue || label, label };\n })\n .filter((row) => row.id)\n .filter((row) => {\n if (row.id.startsWith) return !row.id.startsWith('grouped-by');\n return true;\n });\n\nexport const getFilterLabelsGroup = (column, rows) => {\n let flat = [];\n rows.forEach((r) => {\n if (r.children) {\n flat = [...flat, ...r.children];\n }\n });\n return getFilterLabels(column, flat);\n};\n\nexport function getFilterValue(filter, column) {\n const { value } = filter;\n\n if (!column) return value;\n\n const { filterOptions, filterLabels } = column;\n\n if (filterOptions) {\n const foundOption = column.filterOptions.filter((option) => option.id === value)[0];\n if (foundOption) return foundOption.label;\n return value;\n }\n if (filterLabels) {\n return filterLabels[value];\n }\n\n return value;\n}\n\nexport function buildFilterArray(newFilter, filters) {\n // if (newFilter.type && newFilter.type === 'date') return [...filters.slice(1), newFilter]\n return uniqBy([...filters, newFilter], (v) => [v.group, v.value].join());\n}\n\nexport const groupFilters = (filters) => filters.filter((filter) => !filter.fixed);\n\nfunction parseFilterToRule(filter) {\n return {\n ...filter,\n value: filter.filterParams || filter.value,\n field: filter.group,\n };\n}\n\nexport function parseFiltersToQuery(filters) {\n const groupedFilters = groupBy(groupFilters(filters), (filter) => filter.group);\n return Object.keys(groupedFilters).reduce(\n (queryResult, field) => {\n const filter = groupedFilters[field];\n if (Array.isArray(filter) && filter.length > 1) {\n // create query group with 'OR' condition\n queryResult.rules.push({\n condition: 'OR',\n rules: filter.map(parseFilterToRule),\n });\n } else {\n queryResult.rules.push(parseFilterToRule(filter[0]));\n }\n return queryResult;\n },\n { condition: 'AND', rules: [] },\n );\n}\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,iBAAiB,CAAC,QAAQ,UAAW,OAAO,eAAe,OAAO,aAAa,UAAU,QAAQ;AAEvG,MAAM,kBAAkB,CAAC,QAAQ,SACtC,OAAO,MAAM,SAAS,OAAO,YAAY,OAAO,WAC7C,IAAI,CAAC,QAAQ;AACZ,QAAM,QAAQ,IAAI,KAAK,OAAO,YAAY,OAAO;AACjD,MAAI,UAAU;AAAW,WAAO;AAChC,QAAM,iBAAiB,OAAO,IAAI,KAAK,OAAO,YAAY,OAAO;AACjE,MAAI,WAAW,OAAO,sBAAsB;AAC1C,UAAM,YAAY,OAAO,oBAAoB;AAC7C,WAAO,EAAE,IAAI,WAAW,OAAO;AAAA;AAEjC,QAAM,QAAQ,eAAe,QAAQ;AACrC,SAAO,EAAE,IAAI,kBAAkB,OAAO;AAAA,GAEvC,OAAO,CAAC,QAAQ,IAAI,IACpB,OAAO,CAAC,QAAQ;AACf,MAAI,IAAI,GAAG;AAAY,WAAO,CAAC,IAAI,GAAG,WAAW;AACjD,SAAO;AAAA;AAGN,MAAM,uBAAuB,CAAC,QAAQ,SAAS;AACpD,MAAI,OAAO;AACX,OAAK,QAAQ,CAAC,MAAM;AAClB,QAAI,EAAE,UAAU;AACd,aAAO,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA;AAAA;AAG1B,SAAO,gBAAgB,QAAQ;AAAA;AAG1B,wBAAwB,QAAQ,QAAQ;AAC7C,QAAM,EAAE,UAAU;AAElB,MAAI,CAAC;AAAQ,WAAO;AAEpB,QAAM,EAAE,eAAe,iBAAiB;AAExC,MAAI,eAAe;AACjB,UAAM,cAAc,OAAO,cAAc,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO;AACjF,QAAI;AAAa,aAAO,YAAY;AACpC,WAAO;AAAA;AAET,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA;AAGtB,SAAO;AAAA;AAGF,0BAA0B,WAAW,SAAS;AAEnD,SAAO,OAAO,CAAC,GAAG,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO;AAAA;AAG5D,MAAM,eAAe,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,CAAC,OAAO;AAE5E,2BAA2B,QAAQ;AACjC,SAAO
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQO,MAAM,iBAAiB,CAAC,QAAQ,UAAW,OAAO,eAAe,OAAO,aAAa,UAAU,QAAQ;AAEvG,MAAM,kBAAkB,CAAC,QAAQ,SACtC,OAAO,MAAM,SAAS,OAAO,YAAY,OAAO,WAC7C,IAAI,CAAC,QAAQ;AACZ,QAAM,QAAQ,IAAI,KAAK,OAAO,YAAY,OAAO;AACjD,MAAI,UAAU;AAAW,WAAO;AAChC,QAAM,iBAAiB,OAAO,IAAI,KAAK,OAAO,YAAY,OAAO;AACjE,MAAI,WAAW,OAAO,sBAAsB;AAC1C,UAAM,YAAY,OAAO,oBAAoB;AAC7C,WAAO,EAAE,IAAI,WAAW,OAAO;AAAA;AAEjC,QAAM,QAAQ,eAAe,QAAQ;AACrC,SAAO,EAAE,IAAI,kBAAkB,OAAO;AAAA,GAEvC,OAAO,CAAC,QAAQ,IAAI,IACpB,OAAO,CAAC,QAAQ;AACf,MAAI,IAAI,GAAG;AAAY,WAAO,CAAC,IAAI,GAAG,WAAW;AACjD,SAAO;AAAA;AAGN,MAAM,uBAAuB,CAAC,QAAQ,SAAS;AACpD,MAAI,OAAO;AACX,OAAK,QAAQ,CAAC,MAAM;AAClB,QAAI,EAAE,UAAU;AACd,aAAO,CAAC,GAAG,MAAM,GAAG,EAAE;AAAA;AAAA;AAG1B,SAAO,gBAAgB,QAAQ;AAAA;AAG1B,wBAAwB,QAAQ,QAAQ;AAC7C,QAAM,EAAE,UAAU;AAElB,MAAI,CAAC;AAAQ,WAAO;AAEpB,QAAM,EAAE,eAAe,iBAAiB;AAExC,MAAI,eAAe;AACjB,UAAM,cAAc,OAAO,cAAc,OAAO,CAAC,WAAW,OAAO,OAAO,OAAO;AACjF,QAAI;AAAa,aAAO,YAAY;AACpC,WAAO;AAAA;AAET,MAAI,cAAc;AAChB,WAAO,aAAa;AAAA;AAGtB,SAAO;AAAA;AAGF,0BAA0B,WAAW,SAAS;AAEnD,SAAO,OAAO,CAAC,GAAG,SAAS,YAAY,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,OAAO;AAAA;AAG5D,MAAM,eAAe,CAAC,YAAY,QAAQ,OAAO,CAAC,WAAW,CAAC,OAAO;AAE5E,2BAA2B,QAAQ;AACjC,SAAO,iCACF,SADE;AAAA,IAEL,OAAO,OAAO,gBAAgB,OAAO;AAAA,IACrC,OAAO,OAAO;AAAA;AAAA;AAIX,6BAA6B,SAAS;AAC3C,QAAM,iBAAiB,QAAQ,aAAa,UAAU,CAAC,WAAW,OAAO;AACzE,SAAO,OAAO,KAAK,gBAAgB,OACjC,CAAC,aAAa,UAAU;AACtB,UAAM,SAAS,eAAe;AAC9B,QAAI,MAAM,QAAQ,WAAW,OAAO,SAAS,GAAG;AAE9C,kBAAY,MAAM,KAAK;AAAA,QACrB,WAAW;AAAA,QACX,OAAO,OAAO,IAAI;AAAA;AAAA,WAEf;AACL,kBAAY,MAAM,KAAK,kBAAkB,OAAO;AAAA;AAElD,WAAO;AAAA,KAET,EAAE,WAAW,OAAO,OAAO;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
1
20
|
import * as React from "react";
|
|
2
21
|
import { useMemo, useState, useEffect } from "react";
|
|
3
22
|
import { v4 as uuidv4 } from "uuid";
|
|
@@ -34,24 +53,21 @@ function useFilterableState(grid) {
|
|
|
34
53
|
};
|
|
35
54
|
const addFilter = (filter, column) => {
|
|
36
55
|
let hasBeenCalled = false;
|
|
37
|
-
const trimmedFilter = {
|
|
38
|
-
...filter,
|
|
56
|
+
const trimmedFilter = __spreadProps(__spreadValues({}, filter), {
|
|
39
57
|
value: String(filter.value).trim()
|
|
40
|
-
};
|
|
41
|
-
const parsedFilter = !filter.group ? {
|
|
42
|
-
...trimmedFilter,
|
|
58
|
+
});
|
|
59
|
+
const parsedFilter = !filter.group ? __spreadProps(__spreadValues({}, trimmedFilter), {
|
|
43
60
|
value: String(filter.value).trim(),
|
|
44
61
|
group: "all",
|
|
45
62
|
label: "All",
|
|
46
63
|
id: uuidv4()
|
|
47
|
-
} : {
|
|
48
|
-
...trimmedFilter,
|
|
64
|
+
}) : __spreadProps(__spreadValues({}, trimmedFilter), {
|
|
49
65
|
value: String(filter.value).trim(),
|
|
50
66
|
id: uuidv4(),
|
|
51
67
|
label: column && column.filterLabel || trimmedFilter.label,
|
|
52
68
|
originalProperty: column.originalProperty || column.property,
|
|
53
69
|
customValue: getFilterValue(trimmedFilter, column)
|
|
54
|
-
};
|
|
70
|
+
});
|
|
55
71
|
setFilters((prevFilters) => {
|
|
56
72
|
if (hasBeenCalled) {
|
|
57
73
|
return;
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/filterable/useFilterableState.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useMemo, useState, useEffect } from 'react';\nimport { v4 as uuidv4 } from 'uuid';\nimport {\n buildFilterArray,\n getFilterValue,\n parseFiltersToQuery,\n} from './helper';\n\nconst noop = () => null;\n\nexport function useFilterableState(grid) {\n const {\n filters: filtersProp,\n onAddFilter = noop,\n onRemoveFilter = noop,\n onRemoveAllFilters = noop,\n onFiltersChange = noop,\n } = grid.props;\n\n const [filters, setFilters] = useState(filtersProp || []);\n\n useEffect(() => {\n if (filtersProp && filtersProp !== filters) {\n setFilters(filtersProp);\n }\n }, [filtersProp]);\n\n const queryFromFilters = useMemo(() => parseFiltersToQuery(filters || []), [\n filters,\n ]);\n\n const handleFiltersChange = (nextFilters) => {\n const {\n refs: { body },\n } = grid.getInstance();\n body.current.scrollTop = 0;\n setFilters(nextFilters);\n grid.observeRows((rows) =>\n onFiltersChange(nextFilters, queryFromFilters, rows),\n );\n };\n\n const addFilter = (filter, column) => {\n let hasBeenCalled = false;\n const trimmedFilter = {\n ...filter,\n value: String(filter.value).trim(),\n };\n /* eslint-disable indent */\n const parsedFilter = !filter.group\n ? {\n ...trimmedFilter,\n value: String(filter.value).trim(),\n group: 'all',\n label: 'All',\n id: uuidv4(),\n }\n : {\n ...trimmedFilter,\n value: String(filter.value).trim(),\n id: uuidv4(),\n label: (column && column.filterLabel) || trimmedFilter.label,\n originalProperty: column.originalProperty || column.property,\n customValue: getFilterValue(trimmedFilter, column),\n };\n /* eslint-enable indent */\n setFilters((prevFilters) => {\n // This was setted for an issue that was recalling this function on the handleFiltersChange\n if (hasBeenCalled) {\n return;\n }\n hasBeenCalled = true;\n\n const nextFilters = buildFilterArray(parsedFilter, prevFilters);\n handleFiltersChange(nextFilters, true);\n onAddFilter(parsedFilter, nextFilters, column);\n });\n };\n\n const removeFilter = ({ group, pill, nextFilters }) => {\n onRemoveFilter(group, pill.value, nextFilters);\n handleFiltersChange(nextFilters);\n };\n\n const removeAllFilters = () => {\n onRemoveAllFilters();\n handleFiltersChange([]);\n };\n return {\n actions: {\n addFilter,\n removeFilter,\n removeAllFilters,\n },\n state: {\n query: queryFromFilters,\n filters,\n },\n };\n}\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,OAAO,MAAM;AAEZ,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,MAChB,KAAK;AAET,QAAM,CAAC,SAAS,cAAc,SAAS,eAAe;AAEtD,YAAU,MAAM;AACd,QAAI,eAAe,gBAAgB,SAAS;AAC1C,iBAAW;AAAA;AAAA,KAEZ,CAAC;AAEJ,QAAM,mBAAmB,QAAQ,MAAM,oBAAoB,WAAW,KAAK;AAAA,IACzE;AAAA;AAGF,QAAM,sBAAsB,CAAC,gBAAgB;AAC3C,UAAM;AAAA,MACJ,MAAM,EAAE;AAAA,QACN,KAAK;AACT,SAAK,QAAQ,YAAY;AACzB,eAAW;AACX,SAAK,YAAY,CAAC,SAChB,gBAAgB,aAAa,kBAAkB;AAAA;AAInD,QAAM,YAAY,CAAC,QAAQ,WAAW;AACpC,QAAI,gBAAgB;AACpB,UAAM,gBAAgB
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AACA;AAAA;AAAA;AAAA;AAAA;AAMA,MAAM,OAAO,MAAM;AAEZ,4BAA4B,MAAM;AACvC,QAAM;AAAA,IACJ,SAAS;AAAA,IACT,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,qBAAqB;AAAA,IACrB,kBAAkB;AAAA,MAChB,KAAK;AAET,QAAM,CAAC,SAAS,cAAc,SAAS,eAAe;AAEtD,YAAU,MAAM;AACd,QAAI,eAAe,gBAAgB,SAAS;AAC1C,iBAAW;AAAA;AAAA,KAEZ,CAAC;AAEJ,QAAM,mBAAmB,QAAQ,MAAM,oBAAoB,WAAW,KAAK;AAAA,IACzE;AAAA;AAGF,QAAM,sBAAsB,CAAC,gBAAgB;AAC3C,UAAM;AAAA,MACJ,MAAM,EAAE;AAAA,QACN,KAAK;AACT,SAAK,QAAQ,YAAY;AACzB,eAAW;AACX,SAAK,YAAY,CAAC,SAChB,gBAAgB,aAAa,kBAAkB;AAAA;AAInD,QAAM,YAAY,CAAC,QAAQ,WAAW;AACpC,QAAI,gBAAgB;AACpB,UAAM,gBAAgB,iCACjB,SADiB;AAAA,MAEpB,OAAO,OAAO,OAAO,OAAO;AAAA;AAG9B,UAAM,eAAe,CAAC,OAAO,QACzB,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,OAAO;AAAA,MAC5B,OAAO;AAAA,MACP,OAAO;AAAA,MACP,IAAI;AAAA,SAEN,iCACK,gBADL;AAAA,MAEE,OAAO,OAAO,OAAO,OAAO;AAAA,MAC5B,IAAI;AAAA,MACJ,OAAQ,UAAU,OAAO,eAAgB,cAAc;AAAA,MACvD,kBAAkB,OAAO,oBAAoB,OAAO;AAAA,MACpD,aAAa,eAAe,eAAe;AAAA;AAGjD,eAAW,CAAC,gBAAgB;AAE1B,UAAI,eAAe;AACjB;AAAA;AAEF,sBAAgB;AAEhB,YAAM,cAAc,iBAAiB,cAAc;AACnD,0BAAoB,aAAa;AACjC,kBAAY,cAAc,aAAa;AAAA;AAAA;AAI3C,QAAM,eAAe,CAAC,EAAE,OAAO,MAAM,kBAAkB;AACrD,mBAAe,OAAO,KAAK,OAAO;AAClC,wBAAoB;AAAA;AAGtB,QAAM,mBAAmB,MAAM;AAC7B;AACA,wBAAoB;AAAA;AAEtB,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA,MACA;AAAA,MACA;AAAA;AAAA,IAEF,OAAO;AAAA,MACL,OAAO;AAAA,MACP;AAAA;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
1
32
|
import * as React from "react";
|
|
2
33
|
import React2, { useMemo } from "react";
|
|
3
34
|
import { createInstancePlugin } from "@elliemae/ds-shared/createDataInstance/createInstancePlugin";
|
|
@@ -12,8 +43,7 @@ const GroupRowHeaderTitle = aggregatedClasses("div")(blockName, "title");
|
|
|
12
43
|
const GroupingPlugin = createInstancePlugin("groupedRows", {
|
|
13
44
|
decorateGrid(grid) {
|
|
14
45
|
const { columns, composedRows } = grid.getInstance();
|
|
15
|
-
const detailColumns = useMemo(() => columns.map((column) => ({
|
|
16
|
-
...column,
|
|
46
|
+
const detailColumns = useMemo(() => columns.map((column) => __spreadProps(__spreadValues({}, column), {
|
|
17
47
|
customRenderer: column.detailCustomRenderer
|
|
18
48
|
})).filter((col) => !col.expandableColumn), [columns]);
|
|
19
49
|
const flatRows = [];
|
|
@@ -41,12 +71,11 @@ const GroupingPlugin = createInstancePlugin("groupedRows", {
|
|
|
41
71
|
}, 0);
|
|
42
72
|
return size;
|
|
43
73
|
};
|
|
44
|
-
return {
|
|
45
|
-
...bodyProps,
|
|
74
|
+
return __spreadProps(__spreadValues({}, bodyProps), {
|
|
46
75
|
getListHeight,
|
|
47
76
|
listComponent: VariableSizeList,
|
|
48
77
|
listProps: { itemSize: getItemSize }
|
|
49
|
-
};
|
|
78
|
+
});
|
|
50
79
|
},
|
|
51
80
|
composeRows: (rows, grid) => {
|
|
52
81
|
const {
|
|
@@ -55,38 +84,31 @@ const GroupingPlugin = createInstancePlugin("groupedRows", {
|
|
|
55
84
|
} = grid.getInstance();
|
|
56
85
|
if (Array.isArray(rows)) {
|
|
57
86
|
const filterIds = rows.map((r) => r.data[rowKey]);
|
|
58
|
-
return composedRows.filter((c) => filterIds.includes(c.data[rowKey])).map((r) => ({
|
|
59
|
-
...r.data,
|
|
87
|
+
return composedRows.filter((c) => filterIds.includes(c.data[rowKey])).map((r) => __spreadProps(__spreadValues({}, r.data), {
|
|
60
88
|
children: Array.isArray(r.data.children) ? r.data.children.filter((c) => filterIds.includes(c[rowKey])) : r.data.children,
|
|
61
89
|
_isGroup: r.isGroup
|
|
62
90
|
})).filter((g) => g.children === void 0 || g.children.length > 0);
|
|
63
91
|
}
|
|
64
|
-
return {
|
|
65
|
-
|
|
66
|
-
allRows: rows.allRows.map((r) => ({
|
|
67
|
-
...r.data,
|
|
92
|
+
return __spreadProps(__spreadValues({}, rows), {
|
|
93
|
+
allRows: rows.allRows.map((r) => __spreadProps(__spreadValues({}, r.data), {
|
|
68
94
|
_isGroup: r.isGroup
|
|
69
95
|
})),
|
|
70
|
-
rows: rows.rows.map((r) => ({
|
|
71
|
-
...r.data,
|
|
96
|
+
rows: rows.rows.map((r) => __spreadProps(__spreadValues({}, r.data), {
|
|
72
97
|
_isGroup: r.isGroup
|
|
73
98
|
}))
|
|
74
|
-
};
|
|
99
|
+
});
|
|
75
100
|
},
|
|
76
101
|
decorateRenderers(renderers, grid) {
|
|
77
102
|
const Row = renderers.body.row;
|
|
78
|
-
renderers.body.row = useMemo(() => (
|
|
103
|
+
renderers.body.row = useMemo(() => (_a) => {
|
|
104
|
+
var _b = _a, { isExpanded } = _b, rowProps = __objRest(_b, ["isExpanded"]);
|
|
79
105
|
const { composedRows } = grid.getInstance();
|
|
80
106
|
const node = composedRows[rowProps.index] ? composedRows[rowProps.index] : rowProps.rowData;
|
|
81
107
|
const { groupedRowsRenderHeader } = grid.props;
|
|
82
108
|
if (node && node._isGroup) {
|
|
83
|
-
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(GroupRowHeaderWrapper, {
|
|
84
|
-
...rowProps
|
|
85
|
-
}, /* @__PURE__ */ React2.createElement(GroupRowHeaderTitle, null, groupedRowsRenderHeader ? groupedRowsRenderHeader(node) : "Group")));
|
|
109
|
+
return /* @__PURE__ */ React2.createElement(React2.Fragment, null, /* @__PURE__ */ React2.createElement(GroupRowHeaderWrapper, __spreadValues({}, rowProps), /* @__PURE__ */ React2.createElement(GroupRowHeaderTitle, null, groupedRowsRenderHeader ? groupedRowsRenderHeader(node) : "Group")));
|
|
86
110
|
}
|
|
87
|
-
return /* @__PURE__ */ React2.createElement(Row, {
|
|
88
|
-
...rowProps
|
|
89
|
-
});
|
|
111
|
+
return /* @__PURE__ */ React2.createElement(Row, __spreadValues({}, rowProps));
|
|
90
112
|
}, []);
|
|
91
113
|
return renderers;
|
|
92
114
|
}
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/grouping-grid/GroupingPlugin.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable max-lines */\n/* eslint-disable no-underscore-dangle */\nimport React, { useMemo } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport { VariableSizeList } from 'react-window';\nimport { walkTreeStrategy } from './walkStrategy';\nimport { RowSizes } from '../../rowSizes';\nimport { dataGridBlockName } from '../../blockNames';\n\nconst blockName = `${dataGridBlockName}-group-row-header`;\nconst GroupRowHeaderWrapper = aggregatedClasses('div')(blockName);\nconst GroupRowHeaderTitle = aggregatedClasses('div')(blockName, 'title');\n\nexport const GroupingPlugin = createInstancePlugin('groupedRows', {\n decorateGrid(grid) {\n const { columns, composedRows } = grid.getInstance();\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const detailColumns = useMemo(\n () =>\n columns\n .map((column) => ({\n ...column,\n customRenderer: column.detailCustomRenderer,\n }))\n .filter((col) => !col.expandableColumn),\n [columns],\n );\n const flatRows = [];\n walkTreeStrategy({\n data: composedRows,\n cb: (n) => flatRows.push(n),\n });\n return {\n detailColumns,\n composedRows: flatRows,\n };\n },\n getBodyProps(bodyProps, grid) {\n const { composedRows: rows } = grid.getInstance();\n // implementation of expandable row single column with aggregation\n const getItemSize = (index) => {\n const rowData = rows[index];\n if (!rowData) return RowSizes.normal;\n return rowData._isGroup || rowData.isGroup\n ? RowSizes.compact\n : RowSizes.normal;\n };\n // eslint-disable-next-line no-unused-vars\n const getListHeight = () => {\n const size = rows.reduce((h, r) => {\n const rowHeight =\n r._isGroup || r.isGroup ? RowSizes.compact : RowSizes.normal;\n return h + rowHeight;\n }, 0);\n return size;\n };\n return {\n ...bodyProps,\n getListHeight,\n listComponent: VariableSizeList,\n listProps: { itemSize: getItemSize },\n };\n },\n composeRows: (rows, grid) => {\n const {\n composedRows,\n props: { rowKey },\n } = grid.getInstance();\n\n if (Array.isArray(rows)) {\n const filterIds = rows.map((r) => r.data[rowKey]);\n return composedRows\n .filter((c) => filterIds.includes(c.data[rowKey]))\n .map((r) => ({\n ...r.data,\n children: Array.isArray(r.data.children)\n ? r.data.children.filter((c) => filterIds.includes(c[rowKey]))\n : r.data.children,\n _isGroup: r.isGroup,\n }))\n .filter((g) => g.children === undefined || g.children.length > 0);\n }\n return {\n ...rows,\n allRows: rows.allRows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n rows: rows.rows.map((r) => ({\n ...r.data,\n _isGroup: r.isGroup,\n })),\n };\n },\n decorateRenderers(renderers, grid) {\n const Row = renderers.body.row;\n // eslint-disable-next-line react-hooks/rules-of-hooks\n renderers.body.row = useMemo(\n () =>\n // eslint-disable-next-line react/display-name\n // eslint-disable-next-line react/prop-types\n ({ isExpanded, ...rowProps }) => {\n const { composedRows } = grid.getInstance();\n // // https://jira.elliemae.io/browse/PUI-1667\n const node = composedRows[rowProps.index]\n ? composedRows[rowProps.index]\n : rowProps.rowData;\n const { groupedRowsRenderHeader } = grid.props;\n // eslint-disable-next-line no-underscore-dangle\n if (node && node._isGroup) {\n return (\n <>\n <GroupRowHeaderWrapper {...rowProps}>\n <GroupRowHeaderTitle>\n {groupedRowsRenderHeader\n ? groupedRowsRenderHeader(node)\n : 'Group'}\n </GroupRowHeaderTitle>\n </GroupRowHeaderWrapper>\n </>\n );\n }\n return <Row {...rowProps} />;\n },\n [],\n );\n\n return renderers;\n },\n});\n"],
|
|
5
|
-
"mappings": "AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,GAAG;AACrB,MAAM,wBAAwB,kBAAkB,OAAO;AACvD,MAAM,sBAAsB,kBAAkB,OAAO,WAAW;AAEzD,MAAM,iBAAiB,qBAAqB,eAAe;AAAA,EAChE,aAAa,MAAM;AACjB,UAAM,EAAE,SAAS,iBAAiB,KAAK;AAEvC,UAAM,gBAAgB,QACpB,MACE,QACG,IAAI,CAAC,WAAY
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,YAAY,GAAG;AACrB,MAAM,wBAAwB,kBAAkB,OAAO;AACvD,MAAM,sBAAsB,kBAAkB,OAAO,WAAW;AAEzD,MAAM,iBAAiB,qBAAqB,eAAe;AAAA,EAChE,aAAa,MAAM;AACjB,UAAM,EAAE,SAAS,iBAAiB,KAAK;AAEvC,UAAM,gBAAgB,QACpB,MACE,QACG,IAAI,CAAC,WAAY,iCACb,SADa;AAAA,MAEhB,gBAAgB,OAAO;AAAA,QAExB,OAAO,CAAC,QAAQ,CAAC,IAAI,mBAC1B,CAAC;AAEH,UAAM,WAAW;AACjB,qBAAiB;AAAA,MACf,MAAM;AAAA,MACN,IAAI,CAAC,MAAM,SAAS,KAAK;AAAA;AAE3B,WAAO;AAAA,MACL;AAAA,MACA,cAAc;AAAA;AAAA;AAAA,EAGlB,aAAa,WAAW,MAAM;AAC5B,UAAM,EAAE,cAAc,SAAS,KAAK;AAEpC,UAAM,cAAc,CAAC,UAAU;AAC7B,YAAM,UAAU,KAAK;AACrB,UAAI,CAAC;AAAS,eAAO,SAAS;AAC9B,aAAO,QAAQ,YAAY,QAAQ,UAC/B,SAAS,UACT,SAAS;AAAA;AAGf,UAAM,gBAAgB,MAAM;AAC1B,YAAM,OAAO,KAAK,OAAO,CAAC,GAAG,MAAM;AACjC,cAAM,YACJ,EAAE,YAAY,EAAE,UAAU,SAAS,UAAU,SAAS;AACxD,eAAO,IAAI;AAAA,SACV;AACH,aAAO;AAAA;AAET,WAAO,iCACF,YADE;AAAA,MAEL;AAAA,MACA,eAAe;AAAA,MACf,WAAW,EAAE,UAAU;AAAA;AAAA;AAAA,EAG3B,aAAa,CAAC,MAAM,SAAS;AAC3B,UAAM;AAAA,MACJ;AAAA,MACA,OAAO,EAAE;AAAA,QACP,KAAK;AAET,QAAI,MAAM,QAAQ,OAAO;AACvB,YAAM,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE,KAAK;AACzC,aAAO,aACJ,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,KAAK,UACxC,IAAI,CAAC,MAAO,iCACR,EAAE,OADM;AAAA,QAEX,UAAU,MAAM,QAAQ,EAAE,KAAK,YAC3B,EAAE,KAAK,SAAS,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,YACnD,EAAE,KAAK;AAAA,QACX,UAAU,EAAE;AAAA,UAEb,OAAO,CAAC,MAAM,EAAE,aAAa,UAAa,EAAE,SAAS,SAAS;AAAA;AAEnE,WAAO,iCACF,OADE;AAAA,MAEL,SAAS,KAAK,QAAQ,IAAI,CAAC,MAAO,iCAC7B,EAAE,OAD2B;AAAA,QAEhC,UAAU,EAAE;AAAA;AAAA,MAEd,MAAM,KAAK,KAAK,IAAI,CAAC,MAAO,iCACvB,EAAE,OADqB;AAAA,QAE1B,UAAU,EAAE;AAAA;AAAA;AAAA;AAAA,EAIlB,kBAAkB,WAAW,MAAM;AACjC,UAAM,MAAM,UAAU,KAAK;AAE3B,cAAU,KAAK,MAAM,QACnB,MAGE,CAAC,OAAgC;AAAhC,mBAAE,iBAAF,IAAiB,qBAAjB,IAAiB,CAAf;AACD,YAAM,EAAE,iBAAiB,KAAK;AAE9B,YAAM,OAAO,aAAa,SAAS,SAC/B,aAAa,SAAS,SACtB,SAAS;AACb,YAAM,EAAE,4BAA4B,KAAK;AAEzC,UAAI,QAAQ,KAAK,UAAU;AACzB,eACE,4DACE,qCAAC,uBAAD,mBAA2B,WACzB,qCAAC,qBAAD,MACG,0BACG,wBAAwB,QACxB;AAAA;AAMd,aAAO,qCAAC,KAAD,mBAAS;AAAA,OAEpB;AAGF,WAAO;AAAA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
1
32
|
import * as React from "react";
|
|
2
33
|
import { useRef, useEffect, useState } from "react";
|
|
3
34
|
import { createInstancePlugin } from "@elliemae/ds-shared/createDataInstance/createInstancePlugin";
|
|
@@ -27,7 +58,8 @@ const registerStateHook = (grid) => {
|
|
|
27
58
|
}
|
|
28
59
|
};
|
|
29
60
|
};
|
|
30
|
-
const getBodyProps = (
|
|
61
|
+
const getBodyProps = (_a, grid) => {
|
|
62
|
+
var _b = _a, { children } = _b, props = __objRest(_b, ["children"]);
|
|
31
63
|
const { loadMoreData } = grid.getInstance().actions;
|
|
32
64
|
const [bodyNode, setBodyRef] = useState();
|
|
33
65
|
const prevScroll = useRef();
|
|
@@ -56,10 +88,9 @@ const getBodyProps = ({ children, ...props }, grid) => {
|
|
|
56
88
|
}
|
|
57
89
|
};
|
|
58
90
|
}, [bodyNode]);
|
|
59
|
-
return {
|
|
60
|
-
...props,
|
|
91
|
+
return __spreadProps(__spreadValues({}, props), {
|
|
61
92
|
listProps: { outerRef: setBodyRef }
|
|
62
|
-
};
|
|
93
|
+
});
|
|
63
94
|
};
|
|
64
95
|
const InfiniteScrollPlugin = createInstancePlugin("infinite-scroll", {
|
|
65
96
|
registerStateHook,
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/infinite-scrolling/InfiniteScrollPlugin.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "import { useRef, useEffect, useState } from 'react';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\n\n// TODO: EXPORT A SEPARATED INFINITE LOADER GRID\n\nconst registerStateHook = (grid) => {\n const {\n props: { getData, onInfiniteScrolling = () => null },\n actions: { updateRows },\n } = grid;\n\n const loading = useRef(false);\n\n const addMoreData = (data = []) => {\n loading.current = false;\n updateRows((prevRows) => prevRows.concat(data || []));\n };\n\n const doLoadData = async (currentRows) => {\n loading.current = true;\n return Promise.resolve(getData(currentRows)).then(addMoreData);\n };\n\n const loadMoreData = (currentRows) => {\n onInfiniteScrolling(currentRows);\n if (loading.current || !getData) return;\n doLoadData(currentRows);\n };\n\n return {\n actions: {\n loadMoreData,\n },\n };\n};\n\nconst getBodyProps = ({ children, ...props }, grid) => {\n const { loadMoreData } = grid.getInstance().actions;\n\n const [bodyNode, setBodyRef] = useState();\n const prevScroll = useRef();\n prevScroll.current = 0;\n\n const handleBodyScroll = (event, s) => {\n const { target } = event;\n const { scrollHeight, scrollTop, offsetHeight, scrollLeft } = target;\n const { composedRows } = grid.getInstance();\n // prevent horizontal scroll triggering infinite scrolling callbacks\n if (prevScroll.current !== scrollLeft) {\n prevScroll.current = scrollLeft;\n return;\n }\n // todo: clean this. Better approach using another component for the infinite scroll\n if (bodyNode !== target) return;\n if (scrollTop + offsetHeight >= scrollHeight - 1) {\n loadMoreData(composedRows);\n }\n };\n\n useEffect(() => {\n if (bodyNode) {\n bodyNode.addEventListener('scroll', handleBodyScroll);\n }\n return () => {\n if (bodyNode) {\n bodyNode.removeEventListener('scroll', handleBodyScroll);\n }\n };\n }, [bodyNode]);\n\n return {\n ...props,\n listProps: { outerRef: setBodyRef },\n };\n};\n\nexport const InfiniteScrollPlugin = createInstancePlugin('infinite-scroll', {\n registerStateHook,\n getBodyProps,\n});\n"],
|
|
5
|
-
"mappings": "AAAA;ACAA;AACA;AAIA,MAAM,oBAAoB,CAAC,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,sBAAsB,MAAM;AAAA,IAC9C,SAAS,EAAE;AAAA,MACT;AAEJ,QAAM,UAAU,OAAO;AAEvB,QAAM,cAAc,CAAC,OAAO,OAAO;AACjC,YAAQ,UAAU;AAClB,eAAW,CAAC,aAAa,SAAS,OAAO,QAAQ;AAAA;AAGnD,QAAM,aAAa,OAAO,gBAAgB;AACxC,YAAQ,UAAU;AAClB,WAAO,QAAQ,QAAQ,QAAQ,cAAc,KAAK;AAAA;AAGpD,QAAM,eAAe,CAAC,gBAAgB;AACpC,wBAAoB;AACpB,QAAI,QAAQ,WAAW,CAAC;AAAS;AACjC,eAAW;AAAA;AAGb,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA;AAAA;AAAA;AAKN,MAAM,eAAe,CAAC,
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACAA;AACA;AAIA,MAAM,oBAAoB,CAAC,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE,SAAS,sBAAsB,MAAM;AAAA,IAC9C,SAAS,EAAE;AAAA,MACT;AAEJ,QAAM,UAAU,OAAO;AAEvB,QAAM,cAAc,CAAC,OAAO,OAAO;AACjC,YAAQ,UAAU;AAClB,eAAW,CAAC,aAAa,SAAS,OAAO,QAAQ;AAAA;AAGnD,QAAM,aAAa,OAAO,gBAAgB;AACxC,YAAQ,UAAU;AAClB,WAAO,QAAQ,QAAQ,QAAQ,cAAc,KAAK;AAAA;AAGpD,QAAM,eAAe,CAAC,gBAAgB;AACpC,wBAAoB;AACpB,QAAI,QAAQ,WAAW,CAAC;AAAS;AACjC,eAAW;AAAA;AAGb,SAAO;AAAA,IACL,SAAS;AAAA,MACP;AAAA;AAAA;AAAA;AAKN,MAAM,eAAe,CAAC,IAAwB,SAAS;AAAjC,eAAE,eAAF,IAAe,kBAAf,IAAe,CAAb;AACtB,QAAM,EAAE,iBAAiB,KAAK,cAAc;AAE5C,QAAM,CAAC,UAAU,cAAc;AAC/B,QAAM,aAAa;AACnB,aAAW,UAAU;AAErB,QAAM,mBAAmB,CAAC,OAAO,MAAM;AACrC,UAAM,EAAE,WAAW;AACnB,UAAM,EAAE,cAAc,WAAW,cAAc,eAAe;AAC9D,UAAM,EAAE,iBAAiB,KAAK;AAE9B,QAAI,WAAW,YAAY,YAAY;AACrC,iBAAW,UAAU;AACrB;AAAA;AAGF,QAAI,aAAa;AAAQ;AACzB,QAAI,YAAY,gBAAgB,eAAe,GAAG;AAChD,mBAAa;AAAA;AAAA;AAIjB,YAAU,MAAM;AACd,QAAI,UAAU;AACZ,eAAS,iBAAiB,UAAU;AAAA;AAEtC,WAAO,MAAM;AACX,UAAI,UAAU;AACZ,iBAAS,oBAAoB,UAAU;AAAA;AAAA;AAAA,KAG1C,CAAC;AAEJ,SAAO,iCACF,QADE;AAAA,IAEL,WAAW,EAAE,UAAU;AAAA;AAAA;AAIpB,MAAM,uBAAuB,qBAAqB,mBAAmB;AAAA,EAC1E;AAAA,EACA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,3 +1,34 @@
|
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __objRest = (source, exclude) => {
|
|
21
|
+
var target = {};
|
|
22
|
+
for (var prop in source)
|
|
23
|
+
if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
|
|
24
|
+
target[prop] = source[prop];
|
|
25
|
+
if (source != null && __getOwnPropSymbols)
|
|
26
|
+
for (var prop of __getOwnPropSymbols(source)) {
|
|
27
|
+
if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
|
|
28
|
+
target[prop] = source[prop];
|
|
29
|
+
}
|
|
30
|
+
return target;
|
|
31
|
+
};
|
|
1
32
|
import * as React from "react";
|
|
2
33
|
import React2, { useMemo } from "react";
|
|
3
34
|
import { mergeRefs } from "@elliemae/ds-utilities";
|
|
@@ -15,29 +46,37 @@ const composeRows = (rows, grid) => {
|
|
|
15
46
|
return rows;
|
|
16
47
|
if (groupedRows) {
|
|
17
48
|
const filterIds = rows.map((r) => r.id);
|
|
18
|
-
return paginate(rows.filter((c) => filterIds.includes(c.id)).map((r) => ({
|
|
19
|
-
...r,
|
|
49
|
+
return paginate(rows.filter((c) => filterIds.includes(c.id)).map((r) => __spreadProps(__spreadValues({}, r), {
|
|
20
50
|
_isGroup: r.isGroup
|
|
21
51
|
})), pagination);
|
|
22
52
|
}
|
|
23
53
|
return paginate(rows, pagination);
|
|
24
54
|
};
|
|
25
|
-
const Body = React2.memo(({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
55
|
+
const Body = React2.memo((_a) => {
|
|
56
|
+
var _b = _a, {
|
|
57
|
+
component: Component,
|
|
58
|
+
rows,
|
|
59
|
+
rowRenderer,
|
|
60
|
+
noResultsPlaceholder,
|
|
61
|
+
innerRef,
|
|
62
|
+
innerBodyRef,
|
|
63
|
+
isPlaceholderActive = false
|
|
64
|
+
} = _b, otherBodyProps = __objRest(_b, [
|
|
65
|
+
"component",
|
|
66
|
+
"rows",
|
|
67
|
+
"rowRenderer",
|
|
68
|
+
"noResultsPlaceholder",
|
|
69
|
+
"innerRef",
|
|
70
|
+
"innerBodyRef",
|
|
71
|
+
"isPlaceholderActive"
|
|
72
|
+
]);
|
|
73
|
+
return /* @__PURE__ */ React2.createElement(Component, __spreadProps(__spreadValues({}, otherBodyProps), {
|
|
74
|
+
innerRef: mergeRefs(innerRef)
|
|
75
|
+
}), !isPlaceholderActive ? rows.map((row, index) => rowRenderer(row, { index, rowIndex: index }, {})) : /* @__PURE__ */ React2.createElement(NoResults, {
|
|
76
|
+
innerRef,
|
|
77
|
+
rowRenderer
|
|
78
|
+
}, noResultsPlaceholder));
|
|
79
|
+
});
|
|
41
80
|
const decorateRenderers = (renderers, grid) => {
|
|
42
81
|
const BodyWrapper = renderers.body.wrapper;
|
|
43
82
|
renderers.body.wrapper = useMemo(() => (props) => {
|
|
@@ -45,10 +84,9 @@ const decorateRenderers = (renderers, grid) => {
|
|
|
45
84
|
return /* @__PURE__ */ React2.createElement(FocusGrid, {
|
|
46
85
|
hotKeys,
|
|
47
86
|
shouldRefocus: false
|
|
48
|
-
}, /* @__PURE__ */ React2.createElement(Body, {
|
|
49
|
-
...props,
|
|
87
|
+
}, /* @__PURE__ */ React2.createElement(Body, __spreadProps(__spreadValues({}, props), {
|
|
50
88
|
component: BodyWrapper
|
|
51
|
-
}));
|
|
89
|
+
})));
|
|
52
90
|
}, []);
|
|
53
91
|
return renderers;
|
|
54
92
|
};
|
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../../scripts/build/transpile/react-shim.js", "../../../../src/plugins/pagination/PaginationPlugin.tsx"],
|
|
4
4
|
"sourcesContent": ["import * as React from 'react';\nexport { React };\n", "/* eslint-disable react/display-name */\nimport React, { useMemo } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport { FocusGrid } from '@elliemae/ds-shared/FocusGroup/FocusGrid';\nimport { createInstancePlugin } from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { paginate } from './helper';\nimport { usePaginationState } from './usePaginationState';\nimport { NoResults } from '../../components/NoResults';\n\nconst composeRows = (rows, grid) => {\n const {\n state: { pagination },\n props: { groupedRows },\n } = grid.getInstance();\n if (groupedRows) return rows; // disable pagination with grouping\n if (groupedRows) {\n const filterIds = rows.map((r) => r.id);\n return paginate(\n rows\n .filter((c) => filterIds.includes(c.id))\n .map((r) => ({\n ...r,\n _isGroup: r.isGroup,\n })),\n pagination,\n );\n }\n\n return paginate(rows, pagination);\n};\n\nconst Body = React.memo(\n ({\n component: Component,\n rows,\n rowRenderer,\n noResultsPlaceholder,\n innerRef,\n innerBodyRef, // depends on body-header-scroll-sync\n isPlaceholderActive = false,\n ...otherBodyProps\n }) => (\n <Component {...otherBodyProps} innerRef={mergeRefs(innerRef)}>\n {!isPlaceholderActive ? (\n rows.map((row, index) => rowRenderer(row, { index, rowIndex: index }, {}))\n ) : (\n <NoResults innerRef={innerRef} rowRenderer={rowRenderer}>\n {noResultsPlaceholder}\n </NoResults>\n )}\n </Component>\n ),\n);\n\nconst decorateRenderers = (renderers, grid) => {\n const BodyWrapper = renderers.body.wrapper;\n renderers.body.wrapper = useMemo(\n () => (props) => {\n const { hotKeys, shouldRefocus, state } = grid.getInstance();\n return (\n <FocusGrid hotKeys={hotKeys} shouldRefocus={false}>\n <Body {...props} component={BodyWrapper} />\n </FocusGrid>\n );\n },\n [],\n );\n return renderers;\n};\n\nexport const PaginationPlugin = createInstancePlugin('pagination', {\n registerStateHook: usePaginationState,\n decorateRenderers,\n composeRows,\n});\n"],
|
|
5
|
-
"mappings": "AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,cAAc,CAAC,MAAM,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT,OAAO,EAAE;AAAA,MACP,KAAK;AACT,MAAI;AAAa,WAAO;AACxB,MAAI,aAAa;AACf,UAAM,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE;AACpC,WAAO,SACL,KACG,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,KACnC,IAAI,CAAC,MAAO
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;ACCA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,MAAM,cAAc,CAAC,MAAM,SAAS;AAClC,QAAM;AAAA,IACJ,OAAO,EAAE;AAAA,IACT,OAAO,EAAE;AAAA,MACP,KAAK;AACT,MAAI;AAAa,WAAO;AACxB,MAAI,aAAa;AACf,UAAM,YAAY,KAAK,IAAI,CAAC,MAAM,EAAE;AACpC,WAAO,SACL,KACG,OAAO,CAAC,MAAM,UAAU,SAAS,EAAE,KACnC,IAAI,CAAC,MAAO,iCACR,IADQ;AAAA,MAEX,UAAU,EAAE;AAAA,SAEhB;AAAA;AAIJ,SAAO,SAAS,MAAM;AAAA;AAGxB,MAAM,OAAO,OAAM,KACjB,CAAC,OASE;AATF,eACC;AAAA,eAAW;AAAA,IACX;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,sBAAsB;AAAA,MAPvB,IAQI,2BARJ,IAQI;AAAA,IAPH;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA;AAGA,8CAAC,WAAD,iCAAe,iBAAf;AAAA,IAA+B,UAAU,UAAU;AAAA,MAChD,CAAC,sBACA,KAAK,IAAI,CAAC,KAAK,UAAU,YAAY,KAAK,EAAE,OAAO,UAAU,SAAS,OAEtE,qCAAC,WAAD;AAAA,IAAW;AAAA,IAAoB;AAAA,KAC5B;AAAA;AAOX,MAAM,oBAAoB,CAAC,WAAW,SAAS;AAC7C,QAAM,cAAc,UAAU,KAAK;AACnC,YAAU,KAAK,UAAU,QACvB,MAAM,CAAC,UAAU;AACf,UAAM,EAAE,SAAS,eAAe,UAAU,KAAK;AAC/C,WACE,qCAAC,WAAD;AAAA,MAAW;AAAA,MAAkB,eAAe;AAAA,OAC1C,qCAAC,MAAD,iCAAU,QAAV;AAAA,MAAiB,WAAW;AAAA;AAAA,KAIlC;AAEF,SAAO;AAAA;AAGF,MAAM,mBAAmB,qBAAqB,cAAc;AAAA,EACjE,mBAAmB;AAAA,EACnB;AAAA,EACA;AAAA;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|