devextreme
Version:
HTML5 JavaScript Component Suite for Responsive Web Development
103 lines (100 loc) • 3.31 kB
JavaScript
/**
* DevExtreme (cjs/__internal/ui/chat/alertlist.js)
* Version: 25.1.3
* Build date: Wed Jun 25 2025
*
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
*/
;
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
}
}
function _extends() {
return _extends = Object.assign ? Object.assign.bind() : function(n) {
for (var e = 1; e < arguments.length; e++) {
var t = arguments[e];
for (var r in t) {
({}).hasOwnProperty.call(t, r) && (n[r] = t[r])
}
}
return n
}, _extends.apply(null, arguments)
}
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 _extends({}, 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;