matrix-react-sdk
Version:
SDK for matrix.org using React
83 lines (81 loc) • 14.5 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.ModalWidgetStore = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _logger = require("matrix-js-sdk/src/logger");
var _AsyncStoreWithClient = require("./AsyncStoreWithClient");
var _dispatcher = _interopRequireDefault(require("../dispatcher/dispatcher"));
var _Modal = _interopRequireDefault(require("../Modal"));
var _ModalWidgetDialog = _interopRequireDefault(require("../components/views/dialogs/ModalWidgetDialog"));
var _WidgetMessagingStore = require("./widgets/WidgetMessagingStore");
var _ModalWidgetStore;
/*
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.
*/
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
class ModalWidgetStore extends _AsyncStoreWithClient.AsyncStoreWithClient {
constructor() {
super(_dispatcher.default, {});
(0, _defineProperty2.default)(this, "modalInstance", null);
(0, _defineProperty2.default)(this, "openSourceWidgetId", null);
(0, _defineProperty2.default)(this, "openSourceWidgetRoomId", null);
(0, _defineProperty2.default)(this, "canOpenModalWidget", () => {
return !this.modalInstance;
});
(0, _defineProperty2.default)(this, "openModalWidget", (requestData, sourceWidget, widgetRoomId) => {
if (this.modalInstance) return;
this.openSourceWidgetId = sourceWidget.id;
this.openSourceWidgetRoomId = widgetRoomId ?? null;
this.modalInstance = _Modal.default.createDialog(_ModalWidgetDialog.default, {
widgetDefinition: _objectSpread({}, requestData),
widgetRoomId,
sourceWidgetId: sourceWidget.id,
onFinished: (success, data) => {
this.closeModalWidget(sourceWidget, widgetRoomId, success && data ? data : {
"m.exited": true
});
this.openSourceWidgetId = null;
this.openSourceWidgetRoomId = null;
this.modalInstance = null;
}
}, undefined, /* priority = */false, /* static = */true);
});
(0, _defineProperty2.default)(this, "closeModalWidget", (sourceWidget, widgetRoomId, data) => {
if (!this.modalInstance) return;
if (this.openSourceWidgetId === sourceWidget.id && this.openSourceWidgetRoomId === widgetRoomId) {
this.openSourceWidgetId = null;
this.openSourceWidgetRoomId = null;
this.modalInstance.close();
this.modalInstance = null;
const sourceMessaging = _WidgetMessagingStore.WidgetMessagingStore.instance.getMessaging(sourceWidget, widgetRoomId);
if (!sourceMessaging) {
_logger.logger.error("No source widget messaging for modal widget");
return;
}
sourceMessaging.notifyModalWidgetClose(data);
}
});
}
static get instance() {
return ModalWidgetStore.internalInstance;
}
async onAction(payload) {
// nothing
}
}
exports.ModalWidgetStore = ModalWidgetStore;
_ModalWidgetStore = ModalWidgetStore;
(0, _defineProperty2.default)(ModalWidgetStore, "internalInstance", (() => {
const instance = new _ModalWidgetStore();
instance.start();
return instance;
})());
window.mxModalWidgetStore = ModalWidgetStore.instance;
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfbG9nZ2VyIiwicmVxdWlyZSIsIl9Bc3luY1N0b3JlV2l0aENsaWVudCIsIl9kaXNwYXRjaGVyIiwiX2ludGVyb3BSZXF1aXJlRGVmYXVsdCIsIl9Nb2RhbCIsIl9Nb2RhbFdpZGdldERpYWxvZyIsIl9XaWRnZXRNZXNzYWdpbmdTdG9yZSIsIl9Nb2RhbFdpZGdldFN0b3JlIiwib3duS2V5cyIsImUiLCJyIiwidCIsIk9iamVjdCIsImtleXMiLCJnZXRPd25Qcm9wZXJ0eVN5bWJvbHMiLCJvIiwiZmlsdGVyIiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwiZW51bWVyYWJsZSIsInB1c2giLCJhcHBseSIsIl9vYmplY3RTcHJlYWQiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJmb3JFYWNoIiwiX2RlZmluZVByb3BlcnR5MiIsImRlZmF1bHQiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzIiwiZGVmaW5lUHJvcGVydGllcyIsImRlZmluZVByb3BlcnR5IiwiTW9kYWxXaWRnZXRTdG9yZSIsIkFzeW5jU3RvcmVXaXRoQ2xpZW50IiwiY29uc3RydWN0b3IiLCJkZWZhdWx0RGlzcGF0Y2hlciIsIm1vZGFsSW5zdGFuY2UiLCJyZXF1ZXN0RGF0YSIsInNvdXJjZVdpZGdldCIsIndpZGdldFJvb21JZCIsIm9wZW5Tb3VyY2VXaWRnZXRJZCIsImlkIiwib3BlblNvdXJjZVdpZGdldFJvb21JZCIsIk1vZGFsIiwiY3JlYXRlRGlhbG9nIiwiTW9kYWxXaWRnZXREaWFsb2ciLCJ3aWRnZXREZWZpbml0aW9uIiwic291cmNlV2lkZ2V0SWQiLCJvbkZpbmlzaGVkIiwic3VjY2VzcyIsImRhdGEiLCJjbG9zZU1vZGFsV2lkZ2V0IiwidW5kZWZpbmVkIiwiY2xvc2UiLCJzb3VyY2VNZXNzYWdpbmciLCJXaWRnZXRNZXNzYWdpbmdTdG9yZSIsImluc3RhbmNlIiwiZ2V0TWVzc2FnaW5nIiwibG9nZ2VyIiwiZXJyb3IiLCJub3RpZnlNb2RhbFdpZGdldENsb3NlIiwiaW50ZXJuYWxJbnN0YW5jZSIsIm9uQWN0aW9uIiwicGF5bG9hZCIsImV4cG9ydHMiLCJzdGFydCIsIndpbmRvdyIsIm14TW9kYWxXaWRnZXRTdG9yZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZXMvTW9kYWxXaWRnZXRTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMCBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgeyBJTW9kYWxXaWRnZXRPcGVuUmVxdWVzdERhdGEsIElNb2RhbFdpZGdldFJldHVybkRhdGEsIFdpZGdldCB9IGZyb20gXCJtYXRyaXgtd2lkZ2V0LWFwaVwiO1xuaW1wb3J0IHsgbG9nZ2VyIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL2xvZ2dlclwiO1xuXG5pbXBvcnQgeyBBc3luY1N0b3JlV2l0aENsaWVudCB9IGZyb20gXCIuL0FzeW5jU3RvcmVXaXRoQ2xpZW50XCI7XG5pbXBvcnQgZGVmYXVsdERpc3BhdGNoZXIgZnJvbSBcIi4uL2Rpc3BhdGNoZXIvZGlzcGF0Y2hlclwiO1xuaW1wb3J0IHsgQWN0aW9uUGF5bG9hZCB9IGZyb20gXCIuLi9kaXNwYXRjaGVyL3BheWxvYWRzXCI7XG5pbXBvcnQgTW9kYWwsIHsgSUhhbmRsZSwgSU1vZGFsIH0gZnJvbSBcIi4uL01vZGFsXCI7XG5pbXBvcnQgTW9kYWxXaWRnZXREaWFsb2cgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvZGlhbG9ncy9Nb2RhbFdpZGdldERpYWxvZ1wiO1xuaW1wb3J0IHsgV2lkZ2V0TWVzc2FnaW5nU3RvcmUgfSBmcm9tIFwiLi93aWRnZXRzL1dpZGdldE1lc3NhZ2luZ1N0b3JlXCI7XG5cbmludGVyZmFjZSBJU3RhdGUge1xuICAgIG1vZGFsPzogSU1vZGFsPGFueT47XG4gICAgb3BlbmVkRnJvbUlkPzogc3RyaW5nO1xufVxuXG5leHBvcnQgY2xhc3MgTW9kYWxXaWRnZXRTdG9yZSBleHRlbmRzIEFzeW5jU3RvcmVXaXRoQ2xpZW50PElTdGF0ZT4ge1xuICAgIHByaXZhdGUgc3RhdGljIHJlYWRvbmx5IGludGVybmFsSW5zdGFuY2UgPSAoKCkgPT4ge1xuICAgICAgICBjb25zdCBpbnN0YW5jZSA9IG5ldyBNb2RhbFdpZGdldFN0b3JlKCk7XG4gICAgICAgIGluc3RhbmNlLnN0YXJ0KCk7XG4gICAgICAgIHJldHVybiBpbnN0YW5jZTtcbiAgICB9KSgpO1xuICAgIHByaXZhdGUgbW9kYWxJbnN0YW5jZTogSUhhbmRsZTx0eXBlb2YgTW9kYWxXaWRnZXREaWFsb2c+IHwgbnVsbCA9IG51bGw7XG4gICAgcHJpdmF0ZSBvcGVuU291cmNlV2lkZ2V0SWQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIHByaXZhdGUgb3BlblNvdXJjZVdpZGdldFJvb21JZDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihkZWZhdWx0RGlzcGF0Y2hlciwge30pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0IGluc3RhbmNlKCk6IE1vZGFsV2lkZ2V0U3RvcmUge1xuICAgICAgICByZXR1cm4gTW9kYWxXaWRnZXRTdG9yZS5pbnRlcm5hbEluc3RhbmNlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBhc3luYyBvbkFjdGlvbihwYXlsb2FkOiBBY3Rpb25QYXlsb2FkKTogUHJvbWlzZTxhbnk+IHtcbiAgICAgICAgLy8gbm90aGluZ1xuICAgIH1cblxuICAgIHB1YmxpYyBjYW5PcGVuTW9kYWxXaWRnZXQgPSAoKTogYm9vbGVhbiA9PiB7XG4gICAgICAgIHJldHVybiAhdGhpcy5tb2RhbEluc3RhbmNlO1xuICAgIH07XG5cbiAgICBwdWJsaWMgb3Blbk1vZGFsV2lkZ2V0ID0gKFxuICAgICAgICByZXF1ZXN0RGF0YTogSU1vZGFsV2lkZ2V0T3BlblJlcXVlc3REYXRhLFxuICAgICAgICBzb3VyY2VXaWRnZXQ6IFdpZGdldCxcbiAgICAgICAgd2lkZ2V0Um9vbUlkPzogc3RyaW5nLFxuICAgICk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAodGhpcy5tb2RhbEluc3RhbmNlKSByZXR1cm47XG4gICAgICAgIHRoaXMub3BlblNvdXJjZVdpZGdldElkID0gc291cmNlV2lkZ2V0LmlkO1xuICAgICAgICB0aGlzLm9wZW5Tb3VyY2VXaWRnZXRSb29tSWQgPSB3aWRnZXRSb29tSWQgPz8gbnVsbDtcbiAgICAgICAgdGhpcy5tb2RhbEluc3RhbmNlID0gTW9kYWwuY3JlYXRlRGlhbG9nKFxuICAgICAgICAgICAgTW9kYWxXaWRnZXREaWFsb2csXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgd2lkZ2V0RGVmaW5pdGlvbjogeyAuLi5yZXF1ZXN0RGF0YSB9LFxuICAgICAgICAgICAgICAgIHdpZGdldFJvb21JZCxcbiAgICAgICAgICAgICAgICBzb3VyY2VXaWRnZXRJZDogc291cmNlV2lkZ2V0LmlkLFxuICAgICAgICAgICAgICAgIG9uRmluaXNoZWQ6IChzdWNjZXNzLCBkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY2xvc2VNb2RhbFdpZGdldChzb3VyY2VXaWRnZXQsIHdpZGdldFJvb21JZCwgc3VjY2VzcyAmJiBkYXRhID8gZGF0YSA6IHsgXCJtLmV4aXRlZFwiOiB0cnVlIH0pO1xuXG4gICAgICAgICAgICAgICAgICAgIHRoaXMub3BlblNvdXJjZVdpZGdldElkID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5vcGVuU291cmNlV2lkZ2V0Um9vbUlkID0gbnVsbDtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RhbEluc3RhbmNlID0gbnVsbDtcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHVuZGVmaW5lZCxcbiAgICAgICAgICAgIC8qIHByaW9yaXR5ID0gKi8gZmFsc2UsXG4gICAgICAgICAgICAvKiBzdGF0aWMgPSAqLyB0cnVlLFxuICAgICAgICApO1xuICAgIH07XG5cbiAgICBwdWJsaWMgY2xvc2VNb2RhbFdpZGdldCA9IChcbiAgICAgICAgc291cmNlV2lkZ2V0OiBXaWRnZXQsXG4gICAgICAgIHdpZGdldFJvb21JZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgICAgICBkYXRhOiBJTW9kYWxXaWRnZXRSZXR1cm5EYXRhLFxuICAgICk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAoIXRoaXMubW9kYWxJbnN0YW5jZSkgcmV0dXJuO1xuICAgICAgICBpZiAodGhpcy5vcGVuU291cmNlV2lkZ2V0SWQgPT09IHNvdXJjZVdpZGdldC5pZCAmJiB0aGlzLm9wZW5Tb3VyY2VXaWRnZXRSb29tSWQgPT09IHdpZGdldFJvb21JZCkge1xuICAgICAgICAgICAgdGhpcy5vcGVuU291cmNlV2lkZ2V0SWQgPSBudWxsO1xuICAgICAgICAgICAgdGhpcy5vcGVuU291cmNlV2lkZ2V0Um9vbUlkID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMubW9kYWxJbnN0YW5jZS5jbG9zZSgpO1xuICAgICAgICAgICAgdGhpcy5tb2RhbEluc3RhbmNlID0gbnVsbDtcblxuICAgICAgICAgICAgY29uc3Qgc291cmNlTWVzc2FnaW5nID0gV2lkZ2V0TWVzc2FnaW5nU3RvcmUuaW5zdGFuY2UuZ2V0TWVzc2FnaW5nKHNvdXJjZVdpZGdldCwgd2lkZ2V0Um9vbUlkKTtcbiAgICAgICAgICAgIGlmICghc291cmNlTWVzc2FnaW5nKSB7XG4gICAgICAgICAgICAgICAgbG9nZ2VyLmVycm9yKFwiTm8gc291cmNlIHdpZGdldCBtZXNzYWdpbmcgZm9yIG1vZGFsIHdpZGdldFwiKTtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzb3VyY2VNZXNzYWdpbmcubm90aWZ5TW9kYWxXaWRnZXRDbG9zZShkYXRhKTtcbiAgICAgICAgfVxuICAgIH07XG59XG5cbndpbmRvdy5teE1vZGFsV2lkZ2V0U3RvcmUgPSBNb2RhbFdpZGdldFN0b3JlLmluc3RhbmNlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQVNBLElBQUFBLE9BQUEsR0FBQUMsT0FBQTtBQUVBLElBQUFDLHFCQUFBLEdBQUFELE9BQUE7QUFDQSxJQUFBRSxXQUFBLEdBQUFDLHNCQUFBLENBQUFILE9BQUE7QUFFQSxJQUFBSSxNQUFBLEdBQUFELHNCQUFBLENBQUFILE9BQUE7QUFDQSxJQUFBSyxrQkFBQSxHQUFBRixzQkFBQSxDQUFBSCxPQUFBO0FBQ0EsSUFBQU0scUJBQUEsR0FBQU4sT0FBQTtBQUFzRSxJQUFBTyxpQkFBQTtBQWhCdEU7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFOQSxTQUFBQyxRQUFBQyxDQUFBLEVBQUFDLENBQUEsUUFBQUMsQ0FBQSxHQUFBQyxNQUFBLENBQUFDLElBQUEsQ0FBQUosQ0FBQSxPQUFBRyxNQUFBLENBQUFFLHFCQUFBLFFBQUFDLENBQUEsR0FBQUgsTUFBQSxDQUFBRSxxQkFBQSxDQUFBTCxDQUFBLEdBQUFDLENBQUEsS0FBQUssQ0FBQSxHQUFBQSxDQUFBLENBQUFDLE1BQUEsV0FBQU4sQ0FBQSxXQUFBRSxNQUFBLENBQUFLLHdCQUFBLENBQUFSLENBQUEsRUFBQUMsQ0FBQSxFQUFBUSxVQUFBLE9BQUFQLENBQUEsQ0FBQVEsSUFBQSxDQUFBQyxLQUFBLENBQUFULENBQUEsRUFBQUksQ0FBQSxZQUFBSixDQUFBO0FBQUEsU0FBQVUsY0FBQVosQ0FBQSxhQUFBQyxDQUFBLE1BQUFBLENBQUEsR0FBQVksU0FBQSxDQUFBQyxNQUFBLEVBQUFiLENBQUEsVUFBQUMsQ0FBQSxXQUFBVyxTQUFBLENBQUFaLENBQUEsSUFBQVksU0FBQSxDQUFBWixDQUFBLFFBQUFBLENBQUEsT0FB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