apex-grid 1.0.0 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{dist/src/components → components}/cell.d.ts +2 -3
- package/{dist/src/components → components}/cell.js +4 -11
- package/components/cell.js.map +1 -0
- package/{dist/src/components → components}/filter-row.d.ts +8 -9
- package/{dist/src/components → components}/filter-row.js +112 -114
- package/components/filter-row.js.map +1 -0
- package/{dist/src/components → components}/grid.d.ts +9 -9
- package/{dist/src/components → components}/grid.js +72 -148
- package/components/grid.js.map +1 -0
- package/{dist/src/components → components}/header-row.d.ts +5 -6
- package/{dist/src/components → components}/header-row.js +20 -25
- package/components/header-row.js.map +1 -0
- package/{dist/src/components → components}/header.d.ts +5 -6
- package/components/header.js +137 -0
- package/components/header.js.map +1 -0
- package/{dist/src/components → components}/row.d.ts +2 -3
- package/{dist/src/components → components}/row.js +7 -10
- package/components/row.js.map +1 -0
- package/{dist/src/components → components}/virtualizer.d.ts +2 -3
- package/{dist/src/components → components}/virtualizer.js +2 -2
- package/components/virtualizer.js.map +1 -0
- package/{dist/src/controllers → controllers}/data-operation.d.ts +5 -6
- package/{dist/src/controllers → controllers}/data-operation.js +10 -11
- package/controllers/data-operation.js.map +1 -0
- package/{dist/src/controllers → controllers}/dom.d.ts +5 -6
- package/controllers/dom.js +54 -0
- package/controllers/dom.js.map +1 -0
- package/{dist/src/controllers → controllers}/filter.d.ts +5 -6
- package/controllers/filter.js +105 -0
- package/controllers/filter.js.map +1 -0
- package/{dist/src/controllers → controllers}/navigation.d.ts +3 -4
- package/{dist/src/controllers → controllers}/navigation.js +9 -14
- package/controllers/navigation.js.map +1 -0
- package/{dist/src/controllers → controllers}/resize.d.ts +2 -3
- package/controllers/resize.js +52 -0
- package/controllers/resize.js.map +1 -0
- package/{dist/src/controllers → controllers}/sort.d.ts +1 -2
- package/controllers/sort.js +94 -0
- package/controllers/sort.js.map +1 -0
- package/{dist/src/controllers → controllers}/state.d.ts +5 -6
- package/{dist/src/controllers → controllers}/state.js +4 -7
- package/controllers/state.js.map +1 -0
- package/custom-elements.json +1229 -980
- package/{dist/src/define.d.ts → define.d.ts} +0 -1
- package/define.js.map +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/{dist/docs → docs}/assets/highlight.css +28 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/ApexGrid.html +74 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +10 -0
- package/docs/interfaces/ApexFilteredEvent.html +6 -0
- package/docs/interfaces/ApexFilteringEvent.html +12 -0
- package/docs/interfaces/ApexGridEventMap.html +17 -0
- package/docs/interfaces/ApexHeaderContext.html +6 -0
- package/docs/interfaces/BaseApexCellContext.html +10 -0
- package/docs/interfaces/BaseColumnConfiguration.html +28 -0
- package/docs/interfaces/BaseColumnSortConfiguration.html +6 -0
- package/docs/interfaces/BaseFilterExpression.html +15 -0
- package/docs/interfaces/BaseSortExpression.html +12 -0
- package/docs/interfaces/ColumnFilterConfiguration.html +4 -0
- package/docs/interfaces/DataPipelineConfiguration.html +6 -0
- package/docs/interfaces/GridSortConfiguration.html +6 -0
- package/docs/modules.html +1 -0
- package/docs/types/ApexCellContext.html +2 -0
- package/docs/types/BasePropertyType.html +2 -0
- package/docs/types/BaseSortComparer.html +2 -0
- package/docs/types/ColumnConfiguration.html +2 -0
- package/docs/types/ColumnSortConfiguration.html +2 -0
- package/docs/types/DataPipelineHook.html +2 -0
- package/docs/types/DataPipelineParams.html +8 -0
- package/docs/types/DataType.html +2 -0
- package/docs/types/FilterCriteria.html +6 -0
- package/docs/types/FilterExpression.html +2 -0
- package/docs/types/Keys.html +2 -0
- package/docs/types/PropertyType.html +2 -0
- package/docs/types/SortComparer.html +2 -0
- package/docs/types/SortExpression.html +2 -0
- package/docs/types/SortState.html +2 -0
- package/docs/types/SortingDirection.html +3 -0
- package/{dist/src/index.d.ts → index.d.ts} +4 -5
- package/index.js.map +1 -0
- package/{dist/src/internal → internal}/constants.d.ts +2 -3
- package/internal/constants.js.map +1 -0
- package/{dist/src/internal → internal}/icon-registry.d.ts +0 -1
- package/internal/icon-registry.js.map +1 -0
- package/{dist/src/internal → internal}/is-defined.d.ts +0 -1
- package/internal/is-defined.js.map +1 -0
- package/{dist/src/internal → internal}/mixins/event-emitter.d.ts +0 -1
- package/internal/mixins/event-emitter.js.map +1 -0
- package/{dist/src/internal → internal}/normalize-case.d.ts +0 -1
- package/internal/normalize-case.js.map +1 -0
- package/{dist/src/internal → internal}/part-map.d.ts +0 -1
- package/{dist/src/internal → internal}/part-map.js +1 -1
- package/internal/part-map.js.map +1 -0
- package/{dist/src/internal → internal}/register.d.ts +3 -4
- package/internal/register.js +9 -0
- package/internal/register.js.map +1 -0
- package/{dist/src/internal → internal}/tags.d.ts +0 -1
- package/internal/tags.js.map +1 -0
- package/internal/theming.d.ts +34 -0
- package/internal/theming.js +123 -0
- package/internal/theming.js.map +1 -0
- package/{dist/src/internal → internal}/types.d.ts +3 -4
- package/internal/types.js.map +1 -0
- package/{dist/src/internal → internal}/utils.d.ts +1 -2
- package/{dist/src/internal → internal}/utils.js +3 -6
- package/internal/utils.js.map +1 -0
- package/{dist/src/internal → internal}/watch.d.ts +0 -1
- package/{dist/src/internal → internal}/watch.js +2 -2
- package/internal/watch.js.map +1 -0
- package/{dist/src/operations → operations}/base.d.ts +0 -1
- package/operations/base.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/boolean.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/boolean.js +5 -5
- package/operations/filter/operands/boolean.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/number.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/number.js +2 -2
- package/operations/filter/operands/number.js.map +1 -0
- package/{dist/src/operations → operations}/filter/operands/string.d.ts +0 -1
- package/{dist/src/operations → operations}/filter/operands/string.js +2 -2
- package/operations/filter/operands/string.js.map +1 -0
- package/{dist/src/operations → operations}/filter/state.d.ts +1 -2
- package/{dist/src/operations → operations}/filter/state.js +3 -4
- package/operations/filter/state.js.map +1 -0
- package/{dist/src/operations → operations}/filter/tree.d.ts +4 -5
- package/{dist/src/operations → operations}/filter/tree.js +5 -6
- package/operations/filter/tree.js.map +1 -0
- package/{dist/src/operations → operations}/filter/types.d.ts +0 -1
- package/operations/filter/types.js.map +1 -0
- package/{dist/src/operations → operations}/filter.d.ts +0 -1
- package/{dist/src/operations → operations}/filter.js +4 -7
- package/operations/filter.js.map +1 -0
- package/{dist/src/operations → operations}/sort/types.d.ts +0 -1
- package/operations/sort/types.js.map +1 -0
- package/{dist/src/operations → operations}/sort.d.ts +0 -1
- package/{dist/src/operations → operations}/sort.js +5 -5
- package/operations/sort.js.map +1 -0
- package/package.json +23 -82
- package/{dist/src/styles/body-row/body-row-styles.css.d.ts → styles/_common.css.d.ts} +0 -1
- package/styles/_common.css.js +3 -0
- package/styles/_common.css.js.map +1 -0
- package/{dist/src/styles/body-cell/body-cell-styles.css.d.ts → styles/body-cell/body-cell.css.d.ts} +0 -1
- package/styles/body-cell/body-cell.css.js +3 -0
- package/styles/body-cell/body-cell.css.js.map +1 -0
- package/{dist/src/styles/filter-row/filter-row-styles.css.d.ts → styles/body-row/body-row.css.d.ts} +0 -1
- package/styles/body-row/body-row.css.js +3 -0
- package/styles/body-row/body-row.css.js.map +1 -0
- package/{dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts → styles/filter-row/filter-row.css.d.ts} +0 -1
- package/styles/filter-row/filter-row.css.js +3 -0
- package/styles/filter-row/filter-row.css.js.map +1 -0
- package/styles/grid/_grid.base.css.d.ts +1 -0
- package/styles/grid/_grid.base.css.js +3 -0
- package/styles/grid/_grid.base.css.js.map +1 -0
- package/styles/grid/themes/light/grid.bootstrap.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.bootstrap.css.js +3 -0
- package/styles/grid/themes/light/grid.bootstrap.css.js.map +1 -0
- package/styles/grid/themes/light/grid.fluent.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.fluent.css.js +3 -0
- package/styles/grid/themes/light/grid.fluent.css.js.map +1 -0
- package/styles/grid/themes/light/grid.indigo.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.indigo.css.js +3 -0
- package/styles/grid/themes/light/grid.indigo.css.js.map +1 -0
- package/styles/grid/themes/light/grid.material.css.d.ts +1 -0
- package/styles/grid/themes/light/grid.material.css.js +3 -0
- package/styles/grid/themes/light/grid.material.css.js.map +1 -0
- package/styles/header-cell/header-cell.css.d.ts +1 -0
- package/styles/header-cell/header-cell.css.js +3 -0
- package/styles/header-cell/header-cell.css.js.map +1 -0
- package/styles/header-row/header-row.base.css.d.ts +1 -0
- package/styles/header-row/header-row.base.css.js +3 -0
- package/styles/header-row/header-row.base.css.js.map +1 -0
- package/dist/bundle.js +0 -2191
- package/dist/docs/assets/main.js +0 -58
- package/dist/docs/assets/search.js +0 -1
- package/dist/docs/assets/style.css +0 -1280
- package/dist/docs/classes/ApexGrid.html +0 -301
- package/dist/docs/index.html +0 -88
- package/dist/docs/interfaces/ApexFilteredEvent.html +0 -78
- package/dist/docs/interfaces/ApexFilteringEvent.html +0 -90
- package/dist/docs/interfaces/ApexGridEventMap.html +0 -101
- package/dist/docs/interfaces/ApexHeaderContext.html +0 -78
- package/dist/docs/interfaces/BaseApexCellContext.html +0 -94
- package/dist/docs/interfaces/BaseColumnConfiguration.html +0 -170
- package/dist/docs/interfaces/BaseColumnSortConfiguration.html +0 -80
- package/dist/docs/interfaces/BaseFilterExpression.html +0 -106
- package/dist/docs/interfaces/BaseSortExpression.html +0 -98
- package/dist/docs/interfaces/ColumnFilterConfiguration.html +0 -66
- package/dist/docs/interfaces/DataPipelineConfiguration.html +0 -78
- package/dist/docs/interfaces/GridSortConfiguration.html +0 -73
- package/dist/docs/modules.html +0 -107
- package/dist/docs/types/ApexCellContext.html +0 -79
- package/dist/docs/types/BasePropertyType.html +0 -79
- package/dist/docs/types/BaseSortComparer.html +0 -94
- package/dist/docs/types/ColumnConfiguration.html +0 -79
- package/dist/docs/types/ColumnSortConfiguration.html +0 -79
- package/dist/docs/types/DataPipelineHook.html +0 -90
- package/dist/docs/types/DataPipelineParams.html +0 -92
- package/dist/docs/types/DataType.html +0 -72
- package/dist/docs/types/FilterCriteria.html +0 -76
- package/dist/docs/types/FilterExpression.html +0 -79
- package/dist/docs/types/Keys.html +0 -77
- package/dist/docs/types/PropertyType.html +0 -79
- package/dist/docs/types/SortComparer.html +0 -79
- package/dist/docs/types/SortExpression.html +0 -79
- package/dist/docs/types/SortState.html +0 -77
- package/dist/docs/types/SortingDirection.html +0 -74
- package/dist/src/components/cell.d.ts.map +0 -1
- package/dist/src/components/cell.js.map +0 -1
- package/dist/src/components/filter-row.d.ts.map +0 -1
- package/dist/src/components/filter-row.js.map +0 -1
- package/dist/src/components/grid.d.ts.map +0 -1
- package/dist/src/components/grid.js.map +0 -1
- package/dist/src/components/header-row.d.ts.map +0 -1
- package/dist/src/components/header-row.js.map +0 -1
- package/dist/src/components/header.d.ts.map +0 -1
- package/dist/src/components/header.js +0 -143
- package/dist/src/components/header.js.map +0 -1
- package/dist/src/components/row.d.ts.map +0 -1
- package/dist/src/components/row.js.map +0 -1
- package/dist/src/components/virtualizer.d.ts.map +0 -1
- package/dist/src/components/virtualizer.js.map +0 -1
- package/dist/src/controllers/data-operation.d.ts.map +0 -1
- package/dist/src/controllers/data-operation.js.map +0 -1
- package/dist/src/controllers/dom.d.ts.map +0 -1
- package/dist/src/controllers/dom.js +0 -60
- package/dist/src/controllers/dom.js.map +0 -1
- package/dist/src/controllers/filter.d.ts.map +0 -1
- package/dist/src/controllers/filter.js +0 -119
- package/dist/src/controllers/filter.js.map +0 -1
- package/dist/src/controllers/navigation.d.ts.map +0 -1
- package/dist/src/controllers/navigation.js.map +0 -1
- package/dist/src/controllers/resize.d.ts.map +0 -1
- package/dist/src/controllers/resize.js +0 -70
- package/dist/src/controllers/resize.js.map +0 -1
- package/dist/src/controllers/sort.d.ts.map +0 -1
- package/dist/src/controllers/sort.js +0 -94
- package/dist/src/controllers/sort.js.map +0 -1
- package/dist/src/controllers/state.d.ts.map +0 -1
- package/dist/src/controllers/state.js.map +0 -1
- package/dist/src/define.d.ts.map +0 -1
- package/dist/src/define.js.map +0 -1
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js.map +0 -1
- package/dist/src/internal/constants.d.ts.map +0 -1
- package/dist/src/internal/constants.js.map +0 -1
- package/dist/src/internal/icon-registry.d.ts.map +0 -1
- package/dist/src/internal/icon-registry.js.map +0 -1
- package/dist/src/internal/is-defined.d.ts.map +0 -1
- package/dist/src/internal/is-defined.js.map +0 -1
- package/dist/src/internal/mixins/event-emitter.d.ts.map +0 -1
- package/dist/src/internal/mixins/event-emitter.js.map +0 -1
- package/dist/src/internal/normalize-case.d.ts.map +0 -1
- package/dist/src/internal/normalize-case.js.map +0 -1
- package/dist/src/internal/part-map.d.ts.map +0 -1
- package/dist/src/internal/part-map.js.map +0 -1
- package/dist/src/internal/register.d.ts.map +0 -1
- package/dist/src/internal/register.js +0 -9
- package/dist/src/internal/register.js.map +0 -1
- package/dist/src/internal/tags.d.ts.map +0 -1
- package/dist/src/internal/tags.js.map +0 -1
- package/dist/src/internal/types.d.ts.map +0 -1
- package/dist/src/internal/types.js.map +0 -1
- package/dist/src/internal/utils.d.ts.map +0 -1
- package/dist/src/internal/utils.js.map +0 -1
- package/dist/src/internal/watch.d.ts.map +0 -1
- package/dist/src/internal/watch.js.map +0 -1
- package/dist/src/operations/base.d.ts.map +0 -1
- package/dist/src/operations/base.js.map +0 -1
- package/dist/src/operations/filter/operands/boolean.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/boolean.js.map +0 -1
- package/dist/src/operations/filter/operands/number.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/number.js.map +0 -1
- package/dist/src/operations/filter/operands/string.d.ts.map +0 -1
- package/dist/src/operations/filter/operands/string.js.map +0 -1
- package/dist/src/operations/filter/state.d.ts.map +0 -1
- package/dist/src/operations/filter/state.js.map +0 -1
- package/dist/src/operations/filter/tree.d.ts.map +0 -1
- package/dist/src/operations/filter/tree.js.map +0 -1
- package/dist/src/operations/filter/types.d.ts.map +0 -1
- package/dist/src/operations/filter/types.js.map +0 -1
- package/dist/src/operations/filter.d.ts.map +0 -1
- package/dist/src/operations/filter.js.map +0 -1
- package/dist/src/operations/sort/types.d.ts.map +0 -1
- package/dist/src/operations/sort/types.js.map +0 -1
- package/dist/src/operations/sort.d.ts.map +0 -1
- package/dist/src/operations/sort.js.map +0 -1
- package/dist/src/styles/body-cell/body-cell-styles.css.d.ts.map +0 -1
- package/dist/src/styles/body-cell/body-cell-styles.css.js +0 -71
- package/dist/src/styles/body-cell/body-cell-styles.css.js.map +0 -1
- package/dist/src/styles/body-row/body-row-styles.css.d.ts.map +0 -1
- package/dist/src/styles/body-row/body-row-styles.css.js +0 -38
- package/dist/src/styles/body-row/body-row-styles.css.js.map +0 -1
- package/dist/src/styles/filter-row/filter-row-styles.css.d.ts.map +0 -1
- package/dist/src/styles/filter-row/filter-row-styles.css.js +0 -96
- package/dist/src/styles/filter-row/filter-row-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.bootstrap-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.fluent-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.indigo-styles.css.js.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts +0 -2
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.d.ts.map +0 -1
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.js +0 -83
- package/dist/src/styles/grid/themes/light/grid.material-styles.css.js.map +0 -1
- package/dist/src/styles/header-cell/header-cell-styles.css.d.ts +0 -2
- package/dist/src/styles/header-cell/header-cell-styles.css.d.ts.map +0 -1
- package/dist/src/styles/header-cell/header-cell-styles.css.js +0 -141
- package/dist/src/styles/header-cell/header-cell-styles.css.js.map +0 -1
- package/dist/src/styles/header-row/header-row.base-styles.css.d.ts +0 -2
- package/dist/src/styles/header-row/header-row.base-styles.css.d.ts.map +0 -1
- package/dist/src/styles/header-row/header-row.base-styles.css.js +0 -35
- package/dist/src/styles/header-row/header-row.base-styles.css.js.map +0 -1
- /package/{dist/src/define.js → define.js} +0 -0
- /package/{dist/docs → docs}/.nojekyll +0 -0
- /package/{dist/src/index.js → index.js} +0 -0
- /package/{dist/src/internal → internal}/constants.js +0 -0
- /package/{dist/src/internal → internal}/icon-registry.js +0 -0
- /package/{dist/src/internal → internal}/is-defined.js +0 -0
- /package/{dist/src/internal → internal}/mixins/event-emitter.js +0 -0
- /package/{dist/src/internal → internal}/normalize-case.js +0 -0
- /package/{dist/src/internal → internal}/tags.js +0 -0
- /package/{dist/src/internal → internal}/types.js +0 -0
- /package/{dist/src/operations → operations}/base.js +0 -0
- /package/{dist/src/operations → operations}/filter/types.js +0 -0
- /package/{dist/src/operations → operations}/sort/types.js +0 -0
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
8
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
9
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
10
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
11
|
-
};
|
|
12
|
-
var _ApexGridHeader_instances, _ApexGridHeader_addResizeEventHandlers, _ApexGridHeader_handleClick, _ApexGridHeader_handleResize, _ApexGridHeader_handleResizeStart, _ApexGridHeader_handlePointerLost, _ApexGridHeader_handleAutosize;
|
|
13
|
-
import { html, LitElement, nothing } from 'lit';
|
|
14
|
-
import { property } from 'lit/decorators.js';
|
|
15
|
-
import { consume } from '@lit-labs/context';
|
|
16
|
-
import { partNameMap } from '../internal/part-map.js';
|
|
17
|
-
import { GRID_HEADER_TAG } from '../internal/tags.js';
|
|
18
|
-
import { registerComponent } from '../internal/register.js';
|
|
19
|
-
import { MIN_COL_RESIZE_WIDTH, SORT_ICON_ASCENDING, SORT_ICON_DESCENDING, } from '../internal/constants.js';
|
|
20
|
-
import { gridStateContext } from '../controllers/state.js';
|
|
21
|
-
import { styles } from '../styles/header-cell/header-cell-styles.css.js';
|
|
22
|
-
export default class ApexGridHeader extends LitElement {
|
|
23
|
-
constructor() {
|
|
24
|
-
super(...arguments);
|
|
25
|
-
_ApexGridHeader_instances.add(this);
|
|
26
|
-
_ApexGridHeader_handleResize.set(this, ({ clientX }) => {
|
|
27
|
-
const { left } = this.getBoundingClientRect();
|
|
28
|
-
const width = Math.max(clientX - left, MIN_COL_RESIZE_WIDTH);
|
|
29
|
-
const x = this.offsetLeft + width;
|
|
30
|
-
this.resizeController.resize(this.column, width, x);
|
|
31
|
-
});
|
|
32
|
-
_ApexGridHeader_handlePointerLost.set(this, () => {
|
|
33
|
-
this.resizeController.indicatorActive = false;
|
|
34
|
-
this.removeEventListener('pointermove', __classPrivateFieldGet(this, _ApexGridHeader_handleResize, "f"));
|
|
35
|
-
this.resizeController.stop();
|
|
36
|
-
});
|
|
37
|
-
_ApexGridHeader_handleAutosize.set(this, () => this.resizeController.autosize(this.column, this));
|
|
38
|
-
}
|
|
39
|
-
static get is() {
|
|
40
|
-
return GRID_HEADER_TAG;
|
|
41
|
-
}
|
|
42
|
-
static register() {
|
|
43
|
-
registerComponent(this);
|
|
44
|
-
}
|
|
45
|
-
get context() {
|
|
46
|
-
return {
|
|
47
|
-
parent: this,
|
|
48
|
-
column: this.column,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
get isSortable() {
|
|
52
|
-
return Boolean(this.column.sort);
|
|
53
|
-
}
|
|
54
|
-
get resizeController() {
|
|
55
|
-
return this.state.resizing;
|
|
56
|
-
}
|
|
57
|
-
renderSortPart() {
|
|
58
|
-
const state = this.state.sorting.state.get(this.column.key);
|
|
59
|
-
const idx = Array.from(this.state.sorting.state.values()).indexOf(state);
|
|
60
|
-
const attr = this.state.host.sortConfiguration.multiple
|
|
61
|
-
? idx > -1
|
|
62
|
-
? idx + 1
|
|
63
|
-
: nothing
|
|
64
|
-
: nothing;
|
|
65
|
-
const icon = state
|
|
66
|
-
? state.direction === 'ascending'
|
|
67
|
-
? SORT_ICON_ASCENDING
|
|
68
|
-
: SORT_ICON_DESCENDING
|
|
69
|
-
: SORT_ICON_ASCENDING;
|
|
70
|
-
return state || this.isSortable
|
|
71
|
-
? html `<span
|
|
72
|
-
part=${partNameMap({ action: true, sorted: !!(state === null || state === void 0 ? void 0 : state.direction) })}
|
|
73
|
-
@click=${this.isSortable ? __classPrivateFieldGet(this, _ApexGridHeader_instances, "m", _ApexGridHeader_handleClick) : nothing}
|
|
74
|
-
>
|
|
75
|
-
<igc-icon
|
|
76
|
-
part=${partNameMap({ 'sorting-action': !!state })}
|
|
77
|
-
data-sortIndex=${attr}
|
|
78
|
-
name=${icon}
|
|
79
|
-
collection="internal"
|
|
80
|
-
></igc-icon>
|
|
81
|
-
</span>`
|
|
82
|
-
: nothing;
|
|
83
|
-
}
|
|
84
|
-
renderContentPart() {
|
|
85
|
-
var _a;
|
|
86
|
-
const defaultContent = (_a = this.column.headerText) !== null && _a !== void 0 ? _a : this.column.key;
|
|
87
|
-
const template = this.column.headerTemplate;
|
|
88
|
-
return html `
|
|
89
|
-
<span part="title">
|
|
90
|
-
<span>${template ? template(this.context) : html `${defaultContent}`}</span>
|
|
91
|
-
</span>
|
|
92
|
-
`;
|
|
93
|
-
}
|
|
94
|
-
renderResizePart() {
|
|
95
|
-
return this.column.resizable
|
|
96
|
-
? html `<span
|
|
97
|
-
part="resizable"
|
|
98
|
-
@dblclick=${__classPrivateFieldGet(this, _ApexGridHeader_handleAutosize, "f")}
|
|
99
|
-
@pointerdown=${__classPrivateFieldGet(this, _ApexGridHeader_instances, "m", _ApexGridHeader_handleResizeStart)}
|
|
100
|
-
></span>`
|
|
101
|
-
: nothing;
|
|
102
|
-
}
|
|
103
|
-
render() {
|
|
104
|
-
return html `
|
|
105
|
-
<div
|
|
106
|
-
part=${partNameMap({
|
|
107
|
-
content: true,
|
|
108
|
-
sortable: this.isSortable,
|
|
109
|
-
resizing: this.resizeController.indicatorActive,
|
|
110
|
-
})}
|
|
111
|
-
>
|
|
112
|
-
${this.renderContentPart()}
|
|
113
|
-
<div part="actions">${this.renderSortPart()}</div>
|
|
114
|
-
</div>
|
|
115
|
-
${this.renderResizePart()}
|
|
116
|
-
`;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
_ApexGridHeader_handleResize = new WeakMap(), _ApexGridHeader_handlePointerLost = new WeakMap(), _ApexGridHeader_handleAutosize = new WeakMap(), _ApexGridHeader_instances = new WeakSet(), _ApexGridHeader_addResizeEventHandlers = function _ApexGridHeader_addResizeEventHandlers() {
|
|
120
|
-
const config = { once: true };
|
|
121
|
-
this.addEventListener('gotpointercapture', () => (this.resizeController.indicatorActive = true), config);
|
|
122
|
-
this.addEventListener('lostpointercapture', __classPrivateFieldGet(this, _ApexGridHeader_handlePointerLost, "f"), config);
|
|
123
|
-
this.addEventListener('pointerup', e => this.releasePointerCapture(e.pointerId), config);
|
|
124
|
-
this.addEventListener('pointermove', __classPrivateFieldGet(this, _ApexGridHeader_handleResize, "f"));
|
|
125
|
-
}, _ApexGridHeader_handleClick = function _ApexGridHeader_handleClick(e) {
|
|
126
|
-
e.stopPropagation();
|
|
127
|
-
this.state.sorting.sortFromHeaderClick(this.column);
|
|
128
|
-
}, _ApexGridHeader_handleResizeStart = function _ApexGridHeader_handleResizeStart(ev) {
|
|
129
|
-
const { target, pointerId } = ev;
|
|
130
|
-
ev.preventDefault();
|
|
131
|
-
__classPrivateFieldGet(this, _ApexGridHeader_instances, "m", _ApexGridHeader_addResizeEventHandlers).call(this);
|
|
132
|
-
this.resizeController.start(this);
|
|
133
|
-
target.setPointerCapture(pointerId);
|
|
134
|
-
};
|
|
135
|
-
ApexGridHeader.styles = styles;
|
|
136
|
-
__decorate([
|
|
137
|
-
consume({ context: gridStateContext, subscribe: true }),
|
|
138
|
-
property({ attribute: false })
|
|
139
|
-
], ApexGridHeader.prototype, "state", void 0);
|
|
140
|
-
__decorate([
|
|
141
|
-
property({ attribute: false })
|
|
142
|
-
], ApexGridHeader.prototype, "column", void 0);
|
|
143
|
-
//# sourceMappingURL=header.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/header.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EACL,oBAAoB,EACpB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAmB,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,iDAAiD,CAAC;AAEzE,MAAM,CAAC,OAAO,OAAO,cAAiC,SAAQ,UAAU;IAAxE;;;QAmDE,uCAAgB,CAAC,EAAE,OAAO,EAAgB,EAAE,EAAE;YAC5C,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC9C,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,EAAE,oBAAoB,CAAC,CAAC;YAC7D,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YAElC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACtD,CAAC,EAAC;QAaF,4CAAqB,GAAG,EAAE;YACxB,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,KAAK,CAAC;YAC9C,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,uBAAA,IAAI,oCAAc,CAAC,CAAC;YAC5D,IAAI,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC,EAAC;QAEF,yCAAkB,GAAG,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAC;IAmE5E,CAAC;IA9IQ,MAAM,KAAK,EAAE;QAClB,OAAO,eAAe,CAAC;IACzB,CAAC;IAIM,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,IAAc,OAAO;QACnB,OAAO;YACL,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,IAAI,CAAC,MAAM;SACpB,CAAC;IACJ,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,CAAC;IAED,IAAc,gBAAgB;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;IAC7B,CAAC;IAsDS,cAAc;QACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;QAC1E,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ;YACrD,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;gBACR,CAAC,CAAC,GAAG,GAAG,CAAC;gBACT,CAAC,CAAC,OAAO;YACX,CAAC,CAAC,OAAO,CAAC;QACZ,MAAM,IAAI,GAAG,KAAK;YAChB,CAAC,CAAC,KAAK,CAAC,SAAS,KAAK,WAAW;gBAC/B,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,oBAAoB;YACxB,CAAC,CAAC,mBAAmB,CAAC;QAExB,OAAO,KAAK,IAAI,IAAI,CAAC,UAAU;YAC7B,CAAC,CAAC,IAAI,CAAA;iBACK,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,SAAS,CAAA,EAAE,CAAC;mBACvD,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,uBAAA,IAAI,8DAAa,CAAC,CAAC,CAAC,OAAO;;;mBAG7C,WAAW,CAAC,EAAE,gBAAgB,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC;6BAChC,IAAI;mBACd,IAAI;;;gBAGP;YACV,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAES,iBAAiB;;QACzB,MAAM,cAAc,GAAG,MAAA,IAAI,CAAC,MAAM,CAAC,UAAU,mCAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;QACjE,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC;QAE5C,OAAO,IAAI,CAAA;;gBAEC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA,GAAG,cAAc,EAAE;;KAEtE,CAAC;IACJ,CAAC;IAES,gBAAgB;QACxB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS;YAC1B,CAAC,CAAC,IAAI,CAAA;;sBAEU,uBAAA,IAAI,sCAAgB;yBACjB,uBAAA,IAAI,oEAAmB;iBAC/B;YACX,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;IAEkB,MAAM;QACvB,OAAO,IAAI,CAAA;;eAEA,WAAW,CAAC;YACjB,OAAO,EAAE,IAAI;YACb,QAAQ,EAAE,IAAI,CAAC,UAAU;YACzB,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,eAAe;SAChD,CAAC;;UAEA,IAAI,CAAC,iBAAiB,EAAE;8BACJ,IAAI,CAAC,cAAc,EAAE;;QAE3C,IAAI,CAAC,gBAAgB,EAAE;KAC1B,CAAC;IACJ,CAAC;;;IA5GC,MAAM,MAAM,GAA4B,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAEvD,IAAI,CAAC,gBAAgB,CACnB,mBAAmB,EACnB,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,eAAe,GAAG,IAAI,CAAC,EACpD,MAAM,CACP,CAAC;IACF,IAAI,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,uBAAA,IAAI,yCAAmB,EAAE,MAAM,CAAC,CAAC;IAC7E,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC,CAAC;IACzF,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,uBAAA,IAAI,oCAAc,CAAC,CAAC;AAC3D,CAAC,qEAEY,CAAQ;IACnB,CAAC,CAAC,eAAe,EAAE,CAAC;IACpB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACtD,CAAC,iFAUkB,EAAgB;IACjC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAEjC,EAAE,CAAC,cAAc,EAAE,CAAC;IAEpB,uBAAA,IAAI,yEAAwB,MAA5B,IAAI,CAA0B,CAAC;IAC/B,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEjC,MAAsB,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACvD,CAAC;AA/DsB,qBAAM,GAAG,MAAM,CAAC;AAuBvC;IAFC,OAAO,CAAC,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;IACvD,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;6CACG;AAGlC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;8CACQ","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property } from 'lit/decorators.js';\nimport { consume } from '@lit-labs/context';\nimport { partNameMap } from '../internal/part-map.js';\nimport { GRID_HEADER_TAG } from '../internal/tags.js';\nimport { registerComponent } from '../internal/register.js';\nimport {\n MIN_COL_RESIZE_WIDTH,\n SORT_ICON_ASCENDING,\n SORT_ICON_DESCENDING,\n} from '../internal/constants.js';\nimport type { ColumnConfiguration, ApexHeaderContext } from '../internal/types.js';\nimport { StateController, gridStateContext } from '../controllers/state.js';\nimport { styles } from '../styles/header-cell/header-cell-styles.css.js';\n\nexport default class ApexGridHeader<T extends object> extends LitElement {\n public static get is() {\n return GRID_HEADER_TAG;\n }\n\n public static override styles = styles;\n\n public static register() {\n registerComponent(this);\n }\n\n protected get context(): ApexHeaderContext<T> {\n return {\n parent: this,\n column: this.column,\n };\n }\n\n protected get isSortable() {\n return Boolean(this.column.sort);\n }\n\n protected get resizeController() {\n return this.state.resizing;\n }\n\n @consume({ context: gridStateContext, subscribe: true })\n @property({ attribute: false })\n public state!: StateController<T>;\n\n @property({ attribute: false })\n public column!: ColumnConfiguration<T>;\n\n #addResizeEventHandlers() {\n const config: AddEventListenerOptions = { once: true };\n\n this.addEventListener(\n 'gotpointercapture',\n () => (this.resizeController.indicatorActive = true),\n config,\n );\n this.addEventListener('lostpointercapture', this.#handlePointerLost, config);\n this.addEventListener('pointerup', e => this.releasePointerCapture(e.pointerId), config);\n this.addEventListener('pointermove', this.#handleResize);\n }\n\n #handleClick(e: Event) {\n e.stopPropagation();\n this.state.sorting.sortFromHeaderClick(this.column);\n }\n\n #handleResize = ({ clientX }: PointerEvent) => {\n const { left } = this.getBoundingClientRect();\n const width = Math.max(clientX - left, MIN_COL_RESIZE_WIDTH);\n const x = this.offsetLeft + width;\n\n this.resizeController.resize(this.column, width, x);\n };\n\n #handleResizeStart(ev: PointerEvent) {\n const { target, pointerId } = ev;\n\n ev.preventDefault();\n\n this.#addResizeEventHandlers();\n this.resizeController.start(this);\n\n (target as HTMLElement).setPointerCapture(pointerId);\n }\n\n #handlePointerLost = () => {\n this.resizeController.indicatorActive = false;\n this.removeEventListener('pointermove', this.#handleResize);\n this.resizeController.stop();\n };\n\n #handleAutosize = () => this.resizeController.autosize(this.column, this);\n\n protected renderSortPart() {\n const state = this.state.sorting.state.get(this.column.key);\n const idx = Array.from(this.state.sorting.state.values()).indexOf(state!);\n const attr = this.state.host.sortConfiguration.multiple\n ? idx > -1\n ? idx + 1\n : nothing\n : nothing;\n const icon = state\n ? state.direction === 'ascending'\n ? SORT_ICON_ASCENDING\n : SORT_ICON_DESCENDING\n : SORT_ICON_ASCENDING;\n\n return state || this.isSortable\n ? html`<span\n part=${partNameMap({ action: true, sorted: !!state?.direction })}\n @click=${this.isSortable ? this.#handleClick : nothing}\n >\n <igc-icon\n part=${partNameMap({ 'sorting-action': !!state })}\n data-sortIndex=${attr}\n name=${icon}\n collection=\"internal\"\n ></igc-icon>\n </span>`\n : nothing;\n }\n\n protected renderContentPart() {\n const defaultContent = this.column.headerText ?? this.column.key;\n const template = this.column.headerTemplate;\n\n return html`\n <span part=\"title\">\n <span>${template ? template(this.context) : html`${defaultContent}`}</span>\n </span>\n `;\n }\n\n protected renderResizePart() {\n return this.column.resizable\n ? html`<span\n part=\"resizable\"\n @dblclick=${this.#handleAutosize}\n @pointerdown=${this.#handleResizeStart}\n ></span>`\n : nothing;\n }\n\n protected override render() {\n return html`\n <div\n part=${partNameMap({\n content: true,\n sortable: this.isSortable,\n resizing: this.resizeController.indicatorActive,\n })}\n >\n ${this.renderContentPart()}\n <div part=\"actions\">${this.renderSortPart()}</div>\n </div>\n ${this.renderResizePart()}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ApexGridHeader.is]: ApexGridHeader<object>;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row.d.ts","sourceRoot":"","sources":["../../../src/components/row.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,UAAU,EAAW,MAAM,KAAK,CAAC;AAKhD,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC5E,OAAO,YAAY,MAAM,WAAW,CAAC;AAGrC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAAW,CAAC,CAAC,SAAS,MAAM,CAAE,SAAQ,UAAU;IACnE,WAAkB,EAAE,oBAEnB;IACD,OAAuB,MAAM,0BAAU;WAEzB,QAAQ;IAKtB,SAAS,CAAC,MAAM,EAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAGxC,IAAI,EAAG,CAAC,CAAC;IAGT,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAM;IAEnD,IAAW,KAAK,sBAEf;IAGM,UAAU,EAAG,UAAU,CAAC,CAAC,CAAC,CAAC;IAG3B,KAAK,SAAM;IAEF,iBAAiB,IAAI,IAAI;cAKtB,MAAM;CAiB1B;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,WAAW,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;KACvC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"row.js","sourceRoot":"","sources":["../../../src/components/row.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAChD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,uBAAuB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,YAAY,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,WAA8B,SAAQ,UAAU;IAArE;;QAiBS,YAAO,GAAkC,EAAE,CAAC;QAU5C,UAAK,GAAG,CAAC,CAAC,CAAC;IAwBpB,CAAC;IAlDQ,MAAM,KAAK,EAAE;QAClB,OAAO,YAAY,CAAC;IACtB,CAAC;IAGM,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC;IAC1C,CAAC;IAWD,IAAW,KAAK;QACd,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACjC,CAAC;IAQe,iBAAiB;QAC/B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAEkB,MAAM;QACvB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC;QAEpD,OAAO,IAAI,CAAA;QACP,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,CAC3B,MAAM,CAAC,MAAM;YACX,CAAC,CAAC,OAAO;YACT,CAAC,CAAC,IAAI,CAAA;;wBAEQ,GAAG,KAAK,MAAM,CAAC,GAAG,IAAI,KAAK,KAAK,IAAI,CAAC,KAAK;wBAC1C,MAAM;qBACT,IAAsB;uBACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC;+BACb,CACxB;KACF,CAAC;IACJ,CAAC;;AA9CsB,kBAAM,GAAG,MAAM,CAAC;AAOvC;IADC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;2CACqB;AAG/C;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;yCACf;AAGhB;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4CACoB;AAOnD;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+CACG;AAGlC;IADC,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAC3B","sourcesContent":["import { html, LitElement, nothing } from 'lit';\nimport { property, queryAll } from 'lit/decorators.js';\nimport { map } from 'lit/directives/map.js';\nimport { GRID_ROW_TAG } from '../internal/tags.js';\nimport { registerComponent } from '../internal/register.js';\nimport type { ActiveNode, ColumnConfiguration } from '../internal/types.js';\nimport ApexGridCell from './cell.js';\nimport { styles } from '../styles/body-row/body-row-styles.css.js';\n\n/**\n * Component representing the DOM row in the Apex grid.\n */\nexport default class ApexGridRow<T extends object> extends LitElement {\n public static get is() {\n return GRID_ROW_TAG;\n }\n public static override styles = styles;\n\n public static register() {\n registerComponent(this, [ApexGridCell]);\n }\n\n @queryAll(ApexGridCell.is)\n protected _cells!: NodeListOf<ApexGridCell<T>>;\n\n @property({ attribute: false })\n public data!: T;\n\n @property({ attribute: false })\n public columns: Array<ColumnConfiguration<T>> = [];\n\n public get cells() {\n return Array.from(this._cells);\n }\n\n @property({ attribute: false })\n public activeNode!: ActiveNode<T>;\n\n @property({ attribute: false, type: Number })\n public index = -1;\n\n public override connectedCallback(): void {\n super.connectedCallback();\n this.setAttribute('exportparts', 'cell');\n }\n\n protected override render() {\n const { column: key, row: index } = this.activeNode;\n\n return html`\n ${map(this.columns, column =>\n column.hidden\n ? nothing\n : html`<apex-grid-cell\n part=\"cell\"\n .active=${key === column.key && index === this.index}\n .column=${column}\n .row=${this as ApexGridRow<T>}\n .value=${this.data[column.key]}\n ></apex-grid-cell>`,\n )}\n `;\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ApexGridRow.is]: ApexGridRow<object>;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtualizer.d.ts","sourceRoot":"","sources":["../../../src/components/virtualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AAIzE,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IACzD,WAAkB,EAAE,uBAEnB;WAEa,QAAQ;IAIN,QAAQ,UAAQ;IAEV,iBAAiB;CAMxC;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,eAAe,CAAC;KACvC;CACF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"virtualizer.js","sourceRoot":"","sources":["../../../src/components/virtualizer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,MAAM,CAAC,OAAO,OAAO,eAAgB,SAAQ,cAAc;IAA3D;;QASkB,aAAQ,GAAG,IAAI,CAAC;IAQlC,CAAC;IAhBQ,MAAM,KAAK,EAAE;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,MAAM,CAAC,QAAQ;QACpB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAIe,KAAK,CAAC,iBAAiB;QACrC,MAAM,KAAK,CAAC,cAAc,CAAC;QAE3B,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACrC,CAAC;CACF","sourcesContent":["import { LitVirtualizer } from '@lit-labs/virtualizer/LitVirtualizer.js';\nimport { registerComponent } from '../internal/register.js';\nimport { GRID_BODY } from '../internal/tags.js';\n\nexport default class ApexVirtualizer extends LitVirtualizer {\n public static get is() {\n return GRID_BODY;\n }\n\n public static register() {\n registerComponent(this);\n }\n\n public override scroller = true;\n\n public override async connectedCallback() {\n await super.layoutComplete;\n\n super.connectedCallback();\n this.setAttribute('tabindex', '0');\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n [ApexVirtualizer.is]: ApexVirtualizer;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-operation.d.ts","sourceRoot":"","sources":["../../../src/controllers/data-operation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AACzC,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,qBAAa,wBAAwB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;IAIvE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAHvC,SAAS,CAAC,OAAO,uBAA8B;IAC/C,SAAS,CAAC,SAAS,yBAAgC;gBAE7B,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAIhC,aAAa;IAEpB,SAAS,KAAK,aAAa,YAE1B;IAED,SAAS,KAAK,eAAe,YAE5B;IAED,SAAS,KAAK,YAAY,uDAEzB;IAED,SAAS,KAAK,UAAU,uDAEvB;IAEY,KAAK,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;CAaxD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"data-operation.js","sourceRoot":"","sources":["../../../src/controllers/data-operation.ts"],"names":[],"mappings":"AACA,OAAO,iBAAiB,MAAM,uBAAuB,CAAC;AACtD,OAAO,mBAAmB,MAAM,yBAAyB,CAAC;AAG1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AAEtD,MAAM,OAAO,wBAAwB;IAInC,YAAsB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;QAH7B,YAAO,GAAG,IAAI,iBAAiB,EAAK,CAAC;QACrC,cAAS,GAAG,IAAI,mBAAmB,EAAK,CAAC;QAGjD,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAEM,aAAa,KAAI,CAAC;IAEzB,IAAc,aAAa;;QACzB,OAAO,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,IAAI,CAAC,CAAC;IAC9D,CAAC;IAED,IAAc,eAAe;;QAC3B,OAAO,SAAS,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,yBAAyB,0CAAE,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,IAAc,YAAY;QACxB,OAAO,IAAI,CAAC,IAAI,CAAC,yBAA0B,CAAC,MAAO,CAAC;IACtD,CAAC;IAED,IAAc,UAAU;QACtB,OAAO,IAAI,CAAC,IAAI,CAAC,yBAA0B,CAAC,IAAK,CAAC;IACpD,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,IAAS,EAAE,KAAyB;QACrD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC;QAErC,IAAI,GAAG,IAAI,CAAC,eAAe;YACzB,CAAC,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACpE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;QAEhD,IAAI,GAAG,IAAI,CAAC,aAAa;YACvB,CAAC,CAAC,MAAM,IAAI,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAChE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC;IACd,CAAC;CACF","sourcesContent":["import { ReactiveController } from 'lit';\nimport SortDataOperation from '../operations/sort.js';\nimport FilterDataOperation from '../operations/filter.js';\nimport type { GridHost } from '../internal/types.js';\nimport type { StateController } from './state.js';\nimport { isDefined } from '../internal/is-defined.js';\n\nexport class DataOperationsController<T extends object> implements ReactiveController {\n protected sorting = new SortDataOperation<T>();\n protected filtering = new FilterDataOperation<T>();\n\n constructor(protected host: GridHost<T>) {\n this.host.addController(this);\n }\n\n public hostConnected() {}\n\n protected get hasCustomSort() {\n return isDefined(this.host.dataPipelineConfiguration?.sort);\n }\n\n protected get hasCustomFilter() {\n return isDefined(this.host.dataPipelineConfiguration?.filter);\n }\n\n protected get customFilter() {\n return this.host.dataPipelineConfiguration!.filter!;\n }\n\n protected get customSort() {\n return this.host.dataPipelineConfiguration!.sort!;\n }\n\n public async apply(data: T[], state: StateController<T>) {\n const { filtering, sorting } = state;\n\n data = this.hasCustomFilter\n ? await this.customFilter({ data, grid: this.host, type: 'filter' })\n : this.filtering.apply(data, filtering.state);\n\n data = this.hasCustomSort\n ? await this.customSort({ data, grid: this.host, type: 'sort' })\n : this.sorting.apply(data, sorting.state);\n\n return data;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom.d.ts","sourceRoot":"","sources":["../../../src/controllers/dom.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAY,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAG7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,qBAAa,iBAAiB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;;IAChE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAAE,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;gBAAtD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAY,KAAK,EAAE,eAAe,CAAC,CAAC,CAAC;IAQ5E,IAAW,SAAS,gDAGnB;IAEM,WAAW,EAAE,SAAS,CAAM;IAE5B,WAAW,EAAE,kBAAkB,CAAC,CAAC,CAAC,CASvC;IAEW,aAAa;IASnB,UAAU,IAAI,IAAI;IAKlB,eAAe;IAKtB,SAAS,CAAC,kBAAkB;IAIrB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS;CAIpD"}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _GridDOMController_initialSize;
|
|
7
|
-
import { html } from 'lit';
|
|
8
|
-
import { styleMap } from 'lit/directives/style-map.js';
|
|
9
|
-
import { applyColumnWidths } from '../internal/utils.js';
|
|
10
|
-
import { registerGridIcons } from '../internal/icon-registry.js';
|
|
11
|
-
export class GridDOMController {
|
|
12
|
-
constructor(host, state) {
|
|
13
|
-
this.host = host;
|
|
14
|
-
this.state = state;
|
|
15
|
-
_GridDOMController_initialSize.set(this, () => {
|
|
16
|
-
setTimeout(() => this.setScrollOffset());
|
|
17
|
-
});
|
|
18
|
-
this.columnSizes = {};
|
|
19
|
-
this.rowRenderer = (data, index) => {
|
|
20
|
-
return html `<apex-grid-row
|
|
21
|
-
part="row"
|
|
22
|
-
style=${styleMap({ ...this.columnSizes, ...this.getActiveRowStyles(index) })}
|
|
23
|
-
.index=${index}
|
|
24
|
-
.activeNode=${this.state.active}
|
|
25
|
-
.data=${data}
|
|
26
|
-
.columns=${this.host.columns}
|
|
27
|
-
></apex-grid-row>`;
|
|
28
|
-
};
|
|
29
|
-
this.host.addController(this);
|
|
30
|
-
}
|
|
31
|
-
get container() {
|
|
32
|
-
// @ts-expect-error: protected member access
|
|
33
|
-
return this.host.scrollContainer;
|
|
34
|
-
}
|
|
35
|
-
async hostConnected() {
|
|
36
|
-
registerGridIcons();
|
|
37
|
-
this.setGridColumnSizes();
|
|
38
|
-
// Wait for the initial paint of the virtualizer and recalculate the scrollbar offset
|
|
39
|
-
// for the next one
|
|
40
|
-
await this.host.updateComplete;
|
|
41
|
-
this.container.addEventListener('visibilityChanged', __classPrivateFieldGet(this, _GridDOMController_initialSize, "f"), { once: true });
|
|
42
|
-
}
|
|
43
|
-
hostUpdate() {
|
|
44
|
-
this.setScrollOffset();
|
|
45
|
-
this.setGridColumnSizes();
|
|
46
|
-
}
|
|
47
|
-
setScrollOffset() {
|
|
48
|
-
const size = this.container ? this.container.offsetWidth - this.container.clientWidth : 0;
|
|
49
|
-
this.host.style.setProperty('--scrollbar-offset', `${size}px`);
|
|
50
|
-
}
|
|
51
|
-
setGridColumnSizes() {
|
|
52
|
-
this.columnSizes = applyColumnWidths(this.host.columns);
|
|
53
|
-
}
|
|
54
|
-
getActiveRowStyles(index) {
|
|
55
|
-
const { row } = this.state.active;
|
|
56
|
-
return row === index ? { 'z-index': '3' } : {};
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
_GridDOMController_initialSize = new WeakMap();
|
|
60
|
-
//# sourceMappingURL=dom.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../../src/controllers/dom.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAsB,MAAM,KAAK,CAAC;AAC/C,OAAO,EAAa,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAGjE,MAAM,OAAO,iBAAiB;IAC5B,YAAsB,IAAiB,EAAY,KAAyB;QAAtD,SAAI,GAAJ,IAAI,CAAa;QAAY,UAAK,GAAL,KAAK,CAAoB;QAI5E,yCAAe,GAAG,EAAE;YAClB,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3C,CAAC,EAAC;QAOK,gBAAW,GAAc,EAAE,CAAC;QAE5B,gBAAW,GAA0B,CAAC,IAAO,EAAE,KAAa,EAAE,EAAE;YACrE,OAAO,IAAI,CAAA;;cAED,QAAQ,CAAC,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC;eACnE,KAAK;oBACA,IAAI,CAAC,KAAK,CAAC,MAAM;cACvB,IAAI;iBACD,IAAI,CAAC,IAAI,CAAC,OAAO;sBACZ,CAAC;QACrB,CAAC,CAAC;QAvBA,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAMD,IAAW,SAAS;QAClB,4CAA4C;QAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;IACnC,CAAC;IAeM,KAAK,CAAC,aAAa;QACxB,iBAAiB,EAAE,CAAC;QACpB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,qFAAqF;QACrF,mBAAmB;QACnB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,uBAAA,IAAI,sCAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1F,CAAC;IAEM,UAAU;QACf,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;IAEM,eAAe;QACpB,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,oBAAoB,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC;IACjE,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC1D,CAAC;IAEM,kBAAkB,CAAC,KAAa;QACrC,MAAM,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;QAClC,OAAO,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,CAAC;CACF","sourcesContent":["import { html, ReactiveController } from 'lit';\nimport { StyleInfo, styleMap } from 'lit/directives/style-map.js';\nimport { RenderItemFunction } from '@lit-labs/virtualizer/virtualize.js';\nimport { StateController } from './state.js';\nimport { applyColumnWidths } from '../internal/utils.js';\nimport { registerGridIcons } from '../internal/icon-registry.js';\nimport type { GridHost } from '../internal/types.js';\n\nexport class GridDOMController<T extends object> implements ReactiveController {\n constructor(protected host: GridHost<T>, protected state: StateController<T>) {\n this.host.addController(this);\n }\n\n #initialSize = () => {\n setTimeout(() => this.setScrollOffset());\n };\n\n public get container() {\n // @ts-expect-error: protected member access\n return this.host.scrollContainer;\n }\n\n public columnSizes: StyleInfo = {};\n\n public rowRenderer: RenderItemFunction<T> = (data: T, index: number) => {\n return html`<apex-grid-row\n part=\"row\"\n style=${styleMap({ ...this.columnSizes, ...this.getActiveRowStyles(index) })}\n .index=${index}\n .activeNode=${this.state.active}\n .data=${data}\n .columns=${this.host.columns}\n ></apex-grid-row>`;\n };\n\n public async hostConnected() {\n registerGridIcons();\n this.setGridColumnSizes();\n // Wait for the initial paint of the virtualizer and recalculate the scrollbar offset\n // for the next one\n await this.host.updateComplete;\n this.container.addEventListener('visibilityChanged', this.#initialSize, { once: true });\n }\n\n public hostUpdate(): void {\n this.setScrollOffset();\n this.setGridColumnSizes();\n }\n\n public setScrollOffset() {\n const size = this.container ? this.container.offsetWidth - this.container.clientWidth : 0;\n this.host.style.setProperty('--scrollbar-offset', `${size}px`);\n }\n\n protected setGridColumnSizes() {\n this.columnSizes = applyColumnWidths(this.host.columns);\n }\n\n public getActiveRowStyles(index: number): StyleInfo {\n const { row } = this.state.active;\n return row === index ? { 'z-index': '3' } : {};\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.d.ts","sourceRoot":"","sources":["../../../src/controllers/filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAGzC,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAE5D,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;;IAC/D,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAAjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAIhC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,CAAqB;IAEjD,IAAW,SAAS,kDAGnB;IA8BM,aAAa;IAEb,UAAU,IAAI,IAAI;IAIlB,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAIhB,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAInB,eAAe,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAQ/C,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAc7C,oBAAoB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAuBjC,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAmBhD,eAAe,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ;IAWxF,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE;CAOtE"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _FilterController_instances, _FilterController_virtualizer_get, _FilterController_emitFilteringEvent, _FilterController_emitFilteredEvent, _FilterController_filter;
|
|
7
|
-
import { PIPELINE } from '../internal/constants.js';
|
|
8
|
-
import { asArray, getFilterOperandsFor } from '../internal/utils.js';
|
|
9
|
-
import { FilterState } from '../operations/filter/state.js';
|
|
10
|
-
export class FilterController {
|
|
11
|
-
constructor(host) {
|
|
12
|
-
this.host = host;
|
|
13
|
-
_FilterController_instances.add(this);
|
|
14
|
-
this.state = new FilterState();
|
|
15
|
-
this.host.addController(this);
|
|
16
|
-
}
|
|
17
|
-
get filterRow() {
|
|
18
|
-
// @ts-expect-error - protected access
|
|
19
|
-
return this.host.filterRow;
|
|
20
|
-
}
|
|
21
|
-
hostConnected() { }
|
|
22
|
-
hostUpdate() {
|
|
23
|
-
var _a;
|
|
24
|
-
(_a = this.filterRow) === null || _a === void 0 ? void 0 : _a.requestUpdate();
|
|
25
|
-
}
|
|
26
|
-
get(key) {
|
|
27
|
-
return this.state.get(key);
|
|
28
|
-
}
|
|
29
|
-
reset(key) {
|
|
30
|
-
key ? this.state.delete(key) : this.state.clear();
|
|
31
|
-
}
|
|
32
|
-
setActiveColumn(column) {
|
|
33
|
-
var _a;
|
|
34
|
-
if ((column === null || column === void 0 ? void 0 : column.filter) && ((_a = this.filterRow) === null || _a === void 0 ? void 0 : _a.active)) {
|
|
35
|
-
this.filterRow.column = column;
|
|
36
|
-
this.filterRow.expression = this.getDefaultExpression(column);
|
|
37
|
-
this.host.requestUpdate();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
getDefaultExpression(column) {
|
|
41
|
-
var _a;
|
|
42
|
-
const caseSensitive = typeof column.filter === 'boolean' ? false : Boolean((_a = column.filter) === null || _a === void 0 ? void 0 : _a.caseSensitive);
|
|
43
|
-
const operands = getFilterOperandsFor(column);
|
|
44
|
-
const keys = Object.keys(operands);
|
|
45
|
-
// XXX: Types
|
|
46
|
-
return {
|
|
47
|
-
key: column.key,
|
|
48
|
-
condition: operands[keys[0]],
|
|
49
|
-
caseSensitive,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
async removeAllExpressions(key) {
|
|
53
|
-
var _a, _b, _c, _d;
|
|
54
|
-
const state = (_b = (_a = this.get(key)) === null || _a === void 0 ? void 0 : _a.all) !== null && _b !== void 0 ? _b : [];
|
|
55
|
-
if (!this.host.emitEvent('filtering', {
|
|
56
|
-
detail: {
|
|
57
|
-
key,
|
|
58
|
-
expressions: state,
|
|
59
|
-
type: 'remove',
|
|
60
|
-
},
|
|
61
|
-
cancelable: true,
|
|
62
|
-
})) {
|
|
63
|
-
return;
|
|
64
|
-
}
|
|
65
|
-
this.reset(key);
|
|
66
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_filter).call(this, []);
|
|
67
|
-
await this.host.updateComplete;
|
|
68
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_emitFilteredEvent).call(this, { key, state: (_d = (_c = this.get(key)) === null || _c === void 0 ? void 0 : _c.all) !== null && _d !== void 0 ? _d : [] });
|
|
69
|
-
}
|
|
70
|
-
async removeExpression(expression) {
|
|
71
|
-
var _a;
|
|
72
|
-
const state = this.get(expression.key);
|
|
73
|
-
if (!__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_emitFilteringEvent).call(this, expression, 'remove')) {
|
|
74
|
-
return;
|
|
75
|
-
}
|
|
76
|
-
state === null || state === void 0 ? void 0 : state.remove(expression);
|
|
77
|
-
if (state === null || state === void 0 ? void 0 : state.empty) {
|
|
78
|
-
this.reset(state.key);
|
|
79
|
-
}
|
|
80
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_filter).call(this, []);
|
|
81
|
-
await this.host.updateComplete;
|
|
82
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_emitFilteredEvent).call(this, { key: expression.key, state: (_a = state === null || state === void 0 ? void 0 : state.all) !== null && _a !== void 0 ? _a : [] });
|
|
83
|
-
}
|
|
84
|
-
async filterWithEvent(expression, type) {
|
|
85
|
-
var _a, _b;
|
|
86
|
-
if (!__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_emitFilteringEvent).call(this, expression, type)) {
|
|
87
|
-
return;
|
|
88
|
-
}
|
|
89
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_filter).call(this, expression);
|
|
90
|
-
await this.host.updateComplete;
|
|
91
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_emitFilteredEvent).call(this, { key: expression.key, state: (_b = (_a = this.get(expression.key)) === null || _a === void 0 ? void 0 : _a.all) !== null && _b !== void 0 ? _b : [] });
|
|
92
|
-
}
|
|
93
|
-
filter(expression) {
|
|
94
|
-
__classPrivateFieldGet(this, _FilterController_instances, "m", _FilterController_filter).call(this, asArray(expression).map(expr => Object.assign(this.getDefaultExpression(this.host.getColumn(expr.key)), expr)));
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
_FilterController_instances = new WeakSet(), _FilterController_virtualizer_get = function _FilterController_virtualizer_get() {
|
|
98
|
-
// @ts-expect-error - protected access
|
|
99
|
-
return this.host.scrollContainer;
|
|
100
|
-
}, _FilterController_emitFilteringEvent = function _FilterController_emitFilteringEvent(expression, type) {
|
|
101
|
-
return this.host.emitEvent('filtering', {
|
|
102
|
-
detail: {
|
|
103
|
-
key: expression.key,
|
|
104
|
-
expressions: [expression],
|
|
105
|
-
type,
|
|
106
|
-
},
|
|
107
|
-
cancelable: true,
|
|
108
|
-
});
|
|
109
|
-
}, _FilterController_emitFilteredEvent = function _FilterController_emitFilteredEvent(detail) {
|
|
110
|
-
return this.host.emitEvent('filtered', { detail });
|
|
111
|
-
}, _FilterController_filter = function _FilterController_filter(expression) {
|
|
112
|
-
var _a;
|
|
113
|
-
asArray(expression).forEach(expr => this.state.set(expr));
|
|
114
|
-
// HACK: In the case where the scrollTop is a large and amount and a big chunk of data is filtered out
|
|
115
|
-
// HACK: the virtualizer can't recalculate its scroll position correctly. Thus, we reset the scrollTop state.
|
|
116
|
-
(_a = __classPrivateFieldGet(this, _FilterController_instances, "a", _FilterController_virtualizer_get)) === null || _a === void 0 ? void 0 : _a.scrollTo({ top: 0 });
|
|
117
|
-
this.host.requestUpdate(PIPELINE);
|
|
118
|
-
};
|
|
119
|
-
//# sourceMappingURL=filter.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/controllers/filter.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AAM5D,MAAM,OAAO,gBAAgB;IAC3B,YAAsB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;;QAIhC,UAAK,GAAmB,IAAI,WAAW,EAAE,CAAC;QAH/C,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAID,IAAW,SAAS;QAClB,sCAAsC;QACtC,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;IA8BM,aAAa,KAAI,CAAC;IAElB,UAAU;;QACf,MAAA,IAAI,CAAC,SAAS,0CAAE,aAAa,EAAE,CAAC;IAClC,CAAC;IAEM,GAAG,CAAC,GAAY;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAEM,KAAK,CAAC,GAAa;QACxB,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACpD,CAAC;IAEM,eAAe,CAAC,MAA+B;;QACpD,IAAI,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,MAAI,MAAA,IAAI,CAAC,SAAS,0CAAE,MAAM,CAAA,EAAE;YAC5C,IAAI,CAAC,SAAS,CAAC,MAAM,GAAG,MAAM,CAAC;YAC/B,IAAI,CAAC,SAAS,CAAC,UAAU,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;SAC3B;IACH,CAAC;IAEM,oBAAoB,CAAC,MAA8B;;QACxD,MAAM,aAAa,GACjB,OAAO,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAA,MAAM,CAAC,MAAM,0CAAE,aAAa,CAAC,CAAC;QACrF,MAAM,QAAQ,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC;QAC9C,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAA4B,CAAC;QAE9D,aAAa;QACb,OAAO;YACL,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,SAAS,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAC5B,aAAa;SACoB,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,GAAY;;QAC5C,MAAM,KAAK,GAAG,MAAA,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,GAAG,mCAAI,EAAE,CAAC;QAEvC,IACE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;YAChC,MAAM,EAAE;gBACN,GAAG;gBACH,WAAW,EAAE,KAAK;gBAClB,IAAI,EAAE,QAAQ;aACf;YACD,UAAU,EAAE,IAAI;SACjB,CAAC,EACF;YACA,OAAO;SACR;QAED,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChB,uBAAA,IAAI,6DAAQ,MAAZ,IAAI,EAAS,EAAE,CAAC,CAAC;QAEjB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,uBAAA,IAAI,wEAAmB,MAAvB,IAAI,EAAoB,EAAE,GAAG,EAAE,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,GAAG,mCAAI,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,UAA+B;;QAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;QAEvC,IAAI,CAAC,uBAAA,IAAI,yEAAoB,MAAxB,IAAI,EAAqB,UAAU,EAAE,QAAQ,CAAC,EAAE;YACnD,OAAO;SACR;QAED,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAE1B,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,KAAK,EAAE;YAChB,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACvB;QAED,uBAAA,IAAI,6DAAQ,MAAZ,IAAI,EAAS,EAAE,CAAC,CAAC;QAEjB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,uBAAA,IAAI,wEAAmB,MAAvB,IAAI,EAAoB,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,GAAG,mCAAI,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,eAAe,CAAC,UAA+B,EAAE,IAAiC;;QAC7F,IAAI,CAAC,uBAAA,IAAI,yEAAoB,MAAxB,IAAI,EAAqB,UAAU,EAAE,IAAI,CAAC,EAAE;YAC/C,OAAO;SACR;QAED,uBAAA,IAAI,6DAAQ,MAAZ,IAAI,EAAS,UAAU,CAAC,CAAC;QAEzB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAC/B,uBAAA,IAAI,wEAAmB,MAAvB,IAAI,EAAoB,EAAE,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,0CAAE,GAAG,mCAAI,EAAE,EAAE,CAAC,CAAC;IAC/F,CAAC;IAEM,MAAM,CAAC,UAAuD;QACnE,uBAAA,IAAI,6DAAQ,MAAZ,IAAI,EACF,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAC7B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAE,CAAC,EAAE,IAAI,CAAC,CAC/E,CACF,CAAC;IACJ,CAAC;CACF;;IA3HG,sCAAsC;IACtC,OAAO,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC;AACnC,CAAC,uFAEmB,UAA+B,EAAE,IAAiC;IACpF,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE;QACtC,MAAM,EAAE;YACN,GAAG,EAAE,UAAU,CAAC,GAAG;YACnB,WAAW,EAAE,CAAC,UAAU,CAAC;YACzB,IAAI;SACL;QACD,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;AACL,CAAC,qFAEkB,MAA6B;IAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;AACrD,CAAC,+DAEO,UAAuD;;IAC7D,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1D,sGAAsG;IACtG,6GAA6G;IAC7G,MAAA,uBAAA,IAAI,sEAAa,0CAAE,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import { ReactiveController } from 'lit';\nimport { PIPELINE } from '../internal/constants.js';\nimport { asArray, getFilterOperandsFor } from '../internal/utils.js';\nimport { FilterState } from '../operations/filter/state.js';\n\nimport type { ColumnConfiguration, GridHost, Keys } from '../internal/types.js';\nimport type { FilterExpression } from '../operations/filter/types.js';\nimport type { ApexFilteredEvent } from '../components/grid.js';\n\nexport class FilterController<T extends object> implements ReactiveController {\n constructor(protected host: GridHost<T>) {\n this.host.addController(this);\n }\n\n public state: FilterState<T> = new FilterState();\n\n public get filterRow() {\n // @ts-expect-error - protected access\n return this.host.filterRow;\n }\n\n get #virtualizer() {\n // @ts-expect-error - protected access\n return this.host.scrollContainer;\n }\n\n #emitFilteringEvent(expression: FilterExpression<T>, type: 'add' | 'modify' | 'remove') {\n return this.host.emitEvent('filtering', {\n detail: {\n key: expression.key,\n expressions: [expression],\n type,\n },\n cancelable: true,\n });\n }\n\n #emitFilteredEvent(detail?: ApexFilteredEvent<T>) {\n return this.host.emitEvent('filtered', { detail });\n }\n\n #filter(expression: FilterExpression<T> | FilterExpression<T>[]) {\n asArray(expression).forEach(expr => this.state.set(expr));\n // HACK: In the case where the scrollTop is a large and amount and a big chunk of data is filtered out\n // HACK: the virtualizer can't recalculate its scroll position correctly. Thus, we reset the scrollTop state.\n this.#virtualizer?.scrollTo({ top: 0 });\n this.host.requestUpdate(PIPELINE);\n }\n\n public hostConnected() {}\n\n public hostUpdate(): void {\n this.filterRow?.requestUpdate();\n }\n\n public get(key: Keys<T>) {\n return this.state.get(key);\n }\n\n public reset(key?: Keys<T>) {\n key ? this.state.delete(key) : this.state.clear();\n }\n\n public setActiveColumn(column?: ColumnConfiguration<T>) {\n if (column?.filter && this.filterRow?.active) {\n this.filterRow.column = column;\n this.filterRow.expression = this.getDefaultExpression(column);\n this.host.requestUpdate();\n }\n }\n\n public getDefaultExpression(column: ColumnConfiguration<T>) {\n const caseSensitive =\n typeof column.filter === 'boolean' ? false : Boolean(column.filter?.caseSensitive);\n const operands = getFilterOperandsFor(column);\n const keys = Object.keys(operands) as Keys<typeof operands>[];\n\n // XXX: Types\n return {\n key: column.key,\n condition: operands[keys[0]],\n caseSensitive,\n } as unknown as FilterExpression<T>;\n }\n\n public async removeAllExpressions(key: Keys<T>) {\n const state = this.get(key)?.all ?? [];\n\n if (\n !this.host.emitEvent('filtering', {\n detail: {\n key,\n expressions: state,\n type: 'remove',\n },\n cancelable: true,\n })\n ) {\n return;\n }\n\n this.reset(key);\n this.#filter([]);\n\n await this.host.updateComplete;\n this.#emitFilteredEvent({ key, state: this.get(key)?.all ?? [] });\n }\n\n public async removeExpression(expression: FilterExpression<T>) {\n const state = this.get(expression.key);\n\n if (!this.#emitFilteringEvent(expression, 'remove')) {\n return;\n }\n\n state?.remove(expression);\n\n if (state?.empty) {\n this.reset(state.key);\n }\n\n this.#filter([]);\n\n await this.host.updateComplete;\n this.#emitFilteredEvent({ key: expression.key, state: state?.all ?? [] });\n }\n\n public async filterWithEvent(expression: FilterExpression<T>, type: 'add' | 'modify' | 'remove') {\n if (!this.#emitFilteringEvent(expression, type)) {\n return;\n }\n\n this.#filter(expression);\n\n await this.host.updateComplete;\n this.#emitFilteredEvent({ key: expression.key, state: this.get(expression.key)?.all ?? [] });\n }\n\n public filter(expression: FilterExpression<T> | FilterExpression<T>[]) {\n this.#filter(\n asArray(expression).map(expr =>\n Object.assign(this.getDefaultExpression(this.host.getColumn(expr.key)!), expr),\n ),\n );\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.d.ts","sourceRoot":"","sources":["../../../src/controllers/navigation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAGzC,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,sBAAsB,CAAC;AAEvE,qBAAa,oBAAoB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;IAkEnE,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAjEvC,SAAS,CAAC,QAAQ,uGAShB;IAEF,SAAS,KAAK,WAAW,gDAGxB;IAED,SAAS,CAAC,KAAK,uEAAoB;IACnC,SAAS,CAAC,OAAO,4BAAiB;IAElC,SAAS,KAAK,QAAQ,kBAKrB;IAED,SAAS,KAAK,OAAO,qEAEpB;IAED,SAAS,KAAK,WAAW,iEAExB;IAED,SAAS,CAAC,iBAAiB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAIxC,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAMpC,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;IAU1C,IAAW,MAAM,IAIO,UAAU,CAAC,CAAC,CAAC,CAFpC;IAED,IAAW,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAKpC;gBAEqB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAIvC,SAAS,CAAC,IAAI;IAKd,SAAS,CAAC,GAAG;IAKb,SAAS,CAAC,SAAS;IASnB,SAAS,CAAC,OAAO;IAMjB,SAAS,CAAC,SAAS;IAMnB,SAAS,CAAC,UAAU;IAMb,aAAa;IAEb,gBAAgB;IAKhB,QAAQ,CAAC,KAAK,EAAE,aAAa;CAMrC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"navigation.js","sourceRoot":"","sources":["../../../src/controllers/navigation.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController } from 'lit';\nimport ApexGridRow from '../components/row.js';\nimport { NAVIGATION_STATE, SENTINEL_NODE } from '../internal/constants.js';\nimport type { ActiveNode, GridHost, Keys } from '../internal/types.js';\n\nexport class NavigationController<T extends object> implements ReactiveController {\n protected handlers = new Map(\n Object.entries({\n ArrowDown: this.arrowDown,\n ArrowUp: this.arrowUp,\n ArrowLeft: this.arrowLeft,\n ArrowRight: this.arrowRight,\n Home: this.home,\n End: this.end,\n }),\n );\n\n protected get virtualizer() {\n // @ts-expect-error - Protected member access\n return this.host.scrollContainer;\n }\n\n protected state = NAVIGATION_STATE;\n protected _active = SENTINEL_NODE;\n\n protected get nextNode() {\n const node = this.state.get('current')!;\n return node === SENTINEL_NODE\n ? { column: this.firstColumn, row: 0 }\n : ({ ...node } as ActiveNode<T>);\n }\n\n protected get columns() {\n return this.host.columns;\n }\n\n protected get firstColumn() {\n return this.host.getColumn(0)!.key ?? '';\n }\n\n protected getPreviousColumn(key: Keys<T>) {\n return this.columns[Math.max(this.columns.indexOf(this.host.getColumn(key)!) - 1, 0)].key;\n }\n\n protected getNextColumn(key: Keys<T>) {\n return this.columns[\n Math.min(this.columns.indexOf(this.host.getColumn(key)!) + 1, this.columns.length - 1)\n ].key;\n }\n\n protected scrollToCell(node: ActiveNode<T>) {\n const row = Array.from(this.virtualizer.querySelectorAll(ApexGridRow.is)).find(\n row => row.index === node.row,\n ) as unknown as ApexGridRow<T>;\n\n if (row) {\n row.cells.find(cell => cell.column.key === node.column)?.scrollIntoView({ block: 'nearest' });\n }\n }\n\n public get active() {\n return this._active as ActiveNode<T>;\n }\n\n public set active(node: ActiveNode<T>) {\n this._active = node;\n this.state.set('previous', this._active);\n this.state.set('current', node);\n this.host.requestUpdate();\n }\n\n constructor(protected host: GridHost<T>) {\n this.host.addController(this);\n }\n\n protected home() {\n this.active = Object.assign(this.nextNode, { row: 0 });\n this.virtualizer.element(this.active.row)?.scrollIntoView({ block: 'nearest' });\n }\n\n protected end() {\n this.active = Object.assign(this.nextNode, { row: this.host.totalItems - 1 });\n this.virtualizer.element(this.active.row)?.scrollIntoView({ block: 'nearest' });\n }\n\n protected arrowDown() {\n const next = this.nextNode;\n\n this.active = Object.assign(next, {\n row: Math.min(next.row + 1, this.host.totalItems - 1),\n });\n this.virtualizer.element(next.row)?.scrollIntoView({ block: 'nearest' });\n }\n\n protected arrowUp() {\n const next = this.nextNode;\n this.active = Object.assign(next, { row: Math.max(0, next.row - 1) });\n this.virtualizer.element(next.row)?.scrollIntoView({ block: 'nearest' });\n }\n\n protected arrowLeft() {\n const next = this.nextNode;\n this.active = Object.assign(next, { column: this.getPreviousColumn(next.column) });\n this.scrollToCell(this.active);\n }\n\n protected arrowRight() {\n const next = this.nextNode;\n this.active = Object.assign(next, { column: this.getNextColumn(next.column) });\n this.scrollToCell(this.active);\n }\n\n public hostConnected() {}\n\n public hostDisconnected() {\n this.active = SENTINEL_NODE as ActiveNode<T>;\n this.state = NAVIGATION_STATE;\n }\n\n public navigate(event: KeyboardEvent) {\n if (this.handlers.has(event.key)) {\n event.preventDefault();\n this.handlers.get(event.key)!.call(this);\n }\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize.d.ts","sourceRoot":"","sources":["../../../src/controllers/resize.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAExD,OAAO,cAAc,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAE,mBAAmB,EAAE,QAAQ,EAAQ,MAAM,sBAAsB,CAAC;AAEhF,qBAAa,gBAAgB,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;;IAC/D,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAAjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAIhC,eAAe,UAAS;IACxB,eAAe,SAAK;IAU3B;;;;OAIG;IACI,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAMtC;;OAEG;IACI,IAAI;IAKJ,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM;IASpE,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;IAUxE,aAAa;IAEpB;;OAEG;IACI,eAAe;CAUvB"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
-
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
-
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
-
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
-
};
|
|
6
|
-
var _ResizeController_instances, _ResizeController_maxSize;
|
|
7
|
-
import { html, nothing } from 'lit';
|
|
8
|
-
import { styleMap } from 'lit/directives/style-map.js';
|
|
9
|
-
import { MIN_COL_RESIZE_WIDTH } from '../internal/constants.js';
|
|
10
|
-
export class ResizeController {
|
|
11
|
-
constructor(host) {
|
|
12
|
-
this.host = host;
|
|
13
|
-
_ResizeController_instances.add(this);
|
|
14
|
-
this.indicatorActive = false;
|
|
15
|
-
this.indicatorOffset = 0;
|
|
16
|
-
this.host.addController(this);
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Begins resizing a column by showing and positioning the resize indicator in relation to the column.
|
|
20
|
-
*
|
|
21
|
-
* @param header the
|
|
22
|
-
*/
|
|
23
|
-
start(header) {
|
|
24
|
-
this.indicatorActive = true;
|
|
25
|
-
this.indicatorOffset = header.offsetLeft + header.offsetWidth;
|
|
26
|
-
this.host.requestUpdate();
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Stops and resets the resizing state.
|
|
30
|
-
*/
|
|
31
|
-
stop() {
|
|
32
|
-
this.indicatorActive = false;
|
|
33
|
-
this.host.requestUpdate();
|
|
34
|
-
}
|
|
35
|
-
resize(column, width, sizerOffset) {
|
|
36
|
-
if (sizerOffset) {
|
|
37
|
-
this.indicatorOffset = sizerOffset;
|
|
38
|
-
}
|
|
39
|
-
column.width = `${width}px`;
|
|
40
|
-
this.host.requestUpdate();
|
|
41
|
-
}
|
|
42
|
-
async autosize(column, header) {
|
|
43
|
-
column.width = `max-content`;
|
|
44
|
-
this.host.requestUpdate();
|
|
45
|
-
await this.host.updateComplete;
|
|
46
|
-
column.width = `${__classPrivateFieldGet(this, _ResizeController_instances, "m", _ResizeController_maxSize).call(this, column.key, header.offsetWidth)}px`;
|
|
47
|
-
this.host.requestUpdate();
|
|
48
|
-
}
|
|
49
|
-
hostConnected() { }
|
|
50
|
-
/**
|
|
51
|
-
* Renders the resize indicator in the grid.
|
|
52
|
-
*/
|
|
53
|
-
renderIndicator() {
|
|
54
|
-
return this.indicatorActive
|
|
55
|
-
? html `<div
|
|
56
|
-
part="resize-indicator"
|
|
57
|
-
style=${styleMap({
|
|
58
|
-
transform: `translateX(${this.indicatorOffset}px)`,
|
|
59
|
-
})}
|
|
60
|
-
></div>`
|
|
61
|
-
: nothing;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
_ResizeController_instances = new WeakSet(), _ResizeController_maxSize = function _ResizeController_maxSize(key, headerWidth) {
|
|
65
|
-
const max = this.host.rows
|
|
66
|
-
.map(row => row.cells.find(cell => cell.column.key === key))
|
|
67
|
-
.reduce((prev, current) => (current.offsetWidth > prev ? current.offsetWidth : prev), 0);
|
|
68
|
-
return Math.max(...[MIN_COL_RESIZE_WIDTH, max, headerWidth]);
|
|
69
|
-
};
|
|
70
|
-
//# sourceMappingURL=resize.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"resize.js","sourceRoot":"","sources":["../../../src/controllers/resize.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAsB,MAAM,KAAK,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,6BAA6B,CAAC;AAEvD,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAGhE,MAAM,OAAO,gBAAgB;IAC3B,YAAsB,IAAiB;QAAjB,SAAI,GAAJ,IAAI,CAAa;;QAIhC,oBAAe,GAAG,KAAK,CAAC;QACxB,oBAAe,GAAG,CAAC,CAAC;QAJzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IAChC,CAAC;IAaD;;;;OAIG;IACI,KAAK,CAAC,MAAyB;QACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,WAAW,CAAC;QAC9D,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACI,IAAI;QACT,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IAEM,MAAM,CAAC,MAA8B,EAAE,KAAa,EAAE,WAAoB;QAC/E,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;SACpC;QAED,MAAM,CAAC,KAAK,GAAG,GAAG,KAAK,IAAI,CAAC;QAC5B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,MAA8B,EAAE,MAAyB;QAC7E,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC;QAE7B,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1B,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC;QAE/B,MAAM,CAAC,KAAK,GAAG,GAAG,uBAAA,IAAI,8DAAS,MAAb,IAAI,EAAU,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;IAC5B,CAAC;IAEM,aAAa,KAAI,CAAC;IAEzB;;OAEG;IACI,eAAe;QACpB,OAAO,IAAI,CAAC,eAAe;YACzB,CAAC,CAAC,IAAI,CAAA;;kBAEM,QAAQ,CAAC;gBACf,SAAS,EAAE,cAAc,IAAI,CAAC,eAAe,KAAK;aACnD,CAAC;gBACI;YACV,CAAC,CAAC,OAAO,CAAC;IACd,CAAC;CACF;4GA7DU,GAAY,EAAE,WAAmB;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI;SACvB,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,GAAG,CAAE,CAAC;SAC5D,MAAM,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3F,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,oBAAoB,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;AAC/D,CAAC","sourcesContent":["import { html, nothing, ReactiveController } from 'lit';\nimport { styleMap } from 'lit/directives/style-map.js';\nimport ApexGridHeader from '../components/header.js';\nimport { MIN_COL_RESIZE_WIDTH } from '../internal/constants.js';\nimport type { ColumnConfiguration, GridHost, Keys } from '../internal/types.js';\n\nexport class ResizeController<T extends object> implements ReactiveController {\n constructor(protected host: GridHost<T>) {\n this.host.addController(this);\n }\n\n public indicatorActive = false;\n public indicatorOffset = 0;\n\n #maxSize(key: Keys<T>, headerWidth: number) {\n const max = this.host.rows\n .map(row => row.cells.find(cell => cell.column.key === key)!)\n .reduce((prev, current) => (current.offsetWidth > prev ? current.offsetWidth : prev), 0);\n\n return Math.max(...[MIN_COL_RESIZE_WIDTH, max, headerWidth]);\n }\n\n /**\n * Begins resizing a column by showing and positioning the resize indicator in relation to the column.\n *\n * @param header the\n */\n public start(header: ApexGridHeader<T>) {\n this.indicatorActive = true;\n this.indicatorOffset = header.offsetLeft + header.offsetWidth;\n this.host.requestUpdate();\n }\n\n /**\n * Stops and resets the resizing state.\n */\n public stop() {\n this.indicatorActive = false;\n this.host.requestUpdate();\n }\n\n public resize(column: ColumnConfiguration<T>, width: number, sizerOffset?: number) {\n if (sizerOffset) {\n this.indicatorOffset = sizerOffset;\n }\n\n column.width = `${width}px`;\n this.host.requestUpdate();\n }\n\n public async autosize(column: ColumnConfiguration<T>, header: ApexGridHeader<T>) {\n column.width = `max-content`;\n\n this.host.requestUpdate();\n await this.host.updateComplete;\n\n column.width = `${this.#maxSize(column.key, header.offsetWidth)}px`;\n this.host.requestUpdate();\n }\n\n public hostConnected() {}\n\n /**\n * Renders the resize indicator in the grid.\n */\n public renderIndicator() {\n return this.indicatorActive\n ? html`<div\n part=\"resize-indicator\"\n style=${styleMap({\n transform: `translateX(${this.indicatorOffset}px)`,\n })}\n ></div>`\n : nothing;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sort.d.ts","sourceRoot":"","sources":["../../../src/controllers/sort.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAGzC,OAAO,KAAK,EACV,mBAAmB,EAEnB,QAAQ,EACR,IAAI,EACL,MAAM,sBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,cAAc,EAAoB,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAE/F,qBAAa,cAAc,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;;IAC7D,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;gBAAjB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAIhC,KAAK,EAAE,SAAS,CAAC,CAAC,CAAC,CAAa;IA8D1B,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAiBxD,iBAAiB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC;IAcpF,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAI1B,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE;IAK7D,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE;IAQzD,aAAa;CACrB"}
|