import knockout from "../../ThirdParty/knockout.js"; import createCommand from "../createCommand.js"; /** * The view model for {@link NavigationHelpButton}. * @alias NavigationHelpButtonViewModel * @constructor */ function NavigationHelpButtonViewModel() { /** * Gets or sets whether the instructions are currently shown. This property is observable. * @type {Boolean} * @default false */ this.showInstructions = false; const that = this; this._command = createCommand(function () { that.showInstructions = !that.showInstructions; }); this._showClick = createCommand(function () { that._touch = false; }); this._showTouch = createCommand(function () { that._touch = true; }); this._touch = false; /** * Gets or sets the tooltip. This property is observable. * * @type {String} */ this.tooltip = "Navigation Instructions"; knockout.track(this, ["tooltip", "showInstructions", "_touch"]); } Object.defineProperties(NavigationHelpButtonViewModel.prototype, { /** * Gets the Command that is executed when the button is clicked. * @memberof NavigationHelpButtonViewModel.prototype * * @type {Command} */ command: { get: function () { return this._command; }, }, /** * Gets the Command that is executed when the mouse instructions should be shown. * @memberof NavigationHelpButtonViewModel.prototype * * @type {Command} */ showClick: { get: function () { return this._showClick; }, }, /** * Gets the Command that is executed when the touch instructions should be shown. * @memberof NavigationHelpButtonViewModel.prototype * * @type {Command} */ showTouch: { get: function () { return this._showTouch; }, }, }); export default NavigationHelpButtonViewModel;