@omegagrid/tree 0.2.5
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/adapters/dateAdapter.d.ts +44 -0
- package/dist/adapters/dateAdapter.d.ts.map +1 -0
- package/dist/adapters/dateAdapter.js +190 -0
- package/dist/adapters/dateAdapter.js.map +1 -0
- package/dist/adapters/index.d.ts +2 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +18 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/constants.d.ts +47 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +12 -0
- package/dist/constants.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/model/filterModel.d.ts +16 -0
- package/dist/model/filterModel.d.ts.map +1 -0
- package/dist/model/filterModel.js +56 -0
- package/dist/model/filterModel.js.map +1 -0
- package/dist/model/index.d.ts +5 -0
- package/dist/model/index.d.ts.map +1 -0
- package/dist/model/index.js +21 -0
- package/dist/model/index.js.map +1 -0
- package/dist/model/nodeModel.d.ts +85 -0
- package/dist/model/nodeModel.d.ts.map +1 -0
- package/dist/model/nodeModel.js +57 -0
- package/dist/model/nodeModel.js.map +1 -0
- package/dist/model/selectionModel.d.ts +38 -0
- package/dist/model/selectionModel.d.ts.map +1 -0
- package/dist/model/selectionModel.js +186 -0
- package/dist/model/selectionModel.js.map +1 -0
- package/dist/model/treeAdapter.d.ts +10 -0
- package/dist/model/treeAdapter.d.ts.map +1 -0
- package/dist/model/treeAdapter.js +11 -0
- package/dist/model/treeAdapter.js.map +1 -0
- package/dist/model/treeModel.d.ts +27 -0
- package/dist/model/treeModel.d.ts.map +1 -0
- package/dist/model/treeModel.js +96 -0
- package/dist/model/treeModel.js.map +1 -0
- package/dist/options.d.ts +27 -0
- package/dist/options.d.ts.map +1 -0
- package/dist/options.js +37 -0
- package/dist/options.js.map +1 -0
- package/dist/types.d.ts +40 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +18 -0
- package/dist/types.js.map +1 -0
- package/dist/ui/dropdown.d.ts +55 -0
- package/dist/ui/dropdown.d.ts.map +1 -0
- package/dist/ui/dropdown.js +295 -0
- package/dist/ui/dropdown.js.map +1 -0
- package/dist/ui/dropdown.style.d.ts +2 -0
- package/dist/ui/dropdown.style.d.ts.map +1 -0
- package/dist/ui/dropdown.style.js +36 -0
- package/dist/ui/dropdown.style.js.map +1 -0
- package/dist/ui/index.d.ts +6 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +22 -0
- package/dist/ui/index.js.map +1 -0
- package/dist/ui/levels.d.ts +13 -0
- package/dist/ui/levels.d.ts.map +1 -0
- package/dist/ui/levels.js +68 -0
- package/dist/ui/levels.js.map +1 -0
- package/dist/ui/menu.d.ts +14 -0
- package/dist/ui/menu.d.ts.map +1 -0
- package/dist/ui/menu.js +93 -0
- package/dist/ui/menu.js.map +1 -0
- package/dist/ui/search.d.ts +18 -0
- package/dist/ui/search.d.ts.map +1 -0
- package/dist/ui/search.js +88 -0
- package/dist/ui/search.js.map +1 -0
- package/dist/ui/tree.d.ts +78 -0
- package/dist/ui/tree.d.ts.map +1 -0
- package/dist/ui/tree.js +429 -0
- package/dist/ui/tree.js.map +1 -0
- package/dist/ui/tree.renderer.d.ts +5 -0
- package/dist/ui/tree.renderer.d.ts.map +1 -0
- package/dist/ui/tree.renderer.js +106 -0
- package/dist/ui/tree.renderer.js.map +1 -0
- package/dist/ui/tree.style.d.ts +3 -0
- package/dist/ui/tree.style.d.ts.map +1 -0
- package/dist/ui/tree.style.js +113 -0
- package/dist/ui/tree.style.js.map +1 -0
- package/package.json +59 -0
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/* eslint-disable no-prototype-builtins */
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.NodeModel = void 0;
|
|
5
|
+
const core_1 = require("@omegagrid/core");
|
|
6
|
+
class NodeModel extends core_1.tree.TreeNodeMixin() {
|
|
7
|
+
get type() { return this._type; }
|
|
8
|
+
set type(v) { this._type = v; }
|
|
9
|
+
get checkbox() { return this._checkbox; }
|
|
10
|
+
set checkbox(v) { this._checkbox = v; }
|
|
11
|
+
get key() { return this._key; }
|
|
12
|
+
set key(v) { this._key = v; }
|
|
13
|
+
get value() { return this._value; }
|
|
14
|
+
set value(v) { this._value = v; }
|
|
15
|
+
get htmlValue() { return this._htmlValue; }
|
|
16
|
+
set htmlValue(v) { this._htmlValue = v; }
|
|
17
|
+
get icon() { return this._icon; }
|
|
18
|
+
set icon(v) { this._icon = v; }
|
|
19
|
+
get folder() { return this._folder; }
|
|
20
|
+
set folder(v) { this._folder = v; }
|
|
21
|
+
get properties() { return this._properties; }
|
|
22
|
+
set properties(v) { this._properties = v; }
|
|
23
|
+
constructor(model, source) {
|
|
24
|
+
super();
|
|
25
|
+
this.model = model;
|
|
26
|
+
this.subLevels = null;
|
|
27
|
+
this._checkbox = null;
|
|
28
|
+
this.populate(source);
|
|
29
|
+
}
|
|
30
|
+
populate(source) {
|
|
31
|
+
var _a;
|
|
32
|
+
super.populate(source);
|
|
33
|
+
this.key = source.hasOwnProperty('key') ? source.key : source.k;
|
|
34
|
+
this.value = source.hasOwnProperty('value') ? source.value : source.v;
|
|
35
|
+
this.type = source.t;
|
|
36
|
+
this.icon = source.icon;
|
|
37
|
+
this.folder = source.folder;
|
|
38
|
+
this.checkbox = (_a = source.ch) !== null && _a !== void 0 ? _a : null;
|
|
39
|
+
this._properties = source.props;
|
|
40
|
+
}
|
|
41
|
+
getSourceData() {
|
|
42
|
+
const data = super.getSourceData();
|
|
43
|
+
if (this.type)
|
|
44
|
+
data.t = this.type;
|
|
45
|
+
if (this.icon)
|
|
46
|
+
data.icon = this.icon;
|
|
47
|
+
if (this.folder)
|
|
48
|
+
data.folder = this.folder;
|
|
49
|
+
if (this.checkbox != null)
|
|
50
|
+
data.ch = this.checkbox;
|
|
51
|
+
if (this.properties)
|
|
52
|
+
data.props = this.properties;
|
|
53
|
+
return data;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
exports.NodeModel = NodeModel;
|
|
57
|
+
//# sourceMappingURL=nodeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nodeModel.js","sourceRoot":"","sources":["../../src/model/nodeModel.ts"],"names":[],"mappings":";AAAA,0CAA0C;;;AAE1C,0CAAmE;AAiBnE,MAAa,SAAU,SAAQ,WAAI,CAAC,aAAa,EAAE;IAIlD,IAAI,IAAI,KAAa,OAAO,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC;IACxC,IAAI,IAAI,CAAC,CAAS,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA,CAAC,CAAC;IAGtC,IAAI,QAAQ,KAAc,OAAO,IAAI,CAAC,SAAS,CAAA,CAAC,CAAC;IACjD,IAAI,QAAQ,CAAC,CAAU,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,CAAA,CAAC,CAAC;IAG/C,IAAI,GAAG,KAAa,OAAO,IAAI,CAAC,IAAI,CAAA,CAAC,CAAC;IACtC,IAAY,GAAG,CAAC,CAAS,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAA,CAAC,CAAC;IAG5C,IAAI,KAAK,KAAa,OAAO,IAAI,CAAC,MAAM,CAAA,CAAC,CAAC;IAC1C,IAAI,KAAK,CAAC,CAAS,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA,CAAA,CAAC;IAGvC,IAAI,SAAS,KAAK,OAAO,IAAI,CAAC,UAAU,CAAA,CAAC,CAAC;IAC1C,IAAI,SAAS,CAAC,CAAS,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAA,CAAC,CAAC;IAGhD,IAAI,IAAI,KAAsB,OAAO,IAAI,CAAC,KAAK,CAAA,CAAC,CAAC;IACjD,IAAI,IAAI,CAAC,CAAkB,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA,CAAC,CAAC;IAG/C,IAAI,MAAM,KAAoB,OAAO,IAAI,CAAC,OAAO,CAAA,CAAC,CAAC;IACnD,IAAI,MAAM,CAAC,CAAgB,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAA,CAAC,CAAC;IAGjD,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,WAAW,CAAA,CAAC,CAAC;IAC5C,IAAI,UAAU,CAAC,CAAmB,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,CAAA,CAAC,CAAC;IAE5D,YAAmB,KAAgB,EAAE,MAAkB;QACtD,KAAK,EAAE,CAAC;QADU,UAAK,GAAL,KAAK,CAAW;QAlC5B,cAAS,GAAW,IAAI,CAAC;QAMxB,cAAS,GAAY,IAAI,CAAC;QA8BjC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ,CAAC,MAAkB;;QAC1B,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QACvB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QAChE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,MAAA,MAAM,CAAC,EAAE,mCAAI,IAAI,CAAC;QAClC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC;IACjC,CAAC;IAED,aAAa;QACZ,MAAM,IAAI,GAAG,KAAK,CAAC,aAAa,EAAgB,CAAC;QACjD,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC;QAClC,IAAI,IAAI,CAAC,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrC,IAAI,IAAI,CAAC,MAAM;YAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3C,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI;YAAE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QACnD,IAAI,IAAI,CAAC,UAAU;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAClD,OAAO,IAAI,CAAC;IACb,CAAC;CAED;AA7DD,8BA6DC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { NodeModel } from "./nodeModel";
|
|
2
|
+
import { Options } from "../options";
|
|
3
|
+
export declare enum NodeSelectionStatus {
|
|
4
|
+
None = 0,
|
|
5
|
+
Checked = 1,
|
|
6
|
+
CheckedByParent = 2,
|
|
7
|
+
Unchecked = 3
|
|
8
|
+
}
|
|
9
|
+
export type SerializedValue = [string, number?, (0 | 1)?, ItemMetadata?];
|
|
10
|
+
export declare function normalizeSerializedValues(data: (string | number | SerializedValue)[]): SerializedValue[];
|
|
11
|
+
export type ItemMetadata = {
|
|
12
|
+
value?: string;
|
|
13
|
+
};
|
|
14
|
+
export type SelectedItemParams = {
|
|
15
|
+
levels: Map<number, boolean>;
|
|
16
|
+
} & ItemMetadata;
|
|
17
|
+
export declare class TreeSelectionModel {
|
|
18
|
+
options: Options;
|
|
19
|
+
readonly items: Map<string, SelectedItemParams>;
|
|
20
|
+
get count(): number;
|
|
21
|
+
constructor(options: Options, sourceData?: SerializedValue[]);
|
|
22
|
+
ensureItem(key: string, value?: string): SelectedItemParams;
|
|
23
|
+
setItems(items: SerializedValue[]): void;
|
|
24
|
+
populate(sourceData: SerializedValue[]): void;
|
|
25
|
+
serialize(): SerializedValue[];
|
|
26
|
+
clear(): void;
|
|
27
|
+
validateChange(node: NodeModel, level: number, value: boolean): boolean;
|
|
28
|
+
toggle(node: NodeModel, level: number): this;
|
|
29
|
+
select(node: NodeModel, level: number, value?: boolean | null): this;
|
|
30
|
+
deselect(node: NodeModel, level: number): this;
|
|
31
|
+
clearItemSelection(node: NodeModel): void;
|
|
32
|
+
getLevelSelection(node: NodeModel): Map<number, boolean>;
|
|
33
|
+
getValue(node: NodeModel, level: number, defaultValue?: boolean): boolean;
|
|
34
|
+
isSelectedByParent(node: NodeModel): boolean;
|
|
35
|
+
getSelectionStatus(node: NodeModel): NodeSelectionStatus;
|
|
36
|
+
toggleChildNodes(node: NodeModel, level: number): void;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=selectionModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionModel.d.ts","sourceRoot":"","sources":["../../src/model/selectionModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAMrC,oBAAY,mBAAmB;IAC9B,IAAI,IAAI;IACR,OAAO,IAAI;IACX,eAAe,IAAI;IACnB,SAAS,IAAI;CACb;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAC,CAAC,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;AAEvE,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAC,MAAM,GAAC,eAAe,CAAC,EAAE,qBAKhF;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAChC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC5B,GAAG,YAAY,CAAC;AAEjB,qBAAa,kBAAkB;IAQX,OAAO,EAAE,OAAO;IANnC,QAAQ,CAAC,KAAK,kCAAyC;IAEvD,IAAI,KAAK,WAER;gBAEkB,OAAO,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,eAAe,EAAE;IAMnE,UAAU,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAa;IAO5C,QAAQ,CAAC,KAAK,EAAE,eAAe,EAAE;IAIjC,QAAQ,CAAC,UAAU,EAAE,eAAe,EAAE;IAStC,SAAS;IAQT,KAAK;IAIL,cAAc,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO;IAS7D,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAmCrC,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,OAAO,GAAC,IAAW;IAgBjE,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;IAUvC,kBAAkB,CAAC,IAAI,EAAE,SAAS;IAIlC,iBAAiB,CAAC,IAAI,EAAE,SAAS;IAMjC,QAAQ,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAE,OAAc;IAOrE,kBAAkB,CAAC,IAAI,EAAE,SAAS;IAYlC,kBAAkB,CAAC,IAAI,EAAE,SAAS,GAAG,mBAAmB;IAaxD,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;CAgB/C"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeSelectionModel = exports.normalizeSerializedValues = exports.NodeSelectionStatus = void 0;
|
|
4
|
+
const types_1 = require("../types");
|
|
5
|
+
const getMapValue = (map, key, defaultValue = null) => map.has(key) ? map.get(key) : defaultValue;
|
|
6
|
+
var NodeSelectionStatus;
|
|
7
|
+
(function (NodeSelectionStatus) {
|
|
8
|
+
NodeSelectionStatus[NodeSelectionStatus["None"] = 0] = "None";
|
|
9
|
+
NodeSelectionStatus[NodeSelectionStatus["Checked"] = 1] = "Checked";
|
|
10
|
+
NodeSelectionStatus[NodeSelectionStatus["CheckedByParent"] = 2] = "CheckedByParent";
|
|
11
|
+
NodeSelectionStatus[NodeSelectionStatus["Unchecked"] = 3] = "Unchecked";
|
|
12
|
+
})(NodeSelectionStatus || (exports.NodeSelectionStatus = NodeSelectionStatus = {}));
|
|
13
|
+
function normalizeSerializedValues(data) {
|
|
14
|
+
return data.map(item => {
|
|
15
|
+
if (Array.isArray(item))
|
|
16
|
+
return item;
|
|
17
|
+
return [item.toString(), 0, 1];
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
exports.normalizeSerializedValues = normalizeSerializedValues;
|
|
21
|
+
class TreeSelectionModel {
|
|
22
|
+
get count() {
|
|
23
|
+
return this.items.size;
|
|
24
|
+
}
|
|
25
|
+
constructor(options, sourceData) {
|
|
26
|
+
this.options = options;
|
|
27
|
+
this.items = new Map();
|
|
28
|
+
if (sourceData) {
|
|
29
|
+
this.populate(sourceData);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
ensureItem(key, value = null) {
|
|
33
|
+
if (!this.items.has(key))
|
|
34
|
+
this.items.set(key, { levels: new Map() });
|
|
35
|
+
const item = this.items.get(key);
|
|
36
|
+
if (value !== null)
|
|
37
|
+
item.value = value;
|
|
38
|
+
return item;
|
|
39
|
+
}
|
|
40
|
+
setItems(items) {
|
|
41
|
+
this.populate(items !== null && items !== void 0 ? items : []);
|
|
42
|
+
}
|
|
43
|
+
populate(sourceData) {
|
|
44
|
+
this.items.clear();
|
|
45
|
+
sourceData.forEach(sourceItem => {
|
|
46
|
+
var _a, _b;
|
|
47
|
+
const item = this.ensureItem(sourceItem[0]);
|
|
48
|
+
item.levels.set((_a = sourceItem[1]) !== null && _a !== void 0 ? _a : 0, ((_b = sourceItem[2]) !== null && _b !== void 0 ? _b : 1) == 1);
|
|
49
|
+
if (sourceItem[3])
|
|
50
|
+
Object.assign(item, sourceItem[3]);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
serialize() {
|
|
54
|
+
const items = [];
|
|
55
|
+
this.items.forEach((item, key) => item.levels.forEach((value, level) => items.push([key, level, value ? 1 : 0])));
|
|
56
|
+
return items;
|
|
57
|
+
}
|
|
58
|
+
clear() {
|
|
59
|
+
this.items.clear();
|
|
60
|
+
}
|
|
61
|
+
validateChange(node, level, value) {
|
|
62
|
+
if (this.options.selectMode == types_1.SelectMode.Single) {
|
|
63
|
+
if (value === false && this.items.size == 1) {
|
|
64
|
+
return false;
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return true;
|
|
68
|
+
}
|
|
69
|
+
toggle(node, level) {
|
|
70
|
+
let item = this.ensureItem(node.key, node.value);
|
|
71
|
+
const currentValue = item.levels.has(level) ? item.levels.get(level) : null;
|
|
72
|
+
if (!this.validateChange(node, level, item.levels.has(level) ? !item.levels.get(level) : true))
|
|
73
|
+
return this;
|
|
74
|
+
if (currentValue) {
|
|
75
|
+
item.levels.delete(level);
|
|
76
|
+
}
|
|
77
|
+
else if (this.options.selectMode == types_1.SelectMode.MultipleLevels) {
|
|
78
|
+
if (level == 0 && this.isSelectedByParent(node)) {
|
|
79
|
+
if (currentValue === false) {
|
|
80
|
+
item.levels.delete(0);
|
|
81
|
+
}
|
|
82
|
+
else {
|
|
83
|
+
item.levels.set(0, false);
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
item.levels.set(level, true);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
else {
|
|
91
|
+
if (this.options.selectMode == types_1.SelectMode.Single) {
|
|
92
|
+
this.clear();
|
|
93
|
+
item = this.ensureItem(node.key, node.value);
|
|
94
|
+
}
|
|
95
|
+
if (level == 0) {
|
|
96
|
+
item.levels.set(0, true);
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
this.toggleChildNodes(node, level);
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
if (item.levels.size == 0)
|
|
103
|
+
this.clearItemSelection(node);
|
|
104
|
+
return this;
|
|
105
|
+
}
|
|
106
|
+
select(node, level, value = true) {
|
|
107
|
+
const item = this.ensureItem(node.key, node.value);
|
|
108
|
+
if (!this.validateChange(node, level, value === null ? (item.levels.has(level) ? item.levels.get(level) : false) : value))
|
|
109
|
+
return this;
|
|
110
|
+
if (value === true) {
|
|
111
|
+
item.levels.set(level, true);
|
|
112
|
+
}
|
|
113
|
+
else if (value === false && this.options.selectMode == types_1.SelectMode.MultipleLevels) {
|
|
114
|
+
item.levels.set(level, false);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
item.levels.delete(level);
|
|
118
|
+
}
|
|
119
|
+
if (item.levels.size == 0)
|
|
120
|
+
this.clearItemSelection(node);
|
|
121
|
+
return this;
|
|
122
|
+
}
|
|
123
|
+
deselect(node, level) {
|
|
124
|
+
if (!this.validateChange(node, level, false))
|
|
125
|
+
return this;
|
|
126
|
+
if (this.items.has(node.key)) {
|
|
127
|
+
this.items.get(node.key).levels.delete(level);
|
|
128
|
+
if (this.items.get(node.key).levels.size == 0)
|
|
129
|
+
this.clearItemSelection(node);
|
|
130
|
+
}
|
|
131
|
+
return this;
|
|
132
|
+
}
|
|
133
|
+
clearItemSelection(node) {
|
|
134
|
+
this.items.delete(node.key);
|
|
135
|
+
}
|
|
136
|
+
getLevelSelection(node) {
|
|
137
|
+
return this.items.has(node.key)
|
|
138
|
+
? this.items.get(node.key).levels
|
|
139
|
+
: new Map();
|
|
140
|
+
}
|
|
141
|
+
getValue(node, level, defaultValue = null) {
|
|
142
|
+
if (this.items.has(node.key)) {
|
|
143
|
+
return getMapValue(this.items.get(node.key).levels, level, defaultValue);
|
|
144
|
+
}
|
|
145
|
+
return defaultValue;
|
|
146
|
+
}
|
|
147
|
+
isSelectedByParent(node) {
|
|
148
|
+
let parent = node.parent;
|
|
149
|
+
let levelSpan = 0;
|
|
150
|
+
while (parent) {
|
|
151
|
+
if (this.getValue(parent, ++levelSpan, false)) {
|
|
152
|
+
return true;
|
|
153
|
+
}
|
|
154
|
+
parent = parent.parent;
|
|
155
|
+
}
|
|
156
|
+
return false;
|
|
157
|
+
}
|
|
158
|
+
getSelectionStatus(node) {
|
|
159
|
+
const value = this.getValue(node, 0, null);
|
|
160
|
+
if (value === true) {
|
|
161
|
+
return NodeSelectionStatus.Checked;
|
|
162
|
+
}
|
|
163
|
+
else if (value === false) {
|
|
164
|
+
return NodeSelectionStatus.Unchecked;
|
|
165
|
+
}
|
|
166
|
+
else if (this.options.selectMode == types_1.SelectMode.MultipleLevels && this.isSelectedByParent(node)) {
|
|
167
|
+
return NodeSelectionStatus.CheckedByParent;
|
|
168
|
+
}
|
|
169
|
+
return NodeSelectionStatus.None;
|
|
170
|
+
}
|
|
171
|
+
toggleChildNodes(node, level) {
|
|
172
|
+
const parentLevel = node.level;
|
|
173
|
+
let value = null;
|
|
174
|
+
node.walk((n) => {
|
|
175
|
+
if (n.level - parentLevel == level) {
|
|
176
|
+
if (value === null) {
|
|
177
|
+
value = this.getSelectionStatus(n) != NodeSelectionStatus.Checked;
|
|
178
|
+
}
|
|
179
|
+
this.select(n, 0, value ? true : null);
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
exports.TreeSelectionModel = TreeSelectionModel;
|
|
186
|
+
//# sourceMappingURL=selectionModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"selectionModel.js","sourceRoot":"","sources":["../../src/model/selectionModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { Options } from '../options';
|
|
2
|
+
import { TreeSource } from './treeModel';
|
|
3
|
+
import { ComponentAdapter } from '@omegagrid/core';
|
|
4
|
+
import { Tree } from '../ui';
|
|
5
|
+
import { TreeAdapterParams } from '../types';
|
|
6
|
+
export declare abstract class TreeAdapter extends ComponentAdapter<Tree> {
|
|
7
|
+
abstract getTree(params?: TreeAdapterParams): TreeSource | Promise<TreeSource>;
|
|
8
|
+
getOptions(): Partial<Options> | Promise<Partial<Options>>;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=treeAdapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeAdapter.d.ts","sourceRoot":"","sources":["../../src/model/treeAdapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC;AAC7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAE7C,8BAAsB,WAAY,SAAQ,gBAAgB,CAAC,IAAI,CAAC;IAE/D,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,UAAU,GAAC,OAAO,CAAC,UAAU,CAAC;IAE5E,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC,GAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;CAIxD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeAdapter = void 0;
|
|
4
|
+
const core_1 = require("@omegagrid/core");
|
|
5
|
+
class TreeAdapter extends core_1.ComponentAdapter {
|
|
6
|
+
getOptions() {
|
|
7
|
+
return null;
|
|
8
|
+
}
|
|
9
|
+
}
|
|
10
|
+
exports.TreeAdapter = TreeAdapter;
|
|
11
|
+
//# sourceMappingURL=treeAdapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeAdapter.js","sourceRoot":"","sources":["../../src/model/treeAdapter.ts"],"names":[],"mappings":";;;AAEA,0CAAmD;AAInD,MAAsB,WAAY,SAAQ,uBAAsB;IAI/D,UAAU;QACT,OAAO,IAAI,CAAC;IACb,CAAC;CAED;AARD,kCAQC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { NodeModel, NodeSource } from "./nodeModel";
|
|
2
|
+
import { Options } from "../options";
|
|
3
|
+
import { NodePlaceholder } from "../types";
|
|
4
|
+
export type TreeSource = NodeSource[];
|
|
5
|
+
export declare class TreeModel {
|
|
6
|
+
options: Options;
|
|
7
|
+
readonly nodeMap: Map<string, NodeModel>;
|
|
8
|
+
private _root;
|
|
9
|
+
private _nodes;
|
|
10
|
+
private _visibleNodes;
|
|
11
|
+
private _maxLevel;
|
|
12
|
+
get maxLevel(): number;
|
|
13
|
+
get root(): NodeModel;
|
|
14
|
+
get nodes(): NodeModel[];
|
|
15
|
+
get visibleNodes(): (NodeModel | NodePlaceholder)[];
|
|
16
|
+
getNodeByViewIndex(index: number): NodeModel | NodePlaceholder;
|
|
17
|
+
constructor(source: TreeSource, options: Options);
|
|
18
|
+
populate(source: TreeSource): void;
|
|
19
|
+
insertNodes(index: number, nodes: number | NodeModel[]): NodeModel[];
|
|
20
|
+
deleteNodes(index: number, count: number): NodeModel[];
|
|
21
|
+
calculateNodeLevels(node: NodeModel): void;
|
|
22
|
+
indexNodes(calculateSubLevels?: boolean): void;
|
|
23
|
+
indexNodesByTree(calculateSubLevels?: boolean): void;
|
|
24
|
+
indexVisibleNodes(): void;
|
|
25
|
+
getSourceData(): NodeSource[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=treeModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeModel.d.ts","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,MAAM,UAAU,GAAG,UAAU,EAAE,CAAC;AAEtC,qBAAa,SAAS;IAgBkB,OAAO,EAAE,OAAO;IAdvD,SAAgB,OAAO,yBAAgC;IAEvD,OAAO,CAAC,KAAK,CAAY;IACzB,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,aAAa,CAAgC;IACrD,OAAO,CAAC,SAAS,CAAM;IAEvB,IAAI,QAAQ,WAA4B;IACxC,IAAI,IAAI,cAAwB;IAChC,IAAI,KAAK,gBAAyB;IAClC,IAAI,YAAY,oCAAgC;IAEhD,kBAAkB,CAAC,KAAK,EAAE,MAAM;gBAEpB,MAAM,EAAE,UAAU,EAAS,OAAO,EAAE,OAAO;IAIvD,QAAQ,CAAC,MAAM,EAAE,UAAU;IAS3B,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAC,SAAS,EAAE;IAWpD,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IASxC,mBAAmB,CAAC,IAAI,EAAE,SAAS;IAQnC,UAAU,CAAC,kBAAkB,UAAQ;IASrC,gBAAgB,CAAC,kBAAkB,UAAQ;IAa3C,iBAAiB;IAgBjB,aAAa;CAIb"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeModel = void 0;
|
|
4
|
+
const nodeModel_1 = require("./nodeModel");
|
|
5
|
+
const core_1 = require("@omegagrid/core");
|
|
6
|
+
class TreeModel {
|
|
7
|
+
get maxLevel() { return this._maxLevel; }
|
|
8
|
+
get root() { return this._root; }
|
|
9
|
+
get nodes() { return this._nodes; }
|
|
10
|
+
get visibleNodes() { return this._visibleNodes; }
|
|
11
|
+
getNodeByViewIndex(index) { return this.visibleNodes[index]; }
|
|
12
|
+
constructor(source, options) {
|
|
13
|
+
this.options = options;
|
|
14
|
+
this.nodeMap = new Map();
|
|
15
|
+
this._maxLevel = -1;
|
|
16
|
+
this.populate(source);
|
|
17
|
+
}
|
|
18
|
+
populate(source) {
|
|
19
|
+
this._root = new nodeModel_1.NodeModel(this, { k: null, v: null, i: -1 });
|
|
20
|
+
this._root.level = -1;
|
|
21
|
+
this._nodes = source.map((nodeSource, i) => new nodeModel_1.NodeModel(this, { ...nodeSource, i: i }));
|
|
22
|
+
this._maxLevel = core_1.tree.buildTree(this._nodes, this._root);
|
|
23
|
+
this.indexNodes(true);
|
|
24
|
+
this.indexVisibleNodes();
|
|
25
|
+
}
|
|
26
|
+
insertNodes(index, nodes) {
|
|
27
|
+
const parent = this.nodes[index].parent;
|
|
28
|
+
const count = isNaN(nodes) ? nodes.length : nodes;
|
|
29
|
+
const newNodes = isNaN(nodes) ? nodes : (new Array(count)).fill(null).map(() => new nodeModel_1.NodeModel(this, {}));
|
|
30
|
+
this.nodes.splice(index, 0, ...newNodes);
|
|
31
|
+
if (this.maxLevel > 0)
|
|
32
|
+
parent.insertChildren(newNodes, index - (parent.index || -1) - 1);
|
|
33
|
+
this.indexNodes();
|
|
34
|
+
this.indexVisibleNodes();
|
|
35
|
+
return newNodes;
|
|
36
|
+
}
|
|
37
|
+
deleteNodes(index, count) {
|
|
38
|
+
const parent = this.nodes[index].parent;
|
|
39
|
+
const deletedNodes = this.nodes.splice(index, count);
|
|
40
|
+
parent === null || parent === void 0 ? void 0 : parent.deleteChildren(deletedNodes);
|
|
41
|
+
this.indexNodes(true);
|
|
42
|
+
this.indexVisibleNodes();
|
|
43
|
+
return deletedNodes;
|
|
44
|
+
}
|
|
45
|
+
calculateNodeLevels(node) {
|
|
46
|
+
let parent = node.parent;
|
|
47
|
+
while (parent) {
|
|
48
|
+
parent.subLevels = Math.max(parent.subLevels, node.level - parent.level + (node.hasChildren ? 1 : 0));
|
|
49
|
+
parent = parent.parent;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
indexNodes(calculateSubLevels = false) {
|
|
53
|
+
this.nodeMap.clear();
|
|
54
|
+
this._nodes.forEach((node, i) => {
|
|
55
|
+
node.index = i;
|
|
56
|
+
this.nodeMap.set(node.key, node);
|
|
57
|
+
if (calculateSubLevels)
|
|
58
|
+
this.calculateNodeLevels(node);
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
indexNodesByTree(calculateSubLevels = false) {
|
|
62
|
+
this.nodeMap.clear();
|
|
63
|
+
this._nodes = [];
|
|
64
|
+
let n = 0;
|
|
65
|
+
this.root.walk((node) => {
|
|
66
|
+
node.index = n++;
|
|
67
|
+
this._nodes.push(node);
|
|
68
|
+
this.nodeMap.set(node.key, node);
|
|
69
|
+
if (calculateSubLevels)
|
|
70
|
+
this.calculateNodeLevels(node);
|
|
71
|
+
});
|
|
72
|
+
this.indexVisibleNodes();
|
|
73
|
+
}
|
|
74
|
+
indexVisibleNodes() {
|
|
75
|
+
var _a;
|
|
76
|
+
this._visibleNodes = [];
|
|
77
|
+
// perf optimization by distinguishing between paged and non-paged trees
|
|
78
|
+
const pageSize = (_a = this.options) === null || _a === void 0 ? void 0 : _a.pageSize;
|
|
79
|
+
if (pageSize > 0) {
|
|
80
|
+
this.root.walkVisible((node) => {
|
|
81
|
+
this._visibleNodes.push(node);
|
|
82
|
+
if (node.parent && node.parent.lastChild === node && node.parent.isPartialyLoaded) {
|
|
83
|
+
this._visibleNodes.push({ placeholder: true, parent: node.parent });
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
else {
|
|
88
|
+
this.root.walkVisible((node) => this._visibleNodes.push(node));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
getSourceData() {
|
|
92
|
+
return this.nodes.map(node => node.getSourceData());
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
exports.TreeModel = TreeModel;
|
|
96
|
+
//# sourceMappingURL=treeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"treeModel.js","sourceRoot":"","sources":["../../src/model/treeModel.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { CommonOptions } from "@omegagrid/core";
|
|
2
|
+
import { NodeModel } from "./model/nodeModel";
|
|
3
|
+
import { FolderOptions, ItemProperty, ItemTypeOptions, SelectMode } from "./types";
|
|
4
|
+
export type Options = {
|
|
5
|
+
alwaysRefresh: boolean;
|
|
6
|
+
nodeHeight: number;
|
|
7
|
+
renderingNodeTreshold: number;
|
|
8
|
+
selectMode: SelectMode | string;
|
|
9
|
+
levelIndent: number;
|
|
10
|
+
maxLevel: number;
|
|
11
|
+
globalLevels: boolean;
|
|
12
|
+
levelsAlwaysVisible: boolean;
|
|
13
|
+
checkboxes: boolean;
|
|
14
|
+
expanders: boolean;
|
|
15
|
+
allowEmpty: boolean;
|
|
16
|
+
autoClose: boolean;
|
|
17
|
+
search: boolean;
|
|
18
|
+
fileDrop: boolean;
|
|
19
|
+
pageSize: number;
|
|
20
|
+
customSearch: boolean;
|
|
21
|
+
folderOptions: FolderOptions;
|
|
22
|
+
itemProperties: ItemProperty[];
|
|
23
|
+
itemTypeOptions: Record<string, ItemTypeOptions>;
|
|
24
|
+
afterRenderer: (div: HTMLDivElement, node: NodeModel) => void;
|
|
25
|
+
} & CommonOptions;
|
|
26
|
+
export declare function initOptions(options?: Partial<Options>, origOptions?: Options): Options;
|
|
27
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AACA,OAAO,EAAqB,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAEnF,MAAM,MAAM,OAAO,GAAG;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,UAAU,GAAC,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,mBAAmB,EAAE,OAAO,CAAC;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,aAAa,EAAE,aAAa,CAAC;IAC7B,cAAc,EAAE,YAAY,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IACjD,aAAa,EAAE,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,KAAK,IAAI,CAAA;CAC7D,GAAG,aAAa,CAAA;AAqBjB,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,WAAW,GAAE,OAAc,GAAG,OAAO,CAO5F"}
|
package/dist/options.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.initOptions = void 0;
|
|
7
|
+
const constants_1 = __importDefault(require("./constants"));
|
|
8
|
+
const core_1 = require("@omegagrid/core");
|
|
9
|
+
const types_1 = require("./types");
|
|
10
|
+
const DEFAULT_OPTIONS = {
|
|
11
|
+
nodeHeight: constants_1.default.DEFAULT_NODE_HEIGHT,
|
|
12
|
+
renderingNodeTreshold: constants_1.default.RENDERING_NODE_TRESHOLD,
|
|
13
|
+
selectMode: types_1.SelectMode.MultipleLevels,
|
|
14
|
+
levelIndent: 10,
|
|
15
|
+
maxLevel: null,
|
|
16
|
+
globalLevels: true,
|
|
17
|
+
levelsAlwaysVisible: true,
|
|
18
|
+
allowEmpty: true,
|
|
19
|
+
itemProperties: [],
|
|
20
|
+
itemTypeOptions: {},
|
|
21
|
+
expanders: true,
|
|
22
|
+
search: false,
|
|
23
|
+
checkboxes: true,
|
|
24
|
+
autoClose: false,
|
|
25
|
+
folderOptions: null,
|
|
26
|
+
alwaysRefresh: true
|
|
27
|
+
};
|
|
28
|
+
function initOptions(options, origOptions = null) {
|
|
29
|
+
return {
|
|
30
|
+
...(0, core_1.initCommonOptions)(options, origOptions),
|
|
31
|
+
...DEFAULT_OPTIONS,
|
|
32
|
+
...origOptions,
|
|
33
|
+
...options,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
exports.initOptions = initOptions;
|
|
37
|
+
//# sourceMappingURL=options.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":";;;;;;AAAA,4DAAoC;AACpC,0CAAmE;AAEnE,mCAAmF;AAyBnF,MAAM,eAAe,GAAqB;IACzC,UAAU,EAAE,mBAAS,CAAC,mBAAmB;IACzC,qBAAqB,EAAE,mBAAS,CAAC,uBAAuB;IACxD,UAAU,EAAE,kBAAU,CAAC,cAAc;IACrC,WAAW,EAAE,EAAE;IACf,QAAQ,EAAE,IAAI;IACd,YAAY,EAAE,IAAI;IAClB,mBAAmB,EAAE,IAAI;IACzB,UAAU,EAAE,IAAI;IAChB,cAAc,EAAE,EAAE;IAClB,eAAe,EAAE,EAAE;IACnB,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,IAAI;IAChB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,IAAI;IACnB,aAAa,EAAE,IAAI;CACnB,CAAC;AAEF,SAAgB,WAAW,CAAC,OAA0B,EAAE,cAAuB,IAAI;IAClF,OAAO;QACN,GAAG,IAAA,wBAAiB,EAAC,OAAO,EAAE,WAAW,CAAC;QAC1C,GAAG,eAAe;QAClB,GAAG,WAAW;QACd,GAAG,OAAO;KACV,CAAC;AACH,CAAC;AAPD,kCAOC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { IconSpec } from "@omegagrid/core";
|
|
2
|
+
import { NodeModel } from "./model";
|
|
3
|
+
export declare enum SelectMode {
|
|
4
|
+
None = "none",
|
|
5
|
+
Single = "single",
|
|
6
|
+
Multiple = "multiple",
|
|
7
|
+
MultipleLevels = "multipleLevels"
|
|
8
|
+
}
|
|
9
|
+
export declare enum ItemPropertyType {
|
|
10
|
+
Numeric = "n",
|
|
11
|
+
Text = "t",
|
|
12
|
+
Date = "d",
|
|
13
|
+
Boolean = "b"
|
|
14
|
+
}
|
|
15
|
+
export type ItemProperty = {
|
|
16
|
+
name: string;
|
|
17
|
+
type: ItemPropertyType;
|
|
18
|
+
format: string;
|
|
19
|
+
};
|
|
20
|
+
export type ItemTypeOptions = {
|
|
21
|
+
folderIcon?: string;
|
|
22
|
+
openFolderIcon?: string;
|
|
23
|
+
};
|
|
24
|
+
export type FolderOptions = {
|
|
25
|
+
openIcon?: IconSpec | string;
|
|
26
|
+
closedIcon?: IconSpec | string;
|
|
27
|
+
};
|
|
28
|
+
export type TreeAdapterParams = {
|
|
29
|
+
parent?: NodeModel;
|
|
30
|
+
parentKey?: string;
|
|
31
|
+
offset?: number;
|
|
32
|
+
filter?: string;
|
|
33
|
+
};
|
|
34
|
+
export type NodePlaceholder = {
|
|
35
|
+
placeholder: true;
|
|
36
|
+
parent: NodeModel;
|
|
37
|
+
loading?: boolean;
|
|
38
|
+
element?: HTMLElement;
|
|
39
|
+
};
|
|
40
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEpC,oBAAY,UAAU;IACrB,IAAI,SAAS;IACb,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,cAAc,mBAAmB;CACjC;AAED,oBAAY,gBAAgB;IAC3B,OAAO,MAAM;IACb,IAAI,MAAM;IACV,IAAI,MAAM;IACV,OAAO,MAAM;CACb;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAA;CACd,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAA;CACvB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,CAAC,EAAE,QAAQ,GAAC,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,QAAQ,GAAC,MAAM,CAAA;CAC5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC/B,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CAEhB,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,WAAW,EAAE,IAAI,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAA;CACrB,CAAA"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ItemPropertyType = exports.SelectMode = void 0;
|
|
4
|
+
var SelectMode;
|
|
5
|
+
(function (SelectMode) {
|
|
6
|
+
SelectMode["None"] = "none";
|
|
7
|
+
SelectMode["Single"] = "single";
|
|
8
|
+
SelectMode["Multiple"] = "multiple";
|
|
9
|
+
SelectMode["MultipleLevels"] = "multipleLevels";
|
|
10
|
+
})(SelectMode || (exports.SelectMode = SelectMode = {}));
|
|
11
|
+
var ItemPropertyType;
|
|
12
|
+
(function (ItemPropertyType) {
|
|
13
|
+
ItemPropertyType["Numeric"] = "n";
|
|
14
|
+
ItemPropertyType["Text"] = "t";
|
|
15
|
+
ItemPropertyType["Date"] = "d";
|
|
16
|
+
ItemPropertyType["Boolean"] = "b";
|
|
17
|
+
})(ItemPropertyType || (exports.ItemPropertyType = ItemPropertyType = {}));
|
|
18
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";;;AAGA,IAAY,UAKX;AALD,WAAY,UAAU;IACrB,2BAAa,CAAA;IACb,+BAAiB,CAAA;IACjB,mCAAqB,CAAA;IACrB,+CAAiC,CAAA;AAClC,CAAC,EALW,UAAU,0BAAV,UAAU,QAKrB;AAED,IAAY,gBAKX;AALD,WAAY,gBAAgB;IAC3B,iCAAa,CAAA;IACb,8BAAU,CAAA;IACV,8BAAU,CAAA;IACV,iCAAa,CAAA;AACd,CAAC,EALW,gBAAgB,gCAAhB,gBAAgB,QAK3B"}
|