UNPKG

@visactor/vchart

Version:

charts lib based @visactor/VGrammar

38 lines (33 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.StateManager = void 0; const vutils_1 = require("@visactor/vutils"), signal_manager_1 = require("./signal-manager"); class StateManager extends signal_manager_1.SignalManager { getStateMap() { return this._stateMap; } _getDefaultStateMap() { return {}; } constructor(option) { super(option), option.stateKeyToSignalName ? this.stateKeyToSignalName = option.stateKeyToSignalName : this.stateKeyToSignalName = () => "state_signal", this.initStateMap(); } initStateMap(state) { this._stateMap = null != state ? state : this._getDefaultStateMap(); } compile(stateMap) { const state = null != stateMap ? stateMap : this._stateMap; Object.keys(state).forEach((key => { const name = this.stateKeyToSignalName(key), value = state[key]; this.updateSignal(name, value); })); } updateState(newState, noRender) { if (newState && ((0, vutils_1.merge)(this._stateMap, newState), this.compile(newState), !noRender)) return this.getCompiler().renderNextTick(); } } exports.StateManager = StateManager; //# sourceMappingURL=state-manager.js.map