ember-headless-table 0.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/addon-main.js +5 -0
- package/dist/-private/-type-tests/plugin-properties.test.d.ts +2 -0
- package/dist/-private/-type-tests/plugin-properties.test.d.ts.map +1 -0
- package/dist/-private/-type-tests/plugin-properties.test.js +31 -0
- package/dist/-private/-type-tests/plugin-properties.test.js.map +1 -0
- package/dist/-private/-type-tests/plugin-with.test.d.ts +1 -0
- package/dist/-private/-type-tests/plugin-with.test.js +21 -0
- package/dist/-private/-type-tests/plugin-with.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-accessors.test.d.ts +1 -0
- package/dist/-private/-type-tests/plugins-accessors.test.js +36 -0
- package/dist/-private/-type-tests/plugins-accessors.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-signature-from.test.d.ts +1 -0
- package/dist/-private/-type-tests/plugins-signature-from.test.js +14 -0
- package/dist/-private/-type-tests/plugins-signature-from.test.js.map +1 -0
- package/dist/-private/-type-tests/plugins-signature-utils.test.d.ts +1 -0
- package/dist/-private/-type-tests/plugins-signature-utils.test.js +36 -0
- package/dist/-private/-type-tests/plugins-signature-utils.test.js.map +1 -0
- package/dist/-private/-type-tests/table-api.test.d.ts +1 -0
- package/dist/-private/-type-tests/table-api.test.js +16 -0
- package/dist/-private/-type-tests/table-api.test.js.map +1 -0
- package/dist/-private/-type-tests/table-config.test.d.ts +1 -0
- package/dist/-private/-type-tests/table-config.test.js +58 -0
- package/dist/-private/-type-tests/table-config.test.js.map +1 -0
- package/dist/-private/column.d.ts +18 -0
- package/dist/-private/column.js +70 -0
- package/dist/-private/column.js.map +1 -0
- package/dist/-private/interfaces/column.d.ts +57 -0
- package/dist/-private/interfaces/column.js +2 -0
- package/dist/-private/interfaces/column.js.map +1 -0
- package/dist/-private/interfaces/index.d.ts +7 -0
- package/dist/-private/interfaces/index.js +2 -0
- package/dist/-private/interfaces/index.js.map +1 -0
- package/dist/-private/interfaces/modifier.d.ts +7 -0
- package/dist/-private/interfaces/modifier.js +2 -0
- package/dist/-private/interfaces/modifier.js.map +1 -0
- package/dist/-private/interfaces/pagination.d.ts +17 -0
- package/dist/-private/interfaces/pagination.js +2 -0
- package/dist/-private/interfaces/pagination.js.map +1 -0
- package/dist/-private/interfaces/plugins.d.ts +314 -0
- package/dist/-private/interfaces/plugins.js +2 -0
- package/dist/-private/interfaces/plugins.js.map +1 -0
- package/dist/-private/interfaces/preferences.d.ts +74 -0
- package/dist/-private/interfaces/preferences.js +2 -0
- package/dist/-private/interfaces/preferences.js.map +1 -0
- package/dist/-private/interfaces/selection.d.ts +35 -0
- package/dist/-private/interfaces/selection.js +2 -0
- package/dist/-private/interfaces/selection.js.map +1 -0
- package/dist/-private/interfaces/table.d.ts +109 -0
- package/dist/-private/interfaces/table.js +2 -0
- package/dist/-private/interfaces/table.js.map +1 -0
- package/dist/-private/js-helper.d.ts +39 -0
- package/dist/-private/js-helper.js +20 -0
- package/dist/-private/js-helper.js.map +1 -0
- package/dist/-private/preferences.d.ts +56 -0
- package/dist/-private/preferences.js +175 -0
- package/dist/-private/preferences.js.map +1 -0
- package/dist/-private/private-types.d.ts +6 -0
- package/dist/-private/private-types.js +2 -0
- package/dist/-private/private-types.js.map +1 -0
- package/dist/-private/row.d.ts +12 -0
- package/dist/-private/row.js +63 -0
- package/dist/-private/row.js.map +1 -0
- package/dist/-private/table.d.ts +0 -0
- package/dist/-private/table.js +18 -0
- package/dist/-private/table.js.map +1 -0
- package/dist/-private/utils.d.ts +3 -0
- package/dist/-private/utils.js +17 -0
- package/dist/-private/utils.js.map +1 -0
- package/dist/applyDecoratedDescriptor-e0489e2f.js +31 -0
- package/dist/applyDecoratedDescriptor-e0489e2f.js.map +1 -0
- package/dist/classPrivateFieldGet-af59a8ea.js +23 -0
- package/dist/classPrivateFieldGet-af59a8ea.js.map +1 -0
- package/dist/defineProperty-a0196711.js +17 -0
- package/dist/defineProperty-a0196711.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/plugins/-private/base.d.ts +267 -0
- package/dist/plugins/-private/base.js +486 -0
- package/dist/plugins/-private/base.js.map +1 -0
- package/dist/plugins/-private/utils.d.ts +21 -0
- package/dist/plugins/-private/utils.js +118 -0
- package/dist/plugins/-private/utils.js.map +1 -0
- package/dist/plugins/column-reordering/helpers.d.ts +28 -0
- package/dist/plugins/column-reordering/helpers.js +37 -0
- package/dist/plugins/column-reordering/helpers.js.map +1 -0
- package/dist/plugins/column-reordering/index.d.ts +3 -0
- package/dist/plugins/column-reordering/index.js +3 -0
- package/dist/plugins/column-reordering/index.js.map +1 -0
- package/dist/plugins/column-reordering/plugin.d.ts +133 -0
- package/dist/plugins/column-reordering/plugin.js +392 -0
- package/dist/plugins/column-reordering/plugin.js.map +1 -0
- package/dist/plugins/column-reordering/utils.d.ts +7 -0
- package/dist/plugins/column-reordering/utils.js +41 -0
- package/dist/plugins/column-reordering/utils.js.map +1 -0
- package/dist/plugins/column-resizing/handle.d.ts +116 -0
- package/dist/plugins/column-resizing/handle.js +251 -0
- package/dist/plugins/column-resizing/handle.js.map +1 -0
- package/dist/plugins/column-resizing/helpers.d.ts +17 -0
- package/dist/plugins/column-resizing/helpers.js +22 -0
- package/dist/plugins/column-resizing/helpers.js.map +1 -0
- package/dist/plugins/column-resizing/index.d.ts +4 -0
- package/dist/plugins/column-resizing/index.js +4 -0
- package/dist/plugins/column-resizing/index.js.map +1 -0
- package/dist/plugins/column-resizing/plugin.d.ts +144 -0
- package/dist/plugins/column-resizing/plugin.js +352 -0
- package/dist/plugins/column-resizing/plugin.js.map +1 -0
- package/dist/plugins/column-resizing/resize-observer.d.ts +14 -0
- package/dist/plugins/column-resizing/resize-observer.js +46 -0
- package/dist/plugins/column-resizing/resize-observer.js.map +1 -0
- package/dist/plugins/column-resizing/utils.d.ts +22 -0
- package/dist/plugins/column-resizing/utils.js +46 -0
- package/dist/plugins/column-resizing/utils.js.map +1 -0
- package/dist/plugins/column-visibility/helpers.d.ts +18 -0
- package/dist/plugins/column-visibility/helpers.js +25 -0
- package/dist/plugins/column-visibility/helpers.js.map +1 -0
- package/dist/plugins/column-visibility/index.d.ts +3 -0
- package/dist/plugins/column-visibility/index.js +3 -0
- package/dist/plugins/column-visibility/index.js.map +1 -0
- package/dist/plugins/column-visibility/plugin.d.ts +62 -0
- package/dist/plugins/column-visibility/plugin.js +124 -0
- package/dist/plugins/column-visibility/plugin.js.map +1 -0
- package/dist/plugins/data-sorting/helpers.d.ts +38 -0
- package/dist/plugins/data-sorting/helpers.js +49 -0
- package/dist/plugins/data-sorting/helpers.js.map +1 -0
- package/dist/plugins/data-sorting/index.d.ts +5 -0
- package/dist/plugins/data-sorting/index.js +4 -0
- package/dist/plugins/data-sorting/index.js.map +1 -0
- package/dist/plugins/data-sorting/plugin.d.ts +99 -0
- package/dist/plugins/data-sorting/plugin.js +165 -0
- package/dist/plugins/data-sorting/plugin.js.map +1 -0
- package/dist/plugins/data-sorting/types.d.ts +23 -0
- package/dist/plugins/data-sorting/types.js +17 -0
- package/dist/plugins/data-sorting/types.js.map +1 -0
- package/dist/plugins/index.d.ts +5 -0
- package/dist/plugins/index.js +3 -0
- package/dist/plugins/index.js.map +1 -0
- package/dist/plugins/row-selection/helpers.d.ts +6 -0
- package/dist/plugins/row-selection/helpers.js +10 -0
- package/dist/plugins/row-selection/helpers.js.map +1 -0
- package/dist/plugins/row-selection/index.d.ts +3 -0
- package/dist/plugins/row-selection/index.js +3 -0
- package/dist/plugins/row-selection/index.js.map +1 -0
- package/dist/plugins/row-selection/plugin.d.ts +79 -0
- package/dist/plugins/row-selection/plugin.js +187 -0
- package/dist/plugins/row-selection/plugin.js.map +1 -0
- package/dist/plugins/sticky-columns/helpers.d.ts +4 -0
- package/dist/plugins/sticky-columns/helpers.js +8 -0
- package/dist/plugins/sticky-columns/helpers.js.map +1 -0
- package/dist/plugins/sticky-columns/index.d.ts +3 -0
- package/dist/plugins/sticky-columns/index.js +3 -0
- package/dist/plugins/sticky-columns/index.js.map +1 -0
- package/dist/plugins/sticky-columns/plugin.d.ts +53 -0
- package/dist/plugins/sticky-columns/plugin.js +132 -0
- package/dist/plugins/sticky-columns/plugin.js.map +1 -0
- package/dist/table-8e46554b.d.ts +127 -0
- package/dist/table-8e46554b.js +249 -0
- package/dist/table-8e46554b.js.map +1 -0
- package/dist/test-support/index.d.ts +14 -0
- package/dist/test-support/index.js +72 -0
- package/dist/test-support/index.js.map +1 -0
- package/dist/utils.d.ts +26 -0
- package/dist/utils.js +77 -0
- package/dist/utils.js.map +1 -0
- package/package.json +147 -51
- package/LICENSE.md +0 -9
- package/README.md +0 -38
- package/config/environment.js +0 -5
- package/index.js +0 -5
package/addon-main.js
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"-private/-type-tests/plugin-properties.test.d.ts","sourceRoot":"","sources":["../src/-private/-type-tests/plugin-properties.test.ts"],"names":[],"mappings":""}
|
@@ -0,0 +1,31 @@
|
|
1
|
+
import { _ as _defineProperty } from '../../defineProperty-a0196711.js';
|
2
|
+
import { expectTypeOf } from 'expect-type';
|
3
|
+
import { BasePlugin } from '../../plugins/-private/base.js';
|
4
|
+
import '@ember/debug';
|
5
|
+
|
6
|
+
class A extends BasePlugin {
|
7
|
+
constructor(...args) {
|
8
|
+
super(...args);
|
9
|
+
|
10
|
+
_defineProperty(this, "name", 'a plugin');
|
11
|
+
}
|
12
|
+
|
13
|
+
}
|
14
|
+
|
15
|
+
let x = 0;
|
16
|
+
let a = new A(x); ///////////////////////////////////////////////////
|
17
|
+
// Meta instantiation
|
18
|
+
///////////////////////////////////////////////////
|
19
|
+
|
20
|
+
if (a.meta?.table) {
|
21
|
+
expectTypeOf(new a.meta.table()).toEqualTypeOf();
|
22
|
+
}
|
23
|
+
|
24
|
+
if (a.meta?.column) {
|
25
|
+
expectTypeOf(new a.meta.column()).toEqualTypeOf();
|
26
|
+
}
|
27
|
+
|
28
|
+
if (a.meta?.row) {
|
29
|
+
expectTypeOf(new a.meta.row()).toEqualTypeOf();
|
30
|
+
}
|
31
|
+
//# sourceMappingURL=plugin-properties.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugin-properties.test.js","sources":["../../../src/-private/-type-tests/plugin-properties.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins';\n\nimport type { Table } from '[public-types]';\n\nclass TableMeta {\n a = 'a';\n}\nclass ColumnMeta {\n b = 'b';\n}\nclass RowMeta {\n c = 'c';\n}\nclass A extends BasePlugin<{ Meta: { Table: TableMeta; Column: ColumnMeta; Row: RowMeta } }> {\n name = 'a plugin';\n}\n\nlet x = 0 as unknown as Table;\nlet a = new A(x);\n\n///////////////////////////////////////////////////\n// Meta instantiation\n///////////////////////////////////////////////////\nif (a.meta?.table) {\n expectTypeOf(new a.meta.table()).toEqualTypeOf<TableMeta>();\n}\n\nif (a.meta?.column) {\n expectTypeOf(new a.meta.column()).toEqualTypeOf<ColumnMeta>();\n}\n\nif (a.meta?.row) {\n expectTypeOf(new a.meta.row()).toEqualTypeOf<RowMeta>();\n}\n"],"names":["A","BasePlugin","x","a","meta","table","expectTypeOf","toEqualTypeOf","column","row"],"mappings":";;;;;AAeA,MAAMA,CAAN,SAAgBC,UAAhB,CAA6F;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA;;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EACpF,UADoF,CAAA,CAAA;AAAA,GAAA;;AAAA,CAAA;;AAI7F,IAAIC,CAAC,GAAG,CAAR,CAAA;AACA,IAAIC,CAAC,GAAG,IAAIH,CAAJ,CAAME,CAAN,CAAR;AAGA;AACA;;AACA,IAAIC,CAAC,CAACC,IAAF,EAAQC,KAAZ,EAAmB;EACjBC,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAF,CAAOC,KAAX,EAAD,CAAZ,CAAiCE,aAAjC,EAAA,CAAA;AACD,CAAA;;AAED,IAAIJ,CAAC,CAACC,IAAF,EAAQI,MAAZ,EAAoB;EAClBF,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAF,CAAOI,MAAX,EAAD,CAAZ,CAAkCD,aAAlC,EAAA,CAAA;AACD,CAAA;;AAED,IAAIJ,CAAC,CAACC,IAAF,EAAQK,GAAZ,EAAiB;EACfH,YAAY,CAAC,IAAIH,CAAC,CAACC,IAAF,CAAOK,GAAX,EAAD,CAAZ,CAA+BF,aAA/B,EAAA,CAAA;AACD"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import '../../plugins/-private/base.js';
|
2
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
3
|
+
import '../../plugins/data-sorting/types.js';
|
4
|
+
import { RowSelection } from '../../plugins/row-selection/plugin.js';
|
5
|
+
|
6
|
+
RowSelection.with(() => {
|
7
|
+
let simpleOptions = {
|
8
|
+
selection: new Set(),
|
9
|
+
onSelect: item => console.debug(item),
|
10
|
+
onDeselect: item => console.debug(item)
|
11
|
+
};
|
12
|
+
return simpleOptions;
|
13
|
+
});
|
14
|
+
Sorting.with(() => {
|
15
|
+
let simpleOptions = {
|
16
|
+
onSort: sorts => console.debug(sorts),
|
17
|
+
sorts: []
|
18
|
+
};
|
19
|
+
return simpleOptions;
|
20
|
+
});
|
21
|
+
//# sourceMappingURL=plugin-with.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugin-with.test.js","sources":["../../../src/-private/-type-tests/plugin-with.test.ts"],"sourcesContent":["import { DataSorting } from '../../plugins/data-sorting';\nimport { RowSelection } from '../../plugins/row-selection';\n\nimport type { SortItem } from '../../plugins/data-sorting';\n\nRowSelection.with(() => {\n let simpleOptions = {\n selection: new Set<number>(),\n onSelect: (item: number) => console.debug(item),\n onDeselect: (item: number) => console.debug(item),\n };\n\n return simpleOptions;\n});\n\nDataSorting.with(() => {\n let simpleOptions = {\n onSort: (sorts: SortItem<number>[]) => console.debug(sorts),\n sorts: [] as unknown as SortItem<number>[],\n };\n\n return simpleOptions;\n});\n"],"names":["RowSelection","with","simpleOptions","selection","Set","onSelect","item","console","debug","onDeselect","DataSorting","onSort","sorts"],"mappings":";;;;;AAKAA,YAAY,CAACC,IAAb,CAAkB,MAAM;AACtB,EAAA,IAAIC,aAAa,GAAG;IAClBC,SAAS,EAAE,IAAIC,GAAJ,EADO;IAElBC,QAAQ,EAAGC,IAAD,IAAkBC,OAAO,CAACC,KAAR,CAAcF,IAAd,CAFV;AAGlBG,IAAAA,UAAU,EAAGH,IAAD,IAAkBC,OAAO,CAACC,KAAR,CAAcF,IAAd,CAAA;GAHhC,CAAA;AAMA,EAAA,OAAOJ,aAAP,CAAA;AACD,CARD,CAAA,CAAA;AAUAQ,OAAW,CAACT,IAAZ,CAAiB,MAAM;AACrB,EAAA,IAAIC,aAAa,GAAG;IAClBS,MAAM,EAAGC,KAAD,IAA+BL,OAAO,CAACC,KAAR,CAAcI,KAAd,CADrB;AAElBA,IAAAA,KAAK,EAAE,EAAA;GAFT,CAAA;AAKA,EAAA,OAAOV,aAAP,CAAA;AACD,CAPD,CAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { _ as _defineProperty } from '../../defineProperty-a0196711.js';
|
2
|
+
import { options, meta, preferences, BasePlugin } from '../../plugins/-private/base.js';
|
3
|
+
import '@ember/debug';
|
4
|
+
import { expectTypeOf } from 'expect-type';
|
5
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
6
|
+
import '../../plugins/data-sorting/types.js';
|
7
|
+
|
8
|
+
// This value is irrelevant for the tests it's used in
|
9
|
+
const x = 0;
|
10
|
+
const y = 0; //////////////////////////////////////////////
|
11
|
+
|
12
|
+
class SimplePlugin extends BasePlugin {
|
13
|
+
constructor(...args) {
|
14
|
+
super(...args);
|
15
|
+
|
16
|
+
_defineProperty(this, "name", 'my-test-plugin');
|
17
|
+
}
|
18
|
+
|
19
|
+
} // Options
|
20
|
+
|
21
|
+
|
22
|
+
expectTypeOf(options.forTable(x, SimplePlugin)).toEqualTypeOf();
|
23
|
+
expectTypeOf(options.forColumn(y, SimplePlugin)).toEqualTypeOf(); // Meta
|
24
|
+
|
25
|
+
expectTypeOf(meta.forTable(x, SimplePlugin)).toEqualTypeOf();
|
26
|
+
expectTypeOf(meta.forColumn(y, SimplePlugin)).toEqualTypeOf(); // Preferences
|
27
|
+
|
28
|
+
expectTypeOf(preferences.forTable(x, SimplePlugin)).toEqualTypeOf();
|
29
|
+
expectTypeOf(preferences.forColumn(y, SimplePlugin)).toEqualTypeOf(); //////////////////////////////////////////////
|
30
|
+
// Options
|
31
|
+
expectTypeOf(options.forTable(x, Sorting)).toEqualTypeOf();
|
32
|
+
expectTypeOf(options.forColumn(y, Sorting)).toEqualTypeOf(); // Meta
|
33
|
+
|
34
|
+
expectTypeOf(meta.forTable(x, Sorting)).toEqualTypeOf();
|
35
|
+
expectTypeOf(meta.forColumn(y, Sorting)).toEqualTypeOf();
|
36
|
+
//# sourceMappingURL=plugins-accessors.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugins-accessors.test.js","sources":["../../../src/-private/-type-tests/plugins-accessors.test.ts"],"sourcesContent":["import { BasePlugin, meta, options, preferences } from 'ember-headless-table/plugins';\nimport { expectTypeOf } from 'expect-type';\n\nimport type { Column, Table } from '[public-types]';\n\n// This value is irrelevant for the tests it's used in\nconst x = 0 as unknown as Table<unknown>;\nconst y = 0 as unknown as Column<unknown>;\n\n//////////////////////////////////////////////\n// A SimplePlugin\n//////////////////////////////////////////////\nclass ATableMeta {\n isEnabled = true;\n}\nclass AColumnMeta {\n isPinned = 1;\n}\nclass ARowMeta {\n isARow = true;\n}\ninterface AOptions {\n enabled?: boolean;\n}\ninterface AColumnOptions {\n isPinned?: boolean;\n}\n\ninterface SignatureA {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nclass SimplePlugin<Signature = SignatureA> extends BasePlugin<Signature> {\n name = 'my-test-plugin';\n}\n\n// Options\nexpectTypeOf(options.forTable(x, SimplePlugin)).toEqualTypeOf<AOptions>();\nexpectTypeOf(options.forColumn(y, SimplePlugin)).toEqualTypeOf<AColumnOptions>();\n\n// Meta\nexpectTypeOf(meta.forTable(x, SimplePlugin)).toEqualTypeOf<ATableMeta>();\nexpectTypeOf(meta.forColumn(y, SimplePlugin)).toEqualTypeOf<AColumnMeta>();\n\n// Preferences\ninterface MapLite {\n get(key: string): unknown;\n set(key: string, value: unknown): void | undefined;\n delete(key: string): void | undefined;\n}\nexpectTypeOf(preferences.forTable(x, SimplePlugin)).toEqualTypeOf<MapLite>();\nexpectTypeOf(preferences.forColumn(y, SimplePlugin)).toEqualTypeOf<MapLite>();\n\n//////////////////////////////////////////////\n// A Real plugin\n//////////////////////////////////////////////\n\nimport { DataSorting } from '../../plugins/data-sorting';\n\nimport type { Signature as DataSortingSignature } from '../../plugins/data-sorting';\n\n// Options\nexpectTypeOf(options.forTable(x, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Options']['Plugin']\n>();\nexpectTypeOf(options.forColumn(y, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Options']['Column']\n>();\n\n// Meta\nexpectTypeOf(meta.forTable(x, DataSorting)).toEqualTypeOf<DataSortingSignature['Meta']['Table']>();\nexpectTypeOf(meta.forColumn(y, DataSorting)).toEqualTypeOf<\n DataSortingSignature['Meta']['Column']\n>();\n"],"names":["x","y","SimplePlugin","BasePlugin","expectTypeOf","options","forTable","toEqualTypeOf","forColumn","meta","preferences","DataSorting"],"mappings":";;;;;;;AAKA;AACA,MAAMA,CAAC,GAAG,CAAV,CAAA;AACA,MAAMC,CAAC,GAAG,CAAV;;AAiCA,MAAMC,YAAN,SAAmDC,UAAnD,CAAyE;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA;;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAChE,gBADgE,CAAA,CAAA;AAAA,GAAA;;AAAA;;;AAKzEC,YAAY,CAACC,OAAO,CAACC,QAAR,CAAiBN,CAAjB,EAAoBE,YAApB,CAAD,CAAZ,CAAgDK,aAAhD,EAAA,CAAA;AACAH,YAAY,CAACC,OAAO,CAACG,SAAR,CAAkBP,CAAlB,EAAqBC,YAArB,CAAD,CAAZ,CAAiDK,aAAjD;;AAGAH,YAAY,CAACK,IAAI,CAACH,QAAL,CAAcN,CAAd,EAAiBE,YAAjB,CAAD,CAAZ,CAA6CK,aAA7C,EAAA,CAAA;AACAH,YAAY,CAACK,IAAI,CAACD,SAAL,CAAeP,CAAf,EAAkBC,YAAlB,CAAD,CAAZ,CAA8CK,aAA9C;;AAQAH,YAAY,CAACM,WAAW,CAACJ,QAAZ,CAAqBN,CAArB,EAAwBE,YAAxB,CAAD,CAAZ,CAAoDK,aAApD,EAAA,CAAA;AACAH,YAAY,CAACM,WAAW,CAACF,SAAZ,CAAsBP,CAAtB,EAAyBC,YAAzB,CAAD,CAAZ,CAAqDK,aAArD;AAUA;AACAH,YAAY,CAACC,OAAO,CAACC,QAAR,CAAiBN,CAAjB,EAAoBW,OAApB,CAAD,CAAZ,CAA+CJ,aAA/C,EAAA,CAAA;AAGAH,YAAY,CAACC,OAAO,CAACG,SAAR,CAAkBP,CAAlB,EAAqBU,OAArB,CAAD,CAAZ,CAAgDJ,aAAhD;;AAKAH,YAAY,CAACK,IAAI,CAACH,QAAL,CAAcN,CAAd,EAAiBW,OAAjB,CAAD,CAAZ,CAA4CJ,aAA5C,EAAA,CAAA;AACAH,YAAY,CAACK,IAAI,CAACD,SAAL,CAAeP,CAAf,EAAkBU,OAAlB,CAAD,CAAZ,CAA6CJ,aAA7C,EAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,14 @@
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
2
|
+
import '../../plugins/-private/base.js';
|
3
|
+
import '@ember/debug';
|
4
|
+
|
5
|
+
expectTypeOf().toEqualTypeOf(); // Tests that we can pluck the generic off of BasePlugin
|
6
|
+
|
7
|
+
expectTypeOf().toEqualTypeOf(); // Tests that we can get the generic type off of a sub-type of BasePlugin
|
8
|
+
|
9
|
+
expectTypeOf().toEqualTypeOf(); // Tests that we can get the generic off of a sub-type passed to BasePlugin
|
10
|
+
|
11
|
+
expectTypeOf().toEqualTypeOf(); ///////////////////////////////////////////
|
12
|
+
|
13
|
+
expectTypeOf().toEqualTypeOf();
|
14
|
+
//# sourceMappingURL=plugins-signature-from.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugins-signature-from.test.js","sources":["../../../src/-private/-type-tests/plugins-signature-from.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins';\n\nimport type { SignatureFrom } from '../../plugins/-private/base';\n\nclass ATableMeta {\n a = 1;\n}\nclass AColumnMeta {\n ac = 1;\n}\nclass ARowMeta {\n ar = 1;\n}\nclass AOptions {\n ao = 1;\n}\nclass AColumnOptions {\n aco = 1;\n}\n\ninterface SignatureA {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nclass PluginA<Signature = SignatureA> extends BasePlugin<Signature> {\n name = 'my-test-plugin';\n}\n\n// Test the tests\nexpectTypeOf<SignatureA>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can pluck the generic off of BasePlugin\nexpectTypeOf<SignatureFrom<BasePlugin<SignatureA>>>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can get the generic type off of a sub-type of BasePlugin\nexpectTypeOf<SignatureFrom<PluginA>>().toEqualTypeOf<SignatureA>();\n\n// Tests that we can get the generic off of a sub-type passed to BasePlugin\nclass PluginC extends BasePlugin<SignatureA> {\n name = 'plugin-c';\n}\nexpectTypeOf<SignatureFrom<PluginC>>().toEqualTypeOf<SignatureA>();\n\n///////////////////////////////////////////\n\nclass PluginB extends BasePlugin<{ Meta: { Table: ATableMeta } }> {\n name = 'plugin-b';\n}\n\nexpectTypeOf<SignatureFrom<PluginB>>().toEqualTypeOf<{\n Meta: {\n Table: ATableMeta;\n };\n}>();\n"],"names":["expectTypeOf","toEqualTypeOf"],"mappings":";;;;AAuCAA,YAAY,EAAA,CAAeC,aAA3B,EAAA;;AAGAD,YAAY,EAAA,CAA0CC,aAAtD,EAAA;;AAGAD,YAAY,EAAA,CAA2BC,aAAvC,EAAA;;AAMAD,YAAY,EAAA,CAA2BC,aAAvC,EAAA;;AAQAD,YAAY,GAA2BC,aAAvC,EAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,36 @@
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
2
|
+
|
3
|
+
expectTypeOf().toEqualTypeOf();
|
4
|
+
expectTypeOf().toEqualTypeOf();
|
5
|
+
expectTypeOf().toEqualTypeOf();
|
6
|
+
expectTypeOf().toEqualTypeOf();
|
7
|
+
expectTypeOf().toEqualTypeOf();
|
8
|
+
expectTypeOf().toEqualTypeOf();
|
9
|
+
expectTypeOf().toEqualTypeOf();
|
10
|
+
expectTypeOf().toEqualTypeOf();
|
11
|
+
expectTypeOf().toEqualTypeOf();
|
12
|
+
expectTypeOf().toEqualTypeOf();
|
13
|
+
expectTypeOf().toEqualTypeOf();
|
14
|
+
expectTypeOf().toEqualTypeOf();
|
15
|
+
expectTypeOf().toEqualTypeOf();
|
16
|
+
expectTypeOf().toEqualTypeOf();
|
17
|
+
expectTypeOf().toEqualTypeOf();
|
18
|
+
expectTypeOf().toEqualTypeOf();
|
19
|
+
expectTypeOf().toEqualTypeOf();
|
20
|
+
expectTypeOf().toEqualTypeOf();
|
21
|
+
expectTypeOf().toEqualTypeOf();
|
22
|
+
expectTypeOf().toEqualTypeOf();
|
23
|
+
expectTypeOf().toEqualTypeOf();
|
24
|
+
expectTypeOf().toEqualTypeOf();
|
25
|
+
expectTypeOf().toEqualTypeOf();
|
26
|
+
expectTypeOf().toEqualTypeOf();
|
27
|
+
expectTypeOf().toEqualTypeOf();
|
28
|
+
expectTypeOf().toEqualTypeOf();
|
29
|
+
expectTypeOf().toEqualTypeOf();
|
30
|
+
expectTypeOf().toEqualTypeOf();
|
31
|
+
expectTypeOf().toEqualTypeOf();
|
32
|
+
expectTypeOf().toEqualTypeOf();
|
33
|
+
expectTypeOf().toEqualTypeOf();
|
34
|
+
expectTypeOf().toEqualTypeOf();
|
35
|
+
expectTypeOf().toEqualTypeOf();
|
36
|
+
//# sourceMappingURL=plugins-signature-utils.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"plugins-signature-utils.test.js","sources":["../../../src/-private/-type-tests/plugins-signature-utils.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport type {\n ColumnMetaFor,\n ColumnOptionsFor,\n EmptyObject,\n OptionsFor,\n PluginSignature,\n RowMetaFor,\n TableMetaFor,\n} from '#interfaces/plugins';\n\nclass ATableMeta {\n a = 1;\n}\nclass AColumnMeta {\n ac = 1;\n}\nclass ARowMeta {\n ar = 1;\n}\ninterface AOptions {\n ao: number;\n}\ninterface AColumnOptions {\n aco: number;\n}\n\ninterface FullExtendedSignature extends PluginSignature {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<FullExtendedSignature>>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<FullExtendedSignature>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<FullExtendedSignature>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<ColumnMetaFor<FullExtendedSignature>>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<FullExtendedSignature>>().toEqualTypeOf<ARowMeta>();\n\ninterface FullFreeformSignature {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<FullFreeformSignature>>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<FullFreeformSignature>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<FullFreeformSignature>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<ColumnMetaFor<FullFreeformSignature>>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<FullFreeformSignature>>().toEqualTypeOf<ARowMeta>();\n\ninterface WithoutOptions {\n Meta: {\n Table: ATableMeta;\n Column: AColumnMeta;\n Row: ARowMeta;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<WithoutOptions>>().toEqualTypeOf<EmptyObject>();\nexpectTypeOf<OptionsFor<WithoutOptions>>().toEqualTypeOf<EmptyObject>();\nexpectTypeOf<TableMetaFor<WithoutOptions>>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<ColumnMetaFor<WithoutOptions>>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<RowMetaFor<WithoutOptions>>().toEqualTypeOf<ARowMeta>();\n\ninterface WithoutMeta {\n Options: {\n Plugin: AOptions;\n Column: AColumnOptions;\n };\n}\n\nexpectTypeOf<ColumnOptionsFor<WithoutMeta>>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<OptionsFor<WithoutMeta>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<TableMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\nexpectTypeOf<ColumnMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\nexpectTypeOf<RowMetaFor<WithoutMeta>>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n ColumnOptionsFor<{ Options: { Column: AColumnOptions } }>\n>().toEqualTypeOf<AColumnOptions>();\nexpectTypeOf<ColumnOptionsFor<{ Options: { Plugin: AOptions } }>>().toEqualTypeOf<EmptyObject>();\n\nexpectTypeOf<OptionsFor<{ Options: { Plugin: AOptions } }>>().toEqualTypeOf<AOptions>();\nexpectTypeOf<OptionsFor<{ Options: { Column: AColumnOptions } }>>().toEqualTypeOf<EmptyObject>();\n\nexpectTypeOf<\n TableMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<ATableMeta>();\nexpectTypeOf<TableMetaFor<{ Meta: { Column: AColumnMeta } }>>().toEqualTypeOf<never>();\nexpectTypeOf<TableMetaFor<{ Meta: { Row: ARowMeta } }>>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n ColumnMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<ColumnMetaFor<{ Meta: { Column: AColumnMeta } }>>().toEqualTypeOf<AColumnMeta>();\nexpectTypeOf<ColumnMetaFor<{ Meta: { Row: ARowMeta } }>>().toEqualTypeOf<never>();\n\nexpectTypeOf<\n RowMetaFor<{\n Meta: {\n Table: ATableMeta;\n };\n }>\n>().toEqualTypeOf<never>();\nexpectTypeOf<RowMetaFor<{ Meta: { Column: AColumnMeta } }>>().toEqualTypeOf<never>();\nexpectTypeOf<RowMetaFor<{ Meta: { Row: ARowMeta } }>>().toEqualTypeOf<ARowMeta>();\n"],"names":["expectTypeOf","toEqualTypeOf"],"mappings":";;AAwCAA,YAAY,GAA4CC,aAAxD,EAAA,CAAA;AACAD,YAAY,GAAsCC,aAAlD,EAAA,CAAA;AACAD,YAAY,GAAwCC,aAApD,EAAA,CAAA;AACAD,YAAY,GAAyCC,aAArD,EAAA,CAAA;AACAD,YAAY,GAAsCC,aAAlD,EAAA,CAAA;AAcAD,YAAY,GAA4CC,aAAxD,EAAA,CAAA;AACAD,YAAY,GAAsCC,aAAlD,EAAA,CAAA;AACAD,YAAY,GAAwCC,aAApD,EAAA,CAAA;AACAD,YAAY,GAAyCC,aAArD,EAAA,CAAA;AACAD,YAAY,GAAsCC,aAAlD,EAAA,CAAA;AAUAD,YAAY,GAAqCC,aAAjD,EAAA,CAAA;AACAD,YAAY,GAA+BC,aAA3C,EAAA,CAAA;AACAD,YAAY,GAAiCC,aAA7C,EAAA,CAAA;AACAD,YAAY,GAAkCC,aAA9C,EAAA,CAAA;AACAD,YAAY,GAA+BC,aAA3C,EAAA,CAAA;AASAD,YAAY,GAAkCC,aAA9C,EAAA,CAAA;AACAD,YAAY,GAA4BC,aAAxC,EAAA,CAAA;AACAD,YAAY,GAA8BC,aAA1C,EAAA,CAAA;AACAD,YAAY,GAA+BC,aAA3C,EAAA,CAAA;AACAD,YAAY,GAA4BC,aAAxC,EAAA,CAAA;AAEAD,YAAY,GAERC,aAFJ,EAAA,CAAA;AAGAD,YAAY,GAAwDC,aAApE,EAAA,CAAA;AAEAD,YAAY,GAAkDC,aAA9D,EAAA,CAAA;AACAD,YAAY,GAAwDC,aAApE,EAAA,CAAA;AAEAD,YAAY,GAMRC,aANJ,EAAA,CAAA;AAOAD,YAAY,GAAoDC,aAAhE,EAAA,CAAA;AACAD,YAAY,GAA8CC,aAA1D,EAAA,CAAA;AAEAD,YAAY,GAMRC,aANJ,EAAA,CAAA;AAOAD,YAAY,GAAqDC,aAAjE,EAAA,CAAA;AACAD,YAAY,GAA+CC,aAA3D,EAAA,CAAA;AAEAD,YAAY,GAMRC,aANJ,EAAA,CAAA;AAOAD,YAAY,GAAkDC,aAA9D,EAAA,CAAA;AACAD,YAAY,GAA4CC,aAAxD,EAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { expectTypeOf } from 'expect-type';
|
2
|
+
import '../../plugins/-private/base.js';
|
3
|
+
import { ColumnReordering } from '../../plugins/column-reordering/plugin.js';
|
4
|
+
import '../../plugins/column-resizing/handle.js';
|
5
|
+
import { ColumnResizing } from '../../plugins/column-resizing/plugin.js';
|
6
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
7
|
+
import '../../plugins/data-sorting/types.js';
|
8
|
+
|
9
|
+
// We're testing types, not behaviors
|
10
|
+
const x = 0; //////////////////////////////
|
11
|
+
// <Table>#pluginOf
|
12
|
+
|
13
|
+
expectTypeOf(x.pluginOf(Sorting)).toEqualTypeOf();
|
14
|
+
expectTypeOf(x.pluginOf(ColumnReordering)).toEqualTypeOf();
|
15
|
+
expectTypeOf(x.pluginOf(ColumnResizing)).toEqualTypeOf();
|
16
|
+
//# sourceMappingURL=table-api.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-api.test.js","sources":["../../../src/-private/-type-tests/table-api.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { ColumnReordering } from '../../plugins/column-reordering';\nimport { ColumnResizing } from '../../plugins/column-resizing';\nimport { DataSorting } from '../../plugins/data-sorting';\n\nimport type { Table } from '[public-types]';\n\n// We're testing types, not behaviors\nconst x = 0 as unknown as Table<{ x: number }>;\n\n//////////////////////////////\n// <Table>#pluginOf\nexpectTypeOf(x.pluginOf(DataSorting)).toEqualTypeOf<DataSorting | undefined>();\nexpectTypeOf(x.pluginOf(ColumnReordering)).toEqualTypeOf<ColumnReordering | undefined>();\nexpectTypeOf(x.pluginOf(ColumnResizing)).toEqualTypeOf<ColumnResizing | undefined>();\n"],"names":["x","expectTypeOf","pluginOf","DataSorting","toEqualTypeOf","ColumnReordering","ColumnResizing"],"mappings":";;;;;;;;AAQA;AACA,MAAMA,CAAC,GAAG,CAAV;AAGA;;AACAC,YAAY,CAACD,CAAC,CAACE,QAAF,CAAWC,OAAX,CAAD,CAAZ,CAAsCC,aAAtC,EAAA,CAAA;AACAH,YAAY,CAACD,CAAC,CAACE,QAAF,CAAWG,gBAAX,CAAD,CAAZ,CAA2CD,aAA3C,EAAA,CAAA;AACAH,YAAY,CAACD,CAAC,CAACE,QAAF,CAAWI,cAAX,CAAD,CAAZ,CAAyCF,aAAzC,EAAA"}
|
@@ -0,0 +1 @@
|
|
1
|
+
export {};
|
@@ -0,0 +1,58 @@
|
|
1
|
+
import { _ as _defineProperty } from '../../defineProperty-a0196711.js';
|
2
|
+
import { expectTypeOf } from 'expect-type';
|
3
|
+
import { BasePlugin } from '../../plugins/-private/base.js';
|
4
|
+
import { ColumnReordering } from '../../plugins/column-reordering/plugin.js';
|
5
|
+
import '../../plugins/column-resizing/handle.js';
|
6
|
+
import { ColumnResizing } from '../../plugins/column-resizing/plugin.js';
|
7
|
+
import { ColumnVisibility } from '../../plugins/column-visibility/plugin.js';
|
8
|
+
import { Sorting } from '../../plugins/data-sorting/plugin.js';
|
9
|
+
import '../../plugins/data-sorting/types.js';
|
10
|
+
import { StickyColumns } from '../../plugins/sticky-columns/plugin.js';
|
11
|
+
|
12
|
+
/////////////////////////////////////////////
|
13
|
+
// Sanity checks
|
14
|
+
expectTypeOf().toMatchTypeOf();
|
15
|
+
expectTypeOf().toMatchTypeOf();
|
16
|
+
expectTypeOf().toMatchTypeOf();
|
17
|
+
expectTypeOf().toMatchTypeOf();
|
18
|
+
expectTypeOf().toMatchTypeOf();
|
19
|
+
expectTypeOf().toMatchTypeOf();
|
20
|
+
expectTypeOf().toMatchTypeOf();
|
21
|
+
|
22
|
+
class LocalPlugin extends BasePlugin {
|
23
|
+
constructor(...args) {
|
24
|
+
super(...args);
|
25
|
+
|
26
|
+
_defineProperty(this, "name", 'local-plugin');
|
27
|
+
}
|
28
|
+
|
29
|
+
}
|
30
|
+
|
31
|
+
expectTypeOf([LocalPlugin]).toMatchTypeOf(); /////////////////////////////////////////////
|
32
|
+
// Making sure all plugins are subclassed appropriately
|
33
|
+
|
34
|
+
expectTypeOf(LocalPlugin).toMatchTypeOf();
|
35
|
+
expectTypeOf(ColumnReordering).toMatchTypeOf();
|
36
|
+
expectTypeOf(LocalPlugin).toMatchTypeOf();
|
37
|
+
expectTypeOf(ColumnReordering).toMatchTypeOf(); // Actual plugins match the actual table config
|
38
|
+
|
39
|
+
expectTypeOf([Sorting]).toMatchTypeOf();
|
40
|
+
expectTypeOf([ColumnReordering]).toMatchTypeOf();
|
41
|
+
expectTypeOf([ColumnResizing]).toMatchTypeOf();
|
42
|
+
expectTypeOf([ColumnVisibility]).toMatchTypeOf();
|
43
|
+
expectTypeOf([StickyColumns]).toMatchTypeOf(); /////////////////////////////////////////////
|
44
|
+
// The various ways to define plugins
|
45
|
+
|
46
|
+
expectTypeOf([Sorting, ColumnReordering]).toMatchTypeOf();
|
47
|
+
|
48
|
+
const onSort = _sorts => {
|
49
|
+
/* intentionally empty */
|
50
|
+
};
|
51
|
+
|
52
|
+
const sorts = [];
|
53
|
+
expectTypeOf([Sorting.with(() => ({}))]).toMatchTypeOf();
|
54
|
+
expectTypeOf([Sorting.with(() => ({
|
55
|
+
onSort,
|
56
|
+
sorts
|
57
|
+
}))]).toMatchTypeOf();
|
58
|
+
//# sourceMappingURL=table-config.test.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"table-config.test.js","sources":["../../../src/-private/-type-tests/table-config.test.ts"],"sourcesContent":["import { expectTypeOf } from 'expect-type';\n\nimport { BasePlugin } from '../../plugins/-private/base';\nimport { ColumnReordering } from '../../plugins/column-reordering';\nimport { ColumnResizing } from '../../plugins/column-resizing';\nimport { ColumnVisibility } from '../../plugins/column-visibility';\nimport { DataSorting } from '../../plugins/data-sorting';\nimport { StickyColumns } from '../../plugins/sticky-columns';\n\nimport type { Plugins } from '../../plugins/-private/utils';\nimport type { SortItem } from '../../plugins/data-sorting';\nimport type { Plugin } from '[public-plugin-types]';\nimport type { TableConfig } from '[public-types]';\nimport type { Constructor } from '#private-types';\n\ntype TablePluginConfig = NonNullable<TableConfig<unknown>['plugins']>;\n\n/////////////////////////////////////////////\n// Sanity checks\nexpectTypeOf<Plugins>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<Constructor<Plugin>[]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<[Constructor<Plugin>]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<[Constructor<Plugin>, Constructor<Plugin>]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<Constructor<BasePlugin>[]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<[Constructor<BasePlugin>]>().toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf<\n [Constructor<BasePlugin>, Constructor<BasePlugin>]\n>().toMatchTypeOf<TablePluginConfig>();\n\nclass SomeClass {\n foo = 'bar';\n}\nclass LocalPlugin extends BasePlugin<{ Meta: { Table: SomeClass } }> {\n name = 'local-plugin';\n}\n\nexpectTypeOf([LocalPlugin]).toMatchTypeOf<TablePluginConfig>();\n\n/////////////////////////////////////////////\n// Making sure all plugins are subclassed appropriately\nexpectTypeOf(LocalPlugin).toMatchTypeOf<Constructor<BasePlugin<any>>>();\nexpectTypeOf(ColumnReordering).toMatchTypeOf<Constructor<BasePlugin<any>>>();\nexpectTypeOf(LocalPlugin).toMatchTypeOf<Constructor<Plugin<any>>>();\nexpectTypeOf(ColumnReordering).toMatchTypeOf<Constructor<Plugin<any>>>();\n\n// Actual plugins match the actual table config\nexpectTypeOf([DataSorting]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnReordering]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnResizing]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([ColumnVisibility]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([StickyColumns]).toMatchTypeOf<TablePluginConfig>();\n\n/////////////////////////////////////////////\n// The various ways to define plugins\nexpectTypeOf([DataSorting, ColumnReordering]).toMatchTypeOf<TablePluginConfig>();\n\nconst onSort = (_sorts: SortItem<number>[]) => {\n /* intentionally empty */\n};\nconst sorts: SortItem<number>[] = [];\n\nexpectTypeOf([DataSorting.with(() => ({}))]).toMatchTypeOf<TablePluginConfig>();\nexpectTypeOf([DataSorting.with(() => ({ onSort, sorts }))]).toMatchTypeOf<TablePluginConfig>();\n"],"names":["expectTypeOf","toMatchTypeOf","LocalPlugin","BasePlugin","ColumnReordering","DataSorting","ColumnResizing","ColumnVisibility","StickyColumns","onSort","_sorts","sorts","with"],"mappings":";;;;;;;;;;;AAiBA;AACA;AACAA,YAAY,GAAYC,aAAxB,EAAA,CAAA;AACAD,YAAY,GAA0BC,aAAtC,EAAA,CAAA;AACAD,YAAY,GAA0BC,aAAtC,EAAA,CAAA;AACAD,YAAY,GAA+CC,aAA3D,EAAA,CAAA;AACAD,YAAY,GAA8BC,aAA1C,EAAA,CAAA;AACAD,YAAY,GAA8BC,aAA1C,EAAA,CAAA;AACAD,YAAY,GAERC,aAFJ,EAAA,CAAA;;AAOA,MAAMC,WAAN,SAA0BC,UAA1B,CAAqE;AAAA,EAAA,WAAA,CAAA,GAAA,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAA,IAAA,CAAA,CAAA;;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,MAAA,EAC5D,cAD4D,CAAA,CAAA;AAAA,GAAA;;AAAA,CAAA;;AAIrEH,YAAY,CAAC,CAACE,WAAD,CAAD,CAAZ,CAA4BD,aAA5B;AAGA;;AACAD,YAAY,CAACE,WAAD,CAAZ,CAA0BD,aAA1B,EAAA,CAAA;AACAD,YAAY,CAACI,gBAAD,CAAZ,CAA+BH,aAA/B,EAAA,CAAA;AACAD,YAAY,CAACE,WAAD,CAAZ,CAA0BD,aAA1B,EAAA,CAAA;AACAD,YAAY,CAACI,gBAAD,CAAZ,CAA+BH,aAA/B;;AAGAD,YAAY,CAAC,CAACK,OAAD,CAAD,CAAZ,CAA4BJ,aAA5B,EAAA,CAAA;AACAD,YAAY,CAAC,CAACI,gBAAD,CAAD,CAAZ,CAAiCH,aAAjC,EAAA,CAAA;AACAD,YAAY,CAAC,CAACM,cAAD,CAAD,CAAZ,CAA+BL,aAA/B,EAAA,CAAA;AACAD,YAAY,CAAC,CAACO,gBAAD,CAAD,CAAZ,CAAiCN,aAAjC,EAAA,CAAA;AACAD,YAAY,CAAC,CAACQ,aAAD,CAAD,CAAZ,CAA8BP,aAA9B;AAGA;;AACAD,YAAY,CAAC,CAACK,OAAD,EAAcD,gBAAd,CAAD,CAAZ,CAA8CH,aAA9C,EAAA,CAAA;;AAEA,MAAMQ,MAAM,GAAIC,MAAD,IAAgC;AAC7C;AACD,CAFD,CAAA;;AAGA,MAAMC,KAAyB,GAAG,EAAlC,CAAA;AAEAX,YAAY,CAAC,CAACK,OAAW,CAACO,IAAZ,CAAiB,OAAO,EAAP,CAAjB,CAAD,CAAD,CAAZ,CAA6CX,aAA7C,EAAA,CAAA;AACAD,YAAY,CAAC,CAACK,OAAW,CAACO,IAAZ,CAAiB,OAAO;EAAEH,MAAF;AAAUE,EAAAA,KAAAA;AAAV,CAAP,CAAjB,CAAD,CAAD,CAAZ,CAA4DV,aAA5D,EAAA"}
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import { Row } from "./row";
|
2
|
+
import { Table } from "../table-8e46554b";
|
3
|
+
import { ContentValue } from '@glint/template';
|
4
|
+
import { ColumnConfig } from "./interfaces/index";
|
5
|
+
declare class Column<T = unknown> {
|
6
|
+
table: Table<T>;
|
7
|
+
config: ColumnConfig<T>;
|
8
|
+
get Cell(): import("@glint/template").ComponentLike<unknown> | undefined;
|
9
|
+
get key(): string;
|
10
|
+
get name(): string | undefined;
|
11
|
+
constructor(table: Table<T>, config: ColumnConfig<T>);
|
12
|
+
getValueForRow(row: Row<T>): ContentValue;
|
13
|
+
private getDefaultValue;
|
14
|
+
getOptionsForRow(row: Row<T>): {
|
15
|
+
defaultValue: string;
|
16
|
+
};
|
17
|
+
}
|
18
|
+
export { Column };
|
@@ -0,0 +1,70 @@
|
|
1
|
+
import { _ as _applyDecoratedDescriptor } from '../applyDecoratedDescriptor-e0489e2f.js';
|
2
|
+
import { action, get } from '@ember/object';
|
3
|
+
import { isEmpty } from '@ember/utils';
|
4
|
+
|
5
|
+
var _class;
|
6
|
+
const DEFAULT_VALUE = '--';
|
7
|
+
const DEFAULT_VALUE_KEY = 'defaultValue';
|
8
|
+
const DEFAULT_OPTIONS = {
|
9
|
+
[DEFAULT_VALUE_KEY]: DEFAULT_VALUE
|
10
|
+
};
|
11
|
+
let Column = (_class = class Column {
|
12
|
+
get Cell() {
|
13
|
+
return this.config.Cell;
|
14
|
+
}
|
15
|
+
|
16
|
+
get key() {
|
17
|
+
return this.config.key;
|
18
|
+
}
|
19
|
+
|
20
|
+
get name() {
|
21
|
+
return this.config.name;
|
22
|
+
}
|
23
|
+
|
24
|
+
constructor(table, config) {
|
25
|
+
this.table = table;
|
26
|
+
this.config = config;
|
27
|
+
}
|
28
|
+
|
29
|
+
getValueForRow(row) {
|
30
|
+
if (this.config.value) {
|
31
|
+
return this.config.value({
|
32
|
+
column: this,
|
33
|
+
row
|
34
|
+
});
|
35
|
+
} // Cast here, because ember get's types do not support nested keys
|
36
|
+
// even though the real implementation does
|
37
|
+
|
38
|
+
|
39
|
+
let value = get(row.data, this.config.key);
|
40
|
+
|
41
|
+
if (isEmpty(value)) {
|
42
|
+
return this.getDefaultValue(row);
|
43
|
+
}
|
44
|
+
/**
|
45
|
+
* UNSAFE: casting to ContentValue is incorrect, because we have not
|
46
|
+
* properly constrained the type of value, (isEmpty doesn't narrow types either)
|
47
|
+
*/
|
48
|
+
|
49
|
+
|
50
|
+
return value;
|
51
|
+
}
|
52
|
+
|
53
|
+
getDefaultValue(row) {
|
54
|
+
return this.getOptionsForRow(row)[DEFAULT_VALUE_KEY];
|
55
|
+
}
|
56
|
+
|
57
|
+
getOptionsForRow(row) {
|
58
|
+
let defaults = DEFAULT_OPTIONS;
|
59
|
+
return { ...defaults,
|
60
|
+
...this.config.options?.({
|
61
|
+
column: this,
|
62
|
+
row
|
63
|
+
})
|
64
|
+
};
|
65
|
+
}
|
66
|
+
|
67
|
+
}, (_applyDecoratedDescriptor(_class.prototype, "getValueForRow", [action], Object.getOwnPropertyDescriptor(_class.prototype, "getValueForRow"), _class.prototype), _applyDecoratedDescriptor(_class.prototype, "getOptionsForRow", [action], Object.getOwnPropertyDescriptor(_class.prototype, "getOptionsForRow"), _class.prototype)), _class);
|
68
|
+
|
69
|
+
export { Column };
|
70
|
+
//# sourceMappingURL=column.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"column.js","sources":["../../src/-private/column.ts"],"sourcesContent":["import { action, get } from '@ember/object';\nimport { isEmpty } from '@ember/utils';\n\nimport type { Row } from './row';\nimport type { Table } from './table';\nimport type { ContentValue } from '@glint/template';\nimport type { ColumnConfig } from '#interfaces';\n\nconst DEFAULT_VALUE = '--';\nconst DEFAULT_VALUE_KEY = 'defaultValue';\nconst DEFAULT_OPTIONS = {\n [DEFAULT_VALUE_KEY]: DEFAULT_VALUE,\n};\n\nexport class Column<T = unknown> {\n get Cell() {\n return this.config.Cell;\n }\n\n get key() {\n return this.config.key;\n }\n\n get name() {\n return this.config.name;\n }\n\n constructor(public table: Table<T>, public config: ColumnConfig<T>) {}\n\n @action\n getValueForRow(row: Row<T>): ContentValue {\n if (this.config.value) {\n return this.config.value({ column: this, row });\n }\n\n // Cast here, because ember get's types do not support nested keys\n // even though the real implementation does\n let value = get(row.data, this.config.key as keyof typeof row.data);\n\n if (isEmpty(value)) {\n return this.getDefaultValue(row);\n }\n\n /**\n * UNSAFE: casting to ContentValue is incorrect, because we have not\n * properly constrained the type of value, (isEmpty doesn't narrow types either)\n */\n return value as ContentValue;\n }\n\n private getDefaultValue(row: Row<T>) {\n return this.getOptionsForRow(row)[DEFAULT_VALUE_KEY];\n }\n\n @action\n getOptionsForRow(row: Row<T>) {\n let defaults = DEFAULT_OPTIONS;\n\n return {\n ...defaults,\n ...this.config.options?.({ column: this, row }),\n };\n }\n}\n"],"names":["DEFAULT_VALUE","DEFAULT_VALUE_KEY","DEFAULT_OPTIONS","Column","Cell","config","key","name","constructor","table","getValueForRow","row","value","column","get","data","isEmpty","getDefaultValue","getOptionsForRow","defaults","options","action"],"mappings":";;;;;AAQA,MAAMA,aAAa,GAAG,IAAtB,CAAA;AACA,MAAMC,iBAAiB,GAAG,cAA1B,CAAA;AACA,MAAMC,eAAe,GAAG;AACtB,EAAA,CAACD,iBAAD,GAAqBD,aAAAA;AADC,CAAxB,CAAA;AAIA,IAAaG,MAAb,IAAA,MAAA,GAAO,MAAMA,MAAN,CAA0B;AACvB,EAAA,IAAJC,IAAI,GAAG;IACT,OAAO,IAAA,CAAKC,MAAL,CAAYD,IAAnB,CAAA;AACD,GAAA;;AAEM,EAAA,IAAHE,GAAG,GAAG;IACR,OAAO,IAAA,CAAKD,MAAL,CAAYC,GAAnB,CAAA;AACD,GAAA;;AAEO,EAAA,IAAJC,IAAI,GAAG;IACT,OAAO,IAAA,CAAKF,MAAL,CAAYE,IAAnB,CAAA;AACD,GAAA;;AAEDC,EAAAA,WAAW,CAAQC,KAAR,EAAgCJ,MAAhC,EAAyD;IAAA,IAAjDI,CAAAA,KAAiD,GAAjDA,KAAiD,CAAA;IAAA,IAAzBJ,CAAAA,MAAyB,GAAzBA,MAAyB,CAAA;AAAE,GAAA;;EAGtEK,cAAc,CAACC,GAAD,EAA4B;AACxC,IAAA,IAAI,IAAKN,CAAAA,MAAL,CAAYO,KAAhB,EAAuB;AACrB,MAAA,OAAO,IAAKP,CAAAA,MAAL,CAAYO,KAAZ,CAAkB;AAAEC,QAAAA,MAAM,EAAE,IAAV;AAAgBF,QAAAA,GAAAA;AAAhB,OAAlB,CAAP,CAAA;AACD,KAHuC;AAMxC;;;AACA,IAAA,IAAIC,KAAK,GAAGE,GAAG,CAACH,GAAG,CAACI,IAAL,EAAW,IAAKV,CAAAA,MAAL,CAAYC,GAAvB,CAAf,CAAA;;AAEA,IAAA,IAAIU,OAAO,CAACJ,KAAD,CAAX,EAAoB;AAClB,MAAA,OAAO,IAAKK,CAAAA,eAAL,CAAqBN,GAArB,CAAP,CAAA;AACD,KAAA;AAED;AACJ;AACA;AACA;;;AACI,IAAA,OAAOC,KAAP,CAAA;AACD,GAAA;;EAEOK,eAAe,CAACN,GAAD,EAAc;AACnC,IAAA,OAAO,KAAKO,gBAAL,CAAsBP,GAAtB,CAAA,CAA2BV,iBAA3B,CAAP,CAAA;AACD,GAAA;;EAGDiB,gBAAgB,CAACP,GAAD,EAAc;IAC5B,IAAIQ,QAAQ,GAAGjB,eAAf,CAAA;IAEA,OAAO,EACL,GAAGiB,QADE;AAEL,MAAA,GAAG,IAAKd,CAAAA,MAAL,CAAYe,OAAZ,GAAsB;AAAEP,QAAAA,MAAM,EAAE,IAAV;AAAgBF,QAAAA,GAAAA;OAAtC,CAAA;KAFL,CAAA;AAID,GAAA;;AAhD8B,CAAjC,GAAA,yBAAA,CAAA,MAAA,CAAA,SAAA,EAAA,gBAAA,EAAA,CAeGU,MAfH,CAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,SAAA,EAAA,gBAAA,CAAA,EAAA,MAAA,CAAA,SAAA,CAAA,EAAA,yBAAA,CAAA,MAAA,CAAA,SAAA,EAAA,kBAAA,EAAA,CAwCGA,MAxCH,CAAA,EAAA,MAAA,CAAA,wBAAA,CAAA,MAAA,CAAA,SAAA,EAAA,kBAAA,CAAA,EAAA,MAAA,CAAA,SAAA,CAAA,GAAA,MAAA;;;;"}
|
@@ -0,0 +1,57 @@
|
|
1
|
+
import { BasePlugin, Plugin } from "../../plugins/index";
|
2
|
+
import { Column } from "../column";
|
3
|
+
import { Row } from "../row";
|
4
|
+
import { ColumnOptionsFor, SignatureFrom } from "./plugins";
|
5
|
+
import { Constructor } from "../private-types";
|
6
|
+
import { ComponentLike, ContentValue } from '@glint/template';
|
7
|
+
interface CellContext<T> {
|
8
|
+
column: Column<T>;
|
9
|
+
row: Row<T>;
|
10
|
+
}
|
11
|
+
type ColumnPluginOption<P = Plugin> = P extends BasePlugin ? [Constructor<P>, () => ColumnOptionsFor<SignatureFrom<P>>] : [P | Constructor<P>, () => unknown];
|
12
|
+
type CellOptions = Record<string, unknown>;
|
13
|
+
interface ColumnConfig<T = unknown> {
|
14
|
+
/**
|
15
|
+
* the `key` is required for preferences storage, as well as
|
16
|
+
* managing uniqueness of the columns in an easy-to-understand way.
|
17
|
+
*
|
18
|
+
* key may be anything if a `value` is provided, but _should_
|
19
|
+
* be a property-path on each data object passed to the table.
|
20
|
+
*
|
21
|
+
* @example `someObj.property.path`
|
22
|
+
* @example `someProperty`
|
23
|
+
*/
|
24
|
+
key: string;
|
25
|
+
/**
|
26
|
+
* Optionally provide a function to determine the value of a row at this column
|
27
|
+
*/
|
28
|
+
value?: (context: CellContext<T>) => ContentValue;
|
29
|
+
/**
|
30
|
+
* Recommended property to use for custom components for each cell per column.
|
31
|
+
* Out-of-the-box, this property isn't used, but the provided type may be
|
32
|
+
* a convenience for consumers of the headless table
|
33
|
+
*/
|
34
|
+
Cell?: ComponentLike;
|
35
|
+
/**
|
36
|
+
* The name or title of the column, shown in the column heading / th
|
37
|
+
*/
|
38
|
+
name?: string;
|
39
|
+
/**
|
40
|
+
* Bag of extra properties to pass to Cell via `@options`, if desired
|
41
|
+
*/
|
42
|
+
options?: (context: CellContext<T>) => CellOptions;
|
43
|
+
/**
|
44
|
+
* Each plugin may provide column options, and provides similar syntax to how
|
45
|
+
* options for the table are specified in the plugins entry,
|
46
|
+
*
|
47
|
+
* ```js
|
48
|
+
* pluginOptions: [
|
49
|
+
* ColumnVisibility.forColumn(() => ({ isVisible: false })),
|
50
|
+
* StickyColumns.forColumn(() => ({ sticky: 'right' })),
|
51
|
+
* ],
|
52
|
+
* ```
|
53
|
+
*/
|
54
|
+
pluginOptions?: ColumnPluginOption[];
|
55
|
+
}
|
56
|
+
type ColumnKey<T> = NonNullable<ColumnConfig<T>['key']>;
|
57
|
+
export { CellContext, CellOptions, ColumnConfig, ColumnKey };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"column.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"modifier.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
@@ -0,0 +1,17 @@
|
|
1
|
+
interface Pagination {
|
2
|
+
formatItemSummary?: (data: {
|
3
|
+
end: number;
|
4
|
+
start: number;
|
5
|
+
totalItems: number;
|
6
|
+
}) => string;
|
7
|
+
onChange: (value: {
|
8
|
+
page: number;
|
9
|
+
pageSize: number;
|
10
|
+
}) => Promise<void> | void;
|
11
|
+
page: number;
|
12
|
+
pageSize: number;
|
13
|
+
pageSizeLabel?: string;
|
14
|
+
pageSizes?: number[];
|
15
|
+
totalItems: number;
|
16
|
+
}
|
17
|
+
export { Pagination };
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|