apex-grid 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/custom-elements.json +958 -906
- package/dist/bundle.js +6 -3
- package/dist/docs/assets/main.js +3 -3
- package/dist/docs/assets/search.js +1 -1
- package/dist/docs/assets/style.css +447 -362
- package/dist/docs/classes/ApexGrid.html +138 -112
- package/dist/docs/index.html +51 -57
- package/dist/docs/interfaces/ApexFilteredEvent.html +53 -27
- package/dist/docs/interfaces/ApexFilteringEvent.html +57 -31
- package/dist/docs/interfaces/ApexGridEventMap.html +61 -35
- package/dist/docs/interfaces/ApexHeaderContext.html +53 -27
- package/dist/docs/interfaces/BaseApexCellContext.html +62 -36
- package/dist/docs/interfaces/BaseColumnConfiguration.html +92 -66
- package/dist/docs/interfaces/BaseColumnSortConfiguration.html +54 -28
- package/dist/docs/interfaces/BaseFilterExpression.html +66 -40
- package/dist/docs/interfaces/BaseSortExpression.html +62 -36
- package/dist/docs/interfaces/ColumnFilterConfiguration.html +46 -20
- package/dist/docs/interfaces/DataPipelineConfiguration.html +53 -27
- package/dist/docs/interfaces/GridSortConfiguration.html +50 -24
- package/dist/docs/modules.html +69 -74
- package/dist/docs/types/ApexCellContext.html +46 -51
- package/dist/docs/types/BasePropertyType.html +45 -50
- package/dist/docs/types/BaseSortComparer.html +49 -54
- package/dist/docs/types/ColumnConfiguration.html +46 -51
- package/dist/docs/types/ColumnSortConfiguration.html +46 -51
- package/dist/docs/types/DataPipelineHook.html +48 -53
- package/dist/docs/types/DataPipelineParams.html +48 -53
- package/dist/docs/types/DataType.html +41 -46
- package/dist/docs/types/FilterCriteria.html +41 -46
- package/dist/docs/types/FilterExpression.html +46 -51
- package/dist/docs/types/Keys.html +44 -49
- package/dist/docs/types/PropertyType.html +45 -50
- package/dist/docs/types/SortComparer.html +46 -51
- package/dist/docs/types/SortExpression.html +46 -51
- package/dist/docs/types/SortState.html +44 -49
- package/dist/docs/types/SortingDirection.html +41 -46
- package/dist/src/components/cell.js +2 -1
- package/dist/src/components/cell.js.map +1 -1
- package/dist/src/components/filter-row.d.ts +1 -1
- package/dist/src/components/filter-row.d.ts.map +1 -1
- package/dist/src/components/filter-row.js +2 -1
- package/dist/src/components/filter-row.js.map +1 -1
- package/dist/src/components/grid.d.ts +1 -1
- package/dist/src/components/grid.d.ts.map +1 -1
- package/dist/src/components/grid.js +4 -1
- package/dist/src/components/grid.js.map +1 -1
- package/dist/src/components/header-row.js +2 -1
- package/dist/src/components/header-row.js.map +1 -1
- package/dist/src/components/header.d.ts +1 -1
- package/dist/src/components/header.d.ts.map +1 -1
- package/dist/src/components/header.js +2 -1
- package/dist/src/components/header.js.map +1 -1
- package/dist/src/components/row.js +2 -1
- package/dist/src/components/row.js.map +1 -1
- package/dist/src/controllers/dom.d.ts +1 -1
- package/dist/src/controllers/dom.d.ts.map +1 -1
- package/dist/src/controllers/filter.d.ts +3 -3
- package/dist/src/controllers/filter.d.ts.map +1 -1
- package/dist/src/controllers/filter.js +1 -1
- package/dist/src/controllers/filter.js.map +1 -1
- package/dist/src/controllers/navigation.d.ts +1 -1
- package/dist/src/controllers/navigation.d.ts.map +1 -1
- package/dist/src/controllers/resize.js +1 -1
- package/dist/src/controllers/resize.js.map +1 -1
- package/dist/src/controllers/sort.js +1 -1
- package/dist/src/controllers/sort.js.map +1 -1
- package/dist/src/controllers/state.d.ts +2 -2
- package/dist/src/controllers/state.d.ts.map +1 -1
- package/dist/src/internal/constants.d.ts +2 -2
- package/dist/src/internal/constants.d.ts.map +1 -1
- package/dist/src/internal/utils.d.ts +1 -1
- package/dist/src/internal/utils.d.ts.map +1 -1
- package/dist/src/operations/filter/tree.d.ts +5 -5
- package/dist/src/operations/filter/tree.d.ts.map +1 -1
- package/package.json +28 -28
|
@@ -1 +1 @@
|
|
|
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,
|
|
1
|
+
{"version":3,"file":"header.js","sourceRoot":"","sources":["../../../src/components/header.ts"],"names":[],"mappings":"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","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"]}
|
|
@@ -14,7 +14,7 @@ import { styles } from '../styles/body-row/body-row-styles.css.js';
|
|
|
14
14
|
/**
|
|
15
15
|
* Component representing the DOM row in the Apex grid.
|
|
16
16
|
*/
|
|
17
|
-
|
|
17
|
+
class ApexGridRow extends LitElement {
|
|
18
18
|
constructor() {
|
|
19
19
|
super(...arguments);
|
|
20
20
|
this.columns = [];
|
|
@@ -64,4 +64,5 @@ __decorate([
|
|
|
64
64
|
__decorate([
|
|
65
65
|
property({ attribute: false, type: Number })
|
|
66
66
|
], ApexGridRow.prototype, "index", void 0);
|
|
67
|
+
export default ApexGridRow;
|
|
67
68
|
//# sourceMappingURL=row.js.map
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,MAAqB,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,AAAT,CAAU;AAO7B;IADT,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;2CACqB;AAGxC;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;yCACf;AAGT;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;4CACoB;AAO5C;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;+CACG;AAG3B;IADN,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;0CAC3B;eA3BC,WAAW","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"]}
|
|
@@ -8,7 +8,7 @@ export declare class GridDOMController<T extends object> implements ReactiveCont
|
|
|
8
8
|
protected host: GridHost<T>;
|
|
9
9
|
protected state: StateController<T>;
|
|
10
10
|
constructor(host: GridHost<T>, state: StateController<T>);
|
|
11
|
-
get container(): import("../components/virtualizer").default;
|
|
11
|
+
get container(): import("../components/virtualizer.js").default;
|
|
12
12
|
columnSizes: StyleInfo;
|
|
13
13
|
rowRenderer: RenderItemFunction<T>;
|
|
14
14
|
hostConnected(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,mDAGnB;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"}
|
|
@@ -7,13 +7,13 @@ export declare class FilterController<T extends object> implements ReactiveContr
|
|
|
7
7
|
protected host: GridHost<T>;
|
|
8
8
|
constructor(host: GridHost<T>);
|
|
9
9
|
state: FilterState<T>;
|
|
10
|
-
get filterRow(): import("../components/filter-row").default<T>;
|
|
10
|
+
get filterRow(): import("../components/filter-row.js").default<T>;
|
|
11
11
|
hostConnected(): void;
|
|
12
12
|
hostUpdate(): void;
|
|
13
|
-
get(key: Keys<T>): import("../operations/filter/tree").FilterExpressionTree<T> | undefined;
|
|
13
|
+
get(key: Keys<T>): import("../operations/filter/tree.js").FilterExpressionTree<T> | undefined;
|
|
14
14
|
reset(key?: Keys<T>): void;
|
|
15
15
|
setActiveColumn(column?: ColumnConfiguration<T>): void;
|
|
16
|
-
getDefaultExpression(column: ColumnConfiguration<T>): FilterExpression<T
|
|
16
|
+
getDefaultExpression(column: ColumnConfiguration<T>): FilterExpression<T>;
|
|
17
17
|
removeAllExpressions(key: Keys<T>): Promise<void>;
|
|
18
18
|
removeExpression(expression: FilterExpression<T>): Promise<void>;
|
|
19
19
|
filterWithEvent(expression: FilterExpression<T>, type: 'add' | 'modify' | 'remove'): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,qDAGnB;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"}
|
|
@@ -9,8 +9,8 @@ import { asArray, getFilterOperandsFor } from '../internal/utils.js';
|
|
|
9
9
|
import { FilterState } from '../operations/filter/state.js';
|
|
10
10
|
export class FilterController {
|
|
11
11
|
constructor(host) {
|
|
12
|
-
this.host = host;
|
|
13
12
|
_FilterController_instances.add(this);
|
|
13
|
+
this.host = host;
|
|
14
14
|
this.state = new FilterState();
|
|
15
15
|
this.host.addController(this);
|
|
16
16
|
}
|
|
@@ -1 +1 @@
|
|
|
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
|
|
1
|
+
{"version":3,"file":"filter.js","sourceRoot":"","sources":["../../../src/controllers/filter.ts"],"names":[],"mappings":"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","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"]}
|
|
@@ -3,7 +3,7 @@ import type { ActiveNode, GridHost, Keys } from '../internal/types.js';
|
|
|
3
3
|
export declare class NavigationController<T extends object> implements ReactiveController {
|
|
4
4
|
protected host: GridHost<T>;
|
|
5
5
|
protected handlers: Map<string, (() => void) | (() => void) | (() => void) | (() => void) | (() => void) | (() => void)>;
|
|
6
|
-
protected get virtualizer(): import("../components/virtualizer").default;
|
|
6
|
+
protected get virtualizer(): import("../components/virtualizer.js").default;
|
|
7
7
|
protected state: Map<import("../internal/types.js").NavigationState, ActiveNode<any>>;
|
|
8
8
|
protected _active: Readonly<ActiveNode<any>>;
|
|
9
9
|
protected get nextNode(): ActiveNode<T>;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,mDAGxB;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"}
|
|
@@ -9,8 +9,8 @@ import { styleMap } from 'lit/directives/style-map.js';
|
|
|
9
9
|
import { MIN_COL_RESIZE_WIDTH } from '../internal/constants.js';
|
|
10
10
|
export class ResizeController {
|
|
11
11
|
constructor(host) {
|
|
12
|
-
this.host = host;
|
|
13
12
|
_ResizeController_instances.add(this);
|
|
13
|
+
this.host = host;
|
|
14
14
|
this.indicatorActive = false;
|
|
15
15
|
this.indicatorOffset = 0;
|
|
16
16
|
this.host.addController(this);
|
|
@@ -1 +1 @@
|
|
|
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
|
|
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"]}
|
|
@@ -8,8 +8,8 @@ import { PIPELINE } from '../internal/constants.js';
|
|
|
8
8
|
import { asArray } from '../internal/utils.js';
|
|
9
9
|
export class SortController {
|
|
10
10
|
constructor(host) {
|
|
11
|
-
this.host = host;
|
|
12
11
|
_SortController_instances.add(this);
|
|
12
|
+
this.host = host;
|
|
13
13
|
this.state = new Map();
|
|
14
14
|
this.host.addController(this);
|
|
15
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/controllers/sort.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAS/C,MAAM,OAAO,cAAc;IACzB,YAAsB,IAAiB
|
|
1
|
+
{"version":3,"file":"sort.js","sourceRoot":"","sources":["../../../src/controllers/sort.ts"],"names":[],"mappings":"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","sourcesContent":["import { ReactiveController } from 'lit';\nimport { PIPELINE } from '../internal/constants.js';\nimport { asArray } from '../internal/utils.js';\nimport type {\n ColumnConfiguration,\n ColumnSortConfiguration,\n GridHost,\n Keys,\n} from '../internal/types.js';\nimport type { SortExpression, SortingDirection, SortState } from '../operations/sort/types.js';\n\nexport class SortController<T extends object> implements ReactiveController {\n constructor(protected host: GridHost<T>) {\n this.host.addController(this);\n }\n\n public state: SortState<T> = new Map();\n\n get #isMultipleSort() {\n return this.host.sortConfiguration.multiple;\n }\n\n get #isTriStateSort() {\n return this.host.sortConfiguration.triState;\n }\n\n #resolveSortOptions(options?: boolean | ColumnSortConfiguration<T>) {\n const expr: Pick<SortExpression<T>, 'caseSensitive' | 'comparer'> = {\n caseSensitive: false,\n comparer: undefined,\n };\n\n if (!options || typeof options === 'boolean') {\n return expr as Partial<SortExpression<T>>;\n }\n\n return Object.assign(expr, {\n caseSensitive: options.caseSensitive,\n comparer: options.comparer,\n }) as Partial<SortExpression<T>>;\n }\n\n #createDefaultExpression(key: Keys<T>) {\n const options = this.host.getColumn(key)?.sort;\n\n return {\n key,\n direction: 'ascending',\n ...this.#resolveSortOptions(options),\n } as SortExpression<T>;\n }\n\n #orderBy(dir?: SortingDirection): SortingDirection {\n return this.#isTriStateSort\n ? dir === 'ascending'\n ? 'descending'\n : dir === 'descending'\n ? 'none'\n : 'ascending'\n : dir === 'ascending'\n ? 'descending'\n : 'ascending';\n }\n\n #emitSortingEvent(detail: SortExpression<T>) {\n return this.host.emitEvent('sorting', { detail, cancelable: true });\n }\n\n #emitSortedEvent(detail: SortExpression<T>) {\n return this.host.emitEvent('sorted', { detail });\n }\n\n #setExpression(expression: SortExpression<T>) {\n expression.direction === 'none'\n ? this.reset(expression.key)\n : this.state.set(expression.key, { ...expression });\n }\n\n public async sortFromHeaderClick(column: ColumnConfiguration<T>) {\n const expression = this.prepareExpression(column);\n\n if (!this.#emitSortingEvent(expression)) {\n return;\n }\n\n if (!this.#isMultipleSort) {\n this.reset();\n }\n\n this._sort(expression);\n\n await this.host.updateComplete;\n this.#emitSortedEvent(expression);\n }\n\n public prepareExpression({ key, sort: options }: ColumnConfiguration<T>): SortExpression<T> {\n if (this.state.has(key)) {\n const expr = this.state.get(key)!;\n\n return Object.assign(expr, {\n direction: this.#orderBy(expr.direction),\n ...this.#resolveSortOptions(options),\n });\n }\n\n // Initial state\n return this.#createDefaultExpression(key);\n }\n\n public reset(key?: Keys<T>) {\n key ? this.state.delete(key) : this.state.clear();\n }\n\n protected _sort(expressions: SortExpression<T> | SortExpression<T>[]) {\n asArray(expressions).forEach(expr => this.#setExpression(expr));\n this.host.requestUpdate(PIPELINE);\n }\n\n public sort(expressions: SortExpression<T> | SortExpression<T>[]) {\n this._sort(\n asArray(expressions).map(expr =>\n Object.assign(this.state.get(expr.key) ?? this.#createDefaultExpression(expr.key), expr),\n ),\n );\n }\n\n public hostConnected() {}\n}\n"]}
|
|
@@ -12,8 +12,8 @@ export declare class StateController<T extends object> implements ReactiveContro
|
|
|
12
12
|
resizing: ResizeController<T>;
|
|
13
13
|
get active(): ActiveNode<T>;
|
|
14
14
|
set active(node: ActiveNode<T>);
|
|
15
|
-
get headerRow(): import("../components/header-row").default<T>;
|
|
16
|
-
get scrollContainer(): import("../components/virtualizer").default;
|
|
15
|
+
get headerRow(): import("../components/header-row.js").default<T>;
|
|
16
|
+
get scrollContainer(): import("../components/virtualizer.js").default;
|
|
17
17
|
constructor(host: GridHost<T>);
|
|
18
18
|
protected init(): void;
|
|
19
19
|
hostConnected(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/controllers/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;IAwBvD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAvB7B,OAAO,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,UAAU,EAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAW,MAAM,IAIO,UAAU,CAAC,CAAC,CAAC,CAFpC;IAED,IAAW,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAEpC;IAED,IAAW,SAAS,
|
|
1
|
+
{"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/controllers/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,KAAK,CAAC;AAEzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAEjE,qBAAa,eAAe,CAAC,CAAC,SAAS,MAAM,CAAE,YAAW,kBAAkB;IAwBvD,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAvB7B,OAAO,EAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAC5B,SAAS,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAChC,UAAU,EAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC;IACrC,QAAQ,EAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAEtC,IAAW,MAAM,IAIO,UAAU,CAAC,CAAC,CAAC,CAFpC;IAED,IAAW,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,EAEpC;IAED,IAAW,SAAS,qDAGnB;IAED,IAAW,eAAe,mDAGzB;gBAEkB,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC;IAKpC,SAAS,CAAC,IAAI;IAOP,aAAa;IAEb,UAAU,IAAI,IAAI;CAI1B;AAED,eAAO,MAAM,gBAAgB;;CAA6D,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import type { ActiveNode, NavigationState } from './types.js';
|
|
1
|
+
import type { ActiveNode, ColumnConfiguration, NavigationState } from './types.js';
|
|
2
2
|
export declare const PIPELINE = "pipeline";
|
|
3
3
|
export declare const SORT_ICON_ASCENDING: "arrow-upward";
|
|
4
4
|
export declare const SORT_ICON_DESCENDING: "arrow-downward";
|
|
5
5
|
export declare const MIN_COL_RESIZE_WIDTH = 80;
|
|
6
6
|
export declare const SENTINEL_NODE: Readonly<ActiveNode<any>>;
|
|
7
|
-
export declare const DEFAULT_COLUMN_CONFIG: Readonly<
|
|
7
|
+
export declare const DEFAULT_COLUMN_CONFIG: Readonly<ColumnConfiguration<any>>;
|
|
8
8
|
export declare const NAVIGATION_STATE: Map<NavigationState, ActiveNode<any>>;
|
|
9
9
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/internal/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/internal/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAInF,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,mBAAmB,gBAA0B,CAAC;AAC3D,eAAO,MAAM,oBAAoB,kBAA4B,CAAC;AAE9D,eAAO,MAAM,oBAAoB,KAAK,CAAC;AAEvC,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAA0C,CAAC;AAC/F,eAAO,MAAM,qBAAqB,oCAOhC,CAAC;AACH,eAAO,MAAM,gBAAgB,EAAE,GAAG,CAAC,eAAe,EAAE,UAAU,CAAC,GAAG,CAAC,CAGjE,CAAC"}
|
|
@@ -3,5 +3,5 @@ import type { ColumnConfiguration, GridHost } from './types.js';
|
|
|
3
3
|
export declare function applyColumnWidths<T extends object>(columns: Array<ColumnConfiguration<T>>): StyleInfo;
|
|
4
4
|
export declare function autoGenerateColumns<T extends object>(grid: GridHost<T>): void;
|
|
5
5
|
export declare function asArray<T>(value: T | T[]): T[];
|
|
6
|
-
export declare function getFilterOperandsFor<T extends object>(column: ColumnConfiguration<T>): Readonly<import("../operations/filter/types").FilterOperands<number, import("../operations/filter/operands/number.js").NumberKeys>> | Readonly<import("../operations/filter/types").FilterOperands<string, import("../operations/filter/operands/string.js").StringKeys>> | Readonly<import("../operations/filter/types").FilterOperands<boolean, import("../operations/filter/operands/boolean.js").BooleanKeys>>;
|
|
6
|
+
export declare function getFilterOperandsFor<T extends object>(column: ColumnConfiguration<T>): Readonly<import("../operations/filter/types.js").FilterOperands<number, import("../operations/filter/operands/number.js").NumberKeys>> | Readonly<import("../operations/filter/types.js").FilterOperands<string, import("../operations/filter/operands/string.js").StringKeys>> | Readonly<import("../operations/filter/types.js").FilterOperands<boolean, import("../operations/filter/operands/boolean.js").BooleanKeys>>;
|
|
7
7
|
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GACrC,SAAS,CAOX;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAUtE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,OAExC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/internal/utils.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,mBAAmB,EAAY,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG1E,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,MAAM,EAChD,OAAO,EAAE,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,GACrC,SAAS,CAOX;AAED,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,QAUtE;AAED,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,EAAE,OAExC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC,+ZAUpF"}
|
|
@@ -6,13 +6,13 @@ export declare class FilterExpressionTree<T> {
|
|
|
6
6
|
constructor(key: Keys<T>);
|
|
7
7
|
get empty(): boolean;
|
|
8
8
|
get length(): number;
|
|
9
|
-
get all(): FilterExpression<T
|
|
10
|
-
get ands(): FilterExpression<T
|
|
11
|
-
get ors(): FilterExpression<T
|
|
9
|
+
get all(): FilterExpression<T>[];
|
|
10
|
+
get ands(): FilterExpression<T>[];
|
|
11
|
+
get ors(): FilterExpression<T>[];
|
|
12
12
|
has(expression: FilterExpression<T>): boolean;
|
|
13
13
|
add(expression: FilterExpression<T>): this;
|
|
14
14
|
remove(expression: FilterExpression<T>): this;
|
|
15
|
-
protected iterator(): Generator<FilterExpression<T
|
|
16
|
-
[Symbol.iterator](): Generator<FilterExpression<T
|
|
15
|
+
protected iterator(): Generator<FilterExpression<T>, void, unknown>;
|
|
16
|
+
[Symbol.iterator](): Generator<FilterExpression<T>, void, unknown>;
|
|
17
17
|
}
|
|
18
18
|
//# sourceMappingURL=tree.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/operations/filter/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,oBAAoB,CAAC,CAAC;IAGd,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAF/B,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;gBAEjC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,IAAW,KAAK,YAEf;IAED,IAAW,MAAM,WAEhB;IAED,IAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../../../src/operations/filter/tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,qBAAa,oBAAoB,CAAC,CAAC;IAGd,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAF/B,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAM;gBAEjC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;IAE/B,IAAW,KAAK,YAEf;IAED,IAAW,MAAM,WAEhB;IAED,IAAW,GAAG,0BAEb;IAED,IAAW,IAAI,0BAEd;IAED,IAAW,GAAG,0BAEb;IAEM,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAInC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAanC,MAAM,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAK7C,SAAS,CAAE,QAAQ;IAMZ,CAAC,MAAM,CAAC,QAAQ,CAAC;CAGzB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "apex-grid",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "Web component data grid following open-wc recommendations",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"lit",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"custom-elements.json"
|
|
26
26
|
],
|
|
27
27
|
"engines": {
|
|
28
|
-
"node": "
|
|
28
|
+
"node": ">=16.0.0"
|
|
29
29
|
},
|
|
30
30
|
"scripts": {
|
|
31
31
|
"analyze": "cem analyze --litelement --globs \"src/**/*.{js,ts}\" --exclude \"src/styles/**/*\"",
|
|
@@ -63,38 +63,38 @@
|
|
|
63
63
|
]
|
|
64
64
|
},
|
|
65
65
|
"dependencies": {
|
|
66
|
-
"@lit-labs/context": "^0.
|
|
67
|
-
"@lit-labs/virtualizer": "^
|
|
68
|
-
"igniteui-theming": "^1.
|
|
69
|
-
"igniteui-webcomponents": "^4.2.
|
|
70
|
-
"lit": "^2.
|
|
66
|
+
"@lit-labs/context": "^0.3.1",
|
|
67
|
+
"@lit-labs/virtualizer": "^2.0.2",
|
|
68
|
+
"igniteui-theming": "^1.4.2",
|
|
69
|
+
"igniteui-webcomponents": "^4.2.3",
|
|
70
|
+
"lit": "^2.7.4"
|
|
71
71
|
},
|
|
72
72
|
"devDependencies": {
|
|
73
|
-
"@blockquote/rollup-plugin-total-bundlesize": "^
|
|
73
|
+
"@blockquote/rollup-plugin-total-bundlesize": "^2.0.1",
|
|
74
74
|
"@blockquote/sass-style-template": "3.0.0",
|
|
75
|
-
"@blockquote/test-runner-mocha-style-reporter": "^1.
|
|
76
|
-
"@custom-elements-manifest/analyzer": "^0.
|
|
77
|
-
"@open-wc/eslint-config": "^
|
|
78
|
-
"@open-wc/testing": "^3.1.
|
|
79
|
-
"@typescript-eslint/eslint-plugin": "^5.
|
|
80
|
-
"@typescript-eslint/parser": "^5.
|
|
81
|
-
"@web/dev-server": "^0.1
|
|
82
|
-
"@web/test-runner": "^0.
|
|
83
|
-
"@web/test-runner-playwright": "^0.
|
|
84
|
-
"concurrently": "^
|
|
85
|
-
"eslint": "^8.
|
|
86
|
-
"eslint-config-prettier": "^8.
|
|
75
|
+
"@blockquote/test-runner-mocha-style-reporter": "^1.5.1",
|
|
76
|
+
"@custom-elements-manifest/analyzer": "^0.8.1",
|
|
77
|
+
"@open-wc/eslint-config": "^10.0.0",
|
|
78
|
+
"@open-wc/testing": "^3.1.8",
|
|
79
|
+
"@typescript-eslint/eslint-plugin": "^5.59.2",
|
|
80
|
+
"@typescript-eslint/parser": "^5.59.2",
|
|
81
|
+
"@web/dev-server": "^0.2.1",
|
|
82
|
+
"@web/test-runner": "^0.16.1",
|
|
83
|
+
"@web/test-runner-playwright": "^0.10.0",
|
|
84
|
+
"concurrently": "^8.0.1",
|
|
85
|
+
"eslint": "^8.39.0",
|
|
86
|
+
"eslint-config-prettier": "^8.8.0",
|
|
87
87
|
"eslint-plugin-log-filenames": "^1.0.6",
|
|
88
88
|
"husky": "^8.0.3",
|
|
89
|
-
"lint-staged": "^13.
|
|
90
|
-
"prettier": "^2.8.
|
|
91
|
-
"sinon": "^15.0.
|
|
92
|
-
"stylelint": "^
|
|
93
|
-
"stylelint-config-standard-scss": "^
|
|
89
|
+
"lint-staged": "^13.2.2",
|
|
90
|
+
"prettier": "^2.8.8",
|
|
91
|
+
"sinon": "^15.0.4",
|
|
92
|
+
"stylelint": "^15.6.0",
|
|
93
|
+
"stylelint-config-standard-scss": "^9.0.0",
|
|
94
94
|
"tslib": "^2.5.0",
|
|
95
|
-
"typedoc": "^0.
|
|
96
|
-
"typescript": "^
|
|
97
|
-
"vite": "^4.
|
|
95
|
+
"typedoc": "^0.24.6",
|
|
96
|
+
"typescript": "^5.0.4",
|
|
97
|
+
"vite": "^4.3.4"
|
|
98
98
|
},
|
|
99
99
|
"customElements": "custom-elements.json"
|
|
100
100
|
}
|