UNPKG

@nu-art/thunder

Version:

Thunder - React & Typescript based frontend framework

73 lines 3.18 kB
"use strict"; /* * Thunder is a typescript & react frontend foundation that natively * runs on firebase function and is a part of the Thunderstorm larger project * * Copyright (C) 2018 Adam van der Kruk aka TacB0sS * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); // noinspection TypeScriptPreferShortImport var toaster_module_1 = require("../modules/toaster-module"); // noinspection TypeScriptPreferShortImport var BaseComponent_1 = require("../core/BaseComponent"); var BaseToaster = /** @class */ (function (_super) { __extends(BaseToaster, _super); function BaseToaster(props) { var _this = _super.call(this, props) || this; _this.showToast = function (model) { _this.setState({ model: model }); if (!model) return; var duration = model.duration || model.duration || 10000; if (duration < 0) return; if (_this.timeoutInterval) clearTimeout(_this.timeoutInterval); _this.timeoutInterval = setTimeout(toaster_module_1.ToastModule.hideToast, duration, model); }; _this.renderActions = function (toast) { if (!toast.actions || toast.actions.length === 0) return React.createElement("button", { onClick: function () { return toaster_module_1.ToastModule.hideToast(toast); } }, "X"); return React.createElement("div", { className: 'll_v_l' }, React.Children.map(toast.actions, function (action, idx) { return React.cloneElement(action, { key: idx }); })); }; _this.state = {}; return _this; } BaseToaster.prototype.render = function () { var toast = this.state.model; if (!toast || !toast.content) return null; return this.renderToaster(toast); }; return BaseToaster; }(BaseComponent_1.BaseComponent)); exports.BaseToaster = BaseToaster; //# sourceMappingURL=BaseToaster.js.map