UNPKG

devextreme

Version:

JavaScript/TypeScript Component Suite for Responsive Web Development

91 lines (89 loc) 2.94 kB
/** * DevExtreme (cjs/__internal/ui/chat/alertlist.js) * Version: 25.2.7 * Build date: Tue May 05 2026 * * Copyright (c) 2012 - 2026 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _message = _interopRequireDefault(require("../../../common/core/localization/message")); var _renderer = _interopRequireDefault(require("../../../core/renderer")); var _widget = _interopRequireDefault(require("../../core/widget/widget")); var _informer = _interopRequireDefault(require("../../ui/informer/informer")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e } } const CHAT_ALERTLIST_CLASS = "dx-chat-alertlist"; const CHAT_ALERTLIST_ERROR_CLASS = "dx-chat-alertlist-error"; const ICON_ERRORCIRCLE = "errorcircle"; class AlertList extends _widget.default { _getDefaultOptions() { return Object.assign({}, super._getDefaultOptions(), { items: [] }) } _initMarkup() { (0, _renderer.default)(this.element()).addClass("dx-chat-alertlist"); super._initMarkup(); const { items: items } = this.option(); this._renderItems(items); this._updateAria() } _renderItems(items) { this._informersInstances = []; if (null !== items && void 0 !== items && items.length) { items.forEach(itemData => { this._renderItem(itemData) }) } } _renderItem(itemData) { const $informer = (0, _renderer.default)("<div>").addClass("dx-chat-alertlist-error"); this.$element().append($informer); const informer = this._createComponent($informer, _informer.default, { text: (null === itemData || void 0 === itemData ? void 0 : itemData.message) ?? "", icon: "errorcircle", showBackground: false }); this._informersInstances.push(informer) } _cleanItems() { this._informersInstances.forEach(informerInstance => { informerInstance.dispose() }) } _updateAria() { const aria = { role: "log", atomic: "false", label: _message.default.format("dxChat-alertListAriaLabel"), live: "polite", relevant: "additions" }; this.setAria(aria) } _clean() { this._cleanItems(); super._clean() } _optionChanged(args) { const { name: name } = args; if ("items" === name) { this._invalidate() } else { super._optionChanged(args) } } } var _default = exports.default = AlertList;