@revolist/revogrid 4.13.1 → 4.13.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{column.drag.plugin-0ce0b39a.js → column.drag.plugin-b3483e65.js} +49 -38
- package/dist/cjs/column.drag.plugin-b3483e65.js.map +1 -0
- package/dist/cjs/{sorting.sign-a1e9d97a.js → grouping.row.renderer-d6119ced.js} +6 -6
- package/dist/cjs/grouping.row.renderer-d6119ced.js.map +1 -0
- package/dist/cjs/index.cjs.js +11 -6
- package/dist/cjs/index.cjs.js.map +1 -1
- package/dist/cjs/revo-grid.cjs.entry.js +1 -1
- package/dist/cjs/revogr-data_4.cjs.entry.js +5 -5
- package/dist/cjs/revogr-data_4.cjs.entry.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.func.js +40 -0
- package/dist/collection/plugins/sorting/sorting.func.js.map +1 -1
- package/dist/collection/plugins/sorting/sorting.plugin.js +8 -39
- package/dist/collection/plugins/sorting/sorting.plugin.js.map +1 -1
- package/dist/{revo-grid/column.drag.plugin-017c4fb3.js → esm/column.drag.plugin-da99fde5.js} +46 -40
- package/dist/esm/column.drag.plugin-da99fde5.js.map +1 -0
- package/dist/esm/{sorting.sign-c02e3b12.js → grouping.row.renderer-95f32c6b.js} +6 -6
- package/dist/esm/grouping.row.renderer-95f32c6b.js.map +1 -0
- package/dist/esm/index.js +3 -3
- package/dist/esm/revo-grid.entry.js +1 -1
- package/dist/esm/revogr-data_4.entry.js +1 -1
- package/dist/{esm/column.drag.plugin-017c4fb3.js → revo-grid/column.drag.plugin-da99fde5.js} +46 -40
- package/dist/revo-grid/column.drag.plugin-da99fde5.js.map +1 -0
- package/dist/revo-grid/{sorting.sign-c02e3b12.js → grouping.row.renderer-95f32c6b.js} +6 -6
- package/dist/revo-grid/grouping.row.renderer-95f32c6b.js.map +1 -0
- package/dist/revo-grid/index.esm.js +3 -3
- package/dist/revo-grid/revo-grid.entry.js +1 -1
- package/dist/revo-grid/revogr-data_4.entry.js +1 -1
- package/dist/types/plugins/sorting/sorting.func.d.ts +7 -1
- package/dist/types/plugins/sorting/sorting.plugin.d.ts +3 -7
- package/hydrate/index.js +48 -42
- package/hydrate/index.mjs +48 -42
- package/package.json +1 -1
- package/standalone/index.js +1 -1
- package/standalone/revo-grid.js +45 -39
- package/standalone/revo-grid.js.map +1 -1
- package/dist/cjs/column.drag.plugin-0ce0b39a.js.map +0 -1
- package/dist/cjs/sorting.sign-a1e9d97a.js.map +0 -1
- package/dist/esm/column.drag.plugin-017c4fb3.js.map +0 -1
- package/dist/esm/sorting.sign-c02e3b12.js.map +0 -1
- package/dist/revo-grid/column.drag.plugin-017c4fb3.js.map +0 -1
- package/dist/revo-grid/sorting.sign-c02e3b12.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"file":"grouping.row.renderer-95f32c6b.js","mappings":";;;;;;;MAMa,WAAW,GAAG,CAAC,EAAE,MAAM,EAAS;;IAC3C,OAAO,SAAG,KAAK,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,mCAAI,UAAU,GAAI,CAAC;AACnD;;MCIa,aAAa,GAAG,GAAG;MAE1B,WAAW,GAAG,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAY,EAAE,KAAc;IACpF,MAAM,KAAK,iBACN,EAAE,CAAC,QAAQ,GAAG,KAAK,EAAE,CACzB,CAAC;IACF,QACE,2BACM,KAAK,IACT,KAAK,EAAE,SAAS,QAAQ,IAAI,EAAE,EAAE,EAChC,KAAK,EAAE;YACL,MAAM,EAAE,GAAG,IAAI,IAAI;YACnB,SAAS,EAAE,cAAc,KAAK,KAAK;YACnC,WAAW,EAAE,KAAK,GAAG,GAAG,aAAa,GAAG,KAAK,IAAI,GAAG,SAAS;SAC9D,KAEA,KAAK,CACF,EACN;AACJ;;SCZgB,WAAW,CAAC,CAAa,EAAE,KAAe,EAAE,YAAoB;;IAC9E,MAAM,KAAK,GAAG,IAAI,WAAW,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE;YACN,KAAK;YACL,YAAY;SACb;QACD,UAAU,EAAE,IAAI;QAChB,OAAO,EAAE,IAAI;KACd,CAAiE,CAAC;IACnE,MAAA,CAAC,CAAC,MAAM,0CAAE,aAAa,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;MAEY,mBAAmB,GAAG,CAAC,KAAuB;IACzD,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,sBAAsB,EAAE,SAAS,EAAE,GACtE,KAAK,CAAC;IACR,MAAM,IAAI,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IACvC,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,EAAC,WAAW,oBAAK,KAAK,IAAE,QAAQ,EAAC,aAAa,EAAC,KAAK,EAAE,KAAK,IAAI,CAAC;KACxE;IAED,IAAI,sBAAsB,EAAE;QAC1B,QACE,EAAC,WAAW,oBAAK,KAAK,IAAE,QAAQ,EAAC,aAAa,EAAC,KAAK,EAAE,KAAK;YACzD,WAAK,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAChD,sBAAsB,CAAC,CAAC,EAAE;gBACzB,IAAI;gBACJ,KAAK;gBACL,SAAS;gBACT,QAAQ;gBACR,KAAK;gBACL,SAAS;aACV,CAAC,CACE,CACM,EACd;KACH;IAED,QACE,EAAC,WAAW,oBAAK,KAAK,IAAE,QAAQ,EAAC,aAAa,EAAC,KAAK,EAAE,KAAK;QACzD,cACE,KAAK,EAAE,EAAE,CAAC,gBAAgB,GAAG,IAAI,EAAE,EACnC,OAAO,EAAE,CAAC,IAAI,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,IAE7C,kBAAkB,CAAC,QAAQ,CAAC,CACtB;QACR,IAAI,CACO,EACd;AACJ,EAAE;MAEW,kBAAkB,GAAG,CAAC,QAAQ,GAAG,KAAK;IACjD,QACE,0BACc,MAAM,EAClB,KAAK,EAAE,EAAE,SAAS,EAAE,UAAU,CAAC,QAAQ,GAAG,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,EACzD,SAAS,EAAC,OAAO,EACjB,OAAO,EAAC,aAAa;QAErB,YACE,IAAI,EAAC,cAAc,EACnB,CAAC,EAAC,yRAAyR,GACrR,CACJ,EACN;AACJ;;;;","names":[],"sources":["src/plugins/sorting/sorting.sign.tsx","src/components/data/row-renderer.tsx","src/plugins/groupingRow/grouping.row.renderer.tsx"],"sourcesContent":["import { h } from '@stencil/core';\nimport { ColumnRegular } from '@type';\n\ntype Props = {\n column: ColumnRegular;\n};\nexport const SortingSign = ({ column }: Props) => {\n return <i class={column?.order ?? 'sort-off'} />;\n};\n","import { h, type VNode } from '@stencil/core';\nimport { JSXBase } from '@stencil/core/internal';\nimport { DATA_ROW } from '../../utils/consts';\n\nexport interface RowProps extends JSXBase.HTMLAttributes {\n size: number;\n start: number;\n index: number;\n rowClass?: string;\n depth?: number;\n}\n\nexport const PADDING_DEPTH = 10;\n\nconst RowRenderer = ({ rowClass, index, size, start, depth }: RowProps, cells: VNode[]) => {\n const props = {\n ...{ [DATA_ROW]: index },\n };\n return (\n <div\n {...props}\n class={`rgRow ${rowClass || ''}`}\n style={{\n height: `${size}px`,\n transform: `translateY(${start}px)`,\n paddingLeft: depth ? `${PADDING_DEPTH * depth}px` : undefined,\n }}\n >\n {cells}\n </div>\n );\n};\n\nexport default RowRenderer;\n","import { h } from '@stencil/core';\nimport RowRenderer, { RowProps } from '../../components/data/row-renderer';\nimport {\n GROUP_DEPTH,\n GROUP_EXPANDED,\n GROUP_EXPAND_BTN,\n PSEUDO_GROUP_ITEM,\n} from './grouping.const';\nimport { GroupLabelTemplateFunc } from './grouping.row.types';\nimport { DataType, PositionItem, Providers } from '@type';\n\ninterface GroupRowPros extends RowProps {\n model: DataType;\n hasExpand: boolean;\n providers: Providers;\n groupingCustomRenderer?: GroupLabelTemplateFunc | null;\n}\nexport type RowGroupingProps = GroupRowPros & PositionItem;\n\nexport function expandEvent(e: MouseEvent, model: DataType, virtualIndex: number) {\n const event = new CustomEvent('groupexpandclick', {\n detail: {\n model,\n virtualIndex,\n },\n cancelable: true,\n bubbles: true,\n }) as CustomEvent<HTMLRevoGridElementEventMap['groupexpandclick']>;\n e.target?.dispatchEvent(event);\n}\n\nexport const GroupingRowRenderer = (props: RowGroupingProps) => {\n const { model, itemIndex, hasExpand, groupingCustomRenderer, providers } =\n props;\n const name = model[PSEUDO_GROUP_ITEM];\n const expanded = model[GROUP_EXPANDED];\n const depth = parseInt(model[GROUP_DEPTH], 10) || 0;\n\n if (!hasExpand) {\n return <RowRenderer {...props} rowClass=\"groupingRow\" depth={depth} />;\n }\n\n if (groupingCustomRenderer) {\n return (\n <RowRenderer {...props} rowClass=\"groupingRow\" depth={depth}>\n <div onClick={e => expandEvent(e, model, itemIndex)}>\n {groupingCustomRenderer(h, {\n name,\n model,\n itemIndex,\n expanded,\n depth,\n providers,\n })}\n </div>\n </RowRenderer>\n );\n }\n\n return (\n <RowRenderer {...props} rowClass=\"groupingRow\" depth={depth}>\n <button\n class={{ [GROUP_EXPAND_BTN]: true }}\n onClick={e => expandEvent(e, model, itemIndex)}\n >\n {expandSvgIconVNode(expanded)}\n </button>\n {name}\n </RowRenderer>\n );\n};\n\nexport const expandSvgIconVNode = (expanded = false) => {\n return (\n <svg\n aria-hidden=\"true\"\n style={{ transform: `rotate(${!expanded ? -90 : 0}deg)` }}\n focusable=\"false\"\n viewBox=\"0 0 448 512\"\n >\n <path\n fill=\"currentColor\"\n d=\"M207.029 381.476L12.686 187.132c-9.373-9.373-9.373-24.569 0-33.941l22.667-22.667c9.357-9.357 24.522-9.375 33.901-.04L224 284.505l154.745-154.021c9.379-9.335 24.544-9.317 33.901.04l22.667 22.667c9.373 9.373 9.373 24.569 0 33.941L240.971 381.476c-9.373 9.372-24.569 9.372-33.942 0z\"\n ></path>\n </svg>\n );\n};\n\nexport default GroupingRowRenderer;\n"],"version":3}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
|
-
import { B as BasePlugin } from './column.drag.plugin-
|
|
5
|
-
export { A as AutoSizeColumnPlugin, B as BasePlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, d as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, n as SortingPlugin, S as StretchColumn, c as columnTypes, k as doCollapse, l as doExpand, g as filterCoreFunctionsIndexedByType, j as filterNames, h as filterTypes, m as getLeftRelative, i as isRowType, a as isStretchPlugin, r as rowTypes } from './column.drag.plugin-
|
|
4
|
+
import { B as BasePlugin } from './column.drag.plugin-da99fde5.js';
|
|
5
|
+
export { A as AutoSizeColumnPlugin, B as BasePlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, d as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, n as SortingPlugin, S as StretchColumn, c as columnTypes, o as defaultCellCompare, p as descCellCompare, k as doCollapse, l as doExpand, g as filterCoreFunctionsIndexedByType, j as filterNames, h as filterTypes, t as getComparer, m as getLeftRelative, q as getNextOrder, i as isRowType, a as isStretchPlugin, r as rowTypes, s as sortIndexByItems } from './column.drag.plugin-da99fde5.js';
|
|
6
6
|
export { d as dispatch, a as dispatchByEvent } from './header-cell-renderer-31f53644.js';
|
|
7
7
|
export { h } from './index-f6fae858.js';
|
|
8
8
|
export { C as CELL_CLASS, L as CELL_HANDLER_CLASS, x as DATA_COL, y as DATA_ROW, z as DISABLED_CLASS, I as DRAGGABLE_CLASS, O as DRAGG_TEXT, G as DRAG_ICON_CLASS, D as DataStore, N as EDIT_INPUT_WR, J as FOCUS_CLASS, P as GRID_INTERNALS, F as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, E as HEADER_ROW_CLASS, B as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, K as MOBILE_CLASS, R as RESIZE_INTERVAL, Q as ROW_FOCUSED_CLASS, A as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS, v as applyMixins, i as calculateDimensionData, U as codesLetter, l as findPositionInArray, h as gatherTrimmedItems, k as getItemByIndex, j as getItemByPosition, g as getPhysical, o as getScrollbarSize, b as getSourceItem, f as getSourceItemVirtualIndexByProp, c as getSourcePhysicalIndex, a as getVisibleSourceItem, V as keyValues, n as mergeSortedArray, p as proxyPlugin, m as pushSorted, r as range, q as scaleValue, e as setItems, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, w as setStore, u as timeout, t as trimmedPlugin } from './dimension.helpers-5567e424.js';
|
|
9
9
|
export { m as GROUPING_ROW_TYPE, h as GROUP_COLUMN_PROP, G as GROUP_DEPTH, f as GROUP_EXPANDED, k as GROUP_EXPAND_BTN, l as GROUP_EXPAND_EVENT, j as GROUP_ORIGINAL_INDEX, e as PSEUDO_GROUP_COLUMN, P as PSEUDO_GROUP_ITEM, b as PSEUDO_GROUP_ITEM_ID, d as PSEUDO_GROUP_ITEM_VALUE, S as SelectionStore, c as cropCellToMax, E as gatherGroup, q as gatherGrouping, x as getCellData, z as getCellDataParsed, y as getCellRaw, F as getColumnByProp, B as getColumnSizes, A as getColumnType, D as getColumns, p as getExpanded, r as getGroupingName, v as getParsedGroup, g as getRange, o as getSource, C as isColGrouping, s as isGrouping, t as isGroupingColumn, i as isHiddenStore, a as isRangeSingleCell, w as isSameGroup, u as measureEqualDepth, n as nextCell } from './column.service-f39c0a1d.js';
|
|
10
|
-
export { G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './
|
|
10
|
+
export { G as GroupingRowRenderer, S as SortingSign, e as expandEvent, a as expandSvgIconVNode } from './grouping.row.renderer-95f32c6b.js';
|
|
11
11
|
export { T as TextEditor } from './text-editor-e47e56c3.js';
|
|
12
12
|
export { V as ViewportStore, a as addMissingItems, f as calculateRowHeaderSize, d as getFirstItem, b as getItems, e as getLastItem, g as getUpdatedItemsByPosition, i as isActiveRange, c as isActiveRangeOutsideLastItem, r as recombineByOffset, s as setItemSizes, u as updateMissingAndRange } from './viewport.store-c18a25a6.js';
|
|
13
13
|
export { A as AND_OR_BUTTON, e as AndOrButton, a as FILTER_BUTTON_ACTIVE, F as FILTER_BUTTON_CLASS, b as FILTER_PROP, c as FilterButton, T as TRASH_BUTTON, d as TrashButton, i as isFilterBtn } from './filter.button-84396156.js';
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { h, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-f6fae858.js';
|
|
5
5
|
import { H as reduce, A as getColumnType, B as getColumnSizes, K as EMPTY_INDEX, F as getColumnByProp, D as getColumns, L as SelectionStoreConnector } from './column.service-f39c0a1d.js';
|
|
6
|
-
import { c as columnTypes,
|
|
6
|
+
import { c as columnTypes, u as forEach, r as rowTypes, i as isRowType, D as DimensionStore, B as BasePlugin, G as GroupingRowPlugin, S as StretchColumn, a as isStretchPlugin, A as AutoSizeColumnPlugin, f as FilterPlugin, E as ExportFilePlugin, n as SortingPlugin, C as ColumnMovePlugin } from './column.drag.plugin-da99fde5.js';
|
|
7
7
|
import { D as DataStore, b as getSourceItem, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems, k as getItemByIndex, R as RESIZE_INTERVAL, u as timeout } from './dimension.helpers-5567e424.js';
|
|
8
8
|
import { d as debounce } from './debounce-b3166f78.js';
|
|
9
9
|
import { V as ViewportStore } from './viewport.store-c18a25a6.js';
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { h, B as Build, r as registerInstance, c as createEvent, H as Host, a as getElement } from './index-f6fae858.js';
|
|
5
5
|
import { O as isRowDragService, z as getCellDataParsed, M as ColumnService, s as isGrouping, I as baseEach } from './column.service-f39c0a1d.js';
|
|
6
6
|
import { M as MIN_COL_SIZE, H as HEADER_CLASS, a7 as findIndex, k as getItemByIndex, E as HEADER_ROW_CLASS, Q as ROW_FOCUSED_CLASS, G as DRAG_ICON_CLASS, I as DRAGGABLE_CLASS, b as getSourceItem, x as DATA_COL, y as DATA_ROW, a8 as getNative, Y as isArray, a4 as baseIteratee, J as FOCUS_CLASS, B as HEADER_SORTABLE_CLASS, F as HEADER_ACTUAL_ROW_CLASS } from './dimension.helpers-5567e424.js';
|
|
7
|
-
import { G as GroupingRowRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './
|
|
7
|
+
import { G as GroupingRowRenderer, R as RowRenderer, P as PADDING_DEPTH, S as SortingSign } from './grouping.row.renderer-95f32c6b.js';
|
|
8
8
|
import { c as FilterButton } from './filter.button-84396156.js';
|
|
9
9
|
import { H as HeaderCellRenderer } from './header-cell-renderer-31f53644.js';
|
|
10
10
|
import { t as throttle, L as LocalScrollTimer, a as LocalScrollService } from './throttle-dec28f5b.js';
|
|
@@ -1,3 +1,9 @@
|
|
|
1
|
-
import type { DataType } from "../../types/index";
|
|
1
|
+
import type { CellCompareFunc, ColumnProp, ColumnRegular, DataType, Order } from "../../types/index";
|
|
2
2
|
import type { SortingOrderFunction } from './sorting.types';
|
|
3
3
|
export declare function sortIndexByItems(indexes: number[], source: DataType[], sortingFunc?: SortingOrderFunction): number[];
|
|
4
|
+
export declare function defaultCellCompare(this: {
|
|
5
|
+
column?: ColumnRegular;
|
|
6
|
+
}, prop: ColumnProp, a: DataType, b: DataType): 0 | 1 | -1;
|
|
7
|
+
export declare function descCellCompare(cmp: CellCompareFunc): (prop: ColumnProp, a: DataType, b: DataType) => number;
|
|
8
|
+
export declare function getNextOrder(currentOrder: Order): Order;
|
|
9
|
+
export declare function getComparer(column: Partial<ColumnRegular> | undefined, order: Order): CellCompareFunc | undefined;
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import { BasePlugin } from '../base.plugin';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ColumnRegular, DimensionRows, PluginProviders } from "../../types/index";
|
|
3
3
|
import type { SortingConfig, SortingOrder, SortingOrderFunction } from './sorting.types';
|
|
4
4
|
export * from './sorting.types';
|
|
5
|
+
export * from './sorting.func';
|
|
6
|
+
export * from './sorting.sign';
|
|
5
7
|
/**
|
|
6
8
|
* Lifecycle
|
|
7
9
|
* 1. @event `beforesorting` - Triggered when sorting just starts. Nothing has happened yet. This can be triggered from a column or from the source. If the type is from rows, the column will be undefined.
|
|
@@ -21,7 +23,6 @@ export declare class SortingPlugin extends BasePlugin {
|
|
|
21
23
|
runSorting(order?: SortingOrder, comparison?: SortingOrderFunction, ignoreViewportUpdate?: boolean): void;
|
|
22
24
|
constructor(revogrid: HTMLRevoGridElement, providers: PluginProviders, config?: SortingConfig);
|
|
23
25
|
startSorting(order?: SortingOrder, sortingFunc?: SortingOrderFunction, ignoreViewportUpdate?: boolean): void;
|
|
24
|
-
getComparer(column: Partial<ColumnRegular> | undefined, order: Order): CellCompareFunc | undefined;
|
|
25
26
|
/**
|
|
26
27
|
* Apply sorting to data on header click
|
|
27
28
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
@@ -36,9 +37,4 @@ export declare class SortingPlugin extends BasePlugin {
|
|
|
36
37
|
* @param data - this.stores['rgRow'].store.get('source')
|
|
37
38
|
*/
|
|
38
39
|
sort(sorting?: SortingOrder, sortingFunc?: SortingOrderFunction, types?: DimensionRows[], ignoreViewportUpdate?: boolean): void;
|
|
39
|
-
defaultCellCompare(this: {
|
|
40
|
-
column?: ColumnRegular;
|
|
41
|
-
}, prop: ColumnProp, a: DataType, b: DataType): 0 | 1 | -1;
|
|
42
|
-
descCellCompare(cmp: CellCompareFunc): (prop: ColumnProp, a: DataType, b: DataType) => number;
|
|
43
|
-
getNextOrder(currentOrder: Order): Order;
|
|
44
40
|
}
|
package/hydrate/index.js
CHANGED
|
@@ -12071,6 +12071,50 @@ function sortIndexByItems(indexes, source, sortingFunc = {}) {
|
|
|
12071
12071
|
return 0;
|
|
12072
12072
|
});
|
|
12073
12073
|
}
|
|
12074
|
+
function defaultCellCompare(prop, a, b) {
|
|
12075
|
+
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
12076
|
+
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
12077
|
+
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
12078
|
+
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
12079
|
+
if (av === bv) {
|
|
12080
|
+
return 0;
|
|
12081
|
+
}
|
|
12082
|
+
if (av > bv) {
|
|
12083
|
+
return 1;
|
|
12084
|
+
}
|
|
12085
|
+
return -1;
|
|
12086
|
+
}
|
|
12087
|
+
function descCellCompare(cmp) {
|
|
12088
|
+
return (prop, a, b) => {
|
|
12089
|
+
return -1 * cmp(prop, a, b);
|
|
12090
|
+
};
|
|
12091
|
+
}
|
|
12092
|
+
function getNextOrder(currentOrder) {
|
|
12093
|
+
switch (currentOrder) {
|
|
12094
|
+
case undefined:
|
|
12095
|
+
return 'asc';
|
|
12096
|
+
case 'asc':
|
|
12097
|
+
return 'desc';
|
|
12098
|
+
case 'desc':
|
|
12099
|
+
return undefined;
|
|
12100
|
+
}
|
|
12101
|
+
}
|
|
12102
|
+
function getComparer(column, order) {
|
|
12103
|
+
var _a;
|
|
12104
|
+
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || (defaultCellCompare === null || defaultCellCompare === void 0 ? void 0 : defaultCellCompare.bind({ column, order }));
|
|
12105
|
+
if (order == 'asc') {
|
|
12106
|
+
return cellCmp;
|
|
12107
|
+
}
|
|
12108
|
+
if (order == 'desc') {
|
|
12109
|
+
return descCellCompare(cellCmp);
|
|
12110
|
+
}
|
|
12111
|
+
return undefined;
|
|
12112
|
+
}
|
|
12113
|
+
|
|
12114
|
+
const SortingSign = ({ column }) => {
|
|
12115
|
+
var _a;
|
|
12116
|
+
return hAsync("i", { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' });
|
|
12117
|
+
};
|
|
12074
12118
|
|
|
12075
12119
|
/**
|
|
12076
12120
|
* Lifecycle
|
|
@@ -12100,7 +12144,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12100
12144
|
const sortingFunc = {};
|
|
12101
12145
|
const order = {};
|
|
12102
12146
|
(_a = cfg.columns) === null || _a === void 0 ? void 0 : _a.forEach(col => {
|
|
12103
|
-
sortingFunc[col.prop] =
|
|
12147
|
+
sortingFunc[col.prop] = getComparer(col, col.order);
|
|
12104
12148
|
order[col.prop] = col.order;
|
|
12105
12149
|
});
|
|
12106
12150
|
// // set sorting
|
|
@@ -12132,7 +12176,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12132
12176
|
const columns = this.providers.column.getColumns();
|
|
12133
12177
|
const sortingFunc = {};
|
|
12134
12178
|
for (let prop in order) {
|
|
12135
|
-
const cmp =
|
|
12179
|
+
const cmp = getComparer(getColumnByProp(columns, prop), order[prop]);
|
|
12136
12180
|
sortingFunc[prop] = cmp;
|
|
12137
12181
|
}
|
|
12138
12182
|
// set sorting
|
|
@@ -12159,24 +12203,13 @@ class SortingPlugin extends BasePlugin {
|
|
|
12159
12203
|
}
|
|
12160
12204
|
this.postponeSort(order, sortingFunc, ignoreViewportUpdate);
|
|
12161
12205
|
}
|
|
12162
|
-
getComparer(column, order) {
|
|
12163
|
-
var _a, _b;
|
|
12164
|
-
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || ((_b = this.defaultCellCompare) === null || _b === void 0 ? void 0 : _b.bind({ column, order }));
|
|
12165
|
-
if (order == 'asc') {
|
|
12166
|
-
return cellCmp;
|
|
12167
|
-
}
|
|
12168
|
-
if (order == 'desc') {
|
|
12169
|
-
return this.descCellCompare(cellCmp);
|
|
12170
|
-
}
|
|
12171
|
-
return undefined;
|
|
12172
|
-
}
|
|
12173
12206
|
/**
|
|
12174
12207
|
* Apply sorting to data on header click
|
|
12175
12208
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
12176
12209
|
*/
|
|
12177
12210
|
headerclick(column, index, additive) {
|
|
12178
12211
|
var _a, _b;
|
|
12179
|
-
let order =
|
|
12212
|
+
let order = getNextOrder(column.order);
|
|
12180
12213
|
const beforeEvent = this.emit('beforesorting', { column, order, additive });
|
|
12181
12214
|
if (beforeEvent.defaultPrevented) {
|
|
12182
12215
|
return;
|
|
@@ -12192,7 +12225,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12192
12225
|
if (beforeApplyEvent.defaultPrevented) {
|
|
12193
12226
|
return;
|
|
12194
12227
|
}
|
|
12195
|
-
const cmp =
|
|
12228
|
+
const cmp = getComparer(beforeApplyEvent.detail.column, beforeApplyEvent.detail.order);
|
|
12196
12229
|
if (beforeApplyEvent.detail.additive && this.sorting) {
|
|
12197
12230
|
const sorting = {};
|
|
12198
12231
|
const sortingFunc = {};
|
|
@@ -12268,28 +12301,6 @@ class SortingPlugin extends BasePlugin {
|
|
|
12268
12301
|
}
|
|
12269
12302
|
this.emit('aftersortingapply');
|
|
12270
12303
|
}
|
|
12271
|
-
defaultCellCompare(prop, a, b) {
|
|
12272
|
-
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
12273
|
-
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
12274
|
-
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
12275
|
-
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
12276
|
-
return av == bv ? 0 : av > bv ? 1 : -1;
|
|
12277
|
-
}
|
|
12278
|
-
descCellCompare(cmp) {
|
|
12279
|
-
return (prop, a, b) => {
|
|
12280
|
-
return -1 * cmp(prop, a, b);
|
|
12281
|
-
};
|
|
12282
|
-
}
|
|
12283
|
-
getNextOrder(currentOrder) {
|
|
12284
|
-
switch (currentOrder) {
|
|
12285
|
-
case undefined:
|
|
12286
|
-
return 'asc';
|
|
12287
|
-
case 'asc':
|
|
12288
|
-
return 'desc';
|
|
12289
|
-
case 'desc':
|
|
12290
|
-
return undefined;
|
|
12291
|
-
}
|
|
12292
|
-
}
|
|
12293
12304
|
}
|
|
12294
12305
|
|
|
12295
12306
|
/**
|
|
@@ -16015,11 +16026,6 @@ var keyBy = createAggregator(function(result, value, key) {
|
|
|
16015
16026
|
|
|
16016
16027
|
var keyBy$1 = keyBy;
|
|
16017
16028
|
|
|
16018
|
-
const SortingSign = ({ column }) => {
|
|
16019
|
-
var _a;
|
|
16020
|
-
return hAsync("i", { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' });
|
|
16021
|
-
};
|
|
16022
|
-
|
|
16023
16029
|
const HeaderRenderer = (p) => {
|
|
16024
16030
|
var _a, _b, _c, _d, _e;
|
|
16025
16031
|
const cellClass = {
|
package/hydrate/index.mjs
CHANGED
|
@@ -12067,6 +12067,50 @@ function sortIndexByItems(indexes, source, sortingFunc = {}) {
|
|
|
12067
12067
|
return 0;
|
|
12068
12068
|
});
|
|
12069
12069
|
}
|
|
12070
|
+
function defaultCellCompare(prop, a, b) {
|
|
12071
|
+
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
12072
|
+
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
12073
|
+
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
12074
|
+
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
12075
|
+
if (av === bv) {
|
|
12076
|
+
return 0;
|
|
12077
|
+
}
|
|
12078
|
+
if (av > bv) {
|
|
12079
|
+
return 1;
|
|
12080
|
+
}
|
|
12081
|
+
return -1;
|
|
12082
|
+
}
|
|
12083
|
+
function descCellCompare(cmp) {
|
|
12084
|
+
return (prop, a, b) => {
|
|
12085
|
+
return -1 * cmp(prop, a, b);
|
|
12086
|
+
};
|
|
12087
|
+
}
|
|
12088
|
+
function getNextOrder(currentOrder) {
|
|
12089
|
+
switch (currentOrder) {
|
|
12090
|
+
case undefined:
|
|
12091
|
+
return 'asc';
|
|
12092
|
+
case 'asc':
|
|
12093
|
+
return 'desc';
|
|
12094
|
+
case 'desc':
|
|
12095
|
+
return undefined;
|
|
12096
|
+
}
|
|
12097
|
+
}
|
|
12098
|
+
function getComparer(column, order) {
|
|
12099
|
+
var _a;
|
|
12100
|
+
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || (defaultCellCompare === null || defaultCellCompare === void 0 ? void 0 : defaultCellCompare.bind({ column, order }));
|
|
12101
|
+
if (order == 'asc') {
|
|
12102
|
+
return cellCmp;
|
|
12103
|
+
}
|
|
12104
|
+
if (order == 'desc') {
|
|
12105
|
+
return descCellCompare(cellCmp);
|
|
12106
|
+
}
|
|
12107
|
+
return undefined;
|
|
12108
|
+
}
|
|
12109
|
+
|
|
12110
|
+
const SortingSign = ({ column }) => {
|
|
12111
|
+
var _a;
|
|
12112
|
+
return hAsync("i", { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' });
|
|
12113
|
+
};
|
|
12070
12114
|
|
|
12071
12115
|
/**
|
|
12072
12116
|
* Lifecycle
|
|
@@ -12096,7 +12140,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12096
12140
|
const sortingFunc = {};
|
|
12097
12141
|
const order = {};
|
|
12098
12142
|
(_a = cfg.columns) === null || _a === void 0 ? void 0 : _a.forEach(col => {
|
|
12099
|
-
sortingFunc[col.prop] =
|
|
12143
|
+
sortingFunc[col.prop] = getComparer(col, col.order);
|
|
12100
12144
|
order[col.prop] = col.order;
|
|
12101
12145
|
});
|
|
12102
12146
|
// // set sorting
|
|
@@ -12128,7 +12172,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12128
12172
|
const columns = this.providers.column.getColumns();
|
|
12129
12173
|
const sortingFunc = {};
|
|
12130
12174
|
for (let prop in order) {
|
|
12131
|
-
const cmp =
|
|
12175
|
+
const cmp = getComparer(getColumnByProp(columns, prop), order[prop]);
|
|
12132
12176
|
sortingFunc[prop] = cmp;
|
|
12133
12177
|
}
|
|
12134
12178
|
// set sorting
|
|
@@ -12155,24 +12199,13 @@ class SortingPlugin extends BasePlugin {
|
|
|
12155
12199
|
}
|
|
12156
12200
|
this.postponeSort(order, sortingFunc, ignoreViewportUpdate);
|
|
12157
12201
|
}
|
|
12158
|
-
getComparer(column, order) {
|
|
12159
|
-
var _a, _b;
|
|
12160
|
-
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || ((_b = this.defaultCellCompare) === null || _b === void 0 ? void 0 : _b.bind({ column, order }));
|
|
12161
|
-
if (order == 'asc') {
|
|
12162
|
-
return cellCmp;
|
|
12163
|
-
}
|
|
12164
|
-
if (order == 'desc') {
|
|
12165
|
-
return this.descCellCompare(cellCmp);
|
|
12166
|
-
}
|
|
12167
|
-
return undefined;
|
|
12168
|
-
}
|
|
12169
12202
|
/**
|
|
12170
12203
|
* Apply sorting to data on header click
|
|
12171
12204
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
12172
12205
|
*/
|
|
12173
12206
|
headerclick(column, index, additive) {
|
|
12174
12207
|
var _a, _b;
|
|
12175
|
-
let order =
|
|
12208
|
+
let order = getNextOrder(column.order);
|
|
12176
12209
|
const beforeEvent = this.emit('beforesorting', { column, order, additive });
|
|
12177
12210
|
if (beforeEvent.defaultPrevented) {
|
|
12178
12211
|
return;
|
|
@@ -12188,7 +12221,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
12188
12221
|
if (beforeApplyEvent.defaultPrevented) {
|
|
12189
12222
|
return;
|
|
12190
12223
|
}
|
|
12191
|
-
const cmp =
|
|
12224
|
+
const cmp = getComparer(beforeApplyEvent.detail.column, beforeApplyEvent.detail.order);
|
|
12192
12225
|
if (beforeApplyEvent.detail.additive && this.sorting) {
|
|
12193
12226
|
const sorting = {};
|
|
12194
12227
|
const sortingFunc = {};
|
|
@@ -12264,28 +12297,6 @@ class SortingPlugin extends BasePlugin {
|
|
|
12264
12297
|
}
|
|
12265
12298
|
this.emit('aftersortingapply');
|
|
12266
12299
|
}
|
|
12267
|
-
defaultCellCompare(prop, a, b) {
|
|
12268
|
-
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
12269
|
-
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
12270
|
-
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
12271
|
-
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
12272
|
-
return av == bv ? 0 : av > bv ? 1 : -1;
|
|
12273
|
-
}
|
|
12274
|
-
descCellCompare(cmp) {
|
|
12275
|
-
return (prop, a, b) => {
|
|
12276
|
-
return -1 * cmp(prop, a, b);
|
|
12277
|
-
};
|
|
12278
|
-
}
|
|
12279
|
-
getNextOrder(currentOrder) {
|
|
12280
|
-
switch (currentOrder) {
|
|
12281
|
-
case undefined:
|
|
12282
|
-
return 'asc';
|
|
12283
|
-
case 'asc':
|
|
12284
|
-
return 'desc';
|
|
12285
|
-
case 'desc':
|
|
12286
|
-
return undefined;
|
|
12287
|
-
}
|
|
12288
|
-
}
|
|
12289
12300
|
}
|
|
12290
12301
|
|
|
12291
12302
|
/**
|
|
@@ -16011,11 +16022,6 @@ var keyBy = createAggregator(function(result, value, key) {
|
|
|
16011
16022
|
|
|
16012
16023
|
var keyBy$1 = keyBy;
|
|
16013
16024
|
|
|
16014
|
-
const SortingSign = ({ column }) => {
|
|
16015
|
-
var _a;
|
|
16016
|
-
return hAsync("i", { class: (_a = column === null || column === void 0 ? void 0 : column.order) !== null && _a !== void 0 ? _a : 'sort-off' });
|
|
16017
|
-
};
|
|
16018
|
-
|
|
16019
16025
|
const HeaderRenderer = (p) => {
|
|
16020
16026
|
var _a, _b, _c, _d, _e;
|
|
16021
16027
|
const cellClass = {
|
package/package.json
CHANGED
package/standalone/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
import { setMode } from '@stencil/core/internal/client';
|
|
5
5
|
export { getAssetPath, h, setAssetPath, setNonce, setPlatformOptions } from '@stencil/core/internal/client';
|
|
6
6
|
import { g as getTheme, B as BasePlugin } from './revo-grid.js';
|
|
7
|
-
export { A as AutoSizeColumnPlugin, B as BasePlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, d as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, RevoGrid, o as SortingPlugin, S as StretchColumn, c as columnTypes, defineCustomElement as defineCustomElementRevoGrid, l as doCollapse, m as doExpand, h as filterCoreFunctionsIndexedByType, k as filterNames, j as filterTypes, n as getLeftRelative, i as isRowType, a as isStretchPlugin, r as rowTypes } from './revo-grid.js';
|
|
7
|
+
export { A as AutoSizeColumnPlugin, B as BasePlugin, C as ColumnMovePlugin, D as DimensionStore, b as ExportCsv, E as ExportFilePlugin, d as FILTER_CONFIG_CHANGED_EVENT, F as FILTER_TRIMMED_TYPE, e as FILTE_PANEL, f as FilterPlugin, G as GroupingRowPlugin, RevoGrid, o as SortingPlugin, S as StretchColumn, c as columnTypes, p as defaultCellCompare, defineCustomElement as defineCustomElementRevoGrid, q as descCellCompare, l as doCollapse, m as doExpand, h as filterCoreFunctionsIndexedByType, k as filterNames, j as filterTypes, u as getComparer, n as getLeftRelative, t as getNextOrder, i as isRowType, a as isStretchPlugin, r as rowTypes, s as sortIndexByItems } from './revo-grid.js';
|
|
8
8
|
export { S as SortingSign, d as dispatch, a as dispatchByEvent } from './revogr-header2.js';
|
|
9
9
|
export { C as CELL_CLASS, j as CELL_HANDLER_CLASS, D as DATA_COL, a as DATA_ROW, b as DISABLED_CLASS, h as DRAGGABLE_CLASS, k as DRAGG_TEXT, g as DRAG_ICON_CLASS, E as EDIT_INPUT_WR, F as FOCUS_CLASS, G as GRID_INTERNALS, f as HEADER_ACTUAL_ROW_CLASS, H as HEADER_CLASS, e as HEADER_ROW_CLASS, d as HEADER_SORTABLE_CLASS, M as MIN_COL_SIZE, i as MOBILE_CLASS, R as RESIZE_INTERVAL, l as ROW_FOCUSED_CLASS, c as ROW_HEADER_TYPE, S as SELECTION_BORDER_CLASS, T as TMP_SELECTION_BG_CLASS } from './consts.js';
|
|
10
10
|
export { a as applyMixins, f as findPositionInArray, g as getScrollbarSize, m as mergeSortedArray, p as pushSorted, r as range, s as scaleValue, t as timeout } from './index2.js';
|
package/standalone/revo-grid.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Built by Revolist OU ❤️
|
|
3
3
|
*/
|
|
4
4
|
import { h, proxyCustomElement, HTMLElement as HTMLElement$1, createEvent, Host } from '@stencil/core/internal/client';
|
|
5
|
-
import { H as reduce, I as baseEach, A as getColumnType, s as isGrouping, r as getGroupingName, z as getCellDataParsed,
|
|
5
|
+
import { H as reduce, I as baseEach, A as getColumnType, s as isGrouping, r as getGroupingName, z as getCellDataParsed, y as getCellRaw, F as getColumnByProp, f as GROUP_EXPANDED, v as getParsedGroup, b as PSEUDO_GROUP_ITEM_ID, w as isSameGroup, G as GROUP_DEPTH, d as PSEUDO_GROUP_ITEM_VALUE, m as GROUPING_ROW_TYPE, o as getSource, e as PSEUDO_GROUP_COLUMN, q as gatherGrouping, t as isGroupingColumn, p as getExpanded, C as isColGrouping, B as getColumnSizes, J as EMPTY_INDEX, D as getColumns, K as SelectionStoreConnector } from './column.service.js';
|
|
6
6
|
import './platform.js';
|
|
7
7
|
import { j as createStore, i as setStore, k as identity, l as isArray, b as getSourceItem, m as toInteger, n as isIterateeCall, o as baseProperty, q as isArrayLike, r as getTag, u as baseKeys, g as getPhysical, e as setItems, D as DataStore, f as getSourceItemVirtualIndexByProp, d as setSourceByPhysicalIndex, s as setSourceByVirtualIndex, a as getVisibleSourceItem, h as gatherTrimmedItems } from './data.store.js';
|
|
8
8
|
import { d as debounce } from './debounce.js';
|
|
@@ -1803,6 +1803,45 @@ function sortIndexByItems(indexes, source, sortingFunc = {}) {
|
|
|
1803
1803
|
return 0;
|
|
1804
1804
|
});
|
|
1805
1805
|
}
|
|
1806
|
+
function defaultCellCompare(prop, a, b) {
|
|
1807
|
+
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
1808
|
+
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
1809
|
+
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
1810
|
+
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
1811
|
+
if (av === bv) {
|
|
1812
|
+
return 0;
|
|
1813
|
+
}
|
|
1814
|
+
if (av > bv) {
|
|
1815
|
+
return 1;
|
|
1816
|
+
}
|
|
1817
|
+
return -1;
|
|
1818
|
+
}
|
|
1819
|
+
function descCellCompare(cmp) {
|
|
1820
|
+
return (prop, a, b) => {
|
|
1821
|
+
return -1 * cmp(prop, a, b);
|
|
1822
|
+
};
|
|
1823
|
+
}
|
|
1824
|
+
function getNextOrder(currentOrder) {
|
|
1825
|
+
switch (currentOrder) {
|
|
1826
|
+
case undefined:
|
|
1827
|
+
return 'asc';
|
|
1828
|
+
case 'asc':
|
|
1829
|
+
return 'desc';
|
|
1830
|
+
case 'desc':
|
|
1831
|
+
return undefined;
|
|
1832
|
+
}
|
|
1833
|
+
}
|
|
1834
|
+
function getComparer(column, order) {
|
|
1835
|
+
var _a;
|
|
1836
|
+
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || (defaultCellCompare === null || defaultCellCompare === void 0 ? void 0 : defaultCellCompare.bind({ column, order }));
|
|
1837
|
+
if (order == 'asc') {
|
|
1838
|
+
return cellCmp;
|
|
1839
|
+
}
|
|
1840
|
+
if (order == 'desc') {
|
|
1841
|
+
return descCellCompare(cellCmp);
|
|
1842
|
+
}
|
|
1843
|
+
return undefined;
|
|
1844
|
+
}
|
|
1806
1845
|
|
|
1807
1846
|
/**
|
|
1808
1847
|
* Lifecycle
|
|
@@ -1832,7 +1871,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
1832
1871
|
const sortingFunc = {};
|
|
1833
1872
|
const order = {};
|
|
1834
1873
|
(_a = cfg.columns) === null || _a === void 0 ? void 0 : _a.forEach(col => {
|
|
1835
|
-
sortingFunc[col.prop] =
|
|
1874
|
+
sortingFunc[col.prop] = getComparer(col, col.order);
|
|
1836
1875
|
order[col.prop] = col.order;
|
|
1837
1876
|
});
|
|
1838
1877
|
// // set sorting
|
|
@@ -1864,7 +1903,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
1864
1903
|
const columns = this.providers.column.getColumns();
|
|
1865
1904
|
const sortingFunc = {};
|
|
1866
1905
|
for (let prop in order) {
|
|
1867
|
-
const cmp =
|
|
1906
|
+
const cmp = getComparer(getColumnByProp(columns, prop), order[prop]);
|
|
1868
1907
|
sortingFunc[prop] = cmp;
|
|
1869
1908
|
}
|
|
1870
1909
|
// set sorting
|
|
@@ -1891,24 +1930,13 @@ class SortingPlugin extends BasePlugin {
|
|
|
1891
1930
|
}
|
|
1892
1931
|
this.postponeSort(order, sortingFunc, ignoreViewportUpdate);
|
|
1893
1932
|
}
|
|
1894
|
-
getComparer(column, order) {
|
|
1895
|
-
var _a, _b;
|
|
1896
|
-
const cellCmp = ((_a = column === null || column === void 0 ? void 0 : column.cellCompare) === null || _a === void 0 ? void 0 : _a.bind({ order })) || ((_b = this.defaultCellCompare) === null || _b === void 0 ? void 0 : _b.bind({ column, order }));
|
|
1897
|
-
if (order == 'asc') {
|
|
1898
|
-
return cellCmp;
|
|
1899
|
-
}
|
|
1900
|
-
if (order == 'desc') {
|
|
1901
|
-
return this.descCellCompare(cellCmp);
|
|
1902
|
-
}
|
|
1903
|
-
return undefined;
|
|
1904
|
-
}
|
|
1905
1933
|
/**
|
|
1906
1934
|
* Apply sorting to data on header click
|
|
1907
1935
|
* If additive - add to existing sorting, multiple columns can be sorted
|
|
1908
1936
|
*/
|
|
1909
1937
|
headerclick(column, index, additive) {
|
|
1910
1938
|
var _a, _b;
|
|
1911
|
-
let order =
|
|
1939
|
+
let order = getNextOrder(column.order);
|
|
1912
1940
|
const beforeEvent = this.emit('beforesorting', { column, order, additive });
|
|
1913
1941
|
if (beforeEvent.defaultPrevented) {
|
|
1914
1942
|
return;
|
|
@@ -1924,7 +1952,7 @@ class SortingPlugin extends BasePlugin {
|
|
|
1924
1952
|
if (beforeApplyEvent.defaultPrevented) {
|
|
1925
1953
|
return;
|
|
1926
1954
|
}
|
|
1927
|
-
const cmp =
|
|
1955
|
+
const cmp = getComparer(beforeApplyEvent.detail.column, beforeApplyEvent.detail.order);
|
|
1928
1956
|
if (beforeApplyEvent.detail.additive && this.sorting) {
|
|
1929
1957
|
const sorting = {};
|
|
1930
1958
|
const sortingFunc = {};
|
|
@@ -2000,28 +2028,6 @@ class SortingPlugin extends BasePlugin {
|
|
|
2000
2028
|
}
|
|
2001
2029
|
this.emit('aftersortingapply');
|
|
2002
2030
|
}
|
|
2003
|
-
defaultCellCompare(prop, a, b) {
|
|
2004
|
-
const aRaw = this.column ? getCellRaw(a, this.column) : a === null || a === void 0 ? void 0 : a[prop];
|
|
2005
|
-
const bRaw = this.column ? getCellRaw(b, this.column) : b === null || b === void 0 ? void 0 : b[prop];
|
|
2006
|
-
const av = aRaw === null || aRaw === void 0 ? void 0 : aRaw.toString().toLowerCase();
|
|
2007
|
-
const bv = bRaw === null || bRaw === void 0 ? void 0 : bRaw.toString().toLowerCase();
|
|
2008
|
-
return av == bv ? 0 : av > bv ? 1 : -1;
|
|
2009
|
-
}
|
|
2010
|
-
descCellCompare(cmp) {
|
|
2011
|
-
return (prop, a, b) => {
|
|
2012
|
-
return -1 * cmp(prop, a, b);
|
|
2013
|
-
};
|
|
2014
|
-
}
|
|
2015
|
-
getNextOrder(currentOrder) {
|
|
2016
|
-
switch (currentOrder) {
|
|
2017
|
-
case undefined:
|
|
2018
|
-
return 'asc';
|
|
2019
|
-
case 'asc':
|
|
2020
|
-
return 'desc';
|
|
2021
|
-
case 'desc':
|
|
2022
|
-
return undefined;
|
|
2023
|
-
}
|
|
2024
|
-
}
|
|
2025
2031
|
}
|
|
2026
2032
|
|
|
2027
2033
|
// provide collapse data
|
|
@@ -4633,6 +4639,6 @@ function defineCustomElement$1() {
|
|
|
4633
4639
|
const RevoGrid = RevoGridComponent;
|
|
4634
4640
|
const defineCustomElement = defineCustomElement$1;
|
|
4635
4641
|
|
|
4636
|
-
export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnMovePlugin as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, RevoGrid, StretchColumn as S, isStretchPlugin as a, ExportCsv as b, columnTypes as c, FILTER_CONFIG_CHANGED_EVENT as d, defineCustomElement, FILTE_PANEL as e, FilterPlugin as f, getTheme as g, filterCoreFunctionsIndexedByType as h, isRowType as i, filterTypes as j, filterNames as k, doCollapse as l, doExpand as m, getLeftRelative as n, SortingPlugin as o, rowTypes as r };
|
|
4642
|
+
export { AutoSizeColumnPlugin as A, BasePlugin as B, ColumnMovePlugin as C, DimensionStore as D, ExportFilePlugin as E, FILTER_TRIMMED_TYPE as F, GroupingRowPlugin as G, RevoGrid, StretchColumn as S, isStretchPlugin as a, ExportCsv as b, columnTypes as c, FILTER_CONFIG_CHANGED_EVENT as d, defineCustomElement, FILTE_PANEL as e, FilterPlugin as f, getTheme as g, filterCoreFunctionsIndexedByType as h, isRowType as i, filterTypes as j, filterNames as k, doCollapse as l, doExpand as m, getLeftRelative as n, SortingPlugin as o, defaultCellCompare as p, descCellCompare as q, rowTypes as r, sortIndexByItems as s, getNextOrder as t, getComparer as u };
|
|
4637
4643
|
|
|
4638
4644
|
//# sourceMappingURL=revo-grid.js.map
|