@oscarpalmer/tabela 0.11.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/body.component-_VDOpJhV.d.mts +10 -0
- package/dist/body.model-2iwsovAV.d.mts +7 -0
- package/dist/column.component-Bx46r3JI.d.mts +16 -0
- package/dist/column.model-D-aw4EU4.d.mts +16 -0
- package/dist/components/body.component.d.mts +2 -0
- package/dist/components/{body.component.js → body.component.mjs} +6 -3
- package/dist/components/column.component.d.mts +2 -0
- package/dist/components/{column.component.js → column.component.mjs} +12 -9
- package/dist/components/footer.component.d.mts +2 -0
- package/dist/components/{footer.component.js → footer.component.mjs} +7 -4
- package/dist/components/group.component.d.mts +2 -0
- package/dist/components/group.component.mjs +51 -0
- package/dist/components/header.component.d.mts +2 -0
- package/dist/components/{header.component.js → header.component.mjs} +6 -3
- package/dist/components/row.component.d.mts +2 -0
- package/dist/components/{row.component.js → row.component.mjs} +11 -7
- package/dist/filter.model-7ukJrtil.d.mts +16 -0
- package/dist/footer.component-Curiab8j.d.mts +12 -0
- package/dist/footer.model-DhqoS6ds.d.mts +8 -0
- package/dist/group.component-Cq1YYbfJ.d.mts +285 -0
- package/dist/group.model-BsKFwHbt.d.mts +10 -0
- package/dist/header.component-BjjlpZIg.d.mts +12 -0
- package/dist/header.model-DN_KzUCV.d.mts +7 -0
- package/dist/helpers/dom.helpers.d.mts +12 -0
- package/dist/helpers/{dom.helpers.js → dom.helpers.mjs} +14 -10
- package/dist/helpers/misc.helpers.d.mts +6 -0
- package/dist/helpers/{misc.helpers.js → misc.helpers.mjs} +3 -1
- package/dist/helpers/style.helper.d.mts +6 -0
- package/dist/helpers/style.helper.mjs +8 -0
- package/dist/index.d.mts +7 -0
- package/dist/{index.js → index.mjs} +3 -1
- package/dist/managers/column.manager.d.mts +2 -0
- package/dist/managers/{column.manager.js → column.manager.mjs} +6 -1
- package/dist/managers/data.manager.d.mts +2 -0
- package/dist/managers/data.manager.mjs +222 -0
- package/dist/managers/event.manager.d.mts +2 -0
- package/dist/managers/{event.manager.js → event.manager.mjs} +12 -8
- package/dist/managers/filter.manager.d.mts +2 -0
- package/dist/managers/{filter.manager.js → filter.manager.mjs} +25 -11
- package/dist/managers/group.manager.d.mts +2 -0
- package/dist/managers/group.manager.mjs +73 -0
- package/dist/managers/navigation.manager.d.mts +2 -0
- package/dist/managers/{navigation.manager.js → navigation.manager.mjs} +27 -24
- package/dist/managers/render.manager.d.mts +2 -0
- package/dist/managers/render.manager.mjs +144 -0
- package/dist/managers/row.manager.d.mts +2 -0
- package/dist/managers/{row.manager.js → row.manager.mjs} +18 -11
- package/dist/managers/selection.manager.d.mts +2 -0
- package/dist/managers/{selection.manager.js → selection.manager.mjs} +57 -48
- package/dist/managers/sort.manager.d.mts +2 -0
- package/dist/managers/{sort.manager.js → sort.manager.mjs} +32 -2
- package/dist/managers/style.manager.d.mts +2 -0
- package/dist/managers/style.manager.mjs +149 -0
- package/dist/models/body.model.d.mts +2 -0
- package/dist/models/body.model.mjs +1 -0
- package/dist/models/column.model.d.mts +2 -0
- package/dist/models/column.model.mjs +1 -0
- package/dist/models/data.model.d.mts +2 -0
- package/dist/models/data.model.mjs +1 -0
- package/dist/models/filter.model.d.mts +2 -0
- package/dist/models/filter.model.mjs +1 -0
- package/dist/models/footer.model.d.mts +2 -0
- package/dist/models/footer.model.mjs +1 -0
- package/dist/models/group.model.d.mts +2 -0
- package/dist/models/group.model.mjs +1 -0
- package/dist/models/header.model.d.mts +2 -0
- package/dist/models/header.model.mjs +1 -0
- package/dist/models/render.model.d.mts +2 -0
- package/dist/models/render.model.mjs +1 -0
- package/dist/models/selection.model.d.mts +2 -0
- package/dist/models/selection.model.mjs +1 -0
- package/dist/models/sort.model.d.mts +2 -0
- package/dist/models/sort.model.mjs +1 -0
- package/dist/models/style.model.d.mts +23 -0
- package/dist/models/style.model.mjs +23 -0
- package/dist/models/tabela.model.d.mts +2 -0
- package/dist/models/tabela.model.mjs +1 -0
- package/dist/models/tabela.options.d.mts +2 -0
- package/dist/models/tabela.options.mjs +1 -0
- package/dist/selection.model-rwQe9fco.d.mts +12 -0
- package/dist/sort.model-CauImaLu.d.mts +15 -0
- package/dist/tabela.d.mts +21 -0
- package/dist/{tabela.full.js → tabela.full.mjs} +1407 -1124
- package/dist/tabela.mjs +126 -0
- package/dist/tabela.options-RkZvfptB.d.mts +14 -0
- package/package.json +45 -37
- package/src/components/body.component.ts +4 -3
- package/src/components/column.component.ts +19 -24
- package/src/components/footer.component.ts +8 -3
- package/src/components/group.component.ts +85 -0
- package/src/components/header.component.ts +3 -2
- package/src/components/row.component.ts +10 -8
- package/src/helpers/dom.helpers.ts +24 -20
- package/src/helpers/style.helper.ts +1 -1
- package/src/managers/column.manager.ts +8 -4
- package/src/managers/data.manager.ts +265 -61
- package/src/managers/event.manager.ts +14 -11
- package/src/managers/filter.manager.ts +38 -19
- package/src/managers/group.manager.ts +131 -0
- package/src/managers/navigation.manager.ts +25 -23
- package/src/managers/render.manager.ts +84 -32
- package/src/managers/row.manager.ts +23 -11
- package/src/managers/selection.manager.ts +68 -54
- package/src/managers/sort.manager.ts +81 -16
- package/src/managers/style.manager.ts +156 -0
- package/src/models/column.model.ts +2 -2
- package/src/models/data.model.ts +23 -9
- package/src/models/filter.model.ts +11 -3
- package/src/models/group.model.ts +8 -0
- package/src/models/render.model.ts +2 -2
- package/src/models/selection.model.ts +9 -0
- package/src/models/sort.model.ts +11 -3
- package/src/models/style.model.ts +39 -0
- package/src/models/tabela.model.ts +14 -46
- package/src/models/tabela.options.ts +3 -2
- package/src/tabela.ts +72 -41
- package/dist/helpers/style.helper.js +0 -6
- package/dist/managers/data.manager.js +0 -120
- package/dist/managers/render.manager.js +0 -110
- package/dist/models/body.model.js +0 -0
- package/dist/models/column.model.js +0 -0
- package/dist/models/data.model.js +0 -0
- package/dist/models/filter.model.js +0 -0
- package/dist/models/footer.model.js +0 -0
- package/dist/models/header.model.js +0 -0
- package/dist/models/render.model.js +0 -0
- package/dist/models/sort.model.js +0 -0
- package/dist/models/tabela.model.js +0 -0
- package/dist/models/tabela.options.js +0 -0
- package/dist/tabela.js +0 -102
- package/types/components/body.component.d.ts +0 -6
- package/types/components/column.component.d.ts +0 -13
- package/types/components/footer.component.d.ts +0 -8
- package/types/components/header.component.d.ts +0 -8
- package/types/components/row.component.d.ts +0 -11
- package/types/helpers/dom.helpers.d.ts +0 -10
- package/types/helpers/misc.helpers.d.ts +0 -2
- package/types/helpers/style.helper.d.ts +0 -1
- package/types/index.d.ts +0 -4
- package/types/managers/column.manager.d.ts +0 -12
- package/types/managers/data.manager.d.ts +0 -27
- package/types/managers/event.manager.d.ts +0 -7
- package/types/managers/filter.manager.d.ts +0 -19
- package/types/managers/navigation.manager.d.ts +0 -10
- package/types/managers/render.manager.d.ts +0 -16
- package/types/managers/row.manager.d.ts +0 -13
- package/types/managers/selection.manager.d.ts +0 -18
- package/types/managers/sort.manager.d.ts +0 -26
- package/types/models/body.model.d.ts +0 -4
- package/types/models/column.model.d.ts +0 -13
- package/types/models/data.model.d.ts +0 -14
- package/types/models/filter.model.d.ts +0 -6
- package/types/models/footer.model.d.ts +0 -5
- package/types/models/header.model.d.ts +0 -4
- package/types/models/render.model.d.ts +0 -13
- package/types/models/sort.model.d.ts +0 -5
- package/types/models/tabela.model.d.ts +0 -69
- package/types/models/tabela.options.d.ts +0 -9
- package/types/tabela.d.ts +0 -12
package/dist/tabela.js
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { BodyComponent } from "./components/body.component.js";
|
|
2
|
-
import { FooterComponent } from "./components/footer.component.js";
|
|
3
|
-
import { HeaderComponent } from "./components/header.component.js";
|
|
4
|
-
import { ColumnManager } from "./managers/column.manager.js";
|
|
5
|
-
import { DataManager } from "./managers/data.manager.js";
|
|
6
|
-
import { EventManager } from "./managers/event.manager.js";
|
|
7
|
-
import { FilterManager } from "./managers/filter.manager.js";
|
|
8
|
-
import { NavigationManager } from "./managers/navigation.manager.js";
|
|
9
|
-
import { RenderManager } from "./managers/render.manager.js";
|
|
10
|
-
import { RowManager } from "./managers/row.manager.js";
|
|
11
|
-
import { SelectionManager } from "./managers/selection.manager.js";
|
|
12
|
-
import { SortManager } from "./managers/sort.manager.js";
|
|
13
|
-
var Tabela = class {
|
|
14
|
-
#components = {
|
|
15
|
-
header: void 0,
|
|
16
|
-
body: void 0,
|
|
17
|
-
footer: void 0
|
|
18
|
-
};
|
|
19
|
-
#element;
|
|
20
|
-
#id = getId();
|
|
21
|
-
#key;
|
|
22
|
-
#managers = {
|
|
23
|
-
column: void 0,
|
|
24
|
-
data: void 0,
|
|
25
|
-
event: void 0,
|
|
26
|
-
filter: void 0,
|
|
27
|
-
navigation: void 0,
|
|
28
|
-
render: void 0,
|
|
29
|
-
row: void 0,
|
|
30
|
-
selection: void 0,
|
|
31
|
-
sort: void 0
|
|
32
|
-
};
|
|
33
|
-
data;
|
|
34
|
-
filter;
|
|
35
|
-
selection;
|
|
36
|
-
sort;
|
|
37
|
-
get key() {
|
|
38
|
-
return this.#key;
|
|
39
|
-
}
|
|
40
|
-
constructor(element, options) {
|
|
41
|
-
this.#element = element;
|
|
42
|
-
element.innerHTML = "";
|
|
43
|
-
element.role = "table";
|
|
44
|
-
element.classList.add("tabela");
|
|
45
|
-
element.setAttribute("aria-label", options.label);
|
|
46
|
-
this.#key = options.key;
|
|
47
|
-
this.#components.header = new HeaderComponent();
|
|
48
|
-
this.#components.body = new BodyComponent();
|
|
49
|
-
this.#components.footer = new FooterComponent();
|
|
50
|
-
const state = {
|
|
51
|
-
element,
|
|
52
|
-
options,
|
|
53
|
-
components: this.#components,
|
|
54
|
-
id: this.#id,
|
|
55
|
-
key: this.#key,
|
|
56
|
-
managers: this.#managers
|
|
57
|
-
};
|
|
58
|
-
this.#managers.column = new ColumnManager(state);
|
|
59
|
-
this.#managers.data = new DataManager(state);
|
|
60
|
-
this.#managers.event = new EventManager(state);
|
|
61
|
-
this.#managers.filter = new FilterManager(state);
|
|
62
|
-
this.#managers.navigation = new NavigationManager(state);
|
|
63
|
-
this.#managers.render = new RenderManager(state);
|
|
64
|
-
this.#managers.row = new RowManager(state);
|
|
65
|
-
this.#managers.selection = new SelectionManager(state);
|
|
66
|
-
this.#managers.sort = new SortManager(state);
|
|
67
|
-
element.append(this.#components.header.elements.group, this.#components.body.elements.group, this.#components.footer.elements.group);
|
|
68
|
-
this.#managers.data.set(options.data);
|
|
69
|
-
this.data = this.#managers.data.handlers;
|
|
70
|
-
this.filter = this.#managers.filter.handlers;
|
|
71
|
-
this.selection = this.#managers.selection.handlers;
|
|
72
|
-
this.sort = this.#managers.sort.handlers;
|
|
73
|
-
}
|
|
74
|
-
destroy() {
|
|
75
|
-
const components = this.#components;
|
|
76
|
-
const managers = this.#managers;
|
|
77
|
-
const element = this.#element;
|
|
78
|
-
components.body.destroy();
|
|
79
|
-
components.footer.destroy();
|
|
80
|
-
components.header.destroy();
|
|
81
|
-
managers.column.destroy();
|
|
82
|
-
managers.data.destroy();
|
|
83
|
-
managers.event.destroy();
|
|
84
|
-
managers.filter.destroy();
|
|
85
|
-
managers.render.destroy();
|
|
86
|
-
managers.row.destroy();
|
|
87
|
-
managers.selection.destroy();
|
|
88
|
-
managers.sort.destroy();
|
|
89
|
-
element.innerHTML = "";
|
|
90
|
-
element.role = "";
|
|
91
|
-
element.classList.remove("tabela");
|
|
92
|
-
element.removeAttribute("aria-label");
|
|
93
|
-
element.removeAttribute("role");
|
|
94
|
-
this.#element = void 0;
|
|
95
|
-
}
|
|
96
|
-
};
|
|
97
|
-
function getId() {
|
|
98
|
-
id += 1;
|
|
99
|
-
return id;
|
|
100
|
-
}
|
|
101
|
-
var id = 0;
|
|
102
|
-
export { Tabela };
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TabelaColumn, TabelaColumnOptions } from '../models/column.model';
|
|
2
|
-
export declare class ColumnComponent {
|
|
3
|
-
elements: ColumnElements;
|
|
4
|
-
options: TabelaColumn;
|
|
5
|
-
constructor(options: TabelaColumnOptions);
|
|
6
|
-
destroy(): void;
|
|
7
|
-
}
|
|
8
|
-
type ColumnElements = {
|
|
9
|
-
content: HTMLDivElement;
|
|
10
|
-
sorter: HTMLDivElement;
|
|
11
|
-
wrapper: HTMLDivElement;
|
|
12
|
-
};
|
|
13
|
-
export {};
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { FooterElements } from '../models/footer.model';
|
|
2
|
-
import type { ColumnComponent } from './column.component';
|
|
3
|
-
export declare class FooterComponent {
|
|
4
|
-
readonly elements: FooterElements;
|
|
5
|
-
constructor();
|
|
6
|
-
destroy(): void;
|
|
7
|
-
update(columns: ColumnComponent[]): void;
|
|
8
|
-
}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { HeaderElements } from '../models/header.model';
|
|
2
|
-
import type { ColumnComponent } from './column.component';
|
|
3
|
-
export declare class HeaderComponent {
|
|
4
|
-
readonly elements: HeaderElements;
|
|
5
|
-
constructor();
|
|
6
|
-
destroy(): void;
|
|
7
|
-
update(columns: ColumnComponent[]): void;
|
|
8
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Key } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { RenderElementPool } from '../models/render.model';
|
|
3
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
4
|
-
export declare function removeRow(pool: RenderElementPool, row: RowComponent): void;
|
|
5
|
-
export declare function renderRow(state: TabelaState, row: RowComponent): void;
|
|
6
|
-
export declare class RowComponent {
|
|
7
|
-
readonly key: Key;
|
|
8
|
-
cells: Record<string, HTMLDivElement>;
|
|
9
|
-
element: HTMLDivElement | undefined;
|
|
10
|
-
constructor(key: Key);
|
|
11
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
type RowGroupWithRow = {
|
|
2
|
-
group: HTMLDivElement;
|
|
3
|
-
row: HTMLDivElement;
|
|
4
|
-
};
|
|
5
|
-
export declare function createCell(width: number, body?: boolean): HTMLDivElement;
|
|
6
|
-
export declare function createElement<TagName extends keyof HTMLElementTagNameMap>(tagName: TagName, properties: Partial<HTMLElementTagNameMap[TagName]>, attributes: Record<string, string>, style: Partial<CSSStyleDeclaration>): HTMLElementTagNameMap[TagName];
|
|
7
|
-
export declare function createRowGroup(): RowGroupWithRow;
|
|
8
|
-
export declare function createRowGroup(withRow: boolean): HTMLDivElement;
|
|
9
|
-
export declare function createRow(): HTMLDivElement;
|
|
10
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const dragStyling: import("@oscarpalmer/toretto").StyleToggler;
|
package/types/index.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { ColumnComponent } from '../components/column.component';
|
|
2
|
-
import type { TabelaColumnOptions } from '../models/column.model';
|
|
3
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
4
|
-
export declare class ColumnManager {
|
|
5
|
-
state: TabelaState;
|
|
6
|
-
items: ColumnComponent[];
|
|
7
|
-
constructor(state: TabelaState);
|
|
8
|
-
destroy(): void;
|
|
9
|
-
remove(field: string): void;
|
|
10
|
-
remove(fields: string[]): void;
|
|
11
|
-
set(columns: TabelaColumnOptions[]): void;
|
|
12
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Key, PlainObject } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { DataValues } from '../models/data.model';
|
|
3
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
4
|
-
export declare class DataManager {
|
|
5
|
-
state: TabelaState;
|
|
6
|
-
handlers: Readonly<{
|
|
7
|
-
add: (data: PlainObject[]) => undefined;
|
|
8
|
-
clear: () => undefined;
|
|
9
|
-
get: (active: boolean | undefined) => PlainObject[];
|
|
10
|
-
remove: (items: PlainObject[] | Key[]) => undefined;
|
|
11
|
-
synchronize: (data: PlainObject[], remove: boolean | undefined) => undefined;
|
|
12
|
-
update: (data: PlainObject[]) => undefined;
|
|
13
|
-
}>;
|
|
14
|
-
values: DataValues;
|
|
15
|
-
get size(): number;
|
|
16
|
-
constructor(state: TabelaState);
|
|
17
|
-
add(data: PlainObject[], render: boolean): Promise<void>;
|
|
18
|
-
clear(): void;
|
|
19
|
-
destroy(): void;
|
|
20
|
-
get(active?: boolean): PlainObject[];
|
|
21
|
-
getIndex(key: Key): number;
|
|
22
|
-
remove(items: Array<Key | PlainObject>, render: boolean): Promise<void>;
|
|
23
|
-
render(): void;
|
|
24
|
-
set(data: PlainObject[]): void;
|
|
25
|
-
synchronize(data: PlainObject[], remove?: boolean): Promise<void>;
|
|
26
|
-
update(data: PlainObject[]): Promise<void>;
|
|
27
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { FilterItem } from '../models/filter.model';
|
|
2
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
3
|
-
export declare class FilterManager {
|
|
4
|
-
state: TabelaState;
|
|
5
|
-
handlers: Readonly<{
|
|
6
|
-
add: (item: FilterItem) => void;
|
|
7
|
-
clear: () => void;
|
|
8
|
-
remove: (value: string | FilterItem) => void;
|
|
9
|
-
set: (items: FilterItem[]) => void;
|
|
10
|
-
}>;
|
|
11
|
-
items: Record<string, FilterItem[]>;
|
|
12
|
-
constructor(state: TabelaState);
|
|
13
|
-
add(item: FilterItem): void;
|
|
14
|
-
clear(): void;
|
|
15
|
-
destroy(): void;
|
|
16
|
-
filter(): void;
|
|
17
|
-
remove(value: string | FilterItem): void;
|
|
18
|
-
set(items: FilterItem[]): void;
|
|
19
|
-
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import type { Key } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
3
|
-
export declare class NavigationManager {
|
|
4
|
-
state: TabelaState;
|
|
5
|
-
active: Key | undefined;
|
|
6
|
-
constructor(state: TabelaState);
|
|
7
|
-
destroy(): void;
|
|
8
|
-
handle(event: KeyboardEvent): void;
|
|
9
|
-
setActive(key: Key | undefined, scroll?: boolean): void;
|
|
10
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import type { Key } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { RemovableEventListener } from '@oscarpalmer/toretto/models';
|
|
3
|
-
import type { RenderElementPool, RenderState } from '../models/render.model';
|
|
4
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
5
|
-
export declare class RenderManager {
|
|
6
|
-
fragment: DocumentFragment;
|
|
7
|
-
listener: RemovableEventListener;
|
|
8
|
-
pool: RenderElementPool;
|
|
9
|
-
state: RenderState;
|
|
10
|
-
visible: Map<number, Key>;
|
|
11
|
-
constructor(state: TabelaState);
|
|
12
|
-
destroy(): void;
|
|
13
|
-
removeCells(fields: string[]): void;
|
|
14
|
-
getFragment(): DocumentFragment;
|
|
15
|
-
update(down: boolean, rerender?: boolean): void;
|
|
16
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { Key } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import { RowComponent } from '../components/row.component';
|
|
3
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
4
|
-
export declare class RowManager {
|
|
5
|
-
state: TabelaState;
|
|
6
|
-
components: Map<Key, RowComponent>;
|
|
7
|
-
constructor(state: TabelaState);
|
|
8
|
-
destroy(): void;
|
|
9
|
-
get(key: Key): RowComponent | undefined;
|
|
10
|
-
has(key: Key): boolean;
|
|
11
|
-
remove(key: Key): void;
|
|
12
|
-
update(key: Key): void;
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import type { Key } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { TabelaSelection, TabelaState } from '../models/tabela.model';
|
|
3
|
-
export declare class SelectionManager {
|
|
4
|
-
state: TabelaState;
|
|
5
|
-
handlers: Readonly<TabelaSelection>;
|
|
6
|
-
items: Set<Key>;
|
|
7
|
-
last: Key | undefined;
|
|
8
|
-
constructor(state: TabelaState);
|
|
9
|
-
clear(): void;
|
|
10
|
-
deselect(keys: Key[]): void;
|
|
11
|
-
destroy(): void;
|
|
12
|
-
handle(event: MouseEvent, target: HTMLElement): void;
|
|
13
|
-
range(from: Key | HTMLElement, to: Key | HTMLElement): void;
|
|
14
|
-
select(keys: Key[]): void;
|
|
15
|
-
set(keys: Key[]): void;
|
|
16
|
-
toggle(): void;
|
|
17
|
-
update(removed: Key[]): void;
|
|
18
|
-
}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { type ArrayKeySorter } from '@oscarpalmer/atoms/array';
|
|
2
|
-
import type { PlainObject } from '@oscarpalmer/atoms/models';
|
|
3
|
-
import type { SortDirection, SortItem } from '../models/sort.model';
|
|
4
|
-
import type { TabelaState } from '../models/tabela.model';
|
|
5
|
-
export declare class SortManager {
|
|
6
|
-
state: TabelaState;
|
|
7
|
-
handlers: Readonly<{
|
|
8
|
-
add: (field: string, direction: SortDirection | undefined) => void;
|
|
9
|
-
flip: (field: string) => void;
|
|
10
|
-
clear: () => void;
|
|
11
|
-
remove: (field: string) => void;
|
|
12
|
-
set: (items: SortItem[]) => void;
|
|
13
|
-
}>;
|
|
14
|
-
items: ArrayKeySorter<PlainObject>[];
|
|
15
|
-
constructor(state: TabelaState);
|
|
16
|
-
add(field: string, direction?: SortDirection): void;
|
|
17
|
-
addOrSet(event: MouseEvent, field: string): void;
|
|
18
|
-
clear(): void;
|
|
19
|
-
destroy(): void;
|
|
20
|
-
flip(field: string): void;
|
|
21
|
-
remove(field: string): void;
|
|
22
|
-
removeOrClear(event: MouseEvent, field: string): void;
|
|
23
|
-
set(items: SortItem[]): void;
|
|
24
|
-
sort(): void;
|
|
25
|
-
toggle(event: MouseEvent, field: string, direction?: string | null): void;
|
|
26
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
export type TabelaColumn = {
|
|
2
|
-
field: string;
|
|
3
|
-
title: string;
|
|
4
|
-
type: TabelaColumnType;
|
|
5
|
-
width: number;
|
|
6
|
-
};
|
|
7
|
-
export type TabelaColumnOptions = {
|
|
8
|
-
field: string;
|
|
9
|
-
title: string;
|
|
10
|
-
type: TabelaColumnType;
|
|
11
|
-
width?: number;
|
|
12
|
-
};
|
|
13
|
-
export type TabelaColumnType = 'boolean' | 'date' | 'date-time' | 'number' | 'string' | 'time';
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Key, PlainObject } from '@oscarpalmer/atoms/models';
|
|
2
|
-
export type DataValues = {
|
|
3
|
-
keys: DataValuesKeys;
|
|
4
|
-
objects: DataValuesObjects;
|
|
5
|
-
};
|
|
6
|
-
type DataValuesKeys = {
|
|
7
|
-
active?: Key[];
|
|
8
|
-
original: Key[];
|
|
9
|
-
};
|
|
10
|
-
type DataValuesObjects = {
|
|
11
|
-
array: PlainObject[];
|
|
12
|
-
mapped: Map<Key, PlainObject>;
|
|
13
|
-
};
|
|
14
|
-
export {};
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export type FilterComparison = 'contains' | 'ends-with' | 'equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal' | 'not-contains' | 'not-equals' | 'starts-with';
|
|
2
|
-
export type FilterItem = {
|
|
3
|
-
comparison: FilterComparison;
|
|
4
|
-
field: string;
|
|
5
|
-
value: unknown;
|
|
6
|
-
};
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { TabelaState } from './tabela.model';
|
|
2
|
-
export type RenderElementPool = {
|
|
3
|
-
cells: Record<string, HTMLDivElement[]>;
|
|
4
|
-
rows: HTMLDivElement[];
|
|
5
|
-
};
|
|
6
|
-
export type RenderRange = {
|
|
7
|
-
end: number;
|
|
8
|
-
start: number;
|
|
9
|
-
};
|
|
10
|
-
export type RenderState = {
|
|
11
|
-
active: boolean;
|
|
12
|
-
top: number;
|
|
13
|
-
} & TabelaState;
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
import type { Key, PlainObject } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { BodyComponent } from '../components/body.component';
|
|
3
|
-
import type { FooterComponent } from '../components/footer.component';
|
|
4
|
-
import type { HeaderComponent } from '../components/header.component';
|
|
5
|
-
import type { ColumnManager } from '../managers/column.manager';
|
|
6
|
-
import type { DataManager } from '../managers/data.manager';
|
|
7
|
-
import type { EventManager } from '../managers/event.manager';
|
|
8
|
-
import type { FilterManager } from '../managers/filter.manager';
|
|
9
|
-
import type { NavigationManager } from '../managers/navigation.manager';
|
|
10
|
-
import type { RenderManager } from '../managers/render.manager';
|
|
11
|
-
import type { RowManager } from '../managers/row.manager';
|
|
12
|
-
import type { SelectionManager } from '../managers/selection.manager';
|
|
13
|
-
import type { SortManager } from '../managers/sort.manager';
|
|
14
|
-
import type { FilterItem } from './filter.model';
|
|
15
|
-
import type { SortDirection, SortItem } from './sort.model';
|
|
16
|
-
import type { TabelaOptions } from './tabela.options';
|
|
17
|
-
export type TabelaComponents = {
|
|
18
|
-
body: BodyComponent;
|
|
19
|
-
footer: FooterComponent;
|
|
20
|
-
header: HeaderComponent;
|
|
21
|
-
};
|
|
22
|
-
export type TabelaData = {
|
|
23
|
-
add(data: PlainObject[]): void;
|
|
24
|
-
clear(): void;
|
|
25
|
-
get(active?: boolean): PlainObject[];
|
|
26
|
-
remove(keys: Key[]): void;
|
|
27
|
-
remove(data: PlainObject[]): void;
|
|
28
|
-
synchronize(data: PlainObject[], remove?: boolean): void;
|
|
29
|
-
update(data: PlainObject[]): void;
|
|
30
|
-
};
|
|
31
|
-
export type TabelaFilter = {
|
|
32
|
-
add(item: FilterItem): void;
|
|
33
|
-
clear(): void;
|
|
34
|
-
remove(field: string): void;
|
|
35
|
-
remove(item: FilterItem): void;
|
|
36
|
-
set(items: FilterItem[]): void;
|
|
37
|
-
};
|
|
38
|
-
export type TabelaManagers = {
|
|
39
|
-
column: ColumnManager;
|
|
40
|
-
data: DataManager;
|
|
41
|
-
event: EventManager;
|
|
42
|
-
filter: FilterManager;
|
|
43
|
-
navigation: NavigationManager;
|
|
44
|
-
row: RowManager;
|
|
45
|
-
selection: SelectionManager;
|
|
46
|
-
sort: SortManager;
|
|
47
|
-
render: RenderManager;
|
|
48
|
-
};
|
|
49
|
-
export type TabelaSelection = {
|
|
50
|
-
clear(): void;
|
|
51
|
-
deselect(keys: Key[]): void;
|
|
52
|
-
select(keys: Key[]): void;
|
|
53
|
-
toggle(): void;
|
|
54
|
-
};
|
|
55
|
-
export type TabelaSort = {
|
|
56
|
-
add(field: string, direction?: SortDirection): void;
|
|
57
|
-
clear(): void;
|
|
58
|
-
flip(field: string): void;
|
|
59
|
-
remove(field: string): void;
|
|
60
|
-
set(items: SortItem[]): void;
|
|
61
|
-
};
|
|
62
|
-
export type TabelaState = {
|
|
63
|
-
readonly components: TabelaComponents;
|
|
64
|
-
readonly element: HTMLElement;
|
|
65
|
-
readonly id: number;
|
|
66
|
-
readonly key: string;
|
|
67
|
-
readonly managers: TabelaManagers;
|
|
68
|
-
readonly options: TabelaOptions;
|
|
69
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { PlainObject } from '@oscarpalmer/atoms/models';
|
|
2
|
-
import type { TabelaColumnOptions } from './column.model';
|
|
3
|
-
export type TabelaOptions = {
|
|
4
|
-
columns: TabelaColumnOptions[];
|
|
5
|
-
data: PlainObject[];
|
|
6
|
-
key: string;
|
|
7
|
-
label: string;
|
|
8
|
-
rowHeight: number;
|
|
9
|
-
};
|
package/types/tabela.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { TabelaData, TabelaFilter, TabelaSelection, TabelaSort } from './models/tabela.model';
|
|
2
|
-
import type { TabelaOptions } from './models/tabela.options';
|
|
3
|
-
export declare class Tabela {
|
|
4
|
-
#private;
|
|
5
|
-
readonly data: TabelaData;
|
|
6
|
-
readonly filter: TabelaFilter;
|
|
7
|
-
readonly selection: TabelaSelection;
|
|
8
|
-
readonly sort: TabelaSort;
|
|
9
|
-
get key(): string;
|
|
10
|
-
constructor(element: HTMLElement, options: TabelaOptions);
|
|
11
|
-
destroy(): void;
|
|
12
|
-
}
|