UNPKG

devextreme

Version:

HTML5 JavaScript Component Suite for Responsive Web Development

68 lines (67 loc) 2.35 kB
/** * DevExtreme (esm/__internal/ui/chat/alertlist.js) * Version: 24.2.7 * Build date: Mon Apr 28 2025 * * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/ */ import _extends from "@babel/runtime/helpers/esm/extends"; import messageLocalization from "../../../common/core/localization/message"; import $ from "../../../core/renderer"; import Widget from "../../core/widget/widget"; const CHAT_ALERTLIST_CLASS = "dx-chat-alertlist"; const CHAT_ALERTLIST_ERROR_CLASS = "dx-chat-alertlist-error"; const CHAT_ALERTLIST_ERROR_ICON_CLASS = "dx-chat-alertlist-error-icon"; const CHAT_ALERTLIST_ERROR_TEXT_CLASS = "dx-chat-alertlist-error-text"; class AlertList extends Widget { _getDefaultOptions() { return _extends({}, super._getDefaultOptions(), { items: [] }) } _initMarkup() { $(this.element()).addClass("dx-chat-alertlist"); super._initMarkup(); const { items: items } = this.option(); this._renderItems(items); this._updateAria() } _renderItems(items) { if (null !== items && void 0 !== items && items.length) { items.forEach((itemData => { this._renderItem(itemData) })) } } _renderItem(itemData) { const $item = $("<div>"); $item.addClass("dx-chat-alertlist-error"); $("<div>").addClass("dx-chat-alertlist-error-icon").appendTo($item); $("<div>").addClass("dx-chat-alertlist-error-text").appendTo($item).text(String((null === itemData || void 0 === itemData ? void 0 : itemData.message) ?? "")); $item.appendTo(this.$element()) } _updateAria() { const aria = { role: "log", atomic: "false", label: messageLocalization.format("dxChat-alertListAriaLabel"), live: "polite", relevant: "additions" }; this.setAria(aria) } _optionChanged(args) { const { name: name } = args; if ("items" === name) { this._invalidate() } else { super._optionChanged(args) } } } export default AlertList;