You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							65 lines
						
					
					
						
							2.2 KiB
						
					
					
				
			
		
		
		
			
			
			
				
					
				
				
					
				
			
		
		
	
	
							65 lines
						
					
					
						
							2.2 KiB
						
					
					
				| "use strict"; | |
| Object.defineProperty(exports, "__esModule", { value: true }); | |
| exports.useChildren = exports.useParent = void 0; | |
| function useParent(name, onEffect) { | |
|     var _a; | |
|     var path = "../".concat(name, "/index"); | |
|     return { | |
|         relations: (_a = {}, | |
|             _a[path] = { | |
|                 type: 'ancestor', | |
|                 linked: function () { | |
|                     onEffect && onEffect.call(this); | |
|                 }, | |
|                 linkChanged: function () { | |
|                     onEffect && onEffect.call(this); | |
|                 }, | |
|                 unlinked: function () { | |
|                     onEffect && onEffect.call(this); | |
|                 }, | |
|             }, | |
|             _a), | |
|         mixin: Behavior({ | |
|             created: function () { | |
|                 var _this = this; | |
|                 Object.defineProperty(this, 'parent', { | |
|                     get: function () { return _this.getRelationNodes(path)[0]; }, | |
|                 }); | |
|                 Object.defineProperty(this, 'index', { | |
|                     // @ts-ignore | |
|                     get: function () { var _a, _b; return (_b = (_a = _this.parent) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.indexOf(_this); }, | |
|                 }); | |
|             }, | |
|         }), | |
|     }; | |
| } | |
| exports.useParent = useParent; | |
| function useChildren(name, onEffect) { | |
|     var _a; | |
|     var path = "../".concat(name, "/index"); | |
|     return { | |
|         relations: (_a = {}, | |
|             _a[path] = { | |
|                 type: 'descendant', | |
|                 linked: function (target) { | |
|                     onEffect && onEffect.call(this, target); | |
|                 }, | |
|                 linkChanged: function (target) { | |
|                     onEffect && onEffect.call(this, target); | |
|                 }, | |
|                 unlinked: function (target) { | |
|                     onEffect && onEffect.call(this, target); | |
|                 }, | |
|             }, | |
|             _a), | |
|         mixin: Behavior({ | |
|             created: function () { | |
|                 var _this = this; | |
|                 Object.defineProperty(this, 'children', { | |
|                     get: function () { return _this.getRelationNodes(path) || []; }, | |
|                 }); | |
|             }, | |
|         }), | |
|     }; | |
| } | |
| exports.useChildren = useChildren;
 | |
| 
 |