UNPKG

@alilc/lowcode-shell

Version:

Shell Layer for AliLowCodeEngine

54 lines (53 loc) 1.67 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.ActiveTracker = void 0; var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _node = require("./node"); var _symbols = require("../symbols"); var activeTrackerSymbol = Symbol('activeTracker'); var ActiveTracker = exports.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 = _node.Node.create(innerNode); var publicActiveTarget = { node: publicNode, detail: detail, instance: instance }; fn(publicActiveTarget); }); }; _proto.track = function track(node) { this[activeTrackerSymbol].track(node[_symbols.nodeSymbol]); }; return (0, _createClass2["default"])(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 = _node.Node.create(innerNode); return { node: publicNode, detail: detail, instance: instance }; } }]); }();