UNPKG

matrix-react-sdk

Version:
67 lines (64 loc) 9.57 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireDefault(require("react")); var _AutocompleteProvider = _interopRequireDefault(require("./AutocompleteProvider")); var _languageHandler = require("../languageHandler"); var _MatrixClientPeg = require("../MatrixClientPeg"); var _Components = require("./Components"); var _RoomAvatar = _interopRequireDefault(require("../components/views/avatars/RoomAvatar")); /* Copyright 2017-2024 New Vector Ltd. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ const AT_ROOM_REGEX = /@\S*/g; class NotifProvider extends _AutocompleteProvider.default { constructor(room, renderingType) { super({ commandRegex: AT_ROOM_REGEX, renderingType }); this.room = room; } async getCompletions(query, selection, force = false, limit = -1) { const client = _MatrixClientPeg.MatrixClientPeg.safeGet(); if (!this.room.currentState.mayTriggerNotifOfType("room", client.getSafeUserId())) return []; const { command, range } = this.getCurrentCommand(query, selection, force); if (command?.[0] && command[0].length > 1 && ["@room", "@channel", "@everyone", "@here"].some(c => c.startsWith(command[0]))) { return [{ completion: "@room", completionId: "@room", type: "at-room", suffix: " ", component: /*#__PURE__*/_react.default.createElement(_Components.PillCompletion, { title: "@room", description: (0, _languageHandler._t)("composer|autocomplete|@room_description") }, /*#__PURE__*/_react.default.createElement(_RoomAvatar.default, { size: "24px", room: this.room })), range: range }]; } return []; } getName() { return "❗️ " + (0, _languageHandler._t)("composer|autocomplete|notification_description"); } renderCompletions(completions) { return /*#__PURE__*/_react.default.createElement("div", { className: "mx_Autocomplete_Completion_container_pill mx_Autocomplete_Completion_container_truncate", role: "presentation", "aria-label": (0, _languageHandler._t)("composer|autocomplete|notification_a11y") }, completions); } } exports.default = NotifProvider; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIl9BdXRvY29tcGxldGVQcm92aWRlciIsIl9sYW5ndWFnZUhhbmRsZXIiLCJfTWF0cml4Q2xpZW50UGVnIiwiX0NvbXBvbmVudHMiLCJfUm9vbUF2YXRhciIsIkFUX1JPT01fUkVHRVgiLCJOb3RpZlByb3ZpZGVyIiwiQXV0b2NvbXBsZXRlUHJvdmlkZXIiLCJjb25zdHJ1Y3RvciIsInJvb20iLCJyZW5kZXJpbmdUeXBlIiwiY29tbWFuZFJlZ2V4IiwiZ2V0Q29tcGxldGlvbnMiLCJxdWVyeSIsInNlbGVjdGlvbiIsImZvcmNlIiwibGltaXQiLCJjbGllbnQiLCJNYXRyaXhDbGllbnRQZWciLCJzYWZlR2V0IiwiY3VycmVudFN0YXRlIiwibWF5VHJpZ2dlck5vdGlmT2ZUeXBlIiwiZ2V0U2FmZVVzZXJJZCIsImNvbW1hbmQiLCJyYW5nZSIsImdldEN1cnJlbnRDb21tYW5kIiwibGVuZ3RoIiwic29tZSIsImMiLCJzdGFydHNXaXRoIiwiY29tcGxldGlvbiIsImNvbXBsZXRpb25JZCIsInR5cGUiLCJzdWZmaXgiLCJjb21wb25lbnQiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsIlBpbGxDb21wbGV0aW9uIiwidGl0bGUiLCJkZXNjcmlwdGlvbiIsIl90Iiwic2l6ZSIsImdldE5hbWUiLCJyZW5kZXJDb21wbGV0aW9ucyIsImNvbXBsZXRpb25zIiwiY2xhc3NOYW1lIiwicm9sZSIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvYXV0b2NvbXBsZXRlL05vdGlmUHJvdmlkZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAxNy0yMDI0IE5ldyBWZWN0b3IgTHRkLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBSb29tIH0gZnJvbSBcIm1hdHJpeC1qcy1zZGsvc3JjL21hdHJpeFwiO1xuXG5pbXBvcnQgQXV0b2NvbXBsZXRlUHJvdmlkZXIgZnJvbSBcIi4vQXV0b2NvbXBsZXRlUHJvdmlkZXJcIjtcbmltcG9ydCB7IF90IH0gZnJvbSBcIi4uL2xhbmd1YWdlSGFuZGxlclwiO1xuaW1wb3J0IHsgTWF0cml4Q2xpZW50UGVnIH0gZnJvbSBcIi4uL01hdHJpeENsaWVudFBlZ1wiO1xuaW1wb3J0IHsgUGlsbENvbXBsZXRpb24gfSBmcm9tIFwiLi9Db21wb25lbnRzXCI7XG5pbXBvcnQgeyBJQ29tcGxldGlvbiwgSVNlbGVjdGlvblJhbmdlIH0gZnJvbSBcIi4vQXV0b2NvbXBsZXRlclwiO1xuaW1wb3J0IFJvb21BdmF0YXIgZnJvbSBcIi4uL2NvbXBvbmVudHMvdmlld3MvYXZhdGFycy9Sb29tQXZhdGFyXCI7XG5pbXBvcnQgeyBUaW1lbGluZVJlbmRlcmluZ1R5cGUgfSBmcm9tIFwiLi4vY29udGV4dHMvUm9vbUNvbnRleHRcIjtcblxuY29uc3QgQVRfUk9PTV9SRUdFWCA9IC9AXFxTKi9nO1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBOb3RpZlByb3ZpZGVyIGV4dGVuZHMgQXV0b2NvbXBsZXRlUHJvdmlkZXIge1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcihcbiAgICAgICAgcHVibGljIHJvb206IFJvb20sXG4gICAgICAgIHJlbmRlcmluZ1R5cGU/OiBUaW1lbGluZVJlbmRlcmluZ1R5cGUsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKHsgY29tbWFuZFJlZ2V4OiBBVF9ST09NX1JFR0VYLCByZW5kZXJpbmdUeXBlIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBhc3luYyBnZXRDb21wbGV0aW9ucyhcbiAgICAgICAgcXVlcnk6IHN0cmluZyxcbiAgICAgICAgc2VsZWN0aW9uOiBJU2VsZWN0aW9uUmFuZ2UsXG4gICAgICAgIGZvcmNlID0gZmFsc2UsXG4gICAgICAgIGxpbWl0ID0gLTEsXG4gICAgKTogUHJvbWlzZTxJQ29tcGxldGlvbltdPiB7XG4gICAgICAgIGNvbnN0IGNsaWVudCA9IE1hdHJpeENsaWVudFBlZy5zYWZlR2V0KCk7XG5cbiAgICAgICAgaWYgKCF0aGlzLnJvb20uY3VycmVudFN0YXRlLm1heVRyaWdnZXJOb3RpZk9mVHlwZShcInJvb21cIiwgY2xpZW50LmdldFNhZmVVc2VySWQoKSkpIHJldHVybiBbXTtcblxuICAgICAgICBjb25zdCB7IGNvbW1hbmQsIHJhbmdlIH0gPSB0aGlzLmdldEN1cnJlbnRDb21tYW5kKHF1ZXJ5LCBzZWxlY3Rpb24sIGZvcmNlKTtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgY29tbWFuZD8uWzBdICYmXG4gICAgICAgICAgICBjb21tYW5kWzBdLmxlbmd0aCA+IDEgJiZcbiAgICAgICAgICAgIFtcIkByb29tXCIsIFwiQGNoYW5uZWxcIiwgXCJAZXZlcnlvbmVcIiwgXCJAaGVyZVwiXS5zb21lKChjKSA9PiBjLnN0YXJ0c1dpdGgoY29tbWFuZCFbMF0pKVxuICAgICAgICApIHtcbiAgICAgICAgICAgIHJldHVybiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgICBjb21wbGV0aW9uOiBcIkByb29tXCIsXG4gICAgICAgICAgICAgICAgICAgIGNvbXBsZXRpb25JZDogXCJAcm9vbVwiLFxuICAgICAgICAgICAgICAgICAgICB0eXBlOiBcImF0LXJvb21cIixcbiAgICAgICAgICAgICAgICAgICAgc3VmZml4OiBcIiBcIixcbiAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50OiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8UGlsbENvbXBsZXRpb24gdGl0bGU9XCJAcm9vbVwiIGRlc2NyaXB0aW9uPXtfdChcImNvbXBvc2VyfGF1dG9jb21wbGV0ZXxAcm9vbV9kZXNjcmlwdGlvblwiKX0+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPFJvb21BdmF0YXIgc2l6ZT1cIjI0cHhcIiByb29tPXt0aGlzLnJvb219IC8+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1BpbGxDb21wbGV0aW9uPlxuICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICByYW5nZTogcmFuZ2UhLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBdO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBbXTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0TmFtZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gXCLinZfvuI8gXCIgKyBfdChcImNvbXBvc2VyfGF1dG9jb21wbGV0ZXxub3RpZmljYXRpb25fZGVzY3JpcHRpb25cIik7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbmRlckNvbXBsZXRpb25zKGNvbXBsZXRpb25zOiBSZWFjdC5SZWFjdE5vZGVbXSk6IFJlYWN0LlJlYWN0Tm9kZSB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwibXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3BpbGwgbXhfQXV0b2NvbXBsZXRlX0NvbXBsZXRpb25fY29udGFpbmVyX3RydW5jYXRlXCJcbiAgICAgICAgICAgICAgICByb2xlPVwicHJlc2VudGF0aW9uXCJcbiAgICAgICAgICAgICAgICBhcmlhLWxhYmVsPXtfdChcImNvbXBvc2VyfGF1dG9jb21wbGV0ZXxub3RpZmljYXRpb25fYTExeVwiKX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7Y29tcGxldGlvbnN9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKTtcbiAgICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFPQSxJQUFBQSxNQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFHQSxJQUFBQyxxQkFBQSxHQUFB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