@wcardinal/wcardinal-ui 0.271.0 → 0.272.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/types/wcardinal/ui/d-tree-data-impl.d.ts +2 -2
- package/dist/types/wcardinal/ui/d-tree-data.d.ts +1 -1
- package/dist/types/wcardinal/ui/d-tree-item-updater.d.ts +1 -1
- package/dist/wcardinal/ui/d-tree-data-impl.js +7 -5
- package/dist/wcardinal/ui/d-tree-data-impl.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-data-selection-multiple.js +6 -4
- package/dist/wcardinal/ui/d-tree-data-selection-multiple.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-data-selection-single.js +6 -4
- package/dist/wcardinal/ui/d-tree-data-selection-single.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-data.js.map +1 -1
- package/dist/wcardinal/ui/d-tree-item-updater.js.map +1 -1
- package/dist/wcardinal-ui-theme-dark.js +1 -1
- package/dist/wcardinal-ui-theme-dark.min.js +1 -1
- package/dist/wcardinal-ui-theme-white.js +1 -1
- package/dist/wcardinal-ui-theme-white.min.js +1 -1
- package/dist/wcardinal-ui.cjs.js +20 -14
- package/dist/wcardinal-ui.js +20 -14
- package/dist/wcardinal-ui.min.js +2 -2
- package/dist/wcardinal-ui.min.js.map +1 -1
- package/package.json +1 -1
|
@@ -5,7 +5,7 @@ import { DTreeNodeIteratee } from "./d-tree-node-iteratee";
|
|
|
5
5
|
import { DTreeDataSelection } from "./d-tree-data-selection";
|
|
6
6
|
import { DTreeDataMapped } from "./d-tree-data-mapped";
|
|
7
7
|
export interface DTreeDataImplParent {
|
|
8
|
-
update(): void;
|
|
8
|
+
update(forcibly?: boolean): void;
|
|
9
9
|
}
|
|
10
10
|
export interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {
|
|
11
11
|
onNodeChange(nodes: NODE[]): void;
|
|
@@ -24,7 +24,7 @@ export declare class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<
|
|
|
24
24
|
get mapped(): DTreeDataMapped<NODE>;
|
|
25
25
|
get accessor(): DTreeNodeAccessor<NODE>;
|
|
26
26
|
get selection(): DTreeDataSelection<NODE>;
|
|
27
|
-
update(): void;
|
|
27
|
+
update(forcibly?: boolean): void;
|
|
28
28
|
toggle(target: NODE): boolean;
|
|
29
29
|
expand(target: NODE): boolean;
|
|
30
30
|
collapse(target: NODE): boolean;
|
|
@@ -3,7 +3,7 @@ import { DTreeData } from "./d-tree-data";
|
|
|
3
3
|
import { DTreeDataMapped } from "./d-tree-data-mapped";
|
|
4
4
|
import { DTreeItem } from "./d-tree-item";
|
|
5
5
|
import { DTreeNode } from "./d-tree-node";
|
|
6
|
-
export interface DTreeItemUpdaterOptions<NODE> extends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {
|
|
6
|
+
export interface DTreeItemUpdaterOptions<NODE extends DTreeNode> extends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {
|
|
7
7
|
}
|
|
8
8
|
export declare class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<NODE, DTreeData<NODE>, DTreeDataMapped<NODE>, DTreeItem<NODE>, DTreeItemUpdaterOptions<NODE>> {
|
|
9
9
|
protected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE>;
|
|
@@ -44,9 +44,7 @@ var DTreeDataImpl = /** @class */ (function () {
|
|
|
44
44
|
},
|
|
45
45
|
set: function (nodes) {
|
|
46
46
|
this._nodes = nodes;
|
|
47
|
-
this.
|
|
48
|
-
this._selection.onNodeChange(nodes);
|
|
49
|
-
this.update();
|
|
47
|
+
this.update(true);
|
|
50
48
|
},
|
|
51
49
|
enumerable: false,
|
|
52
50
|
configurable: true
|
|
@@ -72,8 +70,12 @@ var DTreeDataImpl = /** @class */ (function () {
|
|
|
72
70
|
enumerable: false,
|
|
73
71
|
configurable: true
|
|
74
72
|
});
|
|
75
|
-
DTreeDataImpl.prototype.update = function () {
|
|
76
|
-
|
|
73
|
+
DTreeDataImpl.prototype.update = function (forcibly) {
|
|
74
|
+
if (forcibly) {
|
|
75
|
+
this._mapped.toDirty();
|
|
76
|
+
this._selection.onNodeChange(this._nodes);
|
|
77
|
+
}
|
|
78
|
+
this._parent.update(forcibly);
|
|
77
79
|
};
|
|
78
80
|
DTreeDataImpl.prototype.toggle = function (target) {
|
|
79
81
|
var nodeToFlag = this._nodeToFlag;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-data-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeData, DTreeDataOptions } from \"./d-tree-data\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor } from \"./d-tree-node-accessor\";\nimport { DTreeNodeAccessorImpl } from \"./d-tree-node-accessor-impl\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\nimport { DTreeDataSelection, DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataMappedImpl } from \"./d-tree-data-mapped-impl\";\nimport { DTreeDataSelectionMultiple } from \"./d-tree-data-selection-multiple\";\nimport { DTreeDataSelectionSingle } from \"./d-tree-data-selection-single\";\nimport { DTreeDataSelectionNone } from \"./d-tree-data-selection-none\";\n\nexport interface DTreeDataImplParent {\n\tupdate(): void;\n}\n\nexport interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {\n\tonNodeChange(nodes: NODE[]): void;\n}\n\nexport class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<NODE> {\n\tprotected _parent: DTreeDataImplParent;\n\tprotected _nodeToFlag: WeakMap<NODE, number>;\n\tprotected _selection: DTreeDataImplSelection<NODE>;\n\tprotected _nodes: NODE[];\n\tprotected _accessor: DTreeNodeAccessor<NODE>;\n\tprotected _mapped: DTreeDataMapped<NODE>;\n\n\tconstructor(parent: DTreeDataImplParent, options?: DTreeDataOptions<NODE>) {\n\t\tthis._parent = parent;\n\t\tthis._nodeToFlag = new WeakMap<NODE, number>();\n\t\tthis._selection = this.toSelection(options);\n\t\tthis._accessor = new DTreeNodeAccessorImpl(options);\n\t\tconst mapped = new DTreeDataMappedImpl<NODE>(this, !!options?.reverse);\n\t\tthis._mapped = mapped;\n\n\t\tconst nodes = options?.nodes;\n\t\tif (nodes != null) {\n\t\t\tthis._nodes = nodes;\n\t\t\tmapped.toDirty();\n\t\t} else {\n\t\t\tthis._nodes = [];\n\t\t}\n\t}\n\n\tprotected toSelection(options?: DTreeDataOptions<NODE>): DTreeDataImplSelection<NODE> {\n\t\tconst selection = options?.selection;\n\t\tswitch (selection?.type) {\n\t\t\tcase DTreeDataSelectionType.NONE:\n\t\t\tcase \"NONE\":\n\t\t\t\treturn new DTreeDataSelectionNone<NODE>(this, selection);\n\t\t\tcase DTreeDataSelectionType.MULTIPLE:\n\t\t\tcase \"MULTIPLE\":\n\t\t\t\treturn new DTreeDataSelectionMultiple<NODE>(this, selection);\n\t\t\tdefault:\n\t\t\t\treturn new DTreeDataSelectionSingle<NODE>(this, selection);\n\t\t}\n\t}\n\n\tget nodes(): NODE[] {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[]) {\n\t\tthis._nodes = nodes;\n\t\tthis._mapped.toDirty();\n\t\tthis._selection.onNodeChange(nodes);\n\t\tthis.update();\n\t}\n\n\tget mapped(): DTreeDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n\n\tget accessor(): DTreeNodeAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tget selection(): DTreeDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tupdate(): void {\n\t\tthis._parent.update();\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t} else {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t}\n\t\tthis._mapped.toDirty();\n\t\tthis.update();\n\t\treturn true;\n\t}\n\n\texpand(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (!nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\texpandAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (!nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.set(node, 1);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapseAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.delete(node);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(target: NODE): boolean {\n\t\treturn !this.isExpanded(target);\n\t}\n\n\tisExpanded(target: NODE): boolean {\n\t\treturn this._nodeToFlag.has(target);\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.length) {\n\t\t\tnodes.length = 0;\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.clear();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === target) {\n\t\t\t\tnodes.splice(index, 1);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.remove(target);\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(target: NODE, parent?: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tif (parent) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst children = accessor.toChildren(parent);\n\t\t\tif (children) {\n\t\t\t\tchildren.push(target);\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tconst newChildren = accessor.newChildren(parent);\n\t\t\t\tif (newChildren) {\n\t\t\t\t\tnewChildren.push(target);\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst nodes = this._nodes;\n\t\t\tif (nodes) {\n\t\t\t\tnodes.push(target);\n\t\t\t} else {\n\t\t\t\tthis._nodes = [target];\n\t\t\t}\n\t\t\tisDirty = true;\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn true;\n\t}\n\n\taddBefore(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\taddAfter(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index + 1, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\teach(iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst value = this._nodes;\n\t\tif (value) {\n\t\t\tthis.each_(value, null, iteratee);\n\t\t}\n\t}\n\n\tprotected each_(nodes: NODE[], parent: NODE | null, iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst toChildren = this._accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (iteratee(node, i, nodes, parent) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children) {\n\t\t\t\tthis.each_(children, node, iteratee);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-tree-data-impl.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-impl.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeData, DTreeDataOptions } from \"./d-tree-data\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor } from \"./d-tree-node-accessor\";\nimport { DTreeNodeAccessorImpl } from \"./d-tree-node-accessor-impl\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\nimport { DTreeDataSelection, DTreeDataSelectionType } from \"./d-tree-data-selection\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataMappedImpl } from \"./d-tree-data-mapped-impl\";\nimport { DTreeDataSelectionMultiple } from \"./d-tree-data-selection-multiple\";\nimport { DTreeDataSelectionSingle } from \"./d-tree-data-selection-single\";\nimport { DTreeDataSelectionNone } from \"./d-tree-data-selection-none\";\n\nexport interface DTreeDataImplParent {\n\tupdate(forcibly?: boolean): void;\n}\n\nexport interface DTreeDataImplSelection<NODE extends DTreeNode> extends DTreeDataSelection<NODE> {\n\tonNodeChange(nodes: NODE[]): void;\n}\n\nexport class DTreeDataImpl<NODE extends DTreeNode> implements DTreeData<NODE> {\n\tprotected _parent: DTreeDataImplParent;\n\tprotected _nodeToFlag: WeakMap<NODE, number>;\n\tprotected _selection: DTreeDataImplSelection<NODE>;\n\tprotected _nodes: NODE[];\n\tprotected _accessor: DTreeNodeAccessor<NODE>;\n\tprotected _mapped: DTreeDataMapped<NODE>;\n\n\tconstructor(parent: DTreeDataImplParent, options?: DTreeDataOptions<NODE>) {\n\t\tthis._parent = parent;\n\t\tthis._nodeToFlag = new WeakMap<NODE, number>();\n\t\tthis._selection = this.toSelection(options);\n\t\tthis._accessor = new DTreeNodeAccessorImpl(options);\n\t\tconst mapped = new DTreeDataMappedImpl<NODE>(this, !!options?.reverse);\n\t\tthis._mapped = mapped;\n\n\t\tconst nodes = options?.nodes;\n\t\tif (nodes != null) {\n\t\t\tthis._nodes = nodes;\n\t\t\tmapped.toDirty();\n\t\t} else {\n\t\t\tthis._nodes = [];\n\t\t}\n\t}\n\n\tprotected toSelection(options?: DTreeDataOptions<NODE>): DTreeDataImplSelection<NODE> {\n\t\tconst selection = options?.selection;\n\t\tswitch (selection?.type) {\n\t\t\tcase DTreeDataSelectionType.NONE:\n\t\t\tcase \"NONE\":\n\t\t\t\treturn new DTreeDataSelectionNone<NODE>(this, selection);\n\t\t\tcase DTreeDataSelectionType.MULTIPLE:\n\t\t\tcase \"MULTIPLE\":\n\t\t\t\treturn new DTreeDataSelectionMultiple<NODE>(this, selection);\n\t\t\tdefault:\n\t\t\t\treturn new DTreeDataSelectionSingle<NODE>(this, selection);\n\t\t}\n\t}\n\n\tget nodes(): NODE[] {\n\t\treturn this._nodes;\n\t}\n\n\tset nodes(nodes: NODE[]) {\n\t\tthis._nodes = nodes;\n\t\tthis.update(true);\n\t}\n\n\tget mapped(): DTreeDataMapped<NODE> {\n\t\treturn this._mapped;\n\t}\n\n\tget accessor(): DTreeNodeAccessor<NODE> {\n\t\treturn this._accessor;\n\t}\n\n\tget selection(): DTreeDataSelection<NODE> {\n\t\treturn this._selection;\n\t}\n\n\tupdate(forcibly?: boolean): void {\n\t\tif (forcibly) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.onNodeChange(this._nodes);\n\t\t}\n\t\tthis._parent.update(forcibly);\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t} else {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t}\n\t\tthis._mapped.toDirty();\n\t\tthis.update();\n\t\treturn true;\n\t}\n\n\texpand(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (!nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.set(target, 1);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapse(target: NODE): boolean {\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tif (nodeToFlag.has(target)) {\n\t\t\tnodeToFlag.delete(target);\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\texpandAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (!nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.set(node, 1);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tcollapseAll(): boolean {\n\t\tlet isDirty = false;\n\t\tconst nodeToFlag = this._nodeToFlag;\n\t\tthis.each((node): void => {\n\t\t\tif (nodeToFlag.has(node)) {\n\t\t\t\tnodeToFlag.delete(node);\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tisCollapsed(target: NODE): boolean {\n\t\treturn !this.isExpanded(target);\n\t}\n\n\tisExpanded(target: NODE): boolean {\n\t\treturn this._nodeToFlag.has(target);\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.length) {\n\t\t\tnodes.length = 0;\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.clear();\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === target) {\n\t\t\t\tnodes.splice(index, 1);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis._selection.remove(target);\n\t\t\tthis.update();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tadd(target: NODE, parent?: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tif (parent) {\n\t\t\tconst accessor = this._accessor;\n\t\t\tconst children = accessor.toChildren(parent);\n\t\t\tif (children) {\n\t\t\t\tchildren.push(target);\n\t\t\t\tisDirty = true;\n\t\t\t} else {\n\t\t\t\tconst newChildren = accessor.newChildren(parent);\n\t\t\t\tif (newChildren) {\n\t\t\t\t\tnewChildren.push(target);\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t}\n\t\t} else {\n\t\t\tconst nodes = this._nodes;\n\t\t\tif (nodes) {\n\t\t\t\tnodes.push(target);\n\t\t\t} else {\n\t\t\t\tthis._nodes = [target];\n\t\t\t}\n\t\t\tisDirty = true;\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn true;\n\t}\n\n\taddBefore(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\taddAfter(target: NODE, sibling: NODE): boolean {\n\t\tlet isDirty = false;\n\t\tthis.each((node, index, nodes): boolean => {\n\t\t\tif (node === sibling) {\n\t\t\t\tnodes.splice(index + 1, 0, target);\n\t\t\t\tisDirty = true;\n\t\t\t\treturn false;\n\t\t\t}\n\t\t\treturn true;\n\t\t});\n\t\tif (isDirty) {\n\t\t\tthis._mapped.toDirty();\n\t\t\tthis.update();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\teach(iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst value = this._nodes;\n\t\tif (value) {\n\t\t\tthis.each_(value, null, iteratee);\n\t\t}\n\t}\n\n\tprotected each_(nodes: NODE[], parent: NODE | null, iteratee: DTreeNodeIteratee<NODE>): void {\n\t\tconst toChildren = this._accessor.toChildren;\n\t\tfor (let i = 0, imax = nodes.length; i < imax; ++i) {\n\t\t\tconst node = nodes[i];\n\t\t\tif (iteratee(node, i, nodes, parent) === false) {\n\t\t\t\treturn;\n\t\t\t}\n\t\t\tconst children = toChildren(node);\n\t\t\tif (children) {\n\t\t\t\tthis.each_(children, node, iteratee);\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
|
|
@@ -192,10 +192,12 @@ var DTreeDataSelectionMultiple = /** @class */ (function (_super) {
|
|
|
192
192
|
};
|
|
193
193
|
DTreeDataSelectionMultiple.prototype.onNodeChange = function (nodes) {
|
|
194
194
|
var oldNodes = this._nodes;
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
195
|
+
if (0 < oldNodes.size) {
|
|
196
|
+
var newNodes = this.newNodes(nodes, oldNodes, new Set());
|
|
197
|
+
if (oldNodes.size !== newNodes.size) {
|
|
198
|
+
this._nodes = newNodes;
|
|
199
|
+
this.onChange();
|
|
200
|
+
}
|
|
199
201
|
}
|
|
200
202
|
};
|
|
201
203
|
DTreeDataSelectionMultiple.prototype.newNodes = function (items, existing, result) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-data-selection-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-multiple.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionMultiple<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _nodes: Set<NODE>;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._nodes = new Set<NODE>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.MULTIPLE;\n\t}\n\n\tget first(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((item: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = item;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 <= index && index < nodes.size) {\n\t\t\tlet counter = 0;\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((node): void => {\n\t\t\t\tif (counter === index) {\n\t\t\t\t\tresult = node;\n\t\t\t\t}\n\t\t\t\tcounter += 1;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (!nodes.has(target)) {\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t} else {\n\t\t\tnodes.add(target);\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tnodes.clear();\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tconst size = nodes.size;\n\t\tif (size === 1) {\n\t\t\tif (nodes.has(target)) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tnodes.clear();\n\t\t\t\tnodes.add(target);\n\t\t\t\tthis.onChange();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else {\n\t\t\tnodes.clear();\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tlet isDirty = false;\n\t\tconst newNodes = new Set<NODE>();\n\t\tconst oldNodes = this._nodes;\n\t\tfor (let i = 0, imax = targets.length; i < imax; ++i) {\n\t\t\tconst target = targets[i];\n\t\t\tif (!oldNodes.has(target)) {\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t\tnewNodes.add(target);\n\t\t}\n\t\tif (!isDirty) {\n\t\t\toldNodes.forEach((oldItem): void => {\n\t\t\t\tif (!newNodes.has(oldItem)) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._nodes.has(target);\n\t}\n\n\tsize(): number {\n\t\treturn this._nodes.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._nodes.size <= 0;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tlet isCanceled = false;\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(item) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tresult.push(item);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNodes = this._nodes;\n\t\tconst newNodes = this.newNodes(nodes, oldNodes, new Set<NODE>());\n\t\tif (oldNodes.size !== newNodes.size) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t}\n\n\tprotected newNodes(items: NODE[], existing: Set<NODE>, result: Set<NODE>): Set<NODE> {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing.has(item)) {\n\t\t\t\tresult.add(item);\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tthis.newNodes(children, existing, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-tree-data-selection-multiple.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-multiple.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionMultiple<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _nodes: Set<NODE>;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._nodes = new Set<NODE>();\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.MULTIPLE;\n\t}\n\n\tget first(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((item: NODE): void => {\n\t\t\t\tif (result == null) {\n\t\t\t\t\tresult = item;\n\t\t\t\t}\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget last(): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((row: NODE): void => {\n\t\t\t\tresult = row;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tconst nodes = this._nodes;\n\t\tif (0 <= index && index < nodes.size) {\n\t\t\tlet counter = 0;\n\t\t\tlet result: NODE | null = null;\n\t\t\tnodes.forEach((node): void => {\n\t\t\t\tif (counter === index) {\n\t\t\t\t\tresult = node;\n\t\t\t\t}\n\t\t\t\tcounter += 1;\n\t\t\t});\n\t\t\treturn result;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (!nodes.has(target)) {\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (nodes.has(target)) {\n\t\t\tnodes.delete(target);\n\t\t} else {\n\t\t\tnodes.add(target);\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tconst nodes = this._nodes;\n\t\tif (0 < nodes.size) {\n\t\t\tnodes.clear();\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tconst nodes = this._nodes;\n\t\tconst size = nodes.size;\n\t\tif (size === 1) {\n\t\t\tif (nodes.has(target)) {\n\t\t\t\treturn false;\n\t\t\t} else {\n\t\t\t\tnodes.clear();\n\t\t\t\tnodes.add(target);\n\t\t\t\tthis.onChange();\n\t\t\t\treturn true;\n\t\t\t}\n\t\t} else {\n\t\t\tnodes.clear();\n\t\t\tnodes.add(target);\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tlet isDirty = false;\n\t\tconst newNodes = new Set<NODE>();\n\t\tconst oldNodes = this._nodes;\n\t\tfor (let i = 0, imax = targets.length; i < imax; ++i) {\n\t\t\tconst target = targets[i];\n\t\t\tif (!oldNodes.has(target)) {\n\t\t\t\tisDirty = true;\n\t\t\t}\n\t\t\tnewNodes.add(target);\n\t\t}\n\t\tif (!isDirty) {\n\t\t\toldNodes.forEach((oldItem): void => {\n\t\t\t\tif (!newNodes.has(oldItem)) {\n\t\t\t\t\tisDirty = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t\tif (isDirty) {\n\t\t\tthis._nodes = newNodes;\n\t\t\tthis.onChange();\n\t\t}\n\t\treturn isDirty;\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._nodes.has(target);\n\t}\n\n\tsize(): number {\n\t\treturn this._nodes.size;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._nodes.size <= 0;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tlet isCanceled = false;\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tif (!isCanceled) {\n\t\t\t\tif (iteratee(item) === false) {\n\t\t\t\t\tisCanceled = true;\n\t\t\t\t}\n\t\t\t}\n\t\t});\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst result: NODE[] = [];\n\t\tthis._nodes.forEach((item): void => {\n\t\t\tresult.push(item);\n\t\t});\n\t\treturn result;\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNodes = this._nodes;\n\t\tif (0 < oldNodes.size) {\n\t\t\tconst newNodes = this.newNodes(nodes, oldNodes, new Set<NODE>());\n\t\t\tif (oldNodes.size !== newNodes.size) {\n\t\t\t\tthis._nodes = newNodes;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newNodes(items: NODE[], existing: Set<NODE>, result: Set<NODE>): Set<NODE> {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing.has(item)) {\n\t\t\t\tresult.add(item);\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tthis.newNodes(children, existing, result);\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n}\n"]}
|
|
@@ -131,10 +131,12 @@ var DTreeDataSelectionSingle = /** @class */ (function (_super) {
|
|
|
131
131
|
};
|
|
132
132
|
DTreeDataSelectionSingle.prototype.onNodeChange = function (nodes) {
|
|
133
133
|
var oldNode = this._node;
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
if (oldNode != null) {
|
|
135
|
+
var newNode = this.newNode(nodes, oldNode);
|
|
136
|
+
if (oldNode !== newNode) {
|
|
137
|
+
this._node = newNode;
|
|
138
|
+
this.onChange();
|
|
139
|
+
}
|
|
138
140
|
}
|
|
139
141
|
};
|
|
140
142
|
DTreeDataSelectionSingle.prototype.newNode = function (items, existing) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-data-selection-single.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-single.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"d-tree-data-selection-single.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data-selection-single.ts"],"names":[],"mappings":"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","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { utils } from \"pixi.js\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeDataSelectionParent } from \"./d-tree-data-selection-parent\";\nimport {\n\tDTreeDataSelection,\n\tDTreeDataSelectionOptions,\n\tDTreeDataSelectionType\n} from \"./d-tree-data-selection\";\n\nexport class DTreeDataSelectionSingle<NODE extends DTreeNode>\n\textends utils.EventEmitter\n\timplements DTreeDataSelection<NODE>\n{\n\tprotected _parent: DTreeDataSelectionParent<NODE>;\n\tprotected _node: NODE | null;\n\n\tconstructor(parent: DTreeDataSelectionParent<NODE>, options?: DTreeDataSelectionOptions<NODE>) {\n\t\tsuper();\n\t\tthis._parent = parent;\n\t\tthis._node = null;\n\n\t\t// Events\n\t\tconst on = options?.on;\n\t\tif (on) {\n\t\t\tfor (const name in on) {\n\t\t\t\tconst handler = on[name];\n\t\t\t\tif (handler) {\n\t\t\t\t\tthis.on(name, handler);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\tget type(): DTreeDataSelectionType {\n\t\treturn DTreeDataSelectionType.SINGLE;\n\t}\n\n\tget first(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget last(): NODE | null {\n\t\treturn this._node;\n\t}\n\n\tget(index: number): NODE | null {\n\t\tif (index === 0) {\n\t\t\treturn this._node;\n\t\t}\n\t\treturn null;\n\t}\n\n\tadd(target: NODE): boolean {\n\t\tif (this._node !== target) {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tremove(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\ttoggle(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\tthis._node = null;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t}\n\t\tthis.onChange();\n\t\treturn true;\n\t}\n\n\tclear(): boolean {\n\t\tif (this._node != null) {\n\t\t\tthis._node = null;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t\treturn false;\n\t}\n\n\tclearAndAdd(target: NODE): boolean {\n\t\tif (this._node === target) {\n\t\t\treturn false;\n\t\t} else {\n\t\t\tthis._node = target;\n\t\t\tthis.onChange();\n\t\t\treturn true;\n\t\t}\n\t}\n\n\tclearAndAddAll(targets: NODE[]): boolean {\n\t\tif (0 < targets.length) {\n\t\t\tconst last = targets[targets.length - 1];\n\t\t\treturn this.clearAndAdd(last);\n\t\t} else {\n\t\t\treturn this.clear();\n\t\t}\n\t}\n\n\tcontains(target: NODE): boolean {\n\t\treturn this._node === target;\n\t}\n\n\tsize(): number {\n\t\treturn this._node != null ? 1 : 0;\n\t}\n\n\tisEmpty(): boolean {\n\t\treturn this._node == null;\n\t}\n\n\teach(iteratee: (node: NODE) => boolean | void): void {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\titeratee(node);\n\t\t}\n\t}\n\n\ttoArray(): NODE[] {\n\t\tconst node = this._node;\n\t\tif (node != null) {\n\t\t\treturn [node];\n\t\t}\n\t\treturn [];\n\t}\n\n\tprotected onChange(): void {\n\t\tthis._parent.update();\n\t\tthis.emit(\"change\", this);\n\t}\n\n\tonNodeChange(nodes: NODE[]): void {\n\t\tconst oldNode = this._node;\n\t\tif (oldNode != null) {\n\t\t\tconst newNode = this.newNode(nodes, oldNode);\n\t\t\tif (oldNode !== newNode) {\n\t\t\t\tthis._node = newNode;\n\t\t\t\tthis.onChange();\n\t\t\t}\n\t\t}\n\t}\n\n\tprotected newNode(items: NODE[], existing: NODE | null): NODE | null {\n\t\tconst toChildren = this._parent.accessor.toChildren;\n\t\tfor (let i = 0, imax = items.length; i < imax; ++i) {\n\t\t\tconst item = items[i];\n\t\t\tif (existing === item) {\n\t\t\t\treturn item;\n\t\t\t}\n\t\t\tconst children = toChildren(item);\n\t\t\tif (children) {\n\t\t\t\tconst result = this.newNode(children, existing);\n\t\t\t\tif (result != null) {\n\t\t\t\t\treturn result;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn null;\n\t}\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param item a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-tree-data.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-data.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeDataSelection, DTreeDataSelectionOptions } from \"./d-tree-data-selection\";\nimport { DTreeNode } from \"./d-tree-node\";\nimport { DTreeNodeAccessor, DTreeNodeAccessorOptions } from \"./d-tree-node-accessor\";\nimport { DTreeNodeIteratee } from \"./d-tree-node-iteratee\";\n\nexport interface DTreeDataOptions<NODE extends DTreeNode> extends DTreeNodeAccessorOptions<NODE> {\n\tnodes?: NODE[];\n\n\t/**\n\t * Selection options.\n\t */\n\tselection?: DTreeDataSelectionOptions<NODE>;\n\n\t/**\n\t * True to list up nodes in the given node array in the reverse order.\n\t */\n\treverse?: boolean;\n}\n\nexport interface DTreeDataLike<NODE extends DTreeNode> {\n\t/**\n\t * A selection.\n\t *\n\t * @returns a selection\n\t */\n\treadonly selection: DTreeDataSelection<NODE>;\n\n\tupdate(forcibly?: boolean): void;\n\n\t/**\n\t * Toggles the given node,\n\t *\n\t * @param target a node\n\t * @retrn true if succeeded\n\t */\n\ttoggle(target: NODE): boolean;\n\n\t/**\n\t * Expands the given node.\n\t *\n\t * @param target a node to be expanded\n\t * @return true if succeeded\n\t */\n\texpand(target: NODE): boolean;\n\n\t/**\n\t * Collapses the given node.\n\t *\n\t * @param target a node to be collapsed\n\t * @return true if succeeded\n\t */\n\tcollapse(target: NODE): boolean;\n\n\t/**\n\t * Expands all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\texpandAll(): boolean;\n\n\t/**\n\t * Collapses all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tcollapseAll(): boolean;\n\n\t/**\n\t * Returns true if the given node is collapsed.\n\t *\n\t * @param target a node to be checked.\n\t * @returns true if the given node is collapsed\n\t */\n\tisCollapsed(target: NODE): boolean;\n\n\t/**\n\t * Returns true if the given item is expanded.\n\t *\n\t * @param target an item to be checked\n\t * @returns true if the given item is expanded\n\t */\n\tisExpanded(target: NODE): boolean;\n\n\t/**\n\t * Clears all the nodes.\n\t *\n\t * @return true if the data is changed\n\t */\n\tclear(): boolean;\n\n\t/**\n\t * Removes the given node.\n\t *\n\t * @param item a node to be removed\n\t * @return true if succeeded\n\t */\n\tremove(target: NODE): boolean;\n\n\t/**\n\t * Inserts a node.\n\t *\n\t * @param target a new node\n\t * @param parent a parent node\n\t * @return true if the data is changed\n\t */\n\tadd(target: NODE, parent?: NODE): boolean;\n\n\t/**\n\t * Inserts the given node before the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddBefore(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Inserts the given node after the given sibling.\n\t *\n\t * @param target a new node\n\t * @param sibling a sibling node\n\t * @return true if the data is changed\n\t */\n\taddAfter(target: NODE, sibling: NODE): boolean;\n\n\t/**\n\t * Iterates over all the nodes.\n\t * If the iteratee explicitly returns false, stops an iteration.\n\t *\n\t * @param iteratee an iteratee\n\t */\n\teach(iteratee: DTreeNodeIteratee<NODE>): void;\n}\n\nexport interface DTreeData<NODE extends DTreeNode> extends DTreeDataLike<NODE> {\n\tnodes: NODE[];\n\tmapped: DTreeDataMapped<NODE>;\n\treadonly accessor: DTreeNodeAccessor<NODE>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"d-tree-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMlE;IAA0E,oCAMzE;IAND;;IAcA,CAAC;IAPU,mCAAQ,GAAlB,UAAmB,IAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAES,kCAAO,GAAjB,UAAmC,IAAqB;QACvD,OAAO,IAAI,oBAAoB,CAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;IACF,uBAAC;AAAD,CAAC,AAdD,CAA0E,YAAY,GAcrF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DItemUpdater, DItemUpdaterOptions } from \"./d-item-updater\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemNonEditable } from \"./d-tree-item-non-editable\";\nimport { DTreeNode } from \"./d-tree-node\";\n\nexport interface DTreeItemUpdaterOptions<NODE>\n\textends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {}\n\nexport class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<\n\tNODE,\n\tDTreeData<NODE>,\n\tDTreeDataMapped<NODE>,\n\tDTreeItem<NODE>,\n\tDTreeItemUpdaterOptions<NODE>\n> {\n\tprotected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE> {\n\t\treturn data.mapped;\n\t}\n\n\tprotected newItem(this: undefined, data: DTreeData<NODE>): DTreeItem<NODE> {\n\t\treturn new DTreeItemNonEditable<NODE>(data);\n\t}\n}\n"]}
|
|
1
|
+
{"version":3,"file":"d-tree-item-updater.js","sourceRoot":"","sources":["../../../src/main/typescript/wcardinal/ui/d-tree-item-updater.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAuB,MAAM,kBAAkB,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAMlE;IAA0E,oCAMzE;IAND;;IAcA,CAAC;IAPU,mCAAQ,GAAlB,UAAmB,IAAqB;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC;IACpB,CAAC;IAES,kCAAO,GAAjB,UAAmC,IAAqB;QACvD,OAAO,IAAI,oBAAoB,CAAO,IAAI,CAAC,CAAC;IAC7C,CAAC;IACF,uBAAC;AAAD,CAAC,AAdD,CAA0E,YAAY,GAcrF","sourcesContent":["/*\n * Copyright (C) 2019 Toshiba Corporation\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { DItemUpdater, DItemUpdaterOptions } from \"./d-item-updater\";\nimport { DTreeData } from \"./d-tree-data\";\nimport { DTreeDataMapped } from \"./d-tree-data-mapped\";\nimport { DTreeItem } from \"./d-tree-item\";\nimport { DTreeItemNonEditable } from \"./d-tree-item-non-editable\";\nimport { DTreeNode } from \"./d-tree-node\";\n\nexport interface DTreeItemUpdaterOptions<NODE extends DTreeNode>\n\textends DItemUpdaterOptions<NODE, DTreeData<NODE>, DTreeItem<NODE>> {}\n\nexport class DTreeItemUpdater<NODE extends DTreeNode = DTreeNode> extends DItemUpdater<\n\tNODE,\n\tDTreeData<NODE>,\n\tDTreeDataMapped<NODE>,\n\tDTreeItem<NODE>,\n\tDTreeItemUpdaterOptions<NODE>\n> {\n\tprotected toMapped(data: DTreeData<NODE>): DTreeDataMapped<NODE> {\n\t\treturn data.mapped;\n\t}\n\n\tprotected newItem(this: undefined, data: DTreeData<NODE>): DTreeItem<NODE> {\n\t\treturn new DTreeItemNonEditable<NODE>(data);\n\t}\n}\n"]}
|
package/dist/wcardinal-ui.cjs.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.272.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -89956,10 +89956,12 @@ var DTreeDataSelectionMultiple = /** @class */ (function (_super) {
|
|
|
89956
89956
|
};
|
|
89957
89957
|
DTreeDataSelectionMultiple.prototype.onNodeChange = function (nodes) {
|
|
89958
89958
|
var oldNodes = this._nodes;
|
|
89959
|
-
|
|
89960
|
-
|
|
89961
|
-
|
|
89962
|
-
|
|
89959
|
+
if (0 < oldNodes.size) {
|
|
89960
|
+
var newNodes = this.newNodes(nodes, oldNodes, new Set());
|
|
89961
|
+
if (oldNodes.size !== newNodes.size) {
|
|
89962
|
+
this._nodes = newNodes;
|
|
89963
|
+
this.onChange();
|
|
89964
|
+
}
|
|
89963
89965
|
}
|
|
89964
89966
|
};
|
|
89965
89967
|
DTreeDataSelectionMultiple.prototype.newNodes = function (items, existing, result) {
|
|
@@ -90109,10 +90111,12 @@ var DTreeDataSelectionSingle = /** @class */ (function (_super) {
|
|
|
90109
90111
|
};
|
|
90110
90112
|
DTreeDataSelectionSingle.prototype.onNodeChange = function (nodes) {
|
|
90111
90113
|
var oldNode = this._node;
|
|
90112
|
-
|
|
90113
|
-
|
|
90114
|
-
|
|
90115
|
-
|
|
90114
|
+
if (oldNode != null) {
|
|
90115
|
+
var newNode = this.newNode(nodes, oldNode);
|
|
90116
|
+
if (oldNode !== newNode) {
|
|
90117
|
+
this._node = newNode;
|
|
90118
|
+
this.onChange();
|
|
90119
|
+
}
|
|
90116
90120
|
}
|
|
90117
90121
|
};
|
|
90118
90122
|
DTreeDataSelectionSingle.prototype.newNode = function (items, existing) {
|
|
@@ -90259,9 +90263,7 @@ var DTreeDataImpl = /** @class */ (function () {
|
|
|
90259
90263
|
},
|
|
90260
90264
|
set: function (nodes) {
|
|
90261
90265
|
this._nodes = nodes;
|
|
90262
|
-
this.
|
|
90263
|
-
this._selection.onNodeChange(nodes);
|
|
90264
|
-
this.update();
|
|
90266
|
+
this.update(true);
|
|
90265
90267
|
},
|
|
90266
90268
|
enumerable: false,
|
|
90267
90269
|
configurable: true
|
|
@@ -90287,8 +90289,12 @@ var DTreeDataImpl = /** @class */ (function () {
|
|
|
90287
90289
|
enumerable: false,
|
|
90288
90290
|
configurable: true
|
|
90289
90291
|
});
|
|
90290
|
-
DTreeDataImpl.prototype.update = function () {
|
|
90291
|
-
|
|
90292
|
+
DTreeDataImpl.prototype.update = function (forcibly) {
|
|
90293
|
+
if (forcibly) {
|
|
90294
|
+
this._mapped.toDirty();
|
|
90295
|
+
this._selection.onNodeChange(this._nodes);
|
|
90296
|
+
}
|
|
90297
|
+
this._parent.update(forcibly);
|
|
90292
90298
|
};
|
|
90293
90299
|
DTreeDataImpl.prototype.toggle = function (target) {
|
|
90294
90300
|
var nodeToFlag = this._nodeToFlag;
|
package/dist/wcardinal-ui.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
Winter Cardinal UI v0.
|
|
2
|
+
Winter Cardinal UI v0.272.0
|
|
3
3
|
Copyright (C) 2019 Toshiba Corporation
|
|
4
4
|
SPDX-License-Identifier: Apache-2.0
|
|
5
5
|
|
|
@@ -71777,10 +71777,12 @@
|
|
|
71777
71777
|
};
|
|
71778
71778
|
DTreeDataSelectionMultiple.prototype.onNodeChange = function (nodes) {
|
|
71779
71779
|
var oldNodes = this._nodes;
|
|
71780
|
-
|
|
71781
|
-
|
|
71782
|
-
|
|
71783
|
-
|
|
71780
|
+
if (0 < oldNodes.size) {
|
|
71781
|
+
var newNodes = this.newNodes(nodes, oldNodes, new Set());
|
|
71782
|
+
if (oldNodes.size !== newNodes.size) {
|
|
71783
|
+
this._nodes = newNodes;
|
|
71784
|
+
this.onChange();
|
|
71785
|
+
}
|
|
71784
71786
|
}
|
|
71785
71787
|
};
|
|
71786
71788
|
DTreeDataSelectionMultiple.prototype.newNodes = function (items, existing, result) {
|
|
@@ -71930,10 +71932,12 @@
|
|
|
71930
71932
|
};
|
|
71931
71933
|
DTreeDataSelectionSingle.prototype.onNodeChange = function (nodes) {
|
|
71932
71934
|
var oldNode = this._node;
|
|
71933
|
-
|
|
71934
|
-
|
|
71935
|
-
|
|
71936
|
-
|
|
71935
|
+
if (oldNode != null) {
|
|
71936
|
+
var newNode = this.newNode(nodes, oldNode);
|
|
71937
|
+
if (oldNode !== newNode) {
|
|
71938
|
+
this._node = newNode;
|
|
71939
|
+
this.onChange();
|
|
71940
|
+
}
|
|
71937
71941
|
}
|
|
71938
71942
|
};
|
|
71939
71943
|
DTreeDataSelectionSingle.prototype.newNode = function (items, existing) {
|
|
@@ -72080,9 +72084,7 @@
|
|
|
72080
72084
|
},
|
|
72081
72085
|
set: function (nodes) {
|
|
72082
72086
|
this._nodes = nodes;
|
|
72083
|
-
this.
|
|
72084
|
-
this._selection.onNodeChange(nodes);
|
|
72085
|
-
this.update();
|
|
72087
|
+
this.update(true);
|
|
72086
72088
|
},
|
|
72087
72089
|
enumerable: false,
|
|
72088
72090
|
configurable: true
|
|
@@ -72108,8 +72110,12 @@
|
|
|
72108
72110
|
enumerable: false,
|
|
72109
72111
|
configurable: true
|
|
72110
72112
|
});
|
|
72111
|
-
DTreeDataImpl.prototype.update = function () {
|
|
72112
|
-
|
|
72113
|
+
DTreeDataImpl.prototype.update = function (forcibly) {
|
|
72114
|
+
if (forcibly) {
|
|
72115
|
+
this._mapped.toDirty();
|
|
72116
|
+
this._selection.onNodeChange(this._nodes);
|
|
72117
|
+
}
|
|
72118
|
+
this._parent.update(forcibly);
|
|
72113
72119
|
};
|
|
72114
72120
|
DTreeDataImpl.prototype.toggle = function (target) {
|
|
72115
72121
|
var nodeToFlag = this._nodeToFlag;
|