matrix-react-sdk
Version:
SDK for matrix.org using React
46 lines (43 loc) • 4.92 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _events = _interopRequireDefault(require("events"));
var _AsyncStore = require("./AsyncStore");
/*
Copyright 2024 New Vector Ltd.
Copyright 2020 The Matrix.org Foundation C.I.C.
SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only
Please see LICENSE files in the repository root for full details.
*/
class NonUrgentToastStore extends _events.default {
constructor(...args) {
super(...args);
(0, _defineProperty2.default)(this, "toasts", new Map());
}
static get instance() {
if (!NonUrgentToastStore._instance) {
NonUrgentToastStore._instance = new NonUrgentToastStore();
}
return NonUrgentToastStore._instance;
}
get components() {
return Array.from(this.toasts.values());
}
addToast(c) {
const ref = Symbol();
this.toasts.set(ref, c);
this.emit(_AsyncStore.UPDATE_EVENT);
return ref;
}
removeToast(ref) {
this.toasts.delete(ref);
this.emit(_AsyncStore.UPDATE_EVENT);
}
}
exports.default = NonUrgentToastStore;
(0, _defineProperty2.default)(NonUrgentToastStore, "_instance", void 0);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfZXZlbnRzIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsInJlcXVpcmUiLCJfQXN5bmNTdG9yZSIsIk5vblVyZ2VudFRvYXN0U3RvcmUiLCJFdmVudEVtaXR0ZXIiLCJjb25zdHJ1Y3RvciIsImFyZ3MiLCJfZGVmaW5lUHJvcGVydHkyIiwiZGVmYXVsdCIsIk1hcCIsImluc3RhbmNlIiwiX2luc3RhbmNlIiwiY29tcG9uZW50cyIsIkFycmF5IiwiZnJvbSIsInRvYXN0cyIsInZhbHVlcyIsImFkZFRvYXN0IiwiYyIsInJlZiIsIlN5bWJvbCIsInNldCIsImVtaXQiLCJVUERBVEVfRVZFTlQiLCJyZW1vdmVUb2FzdCIsImRlbGV0ZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmVzL05vblVyZ2VudFRvYXN0U3RvcmUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLypcbkNvcHlyaWdodCAyMDI0IE5ldyBWZWN0b3IgTHRkLlxuQ29weXJpZ2h0IDIwMjAgVGhlIE1hdHJpeC5vcmcgRm91bmRhdGlvbiBDLkkuQy5cblxuU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFHUEwtMy4wLW9ubHkgT1IgR1BMLTMuMC1vbmx5XG5QbGVhc2Ugc2VlIExJQ0VOU0UgZmlsZXMgaW4gdGhlIHJlcG9zaXRvcnkgcm9vdCBmb3IgZnVsbCBkZXRhaWxzLlxuKi9cblxuaW1wb3J0IEV2ZW50RW1pdHRlciBmcm9tIFwiZXZlbnRzXCI7XG5cbmltcG9ydCB7IENvbXBvbmVudENsYXNzIH0gZnJvbSBcIi4uL0B0eXBlcy9jb21tb25cIjtcbmltcG9ydCB7IFVQREFURV9FVkVOVCB9IGZyb20gXCIuL0FzeW5jU3RvcmVcIjtcblxuZXhwb3J0IHR5cGUgVG9hc3RSZWZlcmVuY2UgPSBzeW1ib2w7XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE5vblVyZ2VudFRvYXN0U3RvcmUgZXh0ZW5kcyBFdmVudEVtaXR0ZXIge1xuICAgIHByaXZhdGUgc3RhdGljIF9pbnN0YW5jZTogTm9uVXJnZW50VG9hc3RTdG9yZTtcblxuICAgIHByaXZhdGUgdG9hc3RzID0gbmV3IE1hcDxUb2FzdFJlZmVyZW5jZSwgQ29tcG9uZW50Q2xhc3M+KCk7XG5cbiAgICBwdWJsaWMgc3RhdGljIGdldCBpbnN0YW5jZSgpOiBOb25VcmdlbnRUb2FzdFN0b3JlIHtcbiAgICAgICAgaWYgKCFOb25VcmdlbnRUb2FzdFN0b3JlLl9pbnN0YW5jZSkge1xuICAgICAgICAgICAgTm9uVXJnZW50VG9hc3RTdG9yZS5faW5zdGFuY2UgPSBuZXcgTm9uVXJnZW50VG9hc3RTdG9yZSgpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBOb25VcmdlbnRUb2FzdFN0b3JlLl9pbnN0YW5jZTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGNvbXBvbmVudHMoKTogQ29tcG9uZW50Q2xhc3NbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMudG9hc3RzLnZhbHVlcygpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgYWRkVG9hc3QoYzogQ29tcG9uZW50Q2xhc3MpOiBUb2FzdFJlZmVyZW5jZSB7XG4gICAgICAgIGNvbnN0IHJlZjogVG9hc3RSZWZlcmVuY2UgPSBTeW1ib2woKTtcbiAgICAgICAgdGhpcy50b2FzdHMuc2V0KHJlZiwgYyk7XG4gICAgICAgIHRoaXMuZW1pdChVUERBVEVfRVZFTlQpO1xuICAgICAgICByZXR1cm4gcmVmO1xuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmVUb2FzdChyZWY6IFRvYXN0UmVmZXJlbmNlKTogdm9pZCB7XG4gICAgICAgIHRoaXMudG9hc3RzLmRlbGV0ZShyZWYpO1xuICAgICAgICB0aGlzLmVtaXQoVVBEQVRFX0VWRU5UKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7O0FBUUEsSUFBQUEsT0FBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBR0EsSUFBQUMsV0FBQSxHQUFBRCxPQUFBO0FBWEE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBU2UsTUFBTUUsbUJBQW1CLFNBQVNDLGVBQVksQ0FBQztFQUFBQyxZQUFBLEdBQUFDLElBQUE7SUFBQSxTQUFBQSxJQUFBO0lBQUEsSUFBQUMsZ0JBQUEsQ0FBQUMsT0FBQSxrQkFHekMsSUFBSUMsR0FBRyxDQUFpQyxDQUFDO0VBQUE7RUFFMUQsV0FBa0JDLFFBQVFBLENBQUEsRUFBd0I7SUFDOUMsSUFBSSxDQUFDUCxtQkFBbUIsQ0FBQ1EsU0FBUyxFQUFFO01BQ2hDUixtQkFBbUIsQ0FBQ1EsU0FBUyxHQUFHLElBQUlSLG1CQUFtQixDQUFDLENBQUM7SUFDN0Q7SUFDQSxPQUFPQSxtQkFBbUIsQ0FBQ1EsU0FBUztFQUN4QztFQUVBLElBQVdDLFVBQVVBLENBQUEsRUFBcUI7SUFDdEMsT0FBT0MsS0FBSyxDQUFDQyxJQUFJLENBQUMsSUFBSSxDQUFDQyxNQUFNLENBQUNDLE1BQU0sQ0FBQyxDQUFDLENBQUM7RUFDM0M7RUFFT0MsUUFBUUEsQ0FBQ0MsQ0FBaUIsRUFBa0I7SUFDL0MsTUFBTUMsR0FBbUIsR0FBR0MsTUFBTSxDQUFDLENBQUM7SUFDcEMsSUFBSSxDQUFDTCxNQUFNLENBQUNNLEdBQUcsQ0FBQ0YsR0FBRyxFQUFFRCxDQUFDLENBQUM7SUFDdkIsSUFBSSxDQUFDSSxJQUFJLENBQUNDLHdCQUFZLENBQUM7SUFDdkIsT0FBT0osR0FBRztFQUNkO0VBRU9LLFdBQVdBLENBQUNMLEdBQW1CLEVBQVE7SUFDMUMsSUFBSSxDQUFDSixNQUFNLENBQUNVLE1BQU0sQ0FBQ04sR0FBRyxDQUFDO0lBQ3ZCLElBQUksQ0FBQ0csSUFBSSxDQUFDQyx3QkFBWSxDQUFDO0VBQzNCO0FBQ0o7QUFBQ0csT0FBQSxDQUFBbEIsT0FBQSxHQUFBTCxtQkFBQTtBQUFBLElBQUFJLGdCQUFBLENBQUFDLE9BQUEsRUEzQm9CTCxtQkFBbUIiLCJpZ25vcmVMaXN0IjpbXX0=