@elliemae/ds-datagrids 1.61.10 → 1.61.13

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.
Files changed (203) hide show
  1. package/cjs/DSDataGrid.js.map +1 -1
  2. package/cjs/DataGridImpl.js.map +1 -1
  3. package/cjs/PaginatedDataGrid.js.map +1 -1
  4. package/cjs/columns/IconColumn.js.map +1 -1
  5. package/cjs/columns/NumberColumn.js.map +1 -1
  6. package/cjs/components/BodyCell.js.map +1 -1
  7. package/cjs/components/BodyList.js.map +1 -1
  8. package/cjs/components/ColumnVisibilityMenuOption.js.map +1 -1
  9. package/cjs/components/ColumnsOptionsMenuSection.js.map +1 -1
  10. package/cjs/components/EmptyState.js.map +1 -1
  11. package/cjs/components/HeaderCell.js.map +1 -1
  12. package/cjs/components/List.js.map +1 -1
  13. package/cjs/components/ListItem.js.map +1 -1
  14. package/cjs/components/NoResults.js.map +1 -1
  15. package/cjs/components/RowsLoader.js.map +1 -1
  16. package/cjs/components/Table.js.map +1 -1
  17. package/cjs/components/TableBody.js.map +1 -1
  18. package/cjs/components/TableHeader.js.map +1 -1
  19. package/cjs/components/footer/addOptionalFooterComponents.js.map +1 -1
  20. package/cjs/components/header/PrimaryControls.js.map +1 -1
  21. package/cjs/components/header/addOptionalHeaderComponents.js.map +1 -1
  22. package/cjs/components/renderers/defaultClassedRenderers.js.map +1 -1
  23. package/cjs/components/renderers/renderRowsLoader.js.map +1 -1
  24. package/cjs/index-0be12eb8.js.map +1 -1
  25. package/cjs/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  26. package/cjs/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  27. package/cjs/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  28. package/cjs/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  29. package/cjs/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  30. package/cjs/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  31. package/cjs/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  32. package/cjs/plugins/column-sizing/getColumnNameFromProperty.js.map +1 -1
  33. package/cjs/plugins/column-sizing/useColumnSizeService.js.map +1 -1
  34. package/cjs/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  35. package/cjs/plugins/column-sizing/utils.js.map +1 -1
  36. package/cjs/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  37. package/cjs/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  38. package/cjs/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  39. package/cjs/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  40. package/cjs/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  41. package/cjs/plugins/editable/EditablePlugin.js.map +1 -1
  42. package/cjs/plugins/editable/decorateEditable.js.map +1 -1
  43. package/cjs/plugins/editable/getEditorComponent.js.map +1 -1
  44. package/cjs/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  45. package/cjs/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  46. package/cjs/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  47. package/cjs/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  48. package/cjs/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  49. package/cjs/plugins/export-data/ExportDataPlugin.js.map +1 -1
  50. package/cjs/plugins/filterable/FilterablePlugin.js.map +1 -1
  51. package/cjs/plugins/filterable/addFilterToColumn.js.map +1 -1
  52. package/cjs/plugins/filterable/components/FilterableHeader.js.map +1 -1
  53. package/cjs/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  54. package/cjs/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  55. package/cjs/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  56. package/cjs/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  57. package/cjs/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +1 -1
  58. package/cjs/plugins/filterable/filterableFormatter.js.map +1 -1
  59. package/cjs/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  60. package/cjs/plugins/filterable/filtering-helper/strategiesOperators.js.map +1 -1
  61. package/cjs/plugins/filterable/helper.js.map +1 -1
  62. package/cjs/plugins/filterable/useFilterableState.js.map +1 -1
  63. package/cjs/plugins/grouping-by/GroupingByPlugin.js.map +1 -1
  64. package/cjs/plugins/grouping-grid/GroupingPlugin.js.map +1 -1
  65. package/cjs/plugins/grouping-grid/walkStrategy.js.map +1 -1
  66. package/cjs/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  67. package/cjs/plugins/pagination/PaginationPlugin.js.map +1 -1
  68. package/cjs/plugins/pagination/components/Pagination.js.map +1 -1
  69. package/cjs/plugins/pagination/components/Paginator.js.map +1 -1
  70. package/cjs/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  71. package/cjs/plugins/pagination/helper.js.map +1 -1
  72. package/cjs/plugins/pagination/usePaginationState.js.map +1 -1
  73. package/cjs/plugins/resizable/ResizablePlugin.js.map +1 -1
  74. package/cjs/plugins/resizable/decorateResizable.js.map +1 -1
  75. package/cjs/plugins/resizable/useResizeHandle.js.map +1 -1
  76. package/cjs/plugins/resizable/utils.js.map +1 -1
  77. package/cjs/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  78. package/cjs/plugins/selectable/SelectablePlugin.js.map +1 -1
  79. package/cjs/plugins/selectable/addSelectableColumn.js.map +1 -1
  80. package/cjs/plugins/selectable/helper.js.map +1 -1
  81. package/cjs/plugins/selectable/selectableFormatter.js.map +1 -1
  82. package/cjs/plugins/selectable/useSelectableState.js.map +1 -1
  83. package/cjs/plugins/sortable/SortablePlugin.js.map +1 -1
  84. package/cjs/plugins/sortable/checkIfSortable.js.map +1 -1
  85. package/cjs/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  86. package/cjs/plugins/sortable/sortTree.js.map +1 -1
  87. package/cjs/plugins/sortable/sorter.js.map +1 -1
  88. package/cjs/plugins/sortable/useSortableState.js.map +1 -1
  89. package/cjs/plugins/toolbar/RowRenderer.js.map +1 -1
  90. package/cjs/plugins/toolbar/ToolbarPlugin.js.map +1 -1
  91. package/cjs/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  92. package/cjs/plugins/virtualization/AutoHeightList.js.map +1 -1
  93. package/cjs/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  94. package/cjs/plugins/virtualization/VirtualizedBody.js.map +1 -1
  95. package/cjs/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  96. package/cjs/renders/CellWithAddons.js.map +1 -1
  97. package/cjs/renders/styled.js.map +1 -1
  98. package/cjs/rowSizes.js.map +1 -1
  99. package/cjs/utilities/getPluginsFromProps.js.map +1 -1
  100. package/cjs/utilities/getScrollbarSize.js.map +1 -1
  101. package/cjs/utilities/normalizeData.js.map +1 -1
  102. package/esm/DSDataGrid.js.map +1 -1
  103. package/esm/DataGridImpl.js.map +1 -1
  104. package/esm/PaginatedDataGrid.js.map +1 -1
  105. package/esm/columns/IconColumn.js.map +1 -1
  106. package/esm/columns/NumberColumn.js.map +1 -1
  107. package/esm/components/BodyCell.js.map +1 -1
  108. package/esm/components/BodyList.js.map +1 -1
  109. package/esm/components/ColumnVisibilityMenuOption.js.map +1 -1
  110. package/esm/components/ColumnsOptionsMenuSection.js.map +1 -1
  111. package/esm/components/EmptyState.js.map +1 -1
  112. package/esm/components/HeaderCell.js.map +1 -1
  113. package/esm/components/List.js.map +1 -1
  114. package/esm/components/ListItem.js.map +1 -1
  115. package/esm/components/NoResults.js.map +1 -1
  116. package/esm/components/RowsLoader.js.map +1 -1
  117. package/esm/components/Table.js.map +1 -1
  118. package/esm/components/TableBody.js.map +1 -1
  119. package/esm/components/TableHeader.js.map +1 -1
  120. package/esm/components/footer/addOptionalFooterComponents.js.map +1 -1
  121. package/esm/components/header/PrimaryControls.js.map +1 -1
  122. package/esm/components/header/addOptionalHeaderComponents.js.map +1 -1
  123. package/esm/components/renderers/defaultClassedRenderers.js.map +1 -1
  124. package/esm/components/renderers/renderRowsLoader.js.map +1 -1
  125. package/esm/index-afbbe9c8.js.map +1 -1
  126. package/esm/plugins/body-header-scroll-sync/BodyHeaderScrollSyncPlugin.js.map +1 -1
  127. package/esm/plugins/column-dnd/DndColumnsPlugin.js.map +1 -1
  128. package/esm/plugins/column-dnd/decorateGridWithDndColumns.js.map +1 -1
  129. package/esm/plugins/column-sizing/ColumnSizingPlugin.js.map +1 -1
  130. package/esm/plugins/column-sizing/columnMeasurerTransformer.js.map +1 -1
  131. package/esm/plugins/column-sizing/ext-points/decorateColumn.js.map +1 -1
  132. package/esm/plugins/column-sizing/ext-points/getTableProps.js.map +1 -1
  133. package/esm/plugins/column-sizing/getColumnNameFromProperty.js.map +1 -1
  134. package/esm/plugins/column-sizing/useColumnSizeService.js.map +1 -1
  135. package/esm/plugins/column-sizing/useStylesheetHelpers.js.map +1 -1
  136. package/esm/plugins/column-sizing/utils.js.map +1 -1
  137. package/esm/plugins/custom-cell-renderer/CustomRendererPlugin.js.map +1 -1
  138. package/esm/plugins/custom-cell-renderer/addCustomRendererToCell.js.map +1 -1
  139. package/esm/plugins/custom-cell-renderer/getRendererComponent.js.map +1 -1
  140. package/esm/plugins/editable/EditableComponents/ComboBox.js.map +1 -1
  141. package/esm/plugins/editable/EditableComponents/TextBox.js.map +1 -1
  142. package/esm/plugins/editable/EditablePlugin.js.map +1 -1
  143. package/esm/plugins/editable/decorateEditable.js.map +1 -1
  144. package/esm/plugins/editable/getEditorComponent.js.map +1 -1
  145. package/esm/plugins/expandable-grid/ExpandableColumn.js.map +1 -1
  146. package/esm/plugins/expandable-grid/ExpandablePlugin.js.map +1 -1
  147. package/esm/plugins/expandable-grid/ExpandedRow.js.map +1 -1
  148. package/esm/plugins/expandable-grid/ExpandedRowExtra.js.map +1 -1
  149. package/esm/plugins/expandable-grid/useExpandGridState.js.map +1 -1
  150. package/esm/plugins/export-data/ExportDataPlugin.js.map +1 -1
  151. package/esm/plugins/filterable/FilterablePlugin.js.map +1 -1
  152. package/esm/plugins/filterable/addFilterToColumn.js.map +1 -1
  153. package/esm/plugins/filterable/components/FilterableHeader.js.map +1 -1
  154. package/esm/plugins/filterable/components/filterable-menus/DateRangeFilterMenu.js.map +1 -1
  155. package/esm/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.js.map +1 -1
  156. package/esm/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.js.map +1 -1
  157. package/esm/plugins/filterable/components/filterable-menus/TextFilterMenu.js.map +1 -1
  158. package/esm/plugins/filterable/components/filterable-menus/getFilterMenuByType.js.map +1 -1
  159. package/esm/plugins/filterable/filterableFormatter.js.map +1 -1
  160. package/esm/plugins/filterable/filtering-helper/filterRowsByQuery.js.map +1 -1
  161. package/esm/plugins/filterable/filtering-helper/strategiesOperators.js.map +1 -1
  162. package/esm/plugins/filterable/helper.js.map +1 -1
  163. package/esm/plugins/filterable/useFilterableState.js.map +1 -1
  164. package/esm/plugins/grouping-by/GroupingByPlugin.js.map +1 -1
  165. package/esm/plugins/grouping-grid/GroupingPlugin.js.map +1 -1
  166. package/esm/plugins/grouping-grid/walkStrategy.js.map +1 -1
  167. package/esm/plugins/infinite-scrolling/InfiniteScrollPlugin.js.map +1 -1
  168. package/esm/plugins/pagination/PaginationPlugin.js.map +1 -1
  169. package/esm/plugins/pagination/components/Pagination.js.map +1 -1
  170. package/esm/plugins/pagination/components/Paginator.js.map +1 -1
  171. package/esm/plugins/pagination/components/PerPageDropdown.js.map +1 -1
  172. package/esm/plugins/pagination/helper.js.map +1 -1
  173. package/esm/plugins/pagination/usePaginationState.js.map +1 -1
  174. package/esm/plugins/resizable/ResizablePlugin.js.map +1 -1
  175. package/esm/plugins/resizable/decorateResizable.js.map +1 -1
  176. package/esm/plugins/resizable/useResizeHandle.js.map +1 -1
  177. package/esm/plugins/resizable/utils.js.map +1 -1
  178. package/esm/plugins/row-dnd/DndRowsPlugin.js.map +1 -1
  179. package/esm/plugins/selectable/SelectablePlugin.js.map +1 -1
  180. package/esm/plugins/selectable/addSelectableColumn.js.map +1 -1
  181. package/esm/plugins/selectable/helper.js.map +1 -1
  182. package/esm/plugins/selectable/selectableFormatter.js.map +1 -1
  183. package/esm/plugins/selectable/useSelectableState.js.map +1 -1
  184. package/esm/plugins/sortable/SortablePlugin.js.map +1 -1
  185. package/esm/plugins/sortable/checkIfSortable.js.map +1 -1
  186. package/esm/plugins/sortable/sortHeaderFormatter.js.map +1 -1
  187. package/esm/plugins/sortable/sortTree.js.map +1 -1
  188. package/esm/plugins/sortable/sorter.js.map +1 -1
  189. package/esm/plugins/sortable/useSortableState.js.map +1 -1
  190. package/esm/plugins/toolbar/RowRenderer.js.map +1 -1
  191. package/esm/plugins/toolbar/ToolbarPlugin.js.map +1 -1
  192. package/esm/plugins/toolbar/ToolbarTrigger.js.map +1 -1
  193. package/esm/plugins/virtualization/AutoHeightList.js.map +1 -1
  194. package/esm/plugins/virtualization/VirtualizationPlugin.js.map +1 -1
  195. package/esm/plugins/virtualization/VirtualizedBody.js.map +1 -1
  196. package/esm/plugins/virtualization/VirtualizedBodyRow.js.map +1 -1
  197. package/esm/renders/CellWithAddons.js.map +1 -1
  198. package/esm/renders/styled.js.map +1 -1
  199. package/esm/rowSizes.js.map +1 -1
  200. package/esm/utilities/getPluginsFromProps.js.map +1 -1
  201. package/esm/utilities/getScrollbarSize.js.map +1 -1
  202. package/esm/utilities/normalizeData.js.map +1 -1
  203. package/package.json +15 -15
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDateFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Grid from '@elliemae/ds-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';\nimport DSPopper, { PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport moment from 'moment';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst SingleDatePickerContainer = ({ onChange = () => null, showHeader }) => {\n const [date, setDate] = useState('');\n\n const handleDateChange = useCallback(\n (data) => {\n if (!data.includes('_')) onChange(moment(data));\n setDate(data);\n },\n [onChange],\n );\n\n return (\n <div style={{ boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)' }}>\n {showHeader && (\n <Grid p=\"xxs\">\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-inputs\" isClearable />\n </Grid>\n )}\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-picker-controller-only\" />\n </div>\n );\n};\n\nSingleDatePickerContainer.propTypes = {\n onChange: PropTypes.func,\n showHeader: PropTypes.bool,\n};\n\nconst formatDate = (date, format = DEFAULT_DATE_FORMAT) => date.format(format);\n\nfunction SingleDateFilterMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = () => null,\n placement = Position.BOTTOM_END,\n onAddFilter = () => null,\n dateFormatter = formatDate,\n showHeader = false,\n menuProps,\n}) {\n return (\n <DSPopper\n contentComponent={\n <div className={className} data-testid=\"date-single__wrapper\">\n <SingleDatePickerContainer\n minimumNights={0}\n onChange={(date) => {\n const t = date.clone();\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter(date, column.dateFormat),\n type: 'date',\n operator: 'range',\n filterParams: {\n start: date.startOf('day'),\n end: t.endOf('day'),\n },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n },\n column,\n );\n onOpenMenu(false);\n }}\n showHeader={showHeader}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleDateFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport default SingleDateFilterMenu;\n"],"names":["SingleDatePickerContainer","onChange","showHeader","useState","date","setDate","handleDateChange","useCallback","data","includes","moment","boxShadow","propTypes","PropTypes","func","bool","formatDate","format","DEFAULT_DATE_FORMAT","SingleDateFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","t","clone","group","property","label","value","dateFormat","type","operator","filterParams","start","startOf","end","endOf","transformRowValue","zIndex","any","string"],"mappings":"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"}
1
+ {"version":3,"file":"SingleDateFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleDateFilterMenu.tsx"],"sourcesContent":["import React, { useCallback, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport Grid from '@elliemae/ds-grid';\nimport { DSControlledDateTimePicker } from '@elliemae/ds-controlled-form';\nimport DSPopper, { PopperPositions as Position } from '@elliemae/ds-popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-button';\nimport moment from 'moment';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst SingleDatePickerContainer = ({ onChange = () => null, showHeader }) => {\n const [date, setDate] = useState('');\n\n const handleDateChange = useCallback(\n (data) => {\n if (!data.includes('_')) onChange(moment(data));\n setDate(data);\n },\n [onChange],\n );\n\n return (\n <div style={{ boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)' }}>\n {showHeader && (\n <Grid p=\"xxs\">\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-inputs\" isClearable />\n </Grid>\n )}\n <DSControlledDateTimePicker date={date} onDateChange={handleDateChange} type=\"date-picker-controller-only\" />\n </div>\n );\n};\n\nSingleDatePickerContainer.propTypes = {\n onChange: PropTypes.func,\n showHeader: PropTypes.bool,\n};\n\nconst formatDate = (date, format = DEFAULT_DATE_FORMAT) => date.format(format);\n\nfunction SingleDateFilterMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = () => null,\n placement = Position.BOTTOM_END,\n onAddFilter = () => null,\n dateFormatter = formatDate,\n showHeader = false,\n menuProps,\n}) {\n return (\n <DSPopper\n contentComponent={\n <div className={className} data-testid=\"date-single__wrapper\">\n <SingleDatePickerContainer\n minimumNights={0}\n onChange={(date) => {\n const t = date.clone();\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter(date, column.dateFormat),\n type: 'date',\n operator: 'range',\n filterParams: {\n start: date.startOf('day'),\n end: t.endOf('day'),\n },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n },\n column,\n );\n onOpenMenu(false);\n }}\n showHeader={showHeader}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleDateFilterMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n showHeader: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport default SingleDateFilterMenu;\n"],"names":["SingleDatePickerContainer","onChange","showHeader","useState","date","setDate","handleDateChange","useCallback","data","includes","moment","boxShadow","propTypes","PropTypes","func","bool","formatDate","format","DEFAULT_DATE_FORMAT","SingleDateFilterMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","t","clone","group","property","label","value","dateFormat","type","operator","filterParams","start","startOf","end","endOf","transformRowValue","zIndex","any","string"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleRangeSwitcherMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DSControlledDateTimePicker,\n DSControlledDateRangePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-controlled-form';\nimport DSPopper, { PopperPositions as Position } from '@elliemae/ds-basic/Popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport Grid from '@elliemae/ds-grid';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst StyledGridWrapper = styled(Grid)`\n .notCurrentMonth {\n opacity: ${(props) => (props.enableOutsideDays ? '1' : '0')};\n pointer-events: ${(props) => (props.enableOutsideDays ? 'auto' : 'none')};\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\nconst noop = (...args) => {};\n\nconst SingleRangeSwitcherContainer = ({ onChange = noop, enableOutsideDays }) => {\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n\n // For some reason it worked like this\n const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);\n\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n const startMoment = moment(startDate);\n const endMoment = moment(endDate);\n if (\n lastChangeWasPicker &&\n startDate &&\n !startDate.includes('_') &&\n endDate &&\n !endDate.includes('_') &&\n endMoment.diff(startMoment) >= 0\n ) {\n onChange({ startDate: startMoment, endDate: endMoment });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, lastChangeWasPicker]);\n\n return (\n <StyledGridWrapper\n data-testid=\"date-single-range__wrapper\"\n style={{\n backgroundColor: 'white',\n boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',\n width: '261px',\n display: 'grid',\n justifyContent: 'center',\n }}\n cols={['100%']}\n enableOutsideDays={enableOutsideDays}\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\n >\n <Grid gutter=\"xxs\" alignItems=\"center\" p=\"xxs\">\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n />\n <div style={{ width: 'fit-content' }}>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(false);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(false);\n }}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(false);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </div>\n </Grid>\n <Grid>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(true);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(true);\n }}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(true);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </StyledGridWrapper>\n );\n};\n\nSingleRangeSwitcherContainer.propTypes = {\n onChange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n};\n\nconst formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {\n const sameDay = startDate.isSame(endDate, 'day');\n if (sameDay) return `${endDate.format(format)}`;\n return `${startDate.format(format)} - ${endDate.format(format)}`;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction SingleRangeSwitcherMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = noop,\n placement = Position.BOTTOM_END,\n onAddFilter = noop,\n dateFormatter = formatRangeDate,\n enableOutsideDays = true,\n menuProps,\n}): JSX.Element {\n return (\n <DSPopper\n contentComponent={\n <div className={className}>\n <SingleRangeSwitcherContainer\n enableOutsideDays={enableOutsideDays}\n onChange={({ startDate, endDate }) => {\n startDate.startOf('day');\n endDate.endOf('day');\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter({ startDate, endDate }, column.format),\n type: 'date', // todo: create constants for filter types\n filterParams: { start: startDate, end: endDate },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n operator: 'range',\n },\n column,\n );\n onOpenMenu(false);\n }}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleRangeSwitcherMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n enableOutsideDays: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport default SingleRangeSwitcherMenu;\n"],"names":["StyledGridWrapper","styled","Grid","props","enableOutsideDays","noop","SingleRangeSwitcherContainer","onChange","useState","startDate","setStartDate","endDate","setEndDate","lastChangeWasPicker","setLastChangeWasPicker","isDateRange","setIsDateRange","useEffect","startMoment","moment","endMoment","includes","diff","backgroundColor","boxShadow","width","display","justifyContent","e","code","_start","_end","_date","propTypes","PropTypes","func","bool","formatRangeDate","format","DEFAULT_DATE_FORMAT","sameDay","isSame","SingleRangeSwitcherMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","startOf","endOf","group","property","label","value","type","filterParams","start","end","transformRowValue","dateFormat","operator","zIndex","any","string"],"mappings":";;;;;;;;;;;;AAgBA,IAAMA,iBAAiB,gBAAGC,MAAM,CAACC,IAAD,CAAT;AAAA;AAAA,4DAER,UAACC,KAAD;AAAA,SAAYA,KAAK,CAACC,iBAAN,GAA0B,GAA1B,GAAgC,GAA5C;AAAA,CAFQ,EAGD,UAACD,KAAD;AAAA,SAAYA,KAAK,CAACC,iBAAN,GAA0B,MAA1B,GAAmC,MAA/C;AAAA,CAHC,CAAvB;;AAQA,IAAMC,IAAI,GAAG,SAAPA,IAAO,GAAa,EAA1B;;AAEA,IAAMC,4BAA4B,GAAG,SAA/BA,4BAA+B,OAA4C;AAAA,2BAAzCC,QAAyC;AAAA,MAAzCA,QAAyC,8BAA9BF,IAA8B;AAAA,MAAxBD,iBAAwB,QAAxBA,iBAAwB;;AAC/E,kBAAkCI,QAAQ,CAAC,EAAD,CAA1C;AAAA;AAAA,MAAOC,SAAP;AAAA,MAAkBC,YAAlB;;AACA,mBAA8BF,QAAQ,CAAC,EAAD,CAAtC;AAAA;AAAA,MAAOG,OAAP;AAAA,MAAgBC,UAAhB,iBAF+E;;;AAK/E,mBAAsDJ,QAAQ,CAAC,KAAD,CAA9D;AAAA;AAAA,MAAOK,mBAAP;AAAA,MAA4BC,sBAA5B;;AAEA,mBAAsCN,QAAQ,CAAC,KAAD,CAA9C;AAAA;AAAA,MAAOO,WAAP;AAAA,MAAoBC,cAApB;;AAEAC,EAAAA,SAAS,CAAC,YAAM;AACd,QAAMC,WAAW,GAAGC,MAAM,CAACV,SAAD,CAA1B;AACA,QAAMW,SAAS,GAAGD,MAAM,CAACR,OAAD,CAAxB;;AACA,QACEE,mBAAmB,IACnBJ,SADA,IAEA,CAACA,SAAS,CAACY,QAAV,CAAmB,GAAnB,CAFD,IAGAV,OAHA,IAIA,CAACA,OAAO,CAACU,QAAR,CAAiB,GAAjB,CAJD,IAKAD,SAAS,CAACE,IAAV,CAAeJ,WAAf,KAA+B,CANjC,EAOE;AACAX,MAAAA,QAAQ,CAAC;AAAEE,QAAAA,SAAS,EAAES,WAAb;AAA0BP,QAAAA,OAAO,EAAES;AAAnC,OAAD,CAAR;AACD,KAZa;;AAcf,GAdQ,EAcN,CAACX,SAAD,EAAYE,OAAZ,EAAqBE,mBAArB,CAdM,CAAT;AAgBA,sBACE,oBAAC,iBAAD;AACE,mBAAY,4BADd;AAEE,IAAA,KAAK,EAAE;AACLU,MAAAA,eAAe,EAAE,OADZ;AAELC,MAAAA,SAAS,EAAE,+BAFN;AAGLC,MAAAA,KAAK,EAAE,OAHF;AAILC,MAAAA,OAAO,EAAE,MAJJ;AAKLC,MAAAA,cAAc,EAAE;AALX,KAFT;AASE,IAAA,IAAI,EAAE,CAAC,MAAD,CATR;AAUE,IAAA,iBAAiB,EAAEvB,iBAVrB;AAWE,IAAA,SAAS,EAAE,mBAACwB,CAAD;AAAA,aAAOA,CAAC,CAACC,IAAF,KAAW,OAAX,IAAsBf,sBAAsB,CAAC,IAAD,CAAnD;AAAA;AAXb,kBAaE,oBAAC,IAAD;AAAM,IAAA,MAAM,EAAC,KAAb;AAAmB,IAAA,UAAU,EAAC,QAA9B;AAAuC,IAAA,CAAC,EAAC;AAAzC,kBACE,oBAAC,oBAAD;AACE,IAAA,OAAO,EAAEC,WADX;AAEE,IAAA,IAAI,EAAC,YAFP;AAGE,IAAA,KAAK,EAAC,OAHR;AAIE,IAAA,EAAE,EAAC,iCAJL;AAKE,IAAA,QAAQ,EAAE,oBAAM;AACdC,MAAAA,cAAc,CAAC,CAACD,WAAF,CAAd;AACAL,MAAAA,YAAY,CAAC,EAAD,CAAZ;AACAE,MAAAA,UAAU,CAAC,EAAD,CAAV;AACD;AATH,IADF,eAYE;AAAK,IAAA,KAAK,EAAE;AAAEa,MAAAA,KAAK,EAAE;AAAT;AAAZ,KACGV,WAAW,gBACV,oBAAC,2BAAD;AACE,IAAA,QAAQ,EAAEN,SADZ;AAEE,IAAA,gBAAgB,EAAE,0BAACqB,MAAD,EAAY;AAC5BpB,MAAAA,YAAY,CAACoB,MAAD,CAAZ;AACAhB,MAAAA,sBAAsB,CAAC,KAAD,CAAtB;AACD,KALH;AAME,IAAA,MAAM,EAAEH,OANV;AAOE,IAAA,cAAc,EAAE,wBAACoB,IAAD,EAAU;AACxBnB,MAAAA,UAAU,CAACmB,IAAD,CAAV;AACAjB,MAAAA,sBAAsB,CAAC,KAAD,CAAtB;AACD,KAVH;AAWE,IAAA,IAAI,EAAC;AAXP,IADU,gBAeV,oBAAC,0BAAD;AACE,IAAA,IAAI,EAAEL,SADR;AAEE,IAAA,YAAY,EAAE,sBAACuB,KAAD,EAAW;AACvBlB,MAAAA,sBAAsB,CAAC,KAAD,CAAtB;AACAJ,MAAAA,YAAY,CAACsB,KAAD,CAAZ;AACApB,MAAAA,UAAU,CAACoB,KAAD,CAAV;AACD,KANH;AAOE,IAAA,IAAI,EAAC;AAPP,IAhBJ,CAZF,CAbF,eAqDE,oBAAC,IAAD,QACGjB,WAAW,gBACV,oBAAC,2BAAD;AACE,IAAA,QAAQ,EAAEN,SADZ;AAEE,IAAA,gBAAgB,EAAE,0BAACqB,MAAD,EAAY;AAC5BpB,MAAAA,YAAY,CAACoB,MAAD,CAAZ;AACAhB,MAAAA,sBAAsB,CAAC,IAAD,CAAtB;AACD,KALH;AAME,IAAA,MAAM,EAAEH,OANV;AAOE,IAAA,cAAc,EAAE,wBAACoB,IAAD,EAAU;AACxBnB,MAAAA,UAAU,CAACmB,IAAD,CAAV;AACAjB,MAAAA,sBAAsB,CAAC,IAAD,CAAtB;AACD,KAVH;AAWE,IAAA,IAAI,EAAC;AAXP,IADU,gBAeV,oBAAC,0BAAD;AACE,IAAA,IAAI,EAAEL,SADR;AAEE,IAAA,YAAY,EAAE,sBAACuB,KAAD,EAAW;AACvBlB,MAAAA,sBAAsB,CAAC,IAAD,CAAtB;AACAJ,MAAAA,YAAY,CAACsB,KAAD,CAAZ;AACApB,MAAAA,UAAU,CAACoB,KAAD,CAAV;AACD,KANH;AAOE,IAAA,IAAI,EAAC;AAPP,IAhBJ,CArDF,CADF;AAmFD,CA5GD;;AA8GA1B,4BAA4B,CAAC2B,SAA7B,GAAyC;AACvC1B,EAAAA,QAAQ,EAAE2B,SAAS,CAACC,IADmB;AAEvC/B,EAAAA,iBAAiB,EAAE8B,SAAS,CAACE;AAFU,CAAzC;;AAKA,IAAMC,eAAe,GAAG,SAAlBA,eAAkB,QAA0D;AAAA,MAAvD5B,SAAuD,SAAvDA,SAAuD;AAAA,MAA5CE,OAA4C,SAA5CA,OAA4C;AAAA,MAAjC2B,MAAiC,uEAAxBC,mBAAwB;AAChF,MAAMC,OAAO,GAAG/B,SAAS,CAACgC,MAAV,CAAiB9B,OAAjB,EAA0B,KAA1B,CAAhB;AACA,MAAI6B,OAAJ,EAAa,iBAAU7B,OAAO,CAAC2B,MAAR,CAAeA,MAAf,CAAV;AACb,mBAAU7B,SAAS,CAAC6B,MAAV,CAAiBA,MAAjB,CAAV,gBAAwC3B,OAAO,CAAC2B,MAAR,CAAeA,MAAf,CAAxC;AACD,CAJD;;;AAOA,SAASI,uBAAT,QAUgB;AAAA,MATdC,MASc,SATdA,MASc;AAAA,MARdC,SAQc,SARdA,SAQc;AAAA,iCAPdC,YAOc;AAAA,MAPdA,YAOc,mCAPC,KAOD;AAAA,+BANdC,UAMc;AAAA,MANdA,UAMc,iCANDzC,IAMC;AAAA,8BALd0C,SAKc;AAAA,MALdA,SAKc,gCALFC,eAAQ,CAACC,UAKP;AAAA,gCAJdC,WAIc;AAAA,MAJdA,WAIc,kCAJA7C,IAIA;AAAA,kCAHd8C,aAGc;AAAA,MAHdA,aAGc,oCAHEd,eAGF;AAAA,oCAFdjC,iBAEc;AAAA,MAFdA,iBAEc,sCAFM,IAEN;AAAA,MADdgD,SACc,SADdA,SACc;AACd,sBACE,oBAAC,QAAD;AACE,IAAA,gBAAgB,eACd;AAAK,MAAA,SAAS,EAAER;AAAhB,oBACE,oBAAC,4BAAD;AACE,MAAA,iBAAiB,EAAExC,iBADrB;AAEE,MAAA,QAAQ,EAAE,yBAA4B;AAAA,YAAzBK,SAAyB,SAAzBA,SAAyB;AAAA,YAAdE,OAAc,SAAdA,OAAc;AACpCF,QAAAA,SAAS,CAAC4C,OAAV,CAAkB,KAAlB;AACA1C,QAAAA,OAAO,CAAC2C,KAAR,CAAc,KAAd;AACAJ,QAAAA,WAAW,CACT;AACEK,UAAAA,KAAK,EAAEZ,MAAM,CAACa,QADhB;AAEEC,UAAAA,KAAK,EAAEd,MAAM,CAACc,KAFhB;AAGEC,UAAAA,KAAK,EAAEP,aAAa,CAAC;AAAE1C,YAAAA,SAAS,EAATA,SAAF;AAAaE,YAAAA,OAAO,EAAPA;AAAb,WAAD,EAAyBgC,MAAM,CAACL,MAAhC,CAHtB;AAIEqB,UAAAA,IAAI,EAAE,MAJR;AAIgB;AACdC,UAAAA,YAAY,EAAE;AAAEC,YAAAA,KAAK,EAAEpD,SAAT;AAAoBqD,YAAAA,GAAG,EAAEnD;AAAzB,WALhB;AAMEoD,UAAAA,iBAAiB,EAAE,2BAACL,KAAD;AAAA,mBAAWvC,MAAM,CAACuC,KAAD,EAAQf,MAAM,CAACqB,UAAP,IAAqBzB,mBAA7B,CAAjB;AAAA,WANrB;AAOE0B,UAAAA,QAAQ,EAAE;AAPZ,SADS,EAUTtB,MAVS,CAAX;AAYAG,QAAAA,UAAU,CAAC,KAAD,CAAV;AACD;AAlBH,MADF,CAFJ;AAyBE,IAAA,MAAM,EAAED,YAzBV;AA0BE,IAAA,MAAM,EAAEC,UA1BV;AA2BE,IAAA,SAAS,EAAEC,SA3Bb;AA4BE,IAAA,SAAS,EAAE,KA5Bb;AA6BE,IAAA,gBAAgB,eACd,oBAAC,QAAD;AACE,MAAA,UAAU,EAAC,MADb;AAEE,MAAA,IAAI,eAAE,oBAAC,WAAD,OAFR;AAGE,MAAA,OAAO,EAAE;AAAA,eAAO,CAACF,YAAD,GAAgBC,UAAU,CAAC,IAAD,CAA1B,GAAmCA,UAAU,CAAC,KAAD,CAApD;AAAA,OAHX;AAIE,MAAA,IAAI,EAAC;AAJP,MA9BJ;AAqCE,IAAA,MAAM,EAAEM,SAAS,CAACc;AArCpB,IADF;AAyCD;;AAEDxB,uBAAuB,CAACT,SAAxB,GAAoC;AAClCU,EAAAA,MAAM,EAAET,SAAS,CAACiC,GADgB;AAElCvB,EAAAA,SAAS,EAAEV,SAAS,CAACkC,MAFa;AAGlCvB,EAAAA,YAAY,EAAEX,SAAS,CAACE,IAHU;AAIlCU,EAAAA,UAAU,EAAEZ,SAAS,CAACC,IAJY;AAKlCY,EAAAA,SAAS,EAAEb,SAAS,CAACkC,MALa;AAMlClB,EAAAA,WAAW,EAAEhB,SAAS,CAACC,IANW;AAOlCgB,EAAAA,aAAa,EAAEjB,SAAS,CAACiC,GAPS;AAQlC/D,EAAAA,iBAAiB,EAAE8B,SAAS,CAACE,IARK;AASlCgB,EAAAA,SAAS,EAAElB,SAAS,CAACiC;AATa,CAApC;;;;"}
1
+ {"version":3,"file":"SingleRangeSwitcherMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/SingleRangeSwitcherMenu.tsx"],"sourcesContent":["/* eslint-disable max-lines */\nimport React, { useEffect, useState } from 'react';\nimport PropTypes from 'prop-types';\nimport {\n DSControlledDateTimePicker,\n DSControlledDateRangePicker,\n DSControlledCheckbox,\n} from '@elliemae/ds-controlled-form';\nimport DSPopper, { PopperPositions as Position } from '@elliemae/ds-basic/Popper';\nimport { DatePicker2 } from '@elliemae/ds-icons';\nimport DSButton from '@elliemae/ds-basic/Button';\nimport Grid from '@elliemae/ds-grid';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { DEFAULT_DATE_FORMAT } from './defaultDateFormat';\n\nconst StyledGridWrapper = styled(Grid)`\n .notCurrentMonth {\n opacity: ${(props) => (props.enableOutsideDays ? '1' : '0')};\n pointer-events: ${(props) => (props.enableOutsideDays ? 'auto' : 'none')};\n }\n`;\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function\nconst noop = (...args) => {};\n\nconst SingleRangeSwitcherContainer = ({ onChange = noop, enableOutsideDays }) => {\n const [startDate, setStartDate] = useState('');\n const [endDate, setEndDate] = useState('');\n\n // For some reason it worked like this\n const [lastChangeWasPicker, setLastChangeWasPicker] = useState(false);\n\n const [isDateRange, setIsDateRange] = useState(false);\n\n useEffect(() => {\n const startMoment = moment(startDate);\n const endMoment = moment(endDate);\n if (\n lastChangeWasPicker &&\n startDate &&\n !startDate.includes('_') &&\n endDate &&\n !endDate.includes('_') &&\n endMoment.diff(startMoment) >= 0\n ) {\n onChange({ startDate: startMoment, endDate: endMoment });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [startDate, endDate, lastChangeWasPicker]);\n\n return (\n <StyledGridWrapper\n data-testid=\"date-single-range__wrapper\"\n style={{\n backgroundColor: 'white',\n boxShadow: '0 6px 20px 0 rgb(0 0 0 / 24%)',\n width: '261px',\n display: 'grid',\n justifyContent: 'center',\n }}\n cols={['100%']}\n enableOutsideDays={enableOutsideDays}\n onKeyDown={(e) => e.code === 'Enter' && setLastChangeWasPicker(true)}\n >\n <Grid gutter=\"xxs\" alignItems=\"center\" p=\"xxs\">\n <DSControlledCheckbox\n checked={isDateRange}\n name=\"Date range\"\n label=\"Range\"\n id=\"date-range-switcher-id-internal\"\n onChange={() => {\n setIsDateRange(!isDateRange);\n setStartDate('');\n setEndDate('');\n }}\n />\n <div style={{ width: 'fit-content' }}>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(false);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(false);\n }}\n type=\"date-range-inputs\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(false);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-inputs\"\n />\n )}\n </div>\n </Grid>\n <Grid>\n {isDateRange ? (\n <DSControlledDateRangePicker\n fromDate={startDate}\n onFromDateChange={(_start) => {\n setStartDate(_start);\n setLastChangeWasPicker(true);\n }}\n toDate={endDate}\n onToDateChange={(_end) => {\n setEndDate(_end);\n setLastChangeWasPicker(true);\n }}\n type=\"date-range-picker-controller-only\"\n />\n ) : (\n <DSControlledDateTimePicker\n date={startDate}\n onDateChange={(_date) => {\n setLastChangeWasPicker(true);\n setStartDate(_date);\n setEndDate(_date);\n }}\n type=\"date-picker-controller-only\"\n />\n )}\n </Grid>\n </StyledGridWrapper>\n );\n};\n\nSingleRangeSwitcherContainer.propTypes = {\n onChange: PropTypes.func,\n enableOutsideDays: PropTypes.bool,\n};\n\nconst formatRangeDate = ({ startDate, endDate }, format = DEFAULT_DATE_FORMAT) => {\n const sameDay = startDate.isSame(endDate, 'day');\n if (sameDay) return `${endDate.format(format)}`;\n return `${startDate.format(format)} - ${endDate.format(format)}`;\n};\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction SingleRangeSwitcherMenu({\n column,\n className,\n isMenuOpened = false,\n onOpenMenu = noop,\n placement = Position.BOTTOM_END,\n onAddFilter = noop,\n dateFormatter = formatRangeDate,\n enableOutsideDays = true,\n menuProps,\n}): JSX.Element {\n return (\n <DSPopper\n contentComponent={\n <div className={className}>\n <SingleRangeSwitcherContainer\n enableOutsideDays={enableOutsideDays}\n onChange={({ startDate, endDate }) => {\n startDate.startOf('day');\n endDate.endOf('day');\n onAddFilter(\n {\n group: column.property,\n label: column.label,\n value: dateFormatter({ startDate, endDate }, column.format),\n type: 'date', // todo: create constants for filter types\n filterParams: { start: startDate, end: endDate },\n transformRowValue: (value) => moment(value, column.dateFormat || DEFAULT_DATE_FORMAT),\n operator: 'range',\n },\n column,\n );\n onOpenMenu(false);\n }}\n />\n </div>\n }\n isOpen={isMenuOpened}\n onOpen={onOpenMenu}\n placement={placement}\n showArrow={false}\n triggerComponent={\n <DSButton\n buttonType=\"text\"\n icon={<DatePicker2 />}\n onClick={() => (!isMenuOpened ? onOpenMenu(true) : onOpenMenu(false))}\n size=\"s\"\n />\n }\n zIndex={menuProps.zIndex}\n />\n );\n}\n\nSingleRangeSwitcherMenu.propTypes = {\n column: PropTypes.any,\n className: PropTypes.string,\n isMenuOpened: PropTypes.bool,\n onOpenMenu: PropTypes.func,\n placement: PropTypes.string,\n onAddFilter: PropTypes.func,\n dateFormatter: PropTypes.any,\n enableOutsideDays: PropTypes.bool,\n menuProps: PropTypes.any,\n};\n\nexport default SingleRangeSwitcherMenu;\n"],"names":["StyledGridWrapper","styled","Grid","props","enableOutsideDays","noop","SingleRangeSwitcherContainer","onChange","useState","startDate","setStartDate","endDate","setEndDate","lastChangeWasPicker","setLastChangeWasPicker","isDateRange","setIsDateRange","useEffect","startMoment","moment","endMoment","includes","diff","backgroundColor","boxShadow","width","display","justifyContent","e","code","_start","_end","_date","propTypes","PropTypes","func","bool","formatRangeDate","format","DEFAULT_DATE_FORMAT","sameDay","isSame","SingleRangeSwitcherMenu","column","className","isMenuOpened","onOpenMenu","placement","Position","BOTTOM_END","onAddFilter","dateFormatter","menuProps","startOf","endOf","group","property","label","value","type","filterParams","start","end","transformRowValue","dateFormat","operator","zIndex","any","string"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"TextFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/TextFilterMenu.tsx"],"sourcesContent":["/* 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 default TextFilterMenu;\n"],"names":["TextFilterMenu","column","menuStyle","className","filters","isMenuOpened","onOpenMenu","onClose","placement","Position","BOTTOM_END","menuProps","onAddFilter","onRemoveFilter","maxOptions","isMulti","options","otherMenuProps","generateOption","option","idx","label","id","renderOptions","arr","map","filtersForColumn","filter","f","group","property","initialSelectedOptions","value","useState","selected","setSelected","React","useEffect","filtersForColumn2","filterGroup","searchBy","onCloseMulti","nextFilters","shouldRemove","forEach","item","includes","push","pill","removedFilter","operator","transformRowValue","valueTransformation","newValues","dropdownFilterOptions","filterMenuMaxWidth","filterMenuMinWidth","selectedValue","compact","propTypes","PropTypes","any","shape","string","arrayOf","bool","func","number"],"mappings":"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"}
1
+ {"version":3,"file":"TextFilterMenu.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/TextFilterMenu.tsx"],"sourcesContent":["/* 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 default TextFilterMenu;\n"],"names":["TextFilterMenu","column","menuStyle","className","filters","isMenuOpened","onOpenMenu","onClose","placement","Position","BOTTOM_END","menuProps","onAddFilter","onRemoveFilter","maxOptions","isMulti","options","otherMenuProps","generateOption","option","idx","label","id","renderOptions","arr","map","filtersForColumn","filter","f","group","property","initialSelectedOptions","value","useState","selected","setSelected","React","useEffect","filtersForColumn2","filterGroup","searchBy","onCloseMulti","nextFilters","shouldRemove","forEach","item","includes","push","pill","removedFilter","operator","transformRowValue","valueTransformation","newValues","dropdownFilterOptions","filterMenuMaxWidth","filterMenuMinWidth","selectedValue","compact","propTypes","PropTypes","any","shape","string","arrayOf","bool","func","number"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"getFilterMenuByType.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/getFilterMenuByType.tsx"],"sourcesContent":["import DateRangeFilterMenu from './DateRangeFilterMenu';\nimport SingleDateFilterMenu from './SingleDateFilterMenu'; // implement\nimport SingleRangeDateSwitcher from './SingleRangeSwitcherMenu'; // implement\nimport TextFilterMenu from './TextFilterMenu';\n\nconst ComponentTypes = {\n 'date-range': DateRangeFilterMenu,\n 'single-date': SingleDateFilterMenu,\n 'date-switcher': SingleRangeDateSwitcher,\n string: TextFilterMenu,\n};\n\nexport default function getFilterMenuByType(type) {\n return ComponentTypes[type] || ComponentTypes.string;\n}\n"],"names":["ComponentTypes","DateRangeFilterMenu","SingleDateFilterMenu","SingleRangeDateSwitcher","string","TextFilterMenu","getFilterMenuByType","type"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,cAAc,GAAG;AACrB,gBAAcC,mBADO;AAErB,iBAAeC,oBAFM;AAGrB,mBAAiBC,uBAHI;AAIrBC,EAAAA,MAAM,EAAEC;AAJa,CAAvB;AAOe,SAASC,mBAAT,CAA6BC,IAA7B,EAAmC;AAChD,SAAOP,cAAc,CAACO,IAAD,CAAd,IAAwBP,cAAc,CAACI,MAA9C;AACD;;;;"}
1
+ {"version":3,"file":"getFilterMenuByType.js","sources":["../../../../../../src/plugins/filterable/components/filterable-menus/getFilterMenuByType.tsx"],"sourcesContent":["import DateRangeFilterMenu from './DateRangeFilterMenu';\nimport SingleDateFilterMenu from './SingleDateFilterMenu'; // implement\nimport SingleRangeDateSwitcher from './SingleRangeSwitcherMenu'; // implement\nimport TextFilterMenu from './TextFilterMenu';\n\nconst ComponentTypes = {\n 'date-range': DateRangeFilterMenu,\n 'single-date': SingleDateFilterMenu,\n 'date-switcher': SingleRangeDateSwitcher,\n string: TextFilterMenu,\n};\n\nexport default function getFilterMenuByType(type) {\n return ComponentTypes[type] || ComponentTypes.string;\n}\n"],"names":["ComponentTypes","DateRangeFilterMenu","SingleDateFilterMenu","SingleRangeDateSwitcher","string","TextFilterMenu","getFilterMenuByType","type"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAKA,IAAMA,cAAc,GAAG;EACrB,cAAcC,mBADO;EAErB,eAAeC,oBAFM;EAGrB,iBAAiBC,uBAHI;EAIrBC,MAAM,EAAEC;AAJa,CAAvB;AAOe,SAASC,mBAAT,CAA6BC,IAA7B,EAAmC;EAChD,OAAOP,cAAc,CAACO,IAAD,CAAd,IAAwBP,cAAc,CAACI,MAA9C;AACD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"filterableFormatter.js","sources":["../../../../src/plugins/filterable/filterableFormatter.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport FilterableHeader from './components/FilterableHeader';\nimport { getFilterLabels, getFilterLabelsGroup } from './helper';\n\nfunction FilterableFormatter({\n grid,\n onAddFilter,\n onRemoveFilter,\n query,\n filterMenuRef,\n}) {\n return (value, { column }) => {\n const {\n rows,\n composedRows,\n props: { groupedRows, groupedBy, onFilterMenuClose, onFilterMenuOpen },\n state: { filters },\n } = grid.getInstance();\n\n let rowsToUse = composedRows;\n if (column.filter && column.filter.isMulti) {\n rowsToUse = rows;\n }\n\n const filteredLabels =\n groupedRows && !groupedBy\n ? getFilterLabelsGroup(column, rows, query)\n : getFilterLabels(column, rowsToUse.rows || rowsToUse, query);\n\n const columnData = column.filterOptions || filteredLabels;\n return (\n <FilterableHeader\n column={column}\n columnData={columnData}\n filters={filters}\n filterMenuRef={filterMenuRef}\n onAddFilter={onAddFilter}\n onFilterMenuClose={onFilterMenuClose}\n onFilterMenuOpen={onFilterMenuOpen}\n onRemoveFilter={onRemoveFilter}\n isMulti={column.filter && column.filter.isMulti}\n value={value}\n />\n );\n };\n}\n\nexport default FilterableFormatter;\n"],"names":["FilterableFormatter","grid","onAddFilter","onRemoveFilter","query","filterMenuRef","value","column","getInstance","rows","composedRows","props","groupedRows","groupedBy","onFilterMenuClose","onFilterMenuOpen","filters","state","rowsToUse","filter","isMulti","filteredLabels","getFilterLabelsGroup","getFilterLabels","columnData","filterOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA,SAASA,mBAAT,OAMG;AAAA,MALDC,IAKC,QALDA,IAKC;AAAA,MAJDC,WAIC,QAJDA,WAIC;AAAA,MAHDC,cAGC,QAHDA,cAGC;AAAA,WAFDC,KAEC;AAAA,UADDC,aACC,QADDA;AAEA,SAAO,UAACC,KAAD,SAAuB;AAAA,QAAbC,MAAa,SAAbA,MAAa;;AAC5B,4BAKIN,IAAI,CAACO,WAAL,EALJ;AAAA,QACEC,IADF,qBACEA,IADF;AAAA,QAEEC,YAFF,qBAEEA,YAFF;AAAA,kDAGEC,KAHF;AAAA,QAGWC,WAHX,yBAGWA,WAHX;AAAA,QAGwBC,SAHxB,yBAGwBA,SAHxB;AAAA,QAGmCC,iBAHnC,yBAGmCA,iBAHnC;AAAA,QAGsDC,gBAHtD,yBAGsDA,gBAHtD;AAAA,QAIWC,OAJX,qBAIEC,KAJF,CAIWD,OAJX;;AAOA,QAAIE,SAAS,GAAGR,YAAhB;;AACA,QAAIH,MAAM,CAACY,MAAP,IAAiBZ,MAAM,CAACY,MAAP,CAAcC,OAAnC,EAA4C;AAC1CF,MAAAA,SAAS,GAAGT,IAAZ;AACD;;AAED,QAAMY,cAAc,GAClBT,WAAW,IAAI,CAACC,SAAhB,GACIS,oBAAoB,CAACf,MAAD,EAASE,IAAT,CADxB,GAEIc,eAAe,CAAChB,MAAD,EAASW,SAAS,CAACT,IAAV,IAAkBS,SAA3B,CAHrB;AAKA,QAAMM,UAAU,GAAGjB,MAAM,CAACkB,aAAP,IAAwBJ,cAA3C;AACA,wBACE,oBAAC,gBAAD;AACE,MAAA,MAAM,EAAEd,MADV;AAEE,MAAA,UAAU,EAAEiB,UAFd;AAGE,MAAA,OAAO,EAAER,OAHX;AAIE,MAAA,aAAa,EAAEX,aAJjB;AAKE,MAAA,WAAW,EAAEH,WALf;AAME,MAAA,iBAAiB,EAAEY,iBANrB;AAOE,MAAA,gBAAgB,EAAEC,gBAPpB;AAQE,MAAA,cAAc,EAAEZ,cARlB;AASE,MAAA,OAAO,EAAEI,MAAM,CAACY,MAAP,IAAiBZ,MAAM,CAACY,MAAP,CAAcC,OAT1C;AAUE,MAAA,KAAK,EAAEd;AAVT,MADF;AAcD,GAjCD;AAkCD;;;;"}
1
+ {"version":3,"file":"filterableFormatter.js","sources":["../../../../src/plugins/filterable/filterableFormatter.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React from 'react';\nimport FilterableHeader from './components/FilterableHeader';\nimport { getFilterLabels, getFilterLabelsGroup } from './helper';\n\nfunction FilterableFormatter({\n grid,\n onAddFilter,\n onRemoveFilter,\n query,\n filterMenuRef,\n}) {\n return (value, { column }) => {\n const {\n rows,\n composedRows,\n props: { groupedRows, groupedBy, onFilterMenuClose, onFilterMenuOpen },\n state: { filters },\n } = grid.getInstance();\n\n let rowsToUse = composedRows;\n if (column.filter && column.filter.isMulti) {\n rowsToUse = rows;\n }\n\n const filteredLabels =\n groupedRows && !groupedBy\n ? getFilterLabelsGroup(column, rows, query)\n : getFilterLabels(column, rowsToUse.rows || rowsToUse, query);\n\n const columnData = column.filterOptions || filteredLabels;\n return (\n <FilterableHeader\n column={column}\n columnData={columnData}\n filters={filters}\n filterMenuRef={filterMenuRef}\n onAddFilter={onAddFilter}\n onFilterMenuClose={onFilterMenuClose}\n onFilterMenuOpen={onFilterMenuOpen}\n onRemoveFilter={onRemoveFilter}\n isMulti={column.filter && column.filter.isMulti}\n value={value}\n />\n );\n };\n}\n\nexport default FilterableFormatter;\n"],"names":["FilterableFormatter","grid","onAddFilter","onRemoveFilter","query","filterMenuRef","value","column","getInstance","rows","composedRows","props","groupedRows","groupedBy","onFilterMenuClose","onFilterMenuOpen","filters","state","rowsToUse","filter","isMulti","filteredLabels","getFilterLabelsGroup","getFilterLabels","columnData","filterOptions"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;AAKA,SAASA,mBAAT,OAMG;MALDC,IAKC,QALDA,IAKC;MAJDC,WAIC,QAJDA,WAIC;MAHDC,cAGC,QAHDA,cAGC;WAFDC,KAEC;UADDC,aACC,QADDA;EAEA,OAAO,UAACC,KAAD,SAAuB;IAAA,IAAbC,MAAa,SAAbA,MAAa;;IAC5B,wBAKIN,IAAI,CAACO,WAAL,EALJ;QACEC,IADF,qBACEA,IADF;QAEEC,YAFF,qBAEEA,YAFF;kDAGEC,KAHF;QAGWC,WAHX,yBAGWA,WAHX;QAGwBC,SAHxB,yBAGwBA,SAHxB;QAGmCC,iBAHnC,yBAGmCA,iBAHnC;QAGsDC,gBAHtD,yBAGsDA,gBAHtD;QAIWC,OAJX,qBAIEC,KAJF,CAIWD,OAJX;;IAOA,IAAIE,SAAS,GAAGR,YAAhB;;IACA,IAAIH,MAAM,CAACY,MAAP,IAAiBZ,MAAM,CAACY,MAAP,CAAcC,OAAnC,EAA4C;MAC1CF,SAAS,GAAGT,IAAZ;;;IAGF,IAAMY,cAAc,GAClBT,WAAW,IAAI,CAACC,SAAhB,GACIS,oBAAoB,CAACf,MAAD,EAASE,IAAT,CADxB,GAEIc,eAAe,CAAChB,MAAD,EAASW,SAAS,CAACT,IAAV,IAAkBS,SAA3B,CAHrB;IAKA,IAAMM,UAAU,GAAGjB,MAAM,CAACkB,aAAP,IAAwBJ,cAA3C;IACA,oBACE,oBAAC,gBAAD;MACE,MAAM,EAAEd,MADV;MAEE,UAAU,EAAEiB,UAFd;MAGE,OAAO,EAAER,OAHX;MAIE,aAAa,EAAEX,aAJjB;MAKE,WAAW,EAAEH,WALf;MAME,iBAAiB,EAAEY,iBANrB;MAOE,gBAAgB,EAAEC,gBAPpB;MAQE,cAAc,EAAEZ,cARlB;MASE,OAAO,EAAEI,MAAM,CAACY,MAAP,IAAiBZ,MAAM,CAACY,MAAP,CAAcC,OAT1C;MAUE,KAAK,EAAEd;MAXX;GAnBF;AAkCD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"filterRowsByQuery.js","sources":["../../../../../src/plugins/filterable/filtering-helper/filterRowsByQuery.tsx"],"sourcesContent":["import { isFunction } from '@elliemae/ds-utilities';\nimport strategiesOperators from './strategiesOperators';\n\nconst getRuleStrategyOperator = rule =>\n rule.strategy || strategiesOperators(rule.operator);\n\nconst executeFilterStrategy = (rule, row) => {\n const { value, field, transform, transformRowValue } = rule;\n if (field === 'all')\n return Object.values(row).some(colValue =>\n strategiesOperators('contains')(colValue, value),\n );\n const rowValue = row[field];\n const transformedValue = isFunction(transform) ? transform(value) : value;\n const transformedRowValue = isFunction(transformRowValue)\n ? transformRowValue(rowValue)\n : rowValue;\n\n const filterStrategy = getRuleStrategyOperator(rule);\n return filterStrategy(transformedRowValue, transformedValue);\n};\n\nconst filterByRules = (rules, condition = 'AND') => 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 (\n !parentRow.isGroup &&\n filterByRules(query.rules, query.condition)(parentRow.data)\n ) {\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 default function filterRowsByQuery(rows, query) {\n return rows.filter(filterByRules(query.rules, query.condition));\n}\n"],"names":["getRuleStrategyOperator","rule","strategy","strategiesOperators","operator","executeFilterStrategy","row","value","field","transform","transformRowValue","Object","values","some","colValue","rowValue","transformedValue","isFunction","transformedRowValue","filterStrategy","filterByRules","rules","condition","reduce","isFiltered","length","filterRowsByQueryGroup","rows","query","composedRows","newRows","parentMap","forEach","parentRow","isGroup","push","_filtered","data","parentNode","id","filter","r","filterRowsByQuery"],"mappings":"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"}
1
+ {"version":3,"file":"filterRowsByQuery.js","sources":["../../../../../src/plugins/filterable/filtering-helper/filterRowsByQuery.tsx"],"sourcesContent":["import { isFunction } from '@elliemae/ds-utilities';\nimport strategiesOperators from './strategiesOperators';\n\nconst getRuleStrategyOperator = rule =>\n rule.strategy || strategiesOperators(rule.operator);\n\nconst executeFilterStrategy = (rule, row) => {\n const { value, field, transform, transformRowValue } = rule;\n if (field === 'all')\n return Object.values(row).some(colValue =>\n strategiesOperators('contains')(colValue, value),\n );\n const rowValue = row[field];\n const transformedValue = isFunction(transform) ? transform(value) : value;\n const transformedRowValue = isFunction(transformRowValue)\n ? transformRowValue(rowValue)\n : rowValue;\n\n const filterStrategy = getRuleStrategyOperator(rule);\n return filterStrategy(transformedRowValue, transformedValue);\n};\n\nconst filterByRules = (rules, condition = 'AND') => 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 (\n !parentRow.isGroup &&\n filterByRules(query.rules, query.condition)(parentRow.data)\n ) {\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 default function filterRowsByQuery(rows, query) {\n return rows.filter(filterByRules(query.rules, query.condition));\n}\n"],"names":["getRuleStrategyOperator","rule","strategy","strategiesOperators","operator","executeFilterStrategy","row","value","field","transform","transformRowValue","Object","values","some","colValue","rowValue","transformedValue","isFunction","transformedRowValue","filterStrategy","filterByRules","rules","condition","reduce","isFiltered","length","filterRowsByQueryGroup","rows","query","composedRows","newRows","parentMap","forEach","parentRow","isGroup","push","_filtered","data","parentNode","id","filter","r","filterRowsByQuery"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"strategiesOperators.js","sources":["../../../../../src/plugins/filterable/filtering-helper/strategiesOperators.tsx"],"sourcesContent":["import compare from 'comparejs';\n\nexport default op =>\n ({\n range: (rowValue, { start, end }) => start <= rowValue && end >= rowValue,\n equal: (value1, value2) => compare.id(value1, value2),\n greaterThan: compare.gt,\n lessThan: compare.lt,\n contains: (rowValue, value) =>\n String(rowValue)\n .toLowerCase()\n .indexOf(String(value).toLowerCase()) !== -1,\n }[op] || compare.id);\n"],"names":["op","range","rowValue","start","end","equal","value1","value2","compare","id","greaterThan","gt","lessThan","lt","contains","value","String","toLowerCase","indexOf"],"mappings":";;AAEA,2BAAe,UAAAA,EAAE;AAAA,SACd;AACCC,IAAAA,KAAK,EAAE,eAACC,QAAD;AAAA,UAAaC,KAAb,QAAaA,KAAb;AAAA,UAAoBC,GAApB,QAAoBA,GAApB;AAAA,aAA8BD,KAAK,IAAID,QAAT,IAAqBE,GAAG,IAAIF,QAA1D;AAAA,KADR;AAECG,IAAAA,KAAK,EAAE,eAACC,MAAD,EAASC,MAAT;AAAA,aAAoBC,OAAO,CAACC,EAAR,CAAWH,MAAX,EAAmBC,MAAnB,CAApB;AAAA,KAFR;AAGCG,IAAAA,WAAW,EAAEF,OAAO,CAACG,EAHtB;AAICC,IAAAA,QAAQ,EAAEJ,OAAO,CAACK,EAJnB;AAKCC,IAAAA,QAAQ,EAAE,kBAACZ,QAAD,EAAWa,KAAX;AAAA,aACRC,MAAM,CAACd,QAAD,CAAN,CACGe,WADH,GAEGC,OAFH,CAEWF,MAAM,CAACD,KAAD,CAAN,CAAcE,WAAd,EAFX,MAE4C,CAAC,CAHrC;AAAA;AALX,IASCjB,EATD,KASQQ,OAAO,CAACC,EAVF;AAAA,CAAjB;;;;"}
1
+ {"version":3,"file":"strategiesOperators.js","sources":["../../../../../src/plugins/filterable/filtering-helper/strategiesOperators.tsx"],"sourcesContent":["import compare from 'comparejs';\n\nexport default op =>\n ({\n range: (rowValue, { start, end }) => start <= rowValue && end >= rowValue,\n equal: (value1, value2) => compare.id(value1, value2),\n greaterThan: compare.gt,\n lessThan: compare.lt,\n contains: (rowValue, value) =>\n String(rowValue)\n .toLowerCase()\n .indexOf(String(value).toLowerCase()) !== -1,\n }[op] || compare.id);\n"],"names":["op","range","rowValue","start","end","equal","value1","value2","compare","id","greaterThan","gt","lessThan","lt","contains","value","String","toLowerCase","indexOf"],"mappings":";;AAEA,2BAAe,UAAAA,EAAE;EAAA,OACd;IACCC,KAAK,EAAE,eAACC,QAAD;MAAA,IAAaC,KAAb,QAAaA,KAAb;UAAoBC,GAApB,QAAoBA,GAApB;MAAA,OAA8BD,KAAK,IAAID,QAAT,IAAqBE,GAAG,IAAIF,QAA1D;KADR;IAECG,KAAK,EAAE,eAACC,MAAD,EAASC,MAAT;MAAA,OAAoBC,OAAO,CAACC,EAAR,CAAWH,MAAX,EAAmBC,MAAnB,CAApB;KAFR;IAGCG,WAAW,EAAEF,OAAO,CAACG,EAHtB;IAICC,QAAQ,EAAEJ,OAAO,CAACK,EAJnB;IAKCC,QAAQ,EAAE,kBAACZ,QAAD,EAAWa,KAAX;MAAA,OACRC,MAAM,CAACd,QAAD,CAAN,CACGe,WADH,GAEGC,OAFH,CAEWF,MAAM,CAACD,KAAD,CAAN,CAAcE,WAAd,EAFX,MAE4C,CAAC,CAHrC;;IAIVjB,EATD,KASQQ,OAAO,CAACC,EAVF;AAAA,CAAjB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"helper.js","sources":["../../../../src/plugins/filterable/helper.tsx"],"sourcesContent":["import {\n isFunction,\n uniqBy,\n get,\n groupBy,\n property,\n} from '@elliemae/ds-utilities';\n\nexport const getFilterLabel = (column, value) =>\n 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(\n get(row, column.searchBy || column.property),\n );\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(\n (option) => option.id === value,\n )[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) =>\n 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(\n groupFilters(filters),\n (filter) => filter.group,\n );\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"],"names":["getFilterLabel","column","value","filterLabels","getFilterLabels","rows","uniqBy","property","searchBy","map","row","get","undefined","rowColumnValue","String","isFunction","valueTransformation","nextValue","id","label","filter","startsWith","getFilterLabelsGroup","flat","forEach","r","children","getFilterValue","filterOptions","foundOption","option","buildFilterArray","newFilter","filters","v","group","join","groupFilters","fixed","parseFilterToRule","filterParams","field","parseFiltersToQuery","groupedFilters","groupBy","Object","keys","reduce","queryResult","Array","isArray","length","rules","push","condition"],"mappings":"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"}
1
+ {"version":3,"file":"helper.js","sources":["../../../../src/plugins/filterable/helper.tsx"],"sourcesContent":["import {\n isFunction,\n uniqBy,\n get,\n groupBy,\n property,\n} from '@elliemae/ds-utilities';\n\nexport const getFilterLabel = (column, value) =>\n 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(\n get(row, column.searchBy || column.property),\n );\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(\n (option) => option.id === value,\n )[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) =>\n 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(\n groupFilters(filters),\n (filter) => filter.group,\n );\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"],"names":["getFilterLabel","column","value","filterLabels","getFilterLabels","rows","uniqBy","property","searchBy","map","row","get","undefined","rowColumnValue","String","isFunction","valueTransformation","nextValue","id","label","filter","startsWith","getFilterLabelsGroup","flat","forEach","r","children","getFilterValue","filterOptions","foundOption","option","buildFilterArray","newFilter","filters","v","group","join","groupFilters","fixed","parseFilterToRule","filterParams","field","parseFiltersToQuery","groupedFilters","groupBy","Object","keys","reduce","queryResult","Array","isArray","length","rules","push","condition"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useFilterableState.js","sources":["../../../../src/plugins/filterable/useFilterableState.tsx"],"sourcesContent":["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"],"names":["noop","useFilterableState","grid","props","filtersProp","filters","onAddFilter","onRemoveFilter","onRemoveAllFilters","onFiltersChange","useState","setFilters","useEffect","queryFromFilters","useMemo","parseFiltersToQuery","handleFiltersChange","nextFilters","getInstance","body","refs","current","scrollTop","observeRows","rows","addFilter","filter","column","hasBeenCalled","trimmedFilter","value","String","trim","parsedFilter","group","label","id","uuidv4","filterLabel","originalProperty","property","customValue","getFilterValue","prevFilters","buildFilterArray","removeFilter","pill","removeAllFilters","actions","state","query"],"mappings":"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"}
1
+ {"version":3,"file":"useFilterableState.js","sources":["../../../../src/plugins/filterable/useFilterableState.tsx"],"sourcesContent":["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"],"names":["noop","useFilterableState","grid","props","filtersProp","filters","onAddFilter","onRemoveFilter","onRemoveAllFilters","onFiltersChange","useState","setFilters","useEffect","queryFromFilters","useMemo","parseFiltersToQuery","handleFiltersChange","nextFilters","getInstance","body","refs","current","scrollTop","observeRows","rows","addFilter","filter","column","hasBeenCalled","trimmedFilter","value","String","trim","parsedFilter","group","label","id","uuidv4","filterLabel","originalProperty","property","customValue","getFilterValue","prevFilters","buildFilterArray","removeFilter","pill","removeAllFilters","actions","state","query"],"mappings":";;;;;;;;;;;;AAQA,IAAMA,IAAI,GAAG,SAAPA,IAAO;EAAA,OAAM,IAAN;AAAA,CAAb;;AAEO,SAASC,kBAAT,CAA4BC,IAA5B,EAAkC;EACvC,kBAMIA,IAAI,CAACC,KANT;MACWC,WADX,eACEC,OADF;0CAEEC,WAFF;MAEEA,WAFF,sCAEgBN,IAFhB;0CAGEO,cAHF;MAGEA,cAHF,sCAGmBP,IAHnB;0CAIEQ,kBAJF;MAIEA,kBAJF,sCAIuBR,IAJvB;0CAKES,eALF;MAKEA,eALF,sCAKoBT,IALpB;;EAQA,gBAA8BU,QAAQ,CAACN,WAAW,IAAI,EAAhB,CAAtC;;MAAOC,OAAP;MAAgBM,UAAhB;;EAEAC,SAAS,CAAC,YAAM;IACd,IAAIR,WAAW,IAAIA,WAAW,KAAKC,OAAnC,EAA4C;MAC1CM,UAAU,CAACP,WAAD,CAAV;;GAFK,EAIN,CAACA,WAAD,CAJM,CAAT;EAMA,IAAMS,gBAAgB,GAAGC,OAAO,CAAC;IAAA,OAAMC,mBAAmB,CAACV,OAAO,IAAI,EAAZ,CAAzB;GAAD,EAA2C,CACzEA,OADyE,CAA3C,CAAhC;;EAIA,IAAMW,mBAAmB,GAAG,SAAtBA,mBAAsB,CAACC,WAAD,EAAiB;IAC3C,wBAEIf,IAAI,CAACgB,WAAL,EAFJ;QACUC,IADV,qBACEC,IADF,CACUD,IADV;;IAGAA,IAAI,CAACE,OAAL,CAAaC,SAAb,GAAyB,CAAzB;IACAX,UAAU,CAACM,WAAD,CAAV;IACAf,IAAI,CAACqB,WAAL,CAAiB,UAACC,IAAD;MAAA,OACff,eAAe,CAACQ,WAAD,EAAcJ,gBAAd,EAAgCW,IAAhC,CADA;KAAjB;GANF;;EAWA,IAAMC,SAAS,GAAG,SAAZA,SAAY,CAACC,MAAD,EAASC,MAAT,EAAoB;IACpC,IAAIC,aAAa,GAAG,KAApB;;IACA,IAAMC,aAAa,mCACdH,MADc;MAEjBI,KAAK,EAAEC,MAAM,CAACL,MAAM,CAACI,KAAR,CAAN,CAAqBE,IAArB;MAFT;;;;IAKA,IAAMC,YAAY,GAAG,CAACP,MAAM,CAACQ,KAAR,mCAEZL,aAFY;MAGfC,KAAK,EAAEC,MAAM,CAACL,MAAM,CAACI,KAAR,CAAN,CAAqBE,IAArB,EAHQ;MAIfE,KAAK,EAAE,KAJQ;MAKfC,KAAK,EAAE,KALQ;MAMfC,EAAE,EAAEC,EAAM;yCAGPR,aATY;MAUfC,KAAK,EAAEC,MAAM,CAACL,MAAM,CAACI,KAAR,CAAN,CAAqBE,IAArB,EAVQ;MAWfI,EAAE,EAAEC,EAAM,EAXK;MAYfF,KAAK,EAAGR,MAAM,IAAIA,MAAM,CAACW,WAAlB,IAAkCT,aAAa,CAACM,KAZxC;MAafI,gBAAgB,EAAEZ,MAAM,CAACY,gBAAP,IAA2BZ,MAAM,CAACa,QAbrC;MAcfC,WAAW,EAAEC,cAAc,CAACb,aAAD,EAAgBF,MAAhB;MAdjC;;;IAiBAhB,UAAU,CAAC,UAACgC,WAAD,EAAiB;;MAE1B,IAAIf,aAAJ,EAAmB;QACjB;;;MAEFA,aAAa,GAAG,IAAhB;MAEA,IAAMX,WAAW,GAAG2B,gBAAgB,CAACX,YAAD,EAAeU,WAAf,CAApC;MACA3B,mBAAmB,CAACC,WAAD,CAAnB;MACAX,WAAW,CAAC2B,YAAD,EAAehB,WAAf,EAA4BU,MAA5B,CAAX;KATQ,CAAV;GAxBF;;EAqCA,IAAMkB,YAAY,GAAG,SAAfA,YAAe,OAAkC;IAAA,IAA/BX,KAA+B,QAA/BA,KAA+B;QAAxBY,IAAwB,QAAxBA,IAAwB;QAAlB7B,WAAkB,QAAlBA,WAAkB;IACrDV,cAAc,CAAC2B,KAAD,EAAQY,IAAI,CAAChB,KAAb,EAAoBb,WAApB,CAAd;IACAD,mBAAmB,CAACC,WAAD,CAAnB;GAFF;;EAKA,IAAM8B,gBAAgB,GAAG,SAAnBA,gBAAmB,GAAM;IAC7BvC,kBAAkB;IAClBQ,mBAAmB,CAAC,EAAD,CAAnB;GAFF;;EAIA,OAAO;IACLgC,OAAO,EAAE;MACPvB,SAAS,EAATA,SADO;MAEPoB,YAAY,EAAZA,YAFO;MAGPE,gBAAgB,EAAhBA;KAJG;IAMLE,KAAK,EAAE;MACLC,KAAK,EAAErC,gBADF;MAELR,OAAO,EAAPA;;GARJ;AAWD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingByPlugin.js","sources":["../../../../src/plugins/grouping-by/GroupingByPlugin.tsx"],"sourcesContent":["import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { groupBy } from 'lodash';\n\nconst groupedByData = (groupedBy, composedRows) => {\n const grouped = groupBy(composedRows, groupedBy);\n return Object.keys(grouped).map((c, key) => ({\n id: `grouped-by-${groupedBy}-${key}`,\n key: groupedBy,\n value: c,\n children: grouped[c],\n _isGroup: true,\n isGroup: true,\n }));\n};\n\nexport const GroupingByPlugin = createInstancePlugin('groupedByRows', {\n decorateGrid(grid) {\n const {\n composedRows,\n props: { groupedBy },\n } = grid.getInstance();\n grid.composedRows = groupedBy\n ? groupedByData(groupedBy, composedRows)\n : composedRows;\n return grid;\n },\n});\n"],"names":["groupedByData","groupedBy","composedRows","grouped","groupBy","Object","keys","map","c","key","id","value","children","_isGroup","isGroup","GroupingByPlugin","createInstancePlugin","decorateGrid","grid","getInstance","props"],"mappings":";;;AAGA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,SAAD,EAAYC,YAAZ,EAA6B;AACjD,MAAMC,OAAO,GAAGC,OAAO,CAACF,YAAD,EAAeD,SAAf,CAAvB;AACA,SAAOI,MAAM,CAACC,IAAP,CAAYH,OAAZ,EAAqBI,GAArB,CAAyB,UAACC,CAAD,EAAIC,GAAJ;AAAA,WAAa;AAC3CC,MAAAA,EAAE,uBAAgBT,SAAhB,cAA6BQ,GAA7B,CADyC;AAE3CA,MAAAA,GAAG,EAAER,SAFsC;AAG3CU,MAAAA,KAAK,EAAEH,CAHoC;AAI3CI,MAAAA,QAAQ,EAAET,OAAO,CAACK,CAAD,CAJ0B;AAK3CK,MAAAA,QAAQ,EAAE,IALiC;AAM3CC,MAAAA,OAAO,EAAE;AANkC,KAAb;AAAA,GAAzB,CAAP;AAQD,CAVD;;IAYaC,gBAAgB,GAAGC,oBAAoB,CAAC,eAAD,EAAkB;AACpEC,EAAAA,YADoE,wBACvDC,IADuD,EACjD;AACjB,4BAGIA,IAAI,CAACC,WAAL,EAHJ;AAAA,QACEjB,YADF,qBACEA,YADF;AAAA,QAEWD,SAFX,qBAEEmB,KAFF,CAEWnB,SAFX;;AAIAiB,IAAAA,IAAI,CAAChB,YAAL,GAAoBD,SAAS,GACzBD,aAAa,CAACC,SAAD,EAAYC,YAAZ,CADY,GAEzBA,YAFJ;AAGA,WAAOgB,IAAP;AACD;AAVmE,CAAlB;;;;"}
1
+ {"version":3,"file":"GroupingByPlugin.js","sources":["../../../../src/plugins/grouping-by/GroupingByPlugin.tsx"],"sourcesContent":["import createInstancePlugin from '@elliemae/ds-shared/createDataInstance/createInstancePlugin';\nimport { groupBy } from 'lodash';\n\nconst groupedByData = (groupedBy, composedRows) => {\n const grouped = groupBy(composedRows, groupedBy);\n return Object.keys(grouped).map((c, key) => ({\n id: `grouped-by-${groupedBy}-${key}`,\n key: groupedBy,\n value: c,\n children: grouped[c],\n _isGroup: true,\n isGroup: true,\n }));\n};\n\nexport const GroupingByPlugin = createInstancePlugin('groupedByRows', {\n decorateGrid(grid) {\n const {\n composedRows,\n props: { groupedBy },\n } = grid.getInstance();\n grid.composedRows = groupedBy\n ? groupedByData(groupedBy, composedRows)\n : composedRows;\n return grid;\n },\n});\n"],"names":["groupedByData","groupedBy","composedRows","grouped","groupBy","Object","keys","map","c","key","id","value","children","_isGroup","isGroup","GroupingByPlugin","createInstancePlugin","decorateGrid","grid","getInstance","props"],"mappings":";;;AAGA,IAAMA,aAAa,GAAG,SAAhBA,aAAgB,CAACC,SAAD,EAAYC,YAAZ,EAA6B;EACjD,IAAMC,OAAO,GAAGC,OAAO,CAACF,YAAD,EAAeD,SAAf,CAAvB;EACA,OAAOI,MAAM,CAACC,IAAP,CAAYH,OAAZ,EAAqBI,GAArB,CAAyB,UAACC,CAAD,EAAIC,GAAJ;IAAA,OAAa;MAC3CC,EAAE,uBAAgBT,SAAhB,cAA6BQ,GAA7B,CADyC;MAE3CA,GAAG,EAAER,SAFsC;MAG3CU,KAAK,EAAEH,CAHoC;MAI3CI,QAAQ,EAAET,OAAO,CAACK,CAAD,CAJ0B;MAK3CK,QAAQ,EAAE,IALiC;MAM3CC,OAAO,EAAE;KANqB;GAAzB,CAAP;AAQD,CAVD;;IAYaC,gBAAgB,GAAGC,oBAAoB,CAAC,eAAD,EAAkB;EACpEC,YADoE,wBACvDC,IADuD,EACjD;IACjB,wBAGIA,IAAI,CAACC,WAAL,EAHJ;QACEjB,YADF,qBACEA,YADF;QAEWD,SAFX,qBAEEmB,KAFF,CAEWnB,SAFX;;IAIAiB,IAAI,CAAChB,YAAL,GAAoBD,SAAS,GACzBD,aAAa,CAACC,SAAD,EAAYC,YAAZ,CADY,GAEzBA,YAFJ;IAGA,OAAOgB,IAAP;;AATkE,CAAlB;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupingPlugin.js","sources":["../../../../src/plugins/grouping-grid/GroupingPlugin.tsx"],"sourcesContent":["/* 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"],"names":["blockName","dataGridBlockName","GroupRowHeaderWrapper","aggregatedClasses","GroupRowHeaderTitle","GroupingPlugin","createInstancePlugin","decorateGrid","grid","getInstance","columns","composedRows","detailColumns","useMemo","map","column","customRenderer","detailCustomRenderer","filter","col","expandableColumn","flatRows","walkTreeStrategy","data","cb","n","push","getBodyProps","bodyProps","rows","getItemSize","index","rowData","RowSizes","normal","_isGroup","isGroup","compact","getListHeight","size","reduce","h","r","rowHeight","listComponent","VariableSizeList","listProps","itemSize","composeRows","rowKey","props","Array","isArray","filterIds","c","includes","children","g","undefined","length","allRows","decorateRenderers","renderers","Row","body","row","isExpanded","rowProps","node","groupedRowsRenderHeader"],"mappings":"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"}
1
+ {"version":3,"file":"GroupingPlugin.js","sources":["../../../../src/plugins/grouping-grid/GroupingPlugin.tsx"],"sourcesContent":["/* 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"],"names":["blockName","dataGridBlockName","GroupRowHeaderWrapper","aggregatedClasses","GroupRowHeaderTitle","GroupingPlugin","createInstancePlugin","decorateGrid","grid","getInstance","columns","composedRows","detailColumns","useMemo","map","column","customRenderer","detailCustomRenderer","filter","col","expandableColumn","flatRows","walkTreeStrategy","data","cb","n","push","getBodyProps","bodyProps","rows","getItemSize","index","rowData","RowSizes","normal","_isGroup","isGroup","compact","getListHeight","size","reduce","h","r","rowHeight","listComponent","VariableSizeList","listProps","itemSize","composeRows","rowKey","props","Array","isArray","filterIds","c","includes","children","g","undefined","length","allRows","decorateRenderers","renderers","Row","body","row","isExpanded","rowProps","node","groupedRowsRenderHeader"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"walkStrategy.js","sources":["../../../../src/plugins/grouping-grid/walkStrategy.tsx"],"sourcesContent":["function getPath(parentNode, index, childrenKey) {\n if (!parentNode) return [index];\n return [...parentNode.path, childrenKey, index];\n}\n\nexport function walkTreeStrategy({\n data,\n childrenKey = 'children',\n level = 0,\n getId = item => item.id,\n parentNode,\n shouldWalkChildren = () => true,\n cb,\n}) {\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let i = 0; i < data.length; i++) {\n const currLevel = level + 1;\n const children = data[i][childrenKey];\n const isGroup = children && !!children.length;\n const node = {\n index: i,\n id: getId(data[i]),\n data: data[i],\n path: getPath(parentNode, i, childrenKey),\n isGroup,\n nestingLevel: currLevel,\n parentNode: parentNode || {\n isGroup: true,\n data: { children: data },\n },\n };\n cb(node);\n if (shouldWalkChildren(node) && children && children.length) {\n walkTreeStrategy({\n data: children,\n level: currLevel,\n parentNode: node,\n shouldWalkChildren,\n cb,\n });\n }\n }\n}\n"],"names":["getPath","parentNode","index","childrenKey","path","walkTreeStrategy","data","level","getId","item","id","shouldWalkChildren","cb","i","length","currLevel","children","isGroup","node","nestingLevel"],"mappings":";;AAAA,SAASA,OAAT,CAAiBC,UAAjB,EAA6BC,KAA7B,EAAoCC,WAApC,EAAiD;AAC/C,MAAI,CAACF,UAAL,EAAiB,OAAO,CAACC,KAAD,CAAP;AACjB,sCAAWD,UAAU,CAACG,IAAtB,IAA4BD,WAA5B,EAAyCD,KAAzC;AACD;;AAEM,SAASG,gBAAT,OAQJ;AAAA,MAPDC,IAOC,QAPDA,IAOC;AAAA,8BANDH,WAMC;AAAA,MANDA,WAMC,iCANa,UAMb;AAAA,wBALDI,KAKC;AAAA,MALDA,KAKC,2BALO,CAKP;AAAA,wBAJDC,KAIC;AAAA,MAJDA,KAIC,2BAJO,UAAAC,IAAI;AAAA,WAAIA,IAAI,CAACC,EAAT;AAAA,GAIX;AAAA,MAHDT,UAGC,QAHDA,UAGC;AAAA,mCAFDU,kBAEC;AAAA,MAFDA,kBAEC,sCAFoB;AAAA,WAAM,IAAN;AAAA,GAEpB;AAAA,MADDC,EACC,QADDA,EACC;;AACD;AACA,OAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpC,QAAME,SAAS,GAAGR,KAAK,GAAG,CAA1B;AACA,QAAMS,QAAQ,GAAGV,IAAI,CAACO,CAAD,CAAJ,CAAQV,WAAR,CAAjB;AACA,QAAMc,OAAO,GAAGD,QAAQ,IAAI,CAAC,CAACA,QAAQ,CAACF,MAAvC;AACA,QAAMI,IAAI,GAAG;AACXhB,MAAAA,KAAK,EAAEW,CADI;AAEXH,MAAAA,EAAE,EAAEF,KAAK,CAACF,IAAI,CAACO,CAAD,CAAL,CAFE;AAGXP,MAAAA,IAAI,EAAEA,IAAI,CAACO,CAAD,CAHC;AAIXT,MAAAA,IAAI,EAAEJ,OAAO,CAACC,UAAD,EAAaY,CAAb,EAAgBV,WAAhB,CAJF;AAKXc,MAAAA,OAAO,EAAPA,OALW;AAMXE,MAAAA,YAAY,EAAEJ,SANH;AAOXd,MAAAA,UAAU,EAAEA,UAAU,IAAI;AACxBgB,QAAAA,OAAO,EAAE,IADe;AAExBX,QAAAA,IAAI,EAAE;AAAEU,UAAAA,QAAQ,EAAEV;AAAZ;AAFkB;AAPf,KAAb;AAYAM,IAAAA,EAAE,CAACM,IAAD,CAAF;;AACA,QAAIP,kBAAkB,CAACO,IAAD,CAAlB,IAA4BF,QAA5B,IAAwCA,QAAQ,CAACF,MAArD,EAA6D;AAC3DT,MAAAA,gBAAgB,CAAC;AACfC,QAAAA,IAAI,EAAEU,QADS;AAEfT,QAAAA,KAAK,EAAEQ,SAFQ;AAGfd,QAAAA,UAAU,EAAEiB,IAHG;AAIfP,QAAAA,kBAAkB,EAAlBA,kBAJe;AAKfC,QAAAA,EAAE,EAAFA;AALe,OAAD,CAAhB;AAOD;AACF;AACF;;;;"}
1
+ {"version":3,"file":"walkStrategy.js","sources":["../../../../src/plugins/grouping-grid/walkStrategy.tsx"],"sourcesContent":["function getPath(parentNode, index, childrenKey) {\n if (!parentNode) return [index];\n return [...parentNode.path, childrenKey, index];\n}\n\nexport function walkTreeStrategy({\n data,\n childrenKey = 'children',\n level = 0,\n getId = item => item.id,\n parentNode,\n shouldWalkChildren = () => true,\n cb,\n}) {\n // eslint-disable-next-line no-loops/no-loops,no-plusplus\n for (let i = 0; i < data.length; i++) {\n const currLevel = level + 1;\n const children = data[i][childrenKey];\n const isGroup = children && !!children.length;\n const node = {\n index: i,\n id: getId(data[i]),\n data: data[i],\n path: getPath(parentNode, i, childrenKey),\n isGroup,\n nestingLevel: currLevel,\n parentNode: parentNode || {\n isGroup: true,\n data: { children: data },\n },\n };\n cb(node);\n if (shouldWalkChildren(node) && children && children.length) {\n walkTreeStrategy({\n data: children,\n level: currLevel,\n parentNode: node,\n shouldWalkChildren,\n cb,\n });\n }\n }\n}\n"],"names":["getPath","parentNode","index","childrenKey","path","walkTreeStrategy","data","level","getId","item","id","shouldWalkChildren","cb","i","length","currLevel","children","isGroup","node","nestingLevel"],"mappings":";;AAAA,SAASA,OAAT,CAAiBC,UAAjB,EAA6BC,KAA7B,EAAoCC,WAApC,EAAiD;EAC/C,IAAI,CAACF,UAAL,EAAiB,OAAO,CAACC,KAAD,CAAP;EACjB,oCAAWD,UAAU,CAACG,IAAtB,IAA4BD,WAA5B,EAAyCD,KAAzC;AACD;;AAEM,SAASG,gBAAT,OAQJ;EAAA,IAPDC,IAOC,QAPDA,IAOC;8BANDH,WAMC;MANDA,WAMC,iCANa,UAMb;wBALDI,KAKC;MALDA,KAKC,2BALO,CAKP;wBAJDC,KAIC;MAJDA,KAIC,2BAJO,UAAAC,IAAI;IAAA,OAAIA,IAAI,CAACC,EAAT;GAIX;MAHDT,UAGC,QAHDA,UAGC;mCAFDU,kBAEC;MAFDA,kBAEC,sCAFoB;IAAA,OAAM,IAAN;GAEpB;MADDC,EACC,QADDA,EACC;;;EAED,KAAK,IAAIC,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGP,IAAI,CAACQ,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;IACpC,IAAME,SAAS,GAAGR,KAAK,GAAG,CAA1B;IACA,IAAMS,QAAQ,GAAGV,IAAI,CAACO,CAAD,CAAJ,CAAQV,WAAR,CAAjB;IACA,IAAMc,OAAO,GAAGD,QAAQ,IAAI,CAAC,CAACA,QAAQ,CAACF,MAAvC;IACA,IAAMI,IAAI,GAAG;MACXhB,KAAK,EAAEW,CADI;MAEXH,EAAE,EAAEF,KAAK,CAACF,IAAI,CAACO,CAAD,CAAL,CAFE;MAGXP,IAAI,EAAEA,IAAI,CAACO,CAAD,CAHC;MAIXT,IAAI,EAAEJ,OAAO,CAACC,UAAD,EAAaY,CAAb,EAAgBV,WAAhB,CAJF;MAKXc,OAAO,EAAPA,OALW;MAMXE,YAAY,EAAEJ,SANH;MAOXd,UAAU,EAAEA,UAAU,IAAI;QACxBgB,OAAO,EAAE,IADe;QAExBX,IAAI,EAAE;UAAEU,QAAQ,EAAEV;;;KATtB;IAYAM,EAAE,CAACM,IAAD,CAAF;;IACA,IAAIP,kBAAkB,CAACO,IAAD,CAAlB,IAA4BF,QAA5B,IAAwCA,QAAQ,CAACF,MAArD,EAA6D;MAC3DT,gBAAgB,CAAC;QACfC,IAAI,EAAEU,QADS;QAEfT,KAAK,EAAEQ,SAFQ;QAGfd,UAAU,EAAEiB,IAHG;QAIfP,kBAAkB,EAAlBA,kBAJe;QAKfC,EAAE,EAAFA;OALc,CAAhB;;;AASL;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"InfiniteScrollPlugin.js","sources":["../../../../src/plugins/infinite-scrolling/InfiniteScrollPlugin.tsx"],"sourcesContent":["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"],"names":["registerStateHook","grid","props","getData","onInfiniteScrolling","updateRows","actions","loading","useRef","addMoreData","data","current","prevRows","concat","doLoadData","currentRows","Promise","resolve","then","loadMoreData","getBodyProps","children","getInstance","useState","bodyNode","setBodyRef","prevScroll","handleBodyScroll","event","s","target","scrollHeight","scrollTop","offsetHeight","scrollLeft","composedRows","useEffect","addEventListener","removeEventListener","listProps","outerRef","InfiniteScrollPlugin","createInstancePlugin"],"mappings":"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"}
1
+ {"version":3,"file":"InfiniteScrollPlugin.js","sources":["../../../../src/plugins/infinite-scrolling/InfiniteScrollPlugin.tsx"],"sourcesContent":["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"],"names":["registerStateHook","grid","props","getData","onInfiniteScrolling","updateRows","actions","loading","useRef","addMoreData","data","current","prevRows","concat","doLoadData","currentRows","Promise","resolve","then","loadMoreData","getBodyProps","children","getInstance","useState","bodyNode","setBodyRef","prevScroll","handleBodyScroll","event","s","target","scrollHeight","scrollTop","offsetHeight","scrollLeft","composedRows","useEffect","addEventListener","removeEventListener","listProps","outerRef","InfiniteScrollPlugin","createInstancePlugin"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"PaginationPlugin.js","sources":["../../../../src/plugins/pagination/PaginationPlugin.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React, { useMemo } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport FocusGridManager 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) =>\n rowRenderer(row, { index, rowIndex: index }, {}),\n )\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 <FocusGridManager hotKeys={hotKeys} shouldRefocus={false}>\n <Body {...props} component={BodyWrapper} />\n </FocusGridManager>\n );\n },\n [],\n );\n return renderers;\n};\n\nexport const PaginationPlugin = createInstancePlugin('pagination', {\n registerStateHook: usePaginationState,\n decorateRenderers,\n composeRows,\n});\n"],"names":["composeRows","rows","grid","getInstance","pagination","state","groupedRows","props","filterIds","map","r","id","paginate","filter","c","includes","_isGroup","isGroup","Body","React","memo","Component","component","rowRenderer","noResultsPlaceholder","innerRef","innerBodyRef","isPlaceholderActive","otherBodyProps","mergeRefs","row","index","rowIndex","decorateRenderers","renderers","BodyWrapper","body","wrapper","useMemo","hotKeys","shouldRefocus","PaginationPlugin","createInstancePlugin","registerStateHook","usePaginationState"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAOC,IAAP,EAAgB;AAClC,0BAGIA,IAAI,CAACC,WAAL,EAHJ;AAAA,MACWC,UADX,qBACEC,KADF,CACWD,UADX;AAAA,MAEWE,WAFX,qBAEEC,KAFF,CAEWD,WAFX;;AAIA,MAAIA,WAAJ,EAAiB,OAAOL,IAAP,CALiB;;AAMlC,MAAIK,WAAJ,EAAiB;AACf,QAAME,SAAS,GAAGP,IAAI,CAACQ,GAAL,CAAS,UAAAC,CAAC;AAAA,aAAIA,CAAC,CAACC,EAAN;AAAA,KAAV,CAAlB;AACA,WAAOC,QAAQ,CACbX,IAAI,CACDY,MADH,CACU,UAAAC,CAAC;AAAA,aAAIN,SAAS,CAACO,QAAV,CAAmBD,CAAC,CAACH,EAArB,CAAJ;AAAA,KADX,EAEGF,GAFH,CAEO,UAAAC,CAAC;AAAA,6CACDA,CADC;AAEJM,QAAAA,QAAQ,EAAEN,CAAC,CAACO;AAFR;AAAA,KAFR,CADa,EAObb,UAPa,CAAf;AASD;;AAED,SAAOQ,QAAQ,CAACX,IAAD,EAAOG,UAAP,CAAf;AACD,CApBD;;AAsBA,IAAMc,IAAI,gBAAGC,KAAK,CAACC,IAAN,CACX;AAAA,MACaC,SADb,QACEC,SADF;AAAA,MAEErB,IAFF,QAEEA,IAFF;AAAA,MAGEsB,WAHF,QAGEA,WAHF;AAAA,MAIEC,oBAJF,QAIEA,oBAJF;AAAA,MAKEC,QALF,QAKEA,QALF;AAAA,WAMEC,YANF;AAAA,uCAOEC,mBAPF;AAAA,MAOEA,mBAPF,sCAOwB,KAPxB;AAAA,MAQKC,cARL;;AAAA,sBAUE,oBAAC,SAAD,eAAeA,cAAf;AAA+B,IAAA,QAAQ,EAAEC,SAAS,CAACJ,QAAD;AAAlD,MACG,CAACE,mBAAD,GACC1B,IAAI,CAACQ,GAAL,CAAS,UAACqB,GAAD,EAAMC,KAAN;AAAA,WACPR,WAAW,CAACO,GAAD,EAAM;AAAEC,MAAAA,KAAK,EAALA,KAAF;AAASC,MAAAA,QAAQ,EAAED;AAAnB,KAAN,EAAkC,EAAlC,CADJ;AAAA,GAAT,CADD,gBAKC,oBAAC,SAAD;AAAW,IAAA,QAAQ,EAAEN,QAArB;AAA+B,IAAA,WAAW,EAAEF;AAA5C,KACGC,oBADH,CANJ,CAVF;AAAA,CADW,CAAb;;AAyBA,IAAMS,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAYhC,IAAZ,EAAqB;AAC7C,MAAMiC,WAAW,GAAGD,SAAS,CAACE,IAAV,CAAeC,OAAnC;AACAH,EAAAA,SAAS,CAACE,IAAV,CAAeC,OAAf,GAAyBC,OAAO,CAC9B;AAAA,WAAM,UAAA/B,KAAK,EAAI;AACb,+BAA0CL,IAAI,CAACC,WAAL,EAA1C;AAAA,UAAQoC,OAAR,sBAAQA,OAAR;AAAA,6BAAiBC,aAAjB;AAAA,6BAAgCnC;;AAChC,0BACE,oBAAC,gBAAD;AAAkB,QAAA,OAAO,EAAEkC,OAA3B;AAAoC,QAAA,aAAa,EAAE;AAAnD,sBACE,oBAAC,IAAD,eAAUhC,KAAV;AAAiB,QAAA,SAAS,EAAE4B;AAA5B,SADF,CADF;AAKD,KAPD;AAAA,GAD8B,EAS9B,EAT8B,CAAhC;AAWA,SAAOD,SAAP;AACD,CAdD;;IAgBaO,gBAAgB,GAAGC,oBAAoB,CAAC,YAAD,EAAe;AACjEC,EAAAA,iBAAiB,EAAEC,kBAD8C;AAEjEX,EAAAA,iBAAiB,EAAjBA,iBAFiE;AAGjEjC,EAAAA,WAAW,EAAXA;AAHiE,CAAf;;;;"}
1
+ {"version":3,"file":"PaginationPlugin.js","sources":["../../../../src/plugins/pagination/PaginationPlugin.tsx"],"sourcesContent":["/* eslint-disable react/display-name */\nimport React, { useMemo } from 'react';\nimport { mergeRefs } from '@elliemae/ds-utilities';\nimport FocusGridManager 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) =>\n rowRenderer(row, { index, rowIndex: index }, {}),\n )\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 <FocusGridManager hotKeys={hotKeys} shouldRefocus={false}>\n <Body {...props} component={BodyWrapper} />\n </FocusGridManager>\n );\n },\n [],\n );\n return renderers;\n};\n\nexport const PaginationPlugin = createInstancePlugin('pagination', {\n registerStateHook: usePaginationState,\n decorateRenderers,\n composeRows,\n});\n"],"names":["composeRows","rows","grid","getInstance","pagination","state","groupedRows","props","filterIds","map","r","id","paginate","filter","c","includes","_isGroup","isGroup","Body","React","memo","Component","component","rowRenderer","noResultsPlaceholder","innerRef","innerBodyRef","isPlaceholderActive","otherBodyProps","mergeRefs","row","index","rowIndex","decorateRenderers","renderers","BodyWrapper","body","wrapper","useMemo","hotKeys","shouldRefocus","PaginationPlugin","createInstancePlugin","registerStateHook","usePaginationState"],"mappings":";;;;;;;;;;;;;;;;;;;;AASA,IAAMA,WAAW,GAAG,SAAdA,WAAc,CAACC,IAAD,EAAOC,IAAP,EAAgB;EAClC,wBAGIA,IAAI,CAACC,WAAL,EAHJ;MACWC,UADX,qBACEC,KADF,CACWD,UADX;MAEWE,WAFX,qBAEEC,KAFF,CAEWD,WAFX;;EAIA,IAAIA,WAAJ,EAAiB,OAAOL,IAAP,CALiB;;EAMlC,IAAIK,WAAJ,EAAiB;IACf,IAAME,SAAS,GAAGP,IAAI,CAACQ,GAAL,CAAS,UAAAC,CAAC;MAAA,OAAIA,CAAC,CAACC,EAAN;KAAV,CAAlB;IACA,OAAOC,QAAQ,CACbX,IAAI,CACDY,MADH,CACU,UAAAC,CAAC;MAAA,OAAIN,SAAS,CAACO,QAAV,CAAmBD,CAAC,CAACH,EAArB,CAAJ;KADX,EAEGF,GAFH,CAEO,UAAAC,CAAC;MAAA,uCACDA,CADC;QAEJM,QAAQ,EAAEN,CAAC,CAACO;;KAJhB,CADa,EAObb,UAPa,CAAf;;;EAWF,OAAOQ,QAAQ,CAACX,IAAD,EAAOG,UAAP,CAAf;AACD,CApBD;;AAsBA,IAAMc,IAAI,gBAAGC,KAAK,CAACC,IAAN,CACX;MACaC,SADb,QACEC,SADF;MAEErB,IAFF,QAEEA,IAFF;MAGEsB,WAHF,QAGEA,WAHF;MAIEC,oBAJF,QAIEA,oBAJF;MAKEC,QALF,QAKEA,QALF;WAMEC,YANF;uCAOEC,mBAPF;MAOEA,mBAPF,sCAOwB,KAPxB;MAQKC,cARL;;EAAA,oBAUE,oBAAC,SAAD,eAAeA,cAAf;IAA+B,QAAQ,EAAEC,SAAS,CAACJ,QAAD;MAC/C,CAACE,mBAAD,GACC1B,IAAI,CAACQ,GAAL,CAAS,UAACqB,GAAD,EAAMC,KAAN;IAAA,OACPR,WAAW,CAACO,GAAD,EAAM;MAAEC,KAAK,EAALA,KAAF;MAASC,QAAQ,EAAED;KAAzB,EAAkC,EAAlC,CADJ;GAAT,CADD,gBAKC,oBAAC,SAAD;IAAW,QAAQ,EAAEN,QAArB;IAA+B,WAAW,EAAEF;KACzCC,oBADH,CANJ,CAVF;AAAA,CADW,CAAb;;AAyBA,IAAMS,iBAAiB,GAAG,SAApBA,iBAAoB,CAACC,SAAD,EAAYhC,IAAZ,EAAqB;EAC7C,IAAMiC,WAAW,GAAGD,SAAS,CAACE,IAAV,CAAeC,OAAnC;EACAH,SAAS,CAACE,IAAV,CAAeC,OAAf,GAAyBC,OAAO,CAC9B;IAAA,OAAM,UAAA/B,KAAK,EAAI;+BAC6BL,IAAI,CAACC,WAAL,EAA1C;UAAQoC,OAAR,sBAAQA,OAAR;6BAAiBC,aAAjB;6BAAgCnC;;MAChC,oBACE,oBAAC,gBAAD;QAAkB,OAAO,EAAEkC,OAA3B;QAAoC,aAAa,EAAE;sBACjD,oBAAC,IAAD,eAAUhC,KAAV;QAAiB,SAAS,EAAE4B;SAD9B,CADF;KAFF;GAD8B,EAS9B,EAT8B,CAAhC;EAWA,OAAOD,SAAP;AACD,CAdD;;IAgBaO,gBAAgB,GAAGC,oBAAoB,CAAC,YAAD,EAAe;EACjEC,iBAAiB,EAAEC,kBAD8C;EAEjEX,iBAAiB,EAAjBA,iBAFiE;EAGjEjC,WAAW,EAAXA;AAHiE,CAAf;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sources":["../../../../../src/plugins/pagination/components/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport Paginator from './Paginator';\nimport PerPageDropdown from './PerPageDropdown';\n\nconst PaginationControls = aggregatedClasses('div')(\n 'data-grid',\n 'controls-pagination',\n);\n\nconst Pagination = ({\n paginated,\n pagination = {},\n onPerPage,\n onPageSelect,\n paginationStep = 5,\n maxPerPage = 10,\n minPerPage = 5,\n}) => {\n const { perPage } = pagination;\n if (\n pagination &&\n pagination.conditionalPagination === true &&\n paginated.amount === 1\n )\n return null;\n return paginated.amount > 0 ? (\n <PaginationControls>\n <PerPageDropdown\n max={maxPerPage}\n min={minPerPage}\n onChange={onPerPage}\n step={paginationStep}\n value={perPage}\n />\n <Paginator\n onSelect={onPageSelect}\n pages={paginated.amount}\n pagination={pagination}\n />\n </PaginationControls>\n ) : null;\n};\n\nexport { Pagination };\n"],"names":["PaginationControls","aggregatedClasses","Pagination","paginated","pagination","onPerPage","onPageSelect","paginationStep","maxPerPage","minPerPage","perPage","conditionalPagination","amount"],"mappings":";;;;;;;;;;;AAKA,IAAMA,kBAAkB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CACzB,WADyB,EAEzB,qBAFyB,CAA3B;;IAKMC,UAAU,GAAG,SAAbA,UAAa,OAQb;AAAA,MAPJC,SAOI,QAPJA,SAOI;AAAA,6BANJC,UAMI;AAAA,MANJA,UAMI,gCANS,EAMT;AAAA,MALJC,SAKI,QALJA,SAKI;AAAA,MAJJC,YAII,QAJJA,YAII;AAAA,iCAHJC,cAGI;AAAA,MAHJA,cAGI,oCAHa,CAGb;AAAA,6BAFJC,UAEI;AAAA,MAFJA,UAEI,gCAFS,EAET;AAAA,6BADJC,UACI;AAAA,MADJA,UACI,gCADS,CACT;AACJ,MAAQC,OAAR,GAAoBN,UAApB,CAAQM,OAAR;AACA,MACEN,UAAU,IACVA,UAAU,CAACO,qBAAX,KAAqC,IADrC,IAEAR,SAAS,CAACS,MAAV,KAAqB,CAHvB,EAKE,OAAO,IAAP;AACF,SAAOT,SAAS,CAACS,MAAV,GAAmB,CAAnB,gBACL,oBAAC,kBAAD,qBACE,oBAAC,eAAD;AACE,IAAA,GAAG,EAAEJ,UADP;AAEE,IAAA,GAAG,EAAEC,UAFP;AAGE,IAAA,QAAQ,EAAEJ,SAHZ;AAIE,IAAA,IAAI,EAAEE,cAJR;AAKE,IAAA,KAAK,EAAEG;AALT,IADF,eAQE,oBAAC,SAAD;AACE,IAAA,QAAQ,EAAEJ,YADZ;AAEE,IAAA,KAAK,EAAEH,SAAS,CAACS,MAFnB;AAGE,IAAA,UAAU,EAAER;AAHd,IARF,CADK,GAeH,IAfJ;AAgBD;;;;"}
1
+ {"version":3,"file":"Pagination.js","sources":["../../../../../src/plugins/pagination/components/Pagination.tsx"],"sourcesContent":["import React from 'react';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\nimport Paginator from './Paginator';\nimport PerPageDropdown from './PerPageDropdown';\n\nconst PaginationControls = aggregatedClasses('div')(\n 'data-grid',\n 'controls-pagination',\n);\n\nconst Pagination = ({\n paginated,\n pagination = {},\n onPerPage,\n onPageSelect,\n paginationStep = 5,\n maxPerPage = 10,\n minPerPage = 5,\n}) => {\n const { perPage } = pagination;\n if (\n pagination &&\n pagination.conditionalPagination === true &&\n paginated.amount === 1\n )\n return null;\n return paginated.amount > 0 ? (\n <PaginationControls>\n <PerPageDropdown\n max={maxPerPage}\n min={minPerPage}\n onChange={onPerPage}\n step={paginationStep}\n value={perPage}\n />\n <Paginator\n onSelect={onPageSelect}\n pages={paginated.amount}\n pagination={pagination}\n />\n </PaginationControls>\n ) : null;\n};\n\nexport { Pagination };\n"],"names":["PaginationControls","aggregatedClasses","Pagination","paginated","pagination","onPerPage","onPageSelect","paginationStep","maxPerPage","minPerPage","perPage","conditionalPagination","amount"],"mappings":";;;;;;;;;;;AAKA,IAAMA,kBAAkB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CACzB,WADyB,EAEzB,qBAFyB,CAA3B;;IAKMC,UAAU,GAAG,SAAbA,UAAa,OAQb;EAAA,IAPJC,SAOI,QAPJA,SAOI;6BANJC,UAMI;MANJA,UAMI,gCANS,EAMT;MALJC,SAKI,QALJA,SAKI;MAJJC,YAII,QAJJA,YAII;iCAHJC,cAGI;MAHJA,cAGI,oCAHa,CAGb;6BAFJC,UAEI;MAFJA,UAEI,gCAFS,EAET;6BADJC,UACI;MADJA,UACI,gCADS,CACT;EACJ,IAAQC,OAAR,GAAoBN,UAApB,CAAQM,OAAR;EACA,IACEN,UAAU,IACVA,UAAU,CAACO,qBAAX,KAAqC,IADrC,IAEAR,SAAS,CAACS,MAAV,KAAqB,CAHvB,EAKE,OAAO,IAAP;EACF,OAAOT,SAAS,CAACS,MAAV,GAAmB,CAAnB,gBACL,oBAAC,kBAAD,qBACE,oBAAC,eAAD;IACE,GAAG,EAAEJ,UADP;IAEE,GAAG,EAAEC,UAFP;IAGE,QAAQ,EAAEJ,SAHZ;IAIE,IAAI,EAAEE,cAJR;IAKE,KAAK,EAAEG;IANX,eAQE,oBAAC,SAAD;IACE,QAAQ,EAAEJ,YADZ;IAEE,KAAK,EAAEH,SAAS,CAACS,MAFnB;IAGE,UAAU,EAAER;IAXhB,CADK,GAeH,IAfJ;AAgBD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Paginator.js","sources":["../../../../../src/plugins/pagination/components/Paginator.tsx"],"sourcesContent":["import React from 'react';\nimport Pagify from 'react-pagify';\nimport segmentize from 'segmentize';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'data-grid';\n\nconst PaginationContainer = aggregatedClasses('div')(blockName, 'pagination');\nconst PagifyContext = aggregatedClasses(Pagify.Context)(\n blockName,\n 'pagify-pagination',\n);\n\nconst Paginator = ({\n pagination,\n pages,\n onSelect,\n labelPrevious = 'Previous',\n labelNext = 'Next',\n}) => {\n const prevPage = pagination.page - 1;\n const nextPage = pagination.page + 1;\n return (\n <PaginationContainer>\n <PagifyContext\n onSelect={page => page !== pagination.page && onSelect(page)}\n segments={segmentize({\n page: pagination.page,\n pages,\n beginPages: 1,\n endPages: 1,\n sidePages: 1,\n })}\n >\n <Pagify.Button\n className={pagination.page <= 1 ? 'button-disabled' : ''}\n page={prevPage}\n >\n {labelPrevious}\n </Pagify.Button>\n\n <Pagify.Segment field=\"beginPages\" />\n\n <Pagify.Ellipsis\n className=\"ellipsis\"\n nextField=\"previousPages\"\n previousField=\"beginPages\"\n />\n\n <Pagify.Segment field=\"previousPages\" />\n <Pagify.Segment className=\"selected\" field=\"centerPage\" />\n <Pagify.Segment field=\"nextPages\" />\n\n <Pagify.Ellipsis\n className=\"ellipsis\"\n nextField=\"endPages\"\n previousField=\"nextPages\"\n />\n\n <Pagify.Segment field=\"endPages\" />\n\n <Pagify.Button\n className={pagination.page >= pages ? 'button-disabled' : ''}\n page={nextPage}\n >\n {labelNext}\n </Pagify.Button>\n </PagifyContext>\n </PaginationContainer>\n );\n};\n\nexport default Paginator;\n"],"names":["blockName","PaginationContainer","aggregatedClasses","PagifyContext","Pagify","Context","Paginator","pagination","pages","onSelect","labelPrevious","labelNext","prevPage","page","nextPage","segmentize","beginPages","endPages","sidePages"],"mappings":";;;;;AAKA,IAAMA,SAAS,GAAG,WAAlB;AAEA,IAAMC,mBAAmB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,YAApC,CAA5B;AACA,IAAMG,aAAa,GAAGD,iBAAiB,CAACE,MAAM,CAACC,OAAR,CAAjB,CACpBL,SADoB,EAEpB,mBAFoB,CAAtB;;IAKMM,SAAS,GAAG,SAAZA,SAAY,OAMZ;AAAA,MALJC,UAKI,QALJA,UAKI;AAAA,MAJJC,KAII,QAJJA,KAII;AAAA,MAHJC,SAGI,QAHJA,QAGI;AAAA,gCAFJC,aAEI;AAAA,MAFJA,aAEI,mCAFY,UAEZ;AAAA,4BADJC,SACI;AAAA,MADJA,SACI,+BADQ,MACR;AACJ,MAAMC,QAAQ,GAAGL,UAAU,CAACM,IAAX,GAAkB,CAAnC;AACA,MAAMC,QAAQ,GAAGP,UAAU,CAACM,IAAX,GAAkB,CAAnC;AACA,sBACE,oBAAC,mBAAD,qBACE,oBAAC,aAAD;AACE,IAAA,QAAQ,EAAE,kBAAAA,IAAI;AAAA,aAAIA,IAAI,KAAKN,UAAU,CAACM,IAApB,IAA4BJ,SAAQ,CAACI,IAAD,CAAxC;AAAA,KADhB;AAEE,IAAA,QAAQ,EAAEE,UAAU,CAAC;AACnBF,MAAAA,IAAI,EAAEN,UAAU,CAACM,IADE;AAEnBL,MAAAA,KAAK,EAALA,KAFmB;AAGnBQ,MAAAA,UAAU,EAAE,CAHO;AAInBC,MAAAA,QAAQ,EAAE,CAJS;AAKnBC,MAAAA,SAAS,EAAE;AALQ,KAAD;AAFtB,kBAUE,oBAAC,MAAD,CAAQ,MAAR;AACE,IAAA,SAAS,EAAEX,UAAU,CAACM,IAAX,IAAmB,CAAnB,GAAuB,iBAAvB,GAA2C,EADxD;AAEE,IAAA,IAAI,EAAED;AAFR,KAIGF,aAJH,CAVF,eAiBE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,KAAK,EAAC;AAAtB,IAjBF,eAmBE,oBAAC,MAAD,CAAQ,QAAR;AACE,IAAA,SAAS,EAAC,UADZ;AAEE,IAAA,SAAS,EAAC,eAFZ;AAGE,IAAA,aAAa,EAAC;AAHhB,IAnBF,eAyBE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,KAAK,EAAC;AAAtB,IAzBF,eA0BE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,SAAS,EAAC,UAA1B;AAAqC,IAAA,KAAK,EAAC;AAA3C,IA1BF,eA2BE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,KAAK,EAAC;AAAtB,IA3BF,eA6BE,oBAAC,MAAD,CAAQ,QAAR;AACE,IAAA,SAAS,EAAC,UADZ;AAEE,IAAA,SAAS,EAAC,UAFZ;AAGE,IAAA,aAAa,EAAC;AAHhB,IA7BF,eAmCE,oBAAC,MAAD,CAAQ,OAAR;AAAgB,IAAA,KAAK,EAAC;AAAtB,IAnCF,eAqCE,oBAAC,MAAD,CAAQ,MAAR;AACE,IAAA,SAAS,EAAEH,UAAU,CAACM,IAAX,IAAmBL,KAAnB,GAA2B,iBAA3B,GAA+C,EAD5D;AAEE,IAAA,IAAI,EAAEM;AAFR,KAIGH,SAJH,CArCF,CADF,CADF;AAgDD;;;;"}
1
+ {"version":3,"file":"Paginator.js","sources":["../../../../../src/plugins/pagination/components/Paginator.tsx"],"sourcesContent":["import React from 'react';\nimport Pagify from 'react-pagify';\nimport segmentize from 'segmentize';\nimport { aggregatedClasses } from '@elliemae/ds-classnames';\n\nconst blockName = 'data-grid';\n\nconst PaginationContainer = aggregatedClasses('div')(blockName, 'pagination');\nconst PagifyContext = aggregatedClasses(Pagify.Context)(\n blockName,\n 'pagify-pagination',\n);\n\nconst Paginator = ({\n pagination,\n pages,\n onSelect,\n labelPrevious = 'Previous',\n labelNext = 'Next',\n}) => {\n const prevPage = pagination.page - 1;\n const nextPage = pagination.page + 1;\n return (\n <PaginationContainer>\n <PagifyContext\n onSelect={page => page !== pagination.page && onSelect(page)}\n segments={segmentize({\n page: pagination.page,\n pages,\n beginPages: 1,\n endPages: 1,\n sidePages: 1,\n })}\n >\n <Pagify.Button\n className={pagination.page <= 1 ? 'button-disabled' : ''}\n page={prevPage}\n >\n {labelPrevious}\n </Pagify.Button>\n\n <Pagify.Segment field=\"beginPages\" />\n\n <Pagify.Ellipsis\n className=\"ellipsis\"\n nextField=\"previousPages\"\n previousField=\"beginPages\"\n />\n\n <Pagify.Segment field=\"previousPages\" />\n <Pagify.Segment className=\"selected\" field=\"centerPage\" />\n <Pagify.Segment field=\"nextPages\" />\n\n <Pagify.Ellipsis\n className=\"ellipsis\"\n nextField=\"endPages\"\n previousField=\"nextPages\"\n />\n\n <Pagify.Segment field=\"endPages\" />\n\n <Pagify.Button\n className={pagination.page >= pages ? 'button-disabled' : ''}\n page={nextPage}\n >\n {labelNext}\n </Pagify.Button>\n </PagifyContext>\n </PaginationContainer>\n );\n};\n\nexport default Paginator;\n"],"names":["blockName","PaginationContainer","aggregatedClasses","PagifyContext","Pagify","Context","Paginator","pagination","pages","onSelect","labelPrevious","labelNext","prevPage","page","nextPage","segmentize","beginPages","endPages","sidePages"],"mappings":";;;;;AAKA,IAAMA,SAAS,GAAG,WAAlB;AAEA,IAAMC,mBAAmB,GAAGC,iBAAiB,CAAC,KAAD,CAAjB,CAAyBF,SAAzB,EAAoC,YAApC,CAA5B;AACA,IAAMG,aAAa,GAAGD,iBAAiB,CAACE,MAAM,CAACC,OAAR,CAAjB,CACpBL,SADoB,EAEpB,mBAFoB,CAAtB;;IAKMM,SAAS,GAAG,SAAZA,SAAY,OAMZ;EAAA,IALJC,UAKI,QALJA,UAKI;MAJJC,KAII,QAJJA,KAII;MAHJC,SAGI,QAHJA,QAGI;gCAFJC,aAEI;MAFJA,aAEI,mCAFY,UAEZ;4BADJC,SACI;MADJA,SACI,+BADQ,MACR;EACJ,IAAMC,QAAQ,GAAGL,UAAU,CAACM,IAAX,GAAkB,CAAnC;EACA,IAAMC,QAAQ,GAAGP,UAAU,CAACM,IAAX,GAAkB,CAAnC;EACA,oBACE,oBAAC,mBAAD,qBACE,oBAAC,aAAD;IACE,QAAQ,EAAE,kBAAAA,IAAI;MAAA,OAAIA,IAAI,KAAKN,UAAU,CAACM,IAApB,IAA4BJ,SAAQ,CAACI,IAAD,CAAxC;KADhB;IAEE,QAAQ,EAAEE,UAAU,CAAC;MACnBF,IAAI,EAAEN,UAAU,CAACM,IADE;MAEnBL,KAAK,EAALA,KAFmB;MAGnBQ,UAAU,EAAE,CAHO;MAInBC,QAAQ,EAAE,CAJS;MAKnBC,SAAS,EAAE;KALO;kBAQpB,oBAAC,MAAD,CAAQ,MAAR;IACE,SAAS,EAAEX,UAAU,CAACM,IAAX,IAAmB,CAAnB,GAAuB,iBAAvB,GAA2C,EADxD;IAEE,IAAI,EAAED;KAELF,aAJH,CAVF,eAiBE,oBAAC,MAAD,CAAQ,OAAR;IAAgB,KAAK,EAAC;IAjBxB,eAmBE,oBAAC,MAAD,CAAQ,QAAR;IACE,SAAS,EAAC,UADZ;IAEE,SAAS,EAAC,eAFZ;IAGE,aAAa,EAAC;IAtBlB,eAyBE,oBAAC,MAAD,CAAQ,OAAR;IAAgB,KAAK,EAAC;IAzBxB,eA0BE,oBAAC,MAAD,CAAQ,OAAR;IAAgB,SAAS,EAAC,UAA1B;IAAqC,KAAK,EAAC;IA1B7C,eA2BE,oBAAC,MAAD,CAAQ,OAAR;IAAgB,KAAK,EAAC;IA3BxB,eA6BE,oBAAC,MAAD,CAAQ,QAAR;IACE,SAAS,EAAC,UADZ;IAEE,SAAS,EAAC,UAFZ;IAGE,aAAa,EAAC;IAhClB,eAmCE,oBAAC,MAAD,CAAQ,OAAR;IAAgB,KAAK,EAAC;IAnCxB,eAqCE,oBAAC,MAAD,CAAQ,MAAR;IACE,SAAS,EAAEH,UAAU,CAACM,IAAX,IAAmBL,KAAnB,GAA2B,iBAA3B,GAA+C,EAD5D;IAEE,IAAI,EAAEM;KAELH,SAJH,CArCF,CADF,CADF;AAgDD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"PerPageDropdown.js","sources":["../../../../../src/plugins/pagination/components/PerPageDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport memoize from 'memoize-one';\nimport { range } from '@elliemae/ds-utilities';\nimport { DSComboBox, components } from '@elliemae/ds-form';\n\nconst SingleValue = ({ children, ...props }) => (\n <components.SingleValue {...props}>\n {children} <span>per page</span>\n </components.SingleValue>\n);\n\nconst generateOption = (value) => ({\n value,\n label: value,\n});\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nfunction PerPageDropdown({ min = 0, max = 100, step = 5, value = 0, onChange = () => null }) {\n const options = getOptions(step, min, max);\n return (\n <DSComboBox\n className=\"per-page-dropdown\"\n components={{\n SingleValue,\n }}\n containerProps={{\n 'data-testid': 'per-page-dropdown',\n }}\n maxOptions={10}\n onChange={onChange}\n options={options}\n searchable={false}\n value={value}\n />\n );\n}\n\nexport default PerPageDropdown;\n"],"names":["SingleValue","children","props","generateOption","value","label","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageDropdown","onChange"],"mappings":";;;;;;;;AAKA,IAAMA,WAAW,GAAG,SAAdA,WAAc;AAAA,MAAGC,QAAH,QAAGA,QAAH;AAAA,MAAgBC,KAAhB;;AAAA,sBAClB,oBAAC,UAAD,CAAY,WAAZ,EAA4BA,KAA5B,EACGD,QADH,oBACa,6CADb,CADkB;AAAA,CAApB;;AAMA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;AAAA,SAAY;AACjCA,IAAAA,KAAK,EAALA,KADiC;AAEjCC,IAAAA,KAAK,EAAED;AAF0B,GAAZ;AAAA,CAAvB;;AAIA,IAAME,UAAU,GAAGC,UAAO,CAAC,UAACC,IAAD,EAAOC,GAAP,EAAYC,GAAZ,EAAoB;AAC7C,MAAMC,OAAO,GAAGC,KAAK,CAACH,GAAD,EAAMC,GAAG,GAAGF,IAAZ,EAAkBA,IAAlB,CAAL,CAA6BK,GAA7B,CAAiCV,cAAjC,CAAhB;AACA,SAAOM,GAAG,KAAK,CAAR,GAAYE,OAAO,CAACG,KAAR,CAAc,CAAd,EAAiBH,OAAO,CAACI,MAAzB,CAAZ,GAA+CJ,OAAtD;AACD,CAHyB,CAA1B;;AAKA,SAASK,eAAT,QAA6F;AAAA,wBAAlEP,GAAkE;AAAA,MAAlEA,GAAkE,0BAA5D,CAA4D;AAAA,wBAAzDC,GAAyD;AAAA,MAAzDA,GAAyD,0BAAnD,GAAmD;AAAA,yBAA9CF,IAA8C;AAAA,MAA9CA,IAA8C,2BAAvC,CAAuC;AAAA,0BAApCJ,KAAoC;AAAA,MAApCA,KAAoC,4BAA5B,CAA4B;AAAA,6BAAzBa,QAAyB;AAAA,MAAzBA,QAAyB,+BAAd;AAAA,WAAM,IAAN;AAAA,GAAc;AAC3F,MAAMN,OAAO,GAAGL,UAAU,CAACE,IAAD,EAAOC,GAAP,EAAYC,GAAZ,CAA1B;AACA,sBACE,oBAAC,UAAD;AACE,IAAA,SAAS,EAAC,mBADZ;AAEE,IAAA,UAAU,EAAE;AACVV,MAAAA,WAAW,EAAXA;AADU,KAFd;AAKE,IAAA,cAAc,EAAE;AACd,qBAAe;AADD,KALlB;AAQE,IAAA,UAAU,EAAE,EARd;AASE,IAAA,QAAQ,EAAEiB,QATZ;AAUE,IAAA,OAAO,EAAEN,OAVX;AAWE,IAAA,UAAU,EAAE,KAXd;AAYE,IAAA,KAAK,EAAEP;AAZT,IADF;AAgBD;;;;"}
1
+ {"version":3,"file":"PerPageDropdown.js","sources":["../../../../../src/plugins/pagination/components/PerPageDropdown.tsx"],"sourcesContent":["import React from 'react';\nimport memoize from 'memoize-one';\nimport { range } from '@elliemae/ds-utilities';\nimport { DSComboBox, components } from '@elliemae/ds-form';\n\nconst SingleValue = ({ children, ...props }) => (\n <components.SingleValue {...props}>\n {children} <span>per page</span>\n </components.SingleValue>\n);\n\nconst generateOption = (value) => ({\n value,\n label: value,\n});\nconst getOptions = memoize((step, min, max) => {\n const options = range(min, max + step, step).map(generateOption);\n return min === 0 ? options.slice(1, options.length) : options;\n});\n\nfunction PerPageDropdown({ min = 0, max = 100, step = 5, value = 0, onChange = () => null }) {\n const options = getOptions(step, min, max);\n return (\n <DSComboBox\n className=\"per-page-dropdown\"\n components={{\n SingleValue,\n }}\n containerProps={{\n 'data-testid': 'per-page-dropdown',\n }}\n maxOptions={10}\n onChange={onChange}\n options={options}\n searchable={false}\n value={value}\n />\n );\n}\n\nexport default PerPageDropdown;\n"],"names":["SingleValue","children","props","generateOption","value","label","getOptions","memoize","step","min","max","options","range","map","slice","length","PerPageDropdown","onChange"],"mappings":";;;;;;;;AAKA,IAAMA,WAAW,GAAG,SAAdA,WAAc;EAAA,IAAGC,QAAH,QAAGA,QAAH;MAAgBC,KAAhB;;EAAA,oBAClB,oBAAC,UAAD,CAAY,WAAZ,EAA4BA,KAA5B,EACGD,QADH,oBACa,6CADb,CADkB;AAAA,CAApB;;AAMA,IAAME,cAAc,GAAG,SAAjBA,cAAiB,CAACC,KAAD;EAAA,OAAY;IACjCA,KAAK,EAALA,KADiC;IAEjCC,KAAK,EAAED;GAFc;AAAA,CAAvB;;AAIA,IAAME,UAAU,GAAGC,UAAO,CAAC,UAACC,IAAD,EAAOC,GAAP,EAAYC,GAAZ,EAAoB;EAC7C,IAAMC,OAAO,GAAGC,KAAK,CAACH,GAAD,EAAMC,GAAG,GAAGF,IAAZ,EAAkBA,IAAlB,CAAL,CAA6BK,GAA7B,CAAiCV,cAAjC,CAAhB;EACA,OAAOM,GAAG,KAAK,CAAR,GAAYE,OAAO,CAACG,KAAR,CAAc,CAAd,EAAiBH,OAAO,CAACI,MAAzB,CAAZ,GAA+CJ,OAAtD;AACD,CAHyB,CAA1B;;AAKA,SAASK,eAAT,QAA6F;EAAA,sBAAlEP,GAAkE;MAAlEA,GAAkE,0BAA5D,CAA4D;wBAAzDC,GAAyD;MAAzDA,GAAyD,0BAAnD,GAAmD;yBAA9CF,IAA8C;MAA9CA,IAA8C,2BAAvC,CAAuC;0BAApCJ,KAAoC;MAApCA,KAAoC,4BAA5B,CAA4B;6BAAzBa,QAAyB;MAAzBA,QAAyB,+BAAd;IAAA,OAAM,IAAN;GAAc;EAC3F,IAAMN,OAAO,GAAGL,UAAU,CAACE,IAAD,EAAOC,GAAP,EAAYC,GAAZ,CAA1B;EACA,oBACE,oBAAC,UAAD;IACE,SAAS,EAAC,mBADZ;IAEE,UAAU,EAAE;MACVV,WAAW,EAAXA;KAHJ;IAKE,cAAc,EAAE;MACd,eAAe;KANnB;IAQE,UAAU,EAAE,EARd;IASE,QAAQ,EAAEiB,QATZ;IAUE,OAAO,EAAEN,OAVX;IAWE,UAAU,EAAE,KAXd;IAYE,KAAK,EAAEP;IAbX;AAgBD;;;;"}