Core.UI = Core.UI || {}; Core.UI.HowToMessage = class extends _core { /** * Get class name. */ static getClassName() { return 'Core.UI.HowToMessage'; } /** * Instantiate new how-to message. * * @param {jQuery} $message */ constructor($message) { super(); this.id = $message.data('name'); this.active = Boolean($message.data('value')); this.$message = $message; this.bind(); } /** * Show message in UI. */ show() { this.$message.show(); } /** * Hide message in UI. */ hide() { this.$message.hide(); } /** * Bind interaction. */ bind() { let me = this; if (!this.active) { this.hide(); } this.$message.find('i.close').rebind( 'click', function () { me.closeMessage(); } ); } /** * Close message from being shown. */ closeMessage() { let me = this; Server.call( this.getURI(), { func: 'apiCloseHowToMessage', message_name: this.id }, function (data) { me.hide(); }, this.$message, 'Closing message...' ); } /** * Show message. */ showMessage() { let me = this; Server.call( this.getURI(), { func: 'apiShowHowToMessage', message_name: this.id }, function (data) { me.show(); }, null, 'Showing message...' ); } };