UNPKG

@alilc/lowcode-shell

Version:

Shell Layer for AliLowCodeEngine

49 lines 1.45 kB
import _createClass from "@babel/runtime/helpers/createClass"; import { Node as ShellNode } from './node'; import { nodeSymbol } from '../symbols'; var activeTrackerSymbol = Symbol('activeTracker'); export var ActiveTracker = /*#__PURE__*/function () { function ActiveTracker(innerTracker) { this[activeTrackerSymbol] = void 0; this[activeTrackerSymbol] = innerTracker; } var _proto = ActiveTracker.prototype; _proto.onChange = function onChange(fn) { if (!fn) { return function () {}; } return this[activeTrackerSymbol].onChange(function (t) { var innerNode = t.node, detail = t.detail, instance = t.instance; var publicNode = ShellNode.create(innerNode); var publicActiveTarget = { node: publicNode, detail: detail, instance: instance }; fn(publicActiveTarget); }); }; _proto.track = function track(node) { this[activeTrackerSymbol].track(node[nodeSymbol]); }; return _createClass(ActiveTracker, [{ key: "target", get: function get() { var _target = this[activeTrackerSymbol]._target; if (!_target) { return null; } var innerNode = _target.node, detail = _target.detail, instance = _target.instance; var publicNode = ShellNode.create(innerNode); return { node: publicNode, detail: detail, instance: instance }; } }]); }();