@opensumi/ide-components 2.12.1-next-079c1930
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/README.md +65 -0
- package/dist/index.css +1 -0
- package/dist/index.js +26330 -0
- package/lib/badge/index.d.ts +4 -0
- package/lib/badge/index.d.ts.map +1 -0
- package/lib/badge/index.js +13 -0
- package/lib/badge/index.js.map +1 -0
- package/lib/badge/styles.less +17 -0
- package/lib/button/index.d.ts +54 -0
- package/lib/button/index.d.ts.map +1 -0
- package/lib/button/index.js +68 -0
- package/lib/button/index.js.map +1 -0
- package/lib/button/style.less +251 -0
- package/lib/checkbox/index.d.ts +9 -0
- package/lib/checkbox/index.d.ts.map +1 -0
- package/lib/checkbox/index.js +27 -0
- package/lib/checkbox/index.js.map +1 -0
- package/lib/checkbox/style.less +80 -0
- package/lib/common.d.ts +7 -0
- package/lib/common.d.ts.map +1 -0
- package/lib/common.js +11 -0
- package/lib/common.js.map +1 -0
- package/lib/dialog/index.d.ts +26 -0
- package/lib/dialog/index.d.ts.map +1 -0
- package/lib/dialog/index.js +28 -0
- package/lib/dialog/index.js.map +1 -0
- package/lib/dialog/styles.less +85 -0
- package/lib/dropdown/dropdown.d.ts +48 -0
- package/lib/dropdown/dropdown.d.ts.map +1 -0
- package/lib/dropdown/dropdown.js +80 -0
- package/lib/dropdown/dropdown.js.map +1 -0
- package/lib/dropdown/index.d.ts +5 -0
- package/lib/dropdown/index.d.ts.map +1 -0
- package/lib/dropdown/index.js +8 -0
- package/lib/dropdown/index.js.map +1 -0
- package/lib/dropdown/style.less +254 -0
- package/lib/icon/icon.d.ts +33 -0
- package/lib/icon/icon.d.ts.map +1 -0
- package/lib/icon/icon.js +71 -0
- package/lib/icon/icon.js.map +1 -0
- package/lib/icon/iconfont/iconManager.d.ts +187 -0
- package/lib/icon/iconfont/iconManager.d.ts.map +1 -0
- package/lib/icon/iconfont/iconManager.js +67 -0
- package/lib/icon/iconfont/iconManager.js.map +1 -0
- package/lib/icon/iconfont/iconMap.d.ts +160 -0
- package/lib/icon/iconfont/iconMap.d.ts.map +1 -0
- package/lib/icon/iconfont/iconMap.js +165 -0
- package/lib/icon/iconfont/iconMap.js.map +1 -0
- package/lib/icon/iconfont/iconfont.css +646 -0
- package/lib/icon/iconfont/iconfont.eot +0 -0
- package/lib/icon/iconfont/iconfont.html +1522 -0
- package/lib/icon/iconfont/iconfont.svg +333 -0
- package/lib/icon/iconfont/iconfont.ttf +0 -0
- package/lib/icon/iconfont/iconfont.woff +0 -0
- package/lib/icon/iconfont/iconfont.woff2 +0 -0
- package/lib/icon/iconfont-cn.d.ts +15 -0
- package/lib/icon/iconfont-cn.d.ts.map +1 -0
- package/lib/icon/iconfont-cn.js +78 -0
- package/lib/icon/iconfont-cn.js.map +1 -0
- package/lib/icon/index.d.ts +4 -0
- package/lib/icon/index.d.ts.map +1 -0
- package/lib/icon/index.js +9 -0
- package/lib/icon/index.js.map +1 -0
- package/lib/icon/styles.less +105 -0
- package/lib/icon/util.d.ts +29 -0
- package/lib/icon/util.d.ts.map +1 -0
- package/lib/icon/util.js +53 -0
- package/lib/icon/util.js.map +1 -0
- package/lib/index.d.ts +20 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +23 -0
- package/lib/index.js.map +1 -0
- package/lib/input/HistoryInputBox.d.ts +38 -0
- package/lib/input/HistoryInputBox.d.ts.map +1 -0
- package/lib/input/HistoryInputBox.js +114 -0
- package/lib/input/HistoryInputBox.js.map +1 -0
- package/lib/input/Input.d.ts +43 -0
- package/lib/input/Input.d.ts.map +1 -0
- package/lib/input/Input.js +124 -0
- package/lib/input/Input.js.map +1 -0
- package/lib/input/ProxiedInput.d.ts +8 -0
- package/lib/input/ProxiedInput.d.ts.map +1 -0
- package/lib/input/ProxiedInput.js +67 -0
- package/lib/input/ProxiedInput.js.map +1 -0
- package/lib/input/TextArea.d.ts +6 -0
- package/lib/input/TextArea.d.ts.map +1 -0
- package/lib/input/TextArea.js +11 -0
- package/lib/input/TextArea.js.map +1 -0
- package/lib/input/ValidateInput.d.ts +20 -0
- package/lib/input/ValidateInput.d.ts.map +1 -0
- package/lib/input/ValidateInput.js +59 -0
- package/lib/input/ValidateInput.js.map +1 -0
- package/lib/input/index.d.ts +5 -0
- package/lib/input/index.d.ts.map +1 -0
- package/lib/input/index.js +8 -0
- package/lib/input/index.js.map +1 -0
- package/lib/input/input.less +83 -0
- package/lib/input/validate-input.less +88 -0
- package/lib/locale-context-provider.d.ts +16 -0
- package/lib/locale-context-provider.d.ts.map +1 -0
- package/lib/locale-context-provider.js +26 -0
- package/lib/locale-context-provider.js.map +1 -0
- package/lib/menu/MenuContext.d.ts +8 -0
- package/lib/menu/MenuContext.d.ts.map +1 -0
- package/lib/menu/MenuContext.js +8 -0
- package/lib/menu/MenuContext.js.map +1 -0
- package/lib/menu/MenuItem.d.ts +29 -0
- package/lib/menu/MenuItem.d.ts.map +1 -0
- package/lib/menu/MenuItem.js +32 -0
- package/lib/menu/MenuItem.js.map +1 -0
- package/lib/menu/SubMenu.d.ts +30 -0
- package/lib/menu/SubMenu.d.ts.map +1 -0
- package/lib/menu/SubMenu.js +28 -0
- package/lib/menu/SubMenu.js.map +1 -0
- package/lib/menu/index.d.ts +64 -0
- package/lib/menu/index.d.ts.map +1 -0
- package/lib/menu/index.js +203 -0
- package/lib/menu/index.js.map +1 -0
- package/lib/menu/style.less +513 -0
- package/lib/message/index.d.ts +10 -0
- package/lib/message/index.d.ts.map +1 -0
- package/lib/message/index.js +21 -0
- package/lib/message/index.js.map +1 -0
- package/lib/message/message.d.ts +42 -0
- package/lib/message/message.d.ts.map +1 -0
- package/lib/message/message.js +128 -0
- package/lib/message/message.js.map +1 -0
- package/lib/message/style.less +76 -0
- package/lib/modal/Modal.d.ts +127 -0
- package/lib/modal/Modal.d.ts.map +1 -0
- package/lib/modal/Modal.js +87 -0
- package/lib/modal/Modal.js.map +1 -0
- package/lib/modal/index.d.ts +5 -0
- package/lib/modal/index.d.ts.map +1 -0
- package/lib/modal/index.js +8 -0
- package/lib/modal/index.js.map +1 -0
- package/lib/modal/locale.d.ts +8 -0
- package/lib/modal/locale.d.ts.map +1 -0
- package/lib/modal/locale.js +23 -0
- package/lib/modal/locale.js.map +1 -0
- package/lib/modal/style.less +168 -0
- package/lib/notification/index.d.ts +8 -0
- package/lib/notification/index.d.ts.map +1 -0
- package/lib/notification/index.js +80 -0
- package/lib/notification/index.js.map +1 -0
- package/lib/notification/notification.d.ts +44 -0
- package/lib/notification/notification.d.ts.map +1 -0
- package/lib/notification/notification.js +156 -0
- package/lib/notification/notification.js.map +1 -0
- package/lib/notification/notification.less +231 -0
- package/lib/overlay/index.d.ts +19 -0
- package/lib/overlay/index.d.ts.map +1 -0
- package/lib/overlay/index.js +13 -0
- package/lib/overlay/index.js.map +1 -0
- package/lib/overlay/styles.less +44 -0
- package/lib/popover/index.d.ts +28 -0
- package/lib/popover/index.d.ts.map +1 -0
- package/lib/popover/index.js +127 -0
- package/lib/popover/index.js.map +1 -0
- package/lib/popover/styles.less +135 -0
- package/lib/recycle-list/RecycleList.d.ts +105 -0
- package/lib/recycle-list/RecycleList.d.ts.map +1 -0
- package/lib/recycle-list/RecycleList.js +253 -0
- package/lib/recycle-list/RecycleList.js.map +1 -0
- package/lib/recycle-list/index.d.ts +2 -0
- package/lib/recycle-list/index.d.ts.map +1 -0
- package/lib/recycle-list/index.js +5 -0
- package/lib/recycle-list/index.js.map +1 -0
- package/lib/recycle-tree/RecycleTree.d.ts +254 -0
- package/lib/recycle-tree/RecycleTree.d.ts.map +1 -0
- package/lib/recycle-tree/RecycleTree.js +635 -0
- package/lib/recycle-tree/RecycleTree.js.map +1 -0
- package/lib/recycle-tree/TreeNodeRendererWrap.d.ts +37 -0
- package/lib/recycle-tree/TreeNodeRendererWrap.d.ts.map +1 -0
- package/lib/recycle-tree/TreeNodeRendererWrap.js +18 -0
- package/lib/recycle-tree/TreeNodeRendererWrap.js.map +1 -0
- package/lib/recycle-tree/decorators/Adaptive/index.d.ts +10 -0
- package/lib/recycle-tree/decorators/Adaptive/index.d.ts.map +1 -0
- package/lib/recycle-tree/decorators/Adaptive/index.js +97 -0
- package/lib/recycle-tree/decorators/Adaptive/index.js.map +1 -0
- package/lib/recycle-tree/decorators/Filter/filter.less +11 -0
- package/lib/recycle-tree/decorators/Filter/index.d.ts +26 -0
- package/lib/recycle-tree/decorators/Filter/index.d.ts.map +1 -0
- package/lib/recycle-tree/decorators/Filter/index.js +53 -0
- package/lib/recycle-tree/decorators/Filter/index.js.map +1 -0
- package/lib/recycle-tree/decorators/index.d.ts +3 -0
- package/lib/recycle-tree/decorators/index.d.ts.map +1 -0
- package/lib/recycle-tree/decorators/index.js +6 -0
- package/lib/recycle-tree/decorators/index.js.map +1 -0
- package/lib/recycle-tree/index.d.ts +7 -0
- package/lib/recycle-tree/index.d.ts.map +1 -0
- package/lib/recycle-tree/index.js +10 -0
- package/lib/recycle-tree/index.js.map +1 -0
- package/lib/recycle-tree/prompt/NewPromptHandle.d.ts +12 -0
- package/lib/recycle-tree/prompt/NewPromptHandle.d.ts.map +1 -0
- package/lib/recycle-tree/prompt/NewPromptHandle.js +21 -0
- package/lib/recycle-tree/prompt/NewPromptHandle.js.map +1 -0
- package/lib/recycle-tree/prompt/PromptHandle.d.ts +59 -0
- package/lib/recycle-tree/prompt/PromptHandle.d.ts.map +1 -0
- package/lib/recycle-tree/prompt/PromptHandle.js +200 -0
- package/lib/recycle-tree/prompt/PromptHandle.js.map +1 -0
- package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts +10 -0
- package/lib/recycle-tree/prompt/RenamePromptHandle.d.ts.map +1 -0
- package/lib/recycle-tree/prompt/RenamePromptHandle.js +21 -0
- package/lib/recycle-tree/prompt/RenamePromptHandle.js.map +1 -0
- package/lib/recycle-tree/prompt/index.d.ts +4 -0
- package/lib/recycle-tree/prompt/index.d.ts.map +1 -0
- package/lib/recycle-tree/prompt/index.js +7 -0
- package/lib/recycle-tree/prompt/index.js.map +1 -0
- package/lib/recycle-tree/tree/Tree.d.ts +20 -0
- package/lib/recycle-tree/tree/Tree.d.ts.map +1 -0
- package/lib/recycle-tree/tree/Tree.js +43 -0
- package/lib/recycle-tree/tree/Tree.js.map +1 -0
- package/lib/recycle-tree/tree/TreeNode.d.ts +222 -0
- package/lib/recycle-tree/tree/TreeNode.d.ts.map +1 -0
- package/lib/recycle-tree/tree/TreeNode.js +1099 -0
- package/lib/recycle-tree/tree/TreeNode.js.map +1 -0
- package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts +60 -0
- package/lib/recycle-tree/tree/decoration/CompositeDecoration.d.ts.map +1 -0
- package/lib/recycle-tree/tree/decoration/CompositeDecoration.js +328 -0
- package/lib/recycle-tree/tree/decoration/CompositeDecoration.js.map +1 -0
- package/lib/recycle-tree/tree/decoration/Decoration.d.ts +79 -0
- package/lib/recycle-tree/tree/decoration/Decoration.d.ts.map +1 -0
- package/lib/recycle-tree/tree/decoration/Decoration.js +183 -0
- package/lib/recycle-tree/tree/decoration/Decoration.js.map +1 -0
- package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts +34 -0
- package/lib/recycle-tree/tree/decoration/DecorationManager.d.ts.map +1 -0
- package/lib/recycle-tree/tree/decoration/DecorationManager.js +166 -0
- package/lib/recycle-tree/tree/decoration/DecorationManager.js.map +1 -0
- package/lib/recycle-tree/tree/decoration/index.d.ts +4 -0
- package/lib/recycle-tree/tree/decoration/index.d.ts.map +1 -0
- package/lib/recycle-tree/tree/decoration/index.js +7 -0
- package/lib/recycle-tree/tree/decoration/index.js.map +1 -0
- package/lib/recycle-tree/tree/index.d.ts +5 -0
- package/lib/recycle-tree/tree/index.d.ts.map +1 -0
- package/lib/recycle-tree/tree/index.js +8 -0
- package/lib/recycle-tree/tree/index.js.map +1 -0
- package/lib/recycle-tree/tree/model/TreeModel.d.ts +50 -0
- package/lib/recycle-tree/tree/model/TreeModel.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/TreeModel.js +81 -0
- package/lib/recycle-tree/tree/model/TreeModel.js.map +1 -0
- package/lib/recycle-tree/tree/model/index.d.ts +2 -0
- package/lib/recycle-tree/tree/model/index.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/index.js +5 -0
- package/lib/recycle-tree/tree/model/index.js.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts +65 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateManager.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js +191 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateManager.js.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts +15 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js +104 -0
- package/lib/recycle-tree/tree/model/treeState/TreeStateWatcher.js.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/index.d.ts +4 -0
- package/lib/recycle-tree/tree/model/treeState/index.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/index.js +8 -0
- package/lib/recycle-tree/tree/model/treeState/index.js.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/types.d.ts +21 -0
- package/lib/recycle-tree/tree/model/treeState/types.d.ts.map +1 -0
- package/lib/recycle-tree/tree/model/treeState/types.js +18 -0
- package/lib/recycle-tree/tree/model/treeState/types.js.map +1 -0
- package/lib/recycle-tree/types/index.d.ts +4 -0
- package/lib/recycle-tree/types/index.d.ts.map +1 -0
- package/lib/recycle-tree/types/index.js +7 -0
- package/lib/recycle-tree/types/index.js.map +1 -0
- package/lib/recycle-tree/types/tree-node.d.ts +70 -0
- package/lib/recycle-tree/types/tree-node.d.ts.map +1 -0
- package/lib/recycle-tree/types/tree-node.js +11 -0
- package/lib/recycle-tree/types/tree-node.js.map +1 -0
- package/lib/recycle-tree/types/tree.d.ts +8 -0
- package/lib/recycle-tree/types/tree.d.ts.map +1 -0
- package/lib/recycle-tree/types/tree.js +3 -0
- package/lib/recycle-tree/types/tree.js.map +1 -0
- package/lib/recycle-tree/types/watcher.d.ts +114 -0
- package/lib/recycle-tree/types/watcher.d.ts.map +1 -0
- package/lib/recycle-tree/types/watcher.js +46 -0
- package/lib/recycle-tree/types/watcher.js.map +1 -0
- package/lib/scrollbars/index.d.ts +14 -0
- package/lib/scrollbars/index.d.ts.map +1 -0
- package/lib/scrollbars/index.js +52 -0
- package/lib/scrollbars/index.js.map +1 -0
- package/lib/scrollbars/styles.less +46 -0
- package/lib/select/index.d.ts +119 -0
- package/lib/select/index.d.ts.map +1 -0
- package/lib/select/index.js +327 -0
- package/lib/select/index.js.map +1 -0
- package/lib/select/style.less +224 -0
- package/lib/style/base.less +542 -0
- package/lib/style/index.less +14 -0
- package/lib/style/mixins.less +135 -0
- package/lib/style/motion/fade.less +31 -0
- package/lib/style/motion/move.less +120 -0
- package/lib/style/motion/other.less +45 -0
- package/lib/style/motion/slide.less +120 -0
- package/lib/style/motion/swing.less +34 -0
- package/lib/style/motion/zoom.less +162 -0
- package/lib/style/variable.less +204 -0
- package/lib/tabs/index.d.ts +12 -0
- package/lib/tabs/index.d.ts.map +1 -0
- package/lib/tabs/index.js +24 -0
- package/lib/tabs/index.js.map +1 -0
- package/lib/tabs/style.less +34 -0
- package/lib/tooltip/index.d.ts +7 -0
- package/lib/tooltip/index.d.ts.map +1 -0
- package/lib/tooltip/index.js +58 -0
- package/lib/tooltip/index.js.map +1 -0
- package/lib/tooltip/style.less +41 -0
- package/lib/utils/deprecated.d.ts +3 -0
- package/lib/utils/deprecated.d.ts.map +1 -0
- package/lib/utils/deprecated.js +18 -0
- package/lib/utils/deprecated.js.map +1 -0
- package/lib/utils/disposable.d.ts +37 -0
- package/lib/utils/disposable.d.ts.map +1 -0
- package/lib/utils/disposable.js +140 -0
- package/lib/utils/disposable.js.map +1 -0
- package/lib/utils/event.d.ts +189 -0
- package/lib/utils/event.d.ts.map +1 -0
- package/lib/utils/event.js +569 -0
- package/lib/utils/event.js.map +1 -0
- package/lib/utils/index.d.ts +10 -0
- package/lib/utils/index.d.ts.map +1 -0
- package/lib/utils/index.js +13 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils/iterator.d.ts +14 -0
- package/lib/utils/iterator.d.ts.map +1 -0
- package/lib/utils/iterator.js +9 -0
- package/lib/utils/iterator.js.map +1 -0
- package/lib/utils/linkedList.d.ts +18 -0
- package/lib/utils/linkedList.d.ts.map +1 -0
- package/lib/utils/linkedList.js +139 -0
- package/lib/utils/linkedList.js.map +1 -0
- package/lib/utils/motion.d.ts +24 -0
- package/lib/utils/motion.d.ts.map +1 -0
- package/lib/utils/motion.js +17 -0
- package/lib/utils/motion.js.map +1 -0
- package/lib/utils/os.d.ts +4 -0
- package/lib/utils/os.d.ts.map +1 -0
- package/lib/utils/os.js +22 -0
- package/lib/utils/os.js.map +1 -0
- package/lib/utils/path.d.ts +92 -0
- package/lib/utils/path.d.ts.map +1 -0
- package/lib/utils/path.js +1712 -0
- package/lib/utils/path.js.map +1 -0
- package/lib/utils/process.d.ts +6 -0
- package/lib/utils/process.d.ts.map +1 -0
- package/lib/utils/process.js +17 -0
- package/lib/utils/process.js.map +1 -0
- package/lib/utils/raf.d.ts +10 -0
- package/lib/utils/raf.d.ts.map +1 -0
- package/lib/utils/raf.js +33 -0
- package/lib/utils/raf.js.map +1 -0
- package/lib/utils/type.d.ts +4 -0
- package/lib/utils/type.d.ts.map +1 -0
- package/lib/utils/type.js +9 -0
- package/lib/utils/type.js.map +1 -0
- package/lib/utils/warning.d.ts +8 -0
- package/lib/utils/warning.d.ts.map +1 -0
- package/lib/utils/warning.js +40 -0
- package/lib/utils/warning.js.map +1 -0
- package/package.json +36 -0
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Decoration = exports.TargetMatchMode = void 0;
|
|
4
|
+
const TreeNode_1 = require("../TreeNode");
|
|
5
|
+
const utils_1 = require("../../../utils");
|
|
6
|
+
var TargetMatchMode;
|
|
7
|
+
(function (TargetMatchMode) {
|
|
8
|
+
TargetMatchMode[TargetMatchMode["None"] = 1] = "None";
|
|
9
|
+
// 样式作用于自身
|
|
10
|
+
TargetMatchMode[TargetMatchMode["Self"] = 2] = "Self";
|
|
11
|
+
// 样式作用于子元素
|
|
12
|
+
TargetMatchMode[TargetMatchMode["Children"] = 3] = "Children";
|
|
13
|
+
// 样式作用于自身及子元素
|
|
14
|
+
TargetMatchMode[TargetMatchMode["SelfAndChildren"] = 4] = "SelfAndChildren";
|
|
15
|
+
})(TargetMatchMode = exports.TargetMatchMode || (exports.TargetMatchMode = {}));
|
|
16
|
+
class Decoration {
|
|
17
|
+
constructor(...cssClassList) {
|
|
18
|
+
this._appliedTargets = new Map();
|
|
19
|
+
this._negatedTargets = new Map();
|
|
20
|
+
this._disabled = false;
|
|
21
|
+
this.appliedTargetsDisposables = new WeakMap();
|
|
22
|
+
this.negatedTargetsDisposables = new WeakMap();
|
|
23
|
+
this.onDidAddCSSClassnameEmitter = new utils_1.Emitter();
|
|
24
|
+
this.onDidRemoveCSSClassnameEmitter = new utils_1.Emitter();
|
|
25
|
+
this.onDidDisableDecorationEmitter = new utils_1.Emitter();
|
|
26
|
+
this.onDidEnableDecorationEmitter = new utils_1.Emitter();
|
|
27
|
+
this.onDidAddTargetEmitter = new utils_1.Emitter();
|
|
28
|
+
this.onDidRemoveTargetEmitter = new utils_1.Emitter();
|
|
29
|
+
this.onDidNegateTargetEmitter = new utils_1.Emitter();
|
|
30
|
+
this.onDidUnNegateTargetEmitter = new utils_1.Emitter();
|
|
31
|
+
if (Array.isArray(cssClassList)) {
|
|
32
|
+
if (cssClassList.every((classname) => typeof classname === 'string')) {
|
|
33
|
+
this._cssClassList = new Set(cssClassList);
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
throw new TypeError('classlist must be of type `Array<string>`');
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
this._cssClassList = new Set();
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
get disabled() {
|
|
44
|
+
return this._disabled;
|
|
45
|
+
}
|
|
46
|
+
set disabled(disabled) {
|
|
47
|
+
this._disabled = disabled;
|
|
48
|
+
if (disabled) {
|
|
49
|
+
this.onDidDisableDecorationEmitter.fire({ decoration: this });
|
|
50
|
+
}
|
|
51
|
+
else {
|
|
52
|
+
this.onDidEnableDecorationEmitter.fire({ decoration: this });
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
get appliedTargets() {
|
|
56
|
+
return this._appliedTargets;
|
|
57
|
+
}
|
|
58
|
+
get negatedTargets() {
|
|
59
|
+
return this._negatedTargets;
|
|
60
|
+
}
|
|
61
|
+
get cssClassList() {
|
|
62
|
+
return this._cssClassList;
|
|
63
|
+
}
|
|
64
|
+
get onDidAddCSSClassname() {
|
|
65
|
+
return this.onDidAddCSSClassnameEmitter.event;
|
|
66
|
+
}
|
|
67
|
+
get onDidRemoveCSSClassname() {
|
|
68
|
+
return this.onDidRemoveCSSClassnameEmitter.event;
|
|
69
|
+
}
|
|
70
|
+
get onDidDisableDecoration() {
|
|
71
|
+
return this.onDidDisableDecorationEmitter.event;
|
|
72
|
+
}
|
|
73
|
+
get onDidEnableDecoration() {
|
|
74
|
+
return this.onDidEnableDecorationEmitter.event;
|
|
75
|
+
}
|
|
76
|
+
get onDidAddTarget() {
|
|
77
|
+
return this.onDidAddTargetEmitter.event;
|
|
78
|
+
}
|
|
79
|
+
get onDidRemoveTarget() {
|
|
80
|
+
return this.onDidRemoveTargetEmitter.event;
|
|
81
|
+
}
|
|
82
|
+
get onDidNegateTarget() {
|
|
83
|
+
return this.onDidNegateTargetEmitter.event;
|
|
84
|
+
}
|
|
85
|
+
get onDidUnNegateTarget() {
|
|
86
|
+
return this.onDidUnNegateTargetEmitter.event;
|
|
87
|
+
}
|
|
88
|
+
addCSSClass(className) {
|
|
89
|
+
if (this._cssClassList.has(className)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
this._cssClassList.add(className);
|
|
93
|
+
this.onDidAddCSSClassnameEmitter.fire({ decoration: this, classname: className });
|
|
94
|
+
}
|
|
95
|
+
removeCSSClass(className) {
|
|
96
|
+
if (!this._cssClassList.has(className)) {
|
|
97
|
+
return;
|
|
98
|
+
}
|
|
99
|
+
this._cssClassList.delete(className);
|
|
100
|
+
this.onDidRemoveCSSClassnameEmitter.fire({ decoration: this, classname: className });
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* 判断当前装饰器是否包含指定的对象绑定
|
|
104
|
+
* @param target
|
|
105
|
+
*/
|
|
106
|
+
hasTarget(target) {
|
|
107
|
+
const existingFlags = this._appliedTargets.get(target);
|
|
108
|
+
return !!existingFlags;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* 为当前装饰器绑定对象
|
|
112
|
+
* @param target
|
|
113
|
+
* @param flags
|
|
114
|
+
*/
|
|
115
|
+
addTarget(target, flags = TargetMatchMode.Self) {
|
|
116
|
+
const existingFlags = this._appliedTargets.get(target);
|
|
117
|
+
if (existingFlags === flags) {
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
if (!(TreeNode_1.TreeNode.is(target))) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
123
|
+
this._appliedTargets.set(target, flags);
|
|
124
|
+
const dispose = utils_1.Disposable.create(() => {
|
|
125
|
+
this.removeTarget(target);
|
|
126
|
+
});
|
|
127
|
+
this.appliedTargetsDisposables.set(target, dispose);
|
|
128
|
+
this.onDidAddTargetEmitter.fire({ decoration: this, target });
|
|
129
|
+
return dispose;
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* 为当前装饰器移除对象绑定
|
|
133
|
+
* @param target
|
|
134
|
+
* @param flags
|
|
135
|
+
*/
|
|
136
|
+
removeTarget(target) {
|
|
137
|
+
if (this._appliedTargets.delete(target)) {
|
|
138
|
+
const disposable = this.appliedTargetsDisposables.get(target);
|
|
139
|
+
if (disposable) {
|
|
140
|
+
disposable.dispose();
|
|
141
|
+
}
|
|
142
|
+
this.onDidRemoveTargetEmitter.fire({ decoration: this, target });
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* 否定装饰器绑定
|
|
147
|
+
* negate 表示 :not修饰符
|
|
148
|
+
* 定义节点不应用样式
|
|
149
|
+
* @param target
|
|
150
|
+
* @param flags
|
|
151
|
+
*/
|
|
152
|
+
negateTarget(target, flags = TargetMatchMode.Self) {
|
|
153
|
+
const existingFlags = this._negatedTargets.get(target);
|
|
154
|
+
if (existingFlags === flags) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
if (!(TreeNode_1.TreeNode.is(target))) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
this._negatedTargets.set(target, flags);
|
|
161
|
+
const dispose = utils_1.Disposable.create(() => {
|
|
162
|
+
this.unNegateTarget(target);
|
|
163
|
+
});
|
|
164
|
+
this.negatedTargetsDisposables.set(target, dispose);
|
|
165
|
+
this.onDidNegateTargetEmitter.fire({ decoration: this, target });
|
|
166
|
+
return dispose;
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* 取消否定装饰器绑定
|
|
170
|
+
* @param target
|
|
171
|
+
*/
|
|
172
|
+
unNegateTarget(target) {
|
|
173
|
+
if (this._negatedTargets.delete(target)) {
|
|
174
|
+
const disposable = this.negatedTargetsDisposables.get(target);
|
|
175
|
+
if (disposable) {
|
|
176
|
+
disposable.dispose();
|
|
177
|
+
}
|
|
178
|
+
this.onDidUnNegateTargetEmitter.fire({ decoration: this, target });
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
exports.Decoration = Decoration;
|
|
183
|
+
//# sourceMappingURL=Decoration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Decoration.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/Decoration.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { IDisposable } from '../../../utils';
|
|
2
|
+
import { CompositeTreeNode } from '../TreeNode';
|
|
3
|
+
import { Decoration } from './Decoration';
|
|
4
|
+
import { CompositeDecoration, ClasslistComposite } from './CompositeDecoration';
|
|
5
|
+
import { ITreeNodeOrCompositeTreeNode } from '../../types';
|
|
6
|
+
interface IDecorationMeta {
|
|
7
|
+
/**
|
|
8
|
+
* 所有应用于自身的装饰器属性, 同时继承父级继承的装饰器
|
|
9
|
+
*/
|
|
10
|
+
applicable: CompositeDecoration;
|
|
11
|
+
/**
|
|
12
|
+
* 所有可应用于子级的装饰器属性(一直继承,除非在继承过程中使用negated方法取消继承)
|
|
13
|
+
*/
|
|
14
|
+
inheritable?: CompositeDecoration;
|
|
15
|
+
}
|
|
16
|
+
export declare class DecorationsManager implements IDisposable {
|
|
17
|
+
private decorations;
|
|
18
|
+
private decorationsMeta;
|
|
19
|
+
private disposables;
|
|
20
|
+
private disposed;
|
|
21
|
+
constructor(root: CompositeTreeNode);
|
|
22
|
+
dispose(): void;
|
|
23
|
+
addDecoration(decoration: Decoration): void;
|
|
24
|
+
removeDecoration(decoration: Decoration): void;
|
|
25
|
+
getDecorations(item: ITreeNodeOrCompositeTreeNode): ClasslistComposite | undefined;
|
|
26
|
+
getDecorationData(item: ITreeNodeOrCompositeTreeNode): IDecorationMeta | undefined;
|
|
27
|
+
private targetDecoration;
|
|
28
|
+
private unTargetDecoration;
|
|
29
|
+
private negateDecoration;
|
|
30
|
+
private unNegateDecoration;
|
|
31
|
+
private switchParent;
|
|
32
|
+
}
|
|
33
|
+
export {};
|
|
34
|
+
//# sourceMappingURL=DecorationManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecorationManager.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/DecorationManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAwB,MAAM,gBAAgB,CAAC;AACnE,OAAO,EAAY,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAoC,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAA2B,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzG,OAAO,EAAiB,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAE1E,UAAU,eAAe;IACvB;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAEhC;;OAEG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;CACnC;AAED,qBAAa,kBAAmB,YAAW,WAAW;IACpD,OAAO,CAAC,WAAW,CAA2C;IAC9D,OAAO,CAAC,eAAe,CAAyE;IAChG,OAAO,CAAC,WAAW,CAAoD;IACvE,OAAO,CAAC,QAAQ,CAAS;gBAEb,IAAI,EAAE,iBAAiB;IAS5B,OAAO,IAAI,IAAI;IAQf,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAyB3C,gBAAgB,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IA+B9C,cAAc,CAAC,IAAI,EAAE,4BAA4B,GAAG,kBAAkB,GAAG,SAAS;IAWlF,iBAAiB,CAAC,IAAI,EAAE,4BAA4B,GAAG,eAAe,GAAG,SAAS;IAsBzF,OAAO,CAAC,gBAAgB,CAYvB;IAED,OAAO,CAAC,kBAAkB,CAYzB;IAED,OAAO,CAAC,gBAAgB,CAYvB;IAED,OAAO,CAAC,kBAAkB,CAYzB;IAED,OAAO,CAAC,YAAY,CAYnB;CACF"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DecorationsManager = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
const TreeNode_1 = require("../TreeNode");
|
|
6
|
+
const CompositeDecoration_1 = require("./CompositeDecoration");
|
|
7
|
+
const types_1 = require("../../types");
|
|
8
|
+
class DecorationsManager {
|
|
9
|
+
constructor(root) {
|
|
10
|
+
this.decorations = new Map();
|
|
11
|
+
this.decorationsMeta = new WeakMap();
|
|
12
|
+
this.disposables = new utils_1.DisposableCollection();
|
|
13
|
+
this.disposed = false;
|
|
14
|
+
this.targetDecoration = (event) => {
|
|
15
|
+
const { decoration, target } = event;
|
|
16
|
+
const decorationData = this.getDecorationData(target);
|
|
17
|
+
if (decorationData) {
|
|
18
|
+
const { applicable, inheritable } = decorationData;
|
|
19
|
+
applicable.add(decoration);
|
|
20
|
+
if (inheritable) {
|
|
21
|
+
inheritable.add(decoration);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this.unTargetDecoration = (event) => {
|
|
26
|
+
const { decoration, target } = event;
|
|
27
|
+
const decorationData = this.getDecorationData(target);
|
|
28
|
+
if (decorationData) {
|
|
29
|
+
const { applicable, inheritable } = decorationData;
|
|
30
|
+
applicable.remove(decoration);
|
|
31
|
+
if (inheritable) {
|
|
32
|
+
inheritable.remove(decoration);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
this.negateDecoration = (event) => {
|
|
37
|
+
const { decoration, target } = event;
|
|
38
|
+
const decorationData = this.getDecorationData(target);
|
|
39
|
+
if (decorationData) {
|
|
40
|
+
const { applicable, inheritable } = decorationData;
|
|
41
|
+
applicable.negate(decoration);
|
|
42
|
+
if (inheritable) {
|
|
43
|
+
inheritable.negate(decoration);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
this.unNegateDecoration = (event) => {
|
|
48
|
+
const { decoration, target } = event;
|
|
49
|
+
const decorationData = this.getDecorationData(target);
|
|
50
|
+
if (decorationData) {
|
|
51
|
+
const { applicable, inheritable } = decorationData;
|
|
52
|
+
applicable.unNegate(decoration);
|
|
53
|
+
if (inheritable) {
|
|
54
|
+
inheritable.unNegate(decoration);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
this.switchParent = (target, prevParent, newParent) => {
|
|
59
|
+
const ownMeta = this.decorationsMeta.get(target);
|
|
60
|
+
if (!ownMeta) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
const newParentMeta = this.getDecorationData(newParent);
|
|
64
|
+
if (newParentMeta) {
|
|
65
|
+
ownMeta.applicable.changeParent(newParentMeta.inheritable);
|
|
66
|
+
if (ownMeta.inheritable) {
|
|
67
|
+
ownMeta.inheritable.changeParent(newParentMeta.inheritable);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
this.decorationsMeta.set(root, {
|
|
72
|
+
applicable: new CompositeDecoration_1.CompositeDecoration(root, CompositeDecoration_1.CompositeDecorationType.Applicable),
|
|
73
|
+
inheritable: new CompositeDecoration_1.CompositeDecoration(root, CompositeDecoration_1.CompositeDecorationType.Inheritable),
|
|
74
|
+
});
|
|
75
|
+
this.disposables.push(root.watcher.on(types_1.TreeNodeEvent.DidChangeParent, this.switchParent));
|
|
76
|
+
this.disposables.push(root.watcher.on(types_1.TreeNodeEvent.DidDispose, this.decorationsMeta.delete));
|
|
77
|
+
}
|
|
78
|
+
dispose() {
|
|
79
|
+
for (const [decoration] of this.decorations) {
|
|
80
|
+
this.removeDecoration(decoration);
|
|
81
|
+
}
|
|
82
|
+
this.disposables.dispose();
|
|
83
|
+
this.disposed = true;
|
|
84
|
+
}
|
|
85
|
+
addDecoration(decoration) {
|
|
86
|
+
if (this.disposed) {
|
|
87
|
+
throw new Error(`DecorationManager disposed`);
|
|
88
|
+
}
|
|
89
|
+
if (this.decorations.has(decoration)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
const disposable = new utils_1.DisposableCollection();
|
|
93
|
+
disposable.push(decoration.onDidAddTarget(this.targetDecoration));
|
|
94
|
+
disposable.push(decoration.onDidRemoveTarget(this.unTargetDecoration));
|
|
95
|
+
disposable.push(decoration.onDidNegateTarget(this.negateDecoration));
|
|
96
|
+
disposable.push(decoration.onDidUnNegateTarget(this.unNegateDecoration));
|
|
97
|
+
this.decorations.set(decoration, disposable);
|
|
98
|
+
for (const [target] of decoration.appliedTargets) {
|
|
99
|
+
this.targetDecoration({ decoration, target });
|
|
100
|
+
}
|
|
101
|
+
for (const [target] of decoration.negatedTargets) {
|
|
102
|
+
this.negateDecoration({ decoration, target });
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
removeDecoration(decoration) {
|
|
106
|
+
const decorationSubscriptions = this.decorations.get(decoration);
|
|
107
|
+
if (!decorationSubscriptions) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
for (const [target] of decoration.appliedTargets) {
|
|
111
|
+
const meta = this.decorationsMeta.get(target);
|
|
112
|
+
if (meta) {
|
|
113
|
+
meta.applicable.remove(decoration);
|
|
114
|
+
if (meta.inheritable) {
|
|
115
|
+
meta.inheritable.remove(decoration);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
for (const [target] of decoration.negatedTargets) {
|
|
120
|
+
const meta = this.decorationsMeta.get(target);
|
|
121
|
+
if (meta) {
|
|
122
|
+
meta.applicable.unNegate(decoration);
|
|
123
|
+
if (meta.inheritable) {
|
|
124
|
+
meta.inheritable.unNegate(decoration);
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
decorationSubscriptions.dispose();
|
|
129
|
+
this.decorations.delete(decoration);
|
|
130
|
+
}
|
|
131
|
+
getDecorations(item) {
|
|
132
|
+
if (!item || (!TreeNode_1.TreeNode.is(item))) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
const decMeta = this.getDecorationData(item);
|
|
136
|
+
if (decMeta) {
|
|
137
|
+
return decMeta.applicable.compositeCssClasslist;
|
|
138
|
+
}
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
getDecorationData(item) {
|
|
142
|
+
if (this.disposed) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const meta = this.decorationsMeta.get(item);
|
|
146
|
+
if (meta) {
|
|
147
|
+
return meta;
|
|
148
|
+
}
|
|
149
|
+
// 执行到这里说明该节点不是直接节点,而是需要从父级节点继承装饰器属性
|
|
150
|
+
if (!item || !item.parent) {
|
|
151
|
+
return;
|
|
152
|
+
}
|
|
153
|
+
const parentMeta = this.getDecorationData(item.parent);
|
|
154
|
+
if (parentMeta) {
|
|
155
|
+
const ownMeta = {
|
|
156
|
+
applicable: new CompositeDecoration_1.CompositeDecoration(item, CompositeDecoration_1.CompositeDecorationType.Applicable, parentMeta.inheritable),
|
|
157
|
+
inheritable: TreeNode_1.CompositeTreeNode.is(item) ? new CompositeDecoration_1.CompositeDecoration(item, CompositeDecoration_1.CompositeDecorationType.Inheritable, parentMeta.inheritable) : undefined,
|
|
158
|
+
};
|
|
159
|
+
this.decorationsMeta.set(item, ownMeta);
|
|
160
|
+
return ownMeta;
|
|
161
|
+
}
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
exports.DecorationsManager = DecorationsManager;
|
|
166
|
+
//# sourceMappingURL=DecorationManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DecorationManager.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/DecorationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./Decoration"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./DecorationManager"), exports);
|
|
6
|
+
(0, tslib_1.__exportStar)(require("./CompositeDecoration"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/decoration/index.ts"],"names":[],"mappings":";;;AAAA,4DAA6B;AAC7B,mEAAoC;AACpC,qEAAsC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/recycle-tree/tree/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC;AACxB,cAAc,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
(0, tslib_1.__exportStar)(require("./Tree"), exports);
|
|
5
|
+
(0, tslib_1.__exportStar)(require("./TreeNode"), exports);
|
|
6
|
+
(0, tslib_1.__exportStar)(require("./model"), exports);
|
|
7
|
+
(0, tslib_1.__exportStar)(require("./decoration"), exports);
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/recycle-tree/tree/index.ts"],"names":[],"mappings":";;;AAAA,sDAAuB;AACvB,0DAA2B;AAC3B,uDAAwB;AACxB,4DAA6B"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { Event } from '../../../utils';
|
|
2
|
+
import { ISerializableState, TreeStateManager, TreeStateWatcher } from './treeState';
|
|
3
|
+
import { CompositeTreeNode, TreeNode } from '../TreeNode';
|
|
4
|
+
import { ICompositeTreeNode } from '../../types';
|
|
5
|
+
export declare class TreeModel {
|
|
6
|
+
private _state;
|
|
7
|
+
private _root;
|
|
8
|
+
private onChangeEmitter;
|
|
9
|
+
get onChange(): Event<void>;
|
|
10
|
+
get root(): CompositeTreeNode;
|
|
11
|
+
set root(root: CompositeTreeNode);
|
|
12
|
+
get state(): TreeStateManager;
|
|
13
|
+
set state(state: TreeStateManager);
|
|
14
|
+
init(root: CompositeTreeNode): void;
|
|
15
|
+
initState(root: ICompositeTreeNode): void;
|
|
16
|
+
dispatchChange: () => void;
|
|
17
|
+
/**
|
|
18
|
+
* 根据给定的状态信息还原Tree组件
|
|
19
|
+
*
|
|
20
|
+
* TreeState中包含:
|
|
21
|
+
* - 可展开节点的展开状态
|
|
22
|
+
* - 滚动偏移
|
|
23
|
+
*
|
|
24
|
+
* TreeState中不包含:
|
|
25
|
+
* - 装饰器
|
|
26
|
+
* - 临时的输入框节点
|
|
27
|
+
*
|
|
28
|
+
*/
|
|
29
|
+
loadTreeState(state: ISerializableState | string): Promise<void>;
|
|
30
|
+
/**
|
|
31
|
+
* 返回一个与实际树状态同步的`TreeStateWatcher`
|
|
32
|
+
*
|
|
33
|
+
* TreeState中包含:
|
|
34
|
+
* - 可展开节点的展开状态
|
|
35
|
+
* - 滚动偏移
|
|
36
|
+
*
|
|
37
|
+
* TreeState中不包含:
|
|
38
|
+
* - 装饰器
|
|
39
|
+
* - 临时的输入框节点
|
|
40
|
+
*
|
|
41
|
+
* `TreeStateWatcher#onDidChange` 用于在状态变更时绑定监听函数
|
|
42
|
+
*
|
|
43
|
+
* `TreeStateWatcher#snapshot` 用于获取当前树的快照信息(用于状态恢复),返回state对象
|
|
44
|
+
*
|
|
45
|
+
* `TreeStateWatcher#toString` 用于将当前状态转换为JSON字符串
|
|
46
|
+
*/
|
|
47
|
+
getTreeStateWatcher(atSurfaceExpandedDirsOnly?: boolean): TreeStateWatcher;
|
|
48
|
+
protected resolveChildren(parent: CompositeTreeNode): Promise<TreeNode[]>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=TreeModel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeModel.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/TreeModel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAW,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACrF,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAiB,MAAM,aAAa,CAAC;AAEhE,qBAAa,SAAS;IAEpB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,KAAK,CAAoB;IAEjC,OAAO,CAAC,eAAe,CAAgC;IAEvD,IAAI,QAAQ,IAAI,KAAK,CAAC,IAAI,CAAC,CAE1B;IAED,IAAI,IAAI,IAIO,iBAAiB,CAF/B;IAED,IAAI,IAAI,CAAC,IAAI,EAAE,iBAAiB,EAG/B;IAED,IAAI,KAAK,IAIQ,gBAAgB,CAFhC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,gBAAgB,EAEhC;IAED,IAAI,CAAC,IAAI,EAAE,iBAAiB;IAM5B,SAAS,CAAC,IAAI,EAAE,kBAAkB;IAIlC,cAAc,aAEb;IAED;;;;;;;;;;;OAWG;IACU,aAAa,CAAC,KAAK,EAAE,kBAAkB,GAAG,MAAM;IAO7D;;;;;;;;;;;;;;;;OAgBG;IACI,mBAAmB,CAAC,yBAAyB,GAAE,OAAe,GAAG,gBAAgB;IAIxF,SAAS,CAAC,eAAe,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,QAAQ,EAAE,CAAC;CAI1E"}
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.TreeModel = void 0;
|
|
4
|
+
const utils_1 = require("../../../utils");
|
|
5
|
+
const treeState_1 = require("./treeState");
|
|
6
|
+
const types_1 = require("../../types");
|
|
7
|
+
class TreeModel {
|
|
8
|
+
constructor() {
|
|
9
|
+
this.onChangeEmitter = new utils_1.Emitter();
|
|
10
|
+
this.dispatchChange = () => {
|
|
11
|
+
this.onChangeEmitter.fire();
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
get onChange() {
|
|
15
|
+
return this.onChangeEmitter.event;
|
|
16
|
+
}
|
|
17
|
+
get root() {
|
|
18
|
+
return this._root;
|
|
19
|
+
}
|
|
20
|
+
set root(root) {
|
|
21
|
+
this._root = root;
|
|
22
|
+
this.initState(root);
|
|
23
|
+
}
|
|
24
|
+
get state() {
|
|
25
|
+
return this._state;
|
|
26
|
+
}
|
|
27
|
+
set state(state) {
|
|
28
|
+
this._state = state;
|
|
29
|
+
}
|
|
30
|
+
init(root) {
|
|
31
|
+
this.root = root;
|
|
32
|
+
// 分支更新时通知树刷新
|
|
33
|
+
this.root.watcher.on(types_1.TreeNodeEvent.BranchDidUpdate, this.dispatchChange);
|
|
34
|
+
}
|
|
35
|
+
initState(root) {
|
|
36
|
+
this.state = new treeState_1.TreeStateManager(root);
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* 根据给定的状态信息还原Tree组件
|
|
40
|
+
*
|
|
41
|
+
* TreeState中包含:
|
|
42
|
+
* - 可展开节点的展开状态
|
|
43
|
+
* - 滚动偏移
|
|
44
|
+
*
|
|
45
|
+
* TreeState中不包含:
|
|
46
|
+
* - 装饰器
|
|
47
|
+
* - 临时的输入框节点
|
|
48
|
+
*
|
|
49
|
+
*/
|
|
50
|
+
async loadTreeState(state) {
|
|
51
|
+
if (typeof state === 'string') {
|
|
52
|
+
state = JSON.parse(state);
|
|
53
|
+
}
|
|
54
|
+
return this.state.loadTreeState(state);
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* 返回一个与实际树状态同步的`TreeStateWatcher`
|
|
58
|
+
*
|
|
59
|
+
* TreeState中包含:
|
|
60
|
+
* - 可展开节点的展开状态
|
|
61
|
+
* - 滚动偏移
|
|
62
|
+
*
|
|
63
|
+
* TreeState中不包含:
|
|
64
|
+
* - 装饰器
|
|
65
|
+
* - 临时的输入框节点
|
|
66
|
+
*
|
|
67
|
+
* `TreeStateWatcher#onDidChange` 用于在状态变更时绑定监听函数
|
|
68
|
+
*
|
|
69
|
+
* `TreeStateWatcher#snapshot` 用于获取当前树的快照信息(用于状态恢复),返回state对象
|
|
70
|
+
*
|
|
71
|
+
* `TreeStateWatcher#toString` 用于将当前状态转换为JSON字符串
|
|
72
|
+
*/
|
|
73
|
+
getTreeStateWatcher(atSurfaceExpandedDirsOnly = false) {
|
|
74
|
+
return new treeState_1.TreeStateWatcher(this.state, atSurfaceExpandedDirsOnly);
|
|
75
|
+
}
|
|
76
|
+
resolveChildren(parent) {
|
|
77
|
+
return Promise.resolve(Array.from(parent.children));
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
exports.TreeModel = TreeModel;
|
|
81
|
+
//# sourceMappingURL=TreeModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TreeModel.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/TreeModel.ts"],"names":[],"mappings":";;;AAAA,0CAAgD;AAChD,2CAAqF;AAErF,uCAAgE;AAEhE,MAAa,SAAS;IAAtB;QAKU,oBAAe,GAAkB,IAAI,eAAO,EAAE,CAAC;QAiCvD,mBAAc,GAAG,GAAG,EAAE;YACpB,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC;QAC9B,CAAC,CAAA;IA8CH,CAAC;IA/EC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC;IACpC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAI,IAAI,CAAC,IAAuB;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,KAAK,CAAC,KAAuB;QAC/B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;IACtB,CAAC;IAED,IAAI,CAAC,IAAuB;QAC1B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,aAAa;QACb,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,qBAAa,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,CAAC,CAAC;IAC3E,CAAC;IAED,SAAS,CAAC,IAAwB;QAChC,IAAI,CAAC,KAAK,GAAG,IAAI,4BAAgB,CAAC,IAAyB,CAAC,CAAC;IAC/D,CAAC;IAMD;;;;;;;;;;;OAWG;IACI,KAAK,CAAC,aAAa,CAAC,KAAkC;QAC3D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,KAA2B,CAAC,CAAC;IAC/D,CAAC;IAED;;;;;;;;;;;;;;;;OAgBG;IACI,mBAAmB,CAAC,4BAAqC,KAAK;QACnE,OAAO,IAAI,4BAAgB,CAAC,IAAI,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACrE,CAAC;IAES,eAAe,CAAC,MAAyB;QACjD,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAS,CAAe,CAAC,CAAC;IACrE,CAAC;CAEF;AAtFD,8BAsFC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/recycle-tree/tree/model/index.ts"],"names":[],"mappings":";;;AAAA,2DAA4B"}
|