+
+
-
- 0?n?"\n":" \n ":"")+_.default.getSummaryText(c[h],this._options.summaryTexts);a.value=i}else a.cellSourceData.value=void 0}break;default:if(o=r[t]){var f=d[s],p=_.default.getDisplayValue(o,f,u.data,u.rowType);!isFinite(p)||l.isDefined(o.customizeText)?n&&l.isDefined(o.customizeText)&&o.customizeText===this._exportController._columnsController.getCustomizeTextByDataType("boolean")?a.value=p:a.value=_.default.formatValue(p,o):a.value=p,a.cellSourceData.value=f}a.cellSourceData.data=u.data}}}return a},isHeadersVisible:function(){return this._options.isHeadersVisible},isTotalCell:function(e,t){var n=this._options.items[e],i=this._correctCellIndex(t),o=n.summaryCells&&n.summaryCells[i]&&n.summaryCells[i].length>0&&n.summaryCells[i][0].alignByColumn;return n&&"groupFooter"===n.rowType||"totalFooter"===n.rowType||o},getCellMerging:function(e,t){var n=this._options.columns,i=n[e]&&n[e][t];return i?{colspan:(i.exportColspan||1)-1,rowspan:(i.rowspan||1)-1}:{colspan:0,rowspan:0}},getFrozenArea:function(){return{x:0,y:this.getHeaderRowCount()}}}),t.ExportController=_.default.ViewController.inherit({}).inherit({_getEmptyCell:function(){return{caption:"",colspan:1,rowspan:1}},_updateColumnWidth:function(e,t){e.width=t},_getColumns:function(e){var t,n,i=[],o=this._columnsController,a=o.getRowCount();for(t=0;t<=a;t++){var r=[];n=o.getVisibleColumns(t,!0);var s=void 0;if(t===a)if(this._updateLockCount)s=e;else{var d=this._getColumnWidths(this._headersView,this._rowsView);if(d&&d.length){s={};for(var c=0;c1){for(var r=o.values.length,s=1;s0&&((t=o.values).push.apply(t,n),n=[])}}},_processUnExportedItems:function(e){for(var t,n,i=this._columnsController.getVisibleColumns(null,!0),o=this._columnsController.getGroupColumns(),a=0;a=0&&this.getVisibleRows()[i],a=t.getGroupDataSourceParameters(!0);if(o)for(var r=0;r0&&this._dataSource.group()&&this._dataSource.requireTotalCount()?e+this._grouping.totalCountCorrection():e},itemsCount:function(){return this._dataSource.group()?this._grouping.itemsCount()||0:this.callBase.apply(this,arguments)},allowCollapseAll:function(){return this._grouping.allowCollapseAll()},isGroupItemCountable:function(e){return this._grouping.isGroupItemCountable(e)},isRowExpanded:function(e){var t=this._grouping.findGroupInfo(e);return t?t.isExpanded:!this._grouping.allowCollapseAll()},collapseAll:function(e){return this._collapseExpandAll(e,!1)},expandAll:function(e){return this._collapseExpandAll(e,!0)},_collapseExpandAll:function(e,t){var n=this._dataSource,i=n.group(),o=m.default.normalizeSortingInfo(i||[]);if(o.length){for(var a=0;a").addClass("dx-datagrid-group-panel");return t._updateGroupPanelContent(e),o.registerKeyboardAction("groupPanel",t,e,void 0,t._handleActionKeyDown.bind(t)),e},name:"groupPanel",onItemRendered:function(){n&&t.renderCompleted.fire(),n=!0},location:"before",locateInMenu:"never",sortIndex:1};e.push(i),this.updateToolbarDimensions()}return e},_handleActionKeyDown:function(e){var t=e.event,n=r.default(t.target),i=n.closest(".dx-group-panel-item").index(),o=this._columnsController.getGroupColumns()[i],a=o&&o.index;n.is(".dx-header-filter")?this.getController("headerFilter").showHeaderFilterMenu(a,!0):this._processGroupItemAction(a),t.preventDefault()},_isGroupPanelVisible:function(){var e,t=this.option("groupPanel");return t&&"auto"===(e=t.visible)&&(e="desktop"===d.default.current().deviceType),e},_renderGroupPanelItems:function(e,t){var n=this;e.empty(),u.each(t,(function(t,i){n._createGroupPanelItem(e,i)})),h.restoreFocus(this)},_createGroupPanelItem:function(e,t){var n=r.default("
-
+
+
\ No newline at end of file
diff --git a/src/js/WebServerMonitor.js b/src/js/WebServerMonitor.js
deleted file mode 100644
index 414553c..0000000
--- a/src/js/WebServerMonitor.js
+++ /dev/null
@@ -1,284 +0,0 @@
-"use strict";
-
-(function () {
- window.WebServerMonitor = window.WebServerMonitor || {};
-
- window.WebServerMonitor.ViewModel = function (action) {
- var themes = ['light', 'dark'],
- themeIndex = (function () {
- var themeName = window.location.href.match(/[?&]theme=([^&$]*)/);
- themeName = themeName && themeName.length > 1 ? themeName[1] : themes[1];
- return !Boolean($.inArray(themeName, themes));
- })();
-
- action = (action || "traffic") + ".html?theme=";
-
- this.toggleTheme = function (index) {
- themeIndex = !themeIndex;
- var curTheme = themes[~~(themeIndex)];
- $('body').removeClass().addClass(curTheme);
- this.applyTheme(curTheme, false);
- };
-
- this.goto = function () {
- window.location = action + themes[~~themeIndex];
- };
-
- this.applyTheme = $.noop;
- this.inherit = function (otherModel) {
- var darkPalette = ['#46508c', '#556fa6', '#5d8dbc', '#62b7db', '#70cdd6', '#8ccebb'],
- lightPalette = ['#737db5', '#7e93bf', '#8bafd2', '#90cce6', '#70cdd6', '#bae3d7'];
- DevExpress.viz.registerPalette('Dark Palette', darkPalette);
- DevExpress.viz.registerPalette('Light Palette', lightPalette);
- $.extend(true, this, otherModel);
- this.applyTheme(themes[~~(themeIndex)], true);
- };
- this.toggleTheme();
- };
-
- window.WebServerMonitor.app = {};
-
- (function (app) {
- var j,
- random = Math.random,
- round = Math.round,
- tmpArray = [],
- countriesList = ['China', 'USA', 'Russia', 'Canada', 'Japan', 'Others'],
- months = [],
- days = [],
- hours = [24],
- date = new Date(),
- baseDate = new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7, 4, 0);
- app.arrayForBarChart = [];
- app.arrayForLineChart = [];
- app.arrayForStackedBar = [];
-
- var findHoursValue = function () {
- var hoursValue = [],
- k;
- for (k = 0; k < 6; k++) {
- hoursValue.push(~~(180 * random()));
- }
- return hoursValue;
- };
-
- var findDayValue = function () {
- var dayValue = [],
- k;
- for (k = 0; k < 6; k++) {
- dayValue.push(~~(600 * random() + 200));
- }
- return dayValue;
- };
-
- for (j = 1; j < 7; j++) {
- hours[j] = (baseDate.getHours());
- baseDate.setHours(baseDate.getHours() + 4);
- }
-
- for (j = 0; j < 6; j++) {
- months[j] = baseDate.getMonth() + 1;
- days[j] = baseDate.getDate();
- baseDate.setDate(baseDate.getDate() + 1);
- }
-
- tmpArray = $.map(countriesList, function (country) {
- return {
- country: country,
- value: findDayValue(),
- days: days,
- hours: hours,
- months: months,
- hoursValue: findHoursValue()
- };
- });
-
- app.arrayForBarChart = $.map(tmpArray, function (item) {
- return {
- country: item.country,
- value: item.value[tmpArray[0].value.length - 1]
- };
- });
-
- app.arrayForLineChart = (function () {
- var date = new Date(),
- lineChartData = [];
- date.setDate(date.getDate() + 1);
- date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0);
-
- lineChartData.push({
- hour: date,
- y1: 0,
- y2: 0,
- y3: 0,
- y4: 0,
- y5: 0,
- y6: 0
- });
- date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours() + 4, 0);
- for (var i = 1; i < 6; i++) {
- lineChartData.push({
- hour: date,
- y1: lineChartData[i - 1].y1 + ~~((app.arrayForBarChart[0].value / 10) + random() * 50),
- y2: lineChartData[i - 1].y2 + ~~((app.arrayForBarChart[1].value / 10) + random() * 50),
- y3: lineChartData[i - 1].y3 + ~~((app.arrayForBarChart[2].value / 10) + random() * 50),
- y4: lineChartData[i - 1].y4 + ~~((app.arrayForBarChart[3].value / 10) + random() * 50),
- y5: lineChartData[i - 1].y5 + ~~((app.arrayForBarChart[4].value / 10) + random() * 50),
- y6: lineChartData[i - 1].y6 + ~~((app.arrayForBarChart[5].value / 10) + random() * 50)
- });
- date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), date.getHours() + 4, 0);
- }
-
- return lineChartData;
- })();
-
- app.arrayForStackedBar = (function (arr) {
- var data = [],
- dataItem,
- sum = [0, 0, 0, 0, 0, 0],
- i,
- j;
-
- for (i = 0; i < 6; i++) {
- for (j = 0; j < 6; j++) {
- sum[i] += arr[j].value[i];
- }
- }
- for (i = 0; i < 6; i++) {
- data[i] = {
- day: arr[0].days[i] + '/' + arr[0].months[i],
- y1: round((arr[0].value[i] / sum[i]) * 100),
- y2: round((arr[1].value[i] / sum[i]) * 100),
- y3: round((arr[2].value[i] / sum[i]) * 100),
- y4: round((arr[3].value[i] / sum[i]) * 100),
- y5: round((arr[4].value[i] / sum[i]) * 100),
- y6: 0
- };
-
- dataItem = data[i];
-
- dataItem.y6 = 100 - (dataItem.y1 + dataItem.y2 + dataItem.y3 + dataItem.y4 + dataItem.y5);
- }
-
- return data;
- })(tmpArray);
-
- var findRandomValue = function () {
- var randomArray = [],
- timeNow = new Date();
- timeNow.setDate(timeNow.getDate() - 3);
- timeNow.setHours(12);
- timeNow.setMinutes(0);
- for (var i = 0; i < 37; i++) {
- randomArray.push({
- x: new Date(timeNow.getFullYear(), timeNow.getMonth(), timeNow.getDate(), timeNow.getHours()),
- y1: ~~(Math.random() * 200),
- y2: ~~(Math.random() * 100),
- y3: ~~(Math.random() * 1000)
- });
- timeNow.setHours(timeNow.getHours() + 2);
- }
- return randomArray;
- };
-
- app.allSeries = findRandomValue();
-
- app._createGaugeOptions = function (gaugeValue, tickInterval, gaugeRanges, colors) {
- var gaugeOptions = {
- size: {
- width: 210,
- height: 175
- },
- margin: {
- left: 10,
- right: 10,
- top: 10,
- bottom: 10
- },
- containerBackgroundColor: colors.bkgColor,
- scale: {
- startValue: gaugeRanges[0].startValue,
- endValue: gaugeRanges[3].endValue,
- label: {
- font: {
- color: colors.fontColor
- },
- indentFromTick: 8
- },
- tick: {
- color: 'none'
- },
- tickInterval: tickInterval
- },
- rangeContainer: {
- width: 3,
- ranges: gaugeRanges,
- backgroundColor: 'none'
- },
- value: gaugeValue,
- valueIndicator: {
- offset: 5,
- indentFromCenter: 7,
- color: colors.needle
- }
- };
- return gaugeOptions;
- };
-
- app._createChartOptions = function (allSeries, maxValue, chartField, chartColor, colors, animation) {
- var chartOptions = {
- commonAxisSettings: {
- visible: false,
- tick: {
- visible: false
- },
- grid: {
- color: colors.gridColor,
- opacity:1
- },
- label: {
- font: {
- color: colors.fontColor
- }
- }
- },
- margin: {
- top: 5,
- bottom: 5,
- right: 36
- },
- argumentAxis: {
- valueMarginsEnabled: false,
- grid: { visible: true }
- },
- animation: animation,
- commonPaneSettings: {
- border: {
- visible: true,
- color: colors.gridColor,
- opacity:1
- }
- },
- legend: { visible: false },
- dataSource: allSeries,
- valueAxis: {
- placeholderSize: 60,
- valueMarginsEnabled: false,
- visualRange: {
- startValue: 0
- }
- },
- series: [
- {
- argumentField: 'x',
- valueField: chartField,
- type: 'area',
- point: { visible: false },
- color: chartColor,
- style: { opacity: 0.38 }
- }]
- };
- return chartOptions;
- };
- }(window.WebServerMonitor.app));
-}());
diff --git a/src/js/data.js b/src/js/data.js
new file mode 100644
index 0000000..60dc0b9
--- /dev/null
+++ b/src/js/data.js
@@ -0,0 +1,345 @@
+data = {
+ "regions": [{
+ "name": "Алтай",
+ "points": [{
+ "name": "Гора Белуха",
+ "description": "Высочайшая вершина Горного Алтая, с потрясающим видом на окружающие горы и ледники.",
+ "gps": "50.7144, 86.5861"
+ },
+ {
+ "name": "Озеро Кучерлинское",
+ "description": "Кристально чистое озеро, окруженное высокими горами, особенно красиво на закате.",
+ "gps": "50.5854, 86.1704"
+ },
+ {
+ "name": "Гора Актру",
+ "description": "Панорамный вид на Актруский хребет, луга и леса.",
+ "gps": "50.1999, 86.0329"
+ },
+ {
+ "name": "Каньон Чулышман",
+ "description": "Глубокий каньон, вырезанный рекой Чулышман, с дикой и живописной красотой.",
+ "gps": "50.7004, 87.3289"
+ },
+ {
+ "name": "Гора Горелый Камень",
+ "description": "Вид на озеро Телецкое и горы.",
+ "gps": "51.6088, 87.5417"
+ },
+ {
+ "name": "Озеро Телецкое",
+ "description": "Крупнейшее озеро Алтая с кристально чистой водой и окружающими горами.",
+ "gps": "51.7683, 87.7138"
+ },
+ {
+ "name": "Гора Чертов Щит",
+ "description": "Панорамный вид на озеро Кучерлинское и горы.",
+ "gps": "50.4394, 86.1293"
+ },
+ {
+ "name": "Озеро Аккем",
+ "description": "Прекрасное озеро в Аккемской долине с отражением гор.",
+ "gps": "50.2185, 86.6175"
+ },
+ {
+ "name": "Гора Курманджи",
+ "description": "Вид на сосновые леса и окружающие горы.",
+ "gps": "50.1061, 85.8888"
+ },
+ {
+ "name": "Озеро Синецкое",
+ "description": "Озеро с ярко-синей водой, окруженное горами.",
+ "gps": "51.0296, 85.6982"
+ },
+ {
+ "name": "Гора Казырчик",
+ "description": "Панорамный вид на долину реки Чулышман.",
+ "gps": "50.5366, 87.1453"
+ },
+ {
+ "name": "Озеро Шавлинское",
+ "description": "Красивое озеро с темной водой и окружающей природой.",
+ "gps": "50.2278, 87.4682"
+ },
+ {
+ "name": "Гора Монхон",
+ "description": "Вид на озеро Киделю и горы Северо-Чуйский хребет.",
+ "gps": "50.3131, 87.4837"
+ },
+ {
+ "name": "Озеро Киделя",
+ "description": "Озеро с прозрачной водой и окружающими горами.",
+ "gps": "49.9272, 87.2483"
+ },
+ {
+ "name": "Гора Алтын-Ту",
+ "description": "Панорамный вид на долину Аккема и сосновые леса.",
+ "gps": "50.1532, 86.8409"
+ },
+ {
+ "name": "Озеро Большое Мультинское",
+ "description": "Красивое озеро в окружении гор.",
+ "gps": "50.3530, 86.3885"
+ },
+ {
+ "name": "Гора Кузнецкий Алатау",
+ "description": "Вид на луга и окружающие горы.",
+ "gps": "53.3458, 87.0526"
+ },
+ {
+ "name": "Озеро Белое",
+ "description": "Озеро с кристально чистой водой и отражением гор.",
+ "gps": "51.2346, 85.7923"
+ },
+ {
+ "name": "Гора Томичка",
+ "description": "Панорамный вид на долину реки Катунь и окружающие хребты.",
+ "gps": "51.8150, 85.9910"
+ },
+ {
+ "name": "Озеро Мультинское",
+ "description": "Прекрасное озеро в Аккемской долине с видом на горы.",
+ "gps": "50.3276, 86.4315"
+ },
+ {
+ "name": "Гора Большой Уштас",
+ "description": "Вид на реку Катунь и окружающие хребты.",
+ "gps": "52.6889, 85.8830"
+ },
+ {
+ "name": "Озеро Сарыколь",
+ "description": "Озеро с ярко-голубой водой, окруженное горами и лугами.",
+ "gps": "50.4194, 87.1858"
+ },
+ {
+ "name": "Гора Семенов-Тянь-Шань",
+ "description": "Панорамный вид на Алтайские горы и бескрайние просторы.",
+ "gps": "50.3056, 87.5547"
+ },
+ {
+ "name": "Озеро Кара-Кёль",
+ "description": "Озеро с темной водой, окруженное скалами и лесами.",
+ "gps": "50.4153, 86.0706"
+ },
+ {
+ "name": "Гора Крылатая",
+ "description": "Вид на долину реки Чулышман и окружающие хребты.",
+ "gps": "50.2278, 87.4682"
+ },
+ {
+ "name": "Гора Большой Турчан",
+ "description": "Панорамный вид на озеро Аккем и сосновые леса.",
+ "gps": "50.1925, 86.6286"
+ },
+ {
+ "name": "Озеро Долгое",
+ "description": "Красивое озеро в окружении гор и лугов.",
+ "gps": "50.3078, 86.0633"
+ },
+ {
+ "name": "Гора Катуньский Хребет",
+ "description": "Вид на долину реки Катунь и сосновые леса.",
+ "gps": "51.0254, 86.2282"
+ },
+ {
+ "name": "Озеро Аккуль",
+ "description": "Озеро с яркой зеленоватой водой и песчаными пляжами.",
+ "gps": "50.4500, 86.4458"
+ },
+ {
+ "name": "Гора Большой Сумоно",
+ "description": "Панорамный вид на Алтайские горы и озеро Телецкое.",
+ "gps": "51.2366, 87.7101"
+ }
+ ]
+ },
+ {
+ "name": "Кавказ",
+ "points": [{
+ "name": "Эльбрус",
+ "description": "Самая высокая гора в Европе, предлагает потрясающий вид на окружающие горные вершины и долины.",
+ "gps": "43.3500, 42.4500"
+ },
+ {
+ "name": "Красная Поляна",
+ "description": "Популярный горнолыжный курорт с великолепными пейзажами и множеством развлечений.",
+ "gps": "43.6814, 40.2326"
+ },
+ {
+ "name": "Домбай",
+ "description": "Природный парк с высокими горами, каскадами водопадов и живописными лугами.",
+ "gps": "43.2557, 40.3121"
+ },
+ {
+ "name": "Гора Чегет",
+ "description": "Популярная туристическая база с видом на Эльбрус и окружающие горные вершины.",
+ "gps": "43.2353, 42.6099"
+ },
+ {
+ "name": "Тебердинский заповедник",
+ "description": "Заповедник с уникальной флорой и фауной, где можно увидеть различные виды растений и животных.",
+ "gps": "43.4487, 41.7627"
+ },
+ {
+ "name": "Озеро Рица",
+ "description": "Кристально чистое озеро с прекрасными горными пейзажами и возможностями для рыбной ловли и отдыха.",
+ "gps": "43.1939, 42.7036"
+ },
+ {
+ "name": "Водопады Абхазии",
+ "description": "Серия живописных водопадов, включая Водопады Агуа, Водопады Мамзырпсы и другие.",
+ "gps": "43.3339, 40.0906"
+ },
+ {
+ "name": "Гора Фишт",
+ "description": "Вторая по высоте вершина Кавказа, предлагает потрясающий вид на горные хребты и долины.",
+ "gps": "43.3519, 40.2311"
+ },
+ {
+ "name": "Гора Казбек",
+ "description": "Одна из высочайших вершин Кавказа с уникальной формой и потрясающими видами.",
+ "gps": "42.7034, 44.5071"
+ },
+ {
+ "name": "Скала Столбы",
+ "description": "Несколько высоких скал, известных своими уникальными формами и панорамными видами.",
+ "gps": "43.5200, 40.1433"
+ },
+ {
+ "name": "Гора Шхара",
+ "description": "Одна из самых высоких вершин Главного Кавказского хребта, с потрясающими видами и возможностями для альпинизма.",
+ "gps": "42.6804, 43.3585"
+ },
+ {
+ "name": "Ачигварские водопады",
+ "description": "Серия каскадных водопадов в красивой горной местности.",
+ "gps": "42.6941, 42.8152"
+ },
+ {
+ "name": "Гора Мусса-Ачитара",
+ "description": "Величественная гора с прекрасными пейзажами и интересными маршрутами для пеших прогулок.",
+ "gps": "43.4086, 42.5462"
+ },
+ {
+ "name": "Гора Оштен",
+ "description": "Уникальная скальная формация с живописными видами на окружающие горы и долины.",
+ "gps": "43.1366, 40.7408"
+ },
+ {
+ "name": "Гора Пшиш",
+ "description": "Известная вершина, предлагающая потрясающий вид на Северный Кавказ.",
+ "gps": "42.7320, 43.4290"
+ },
+ {
+ "name": "Хребет Каменка",
+ "description": "Панорамные виды на горные луга и долины, отличные места для пеших прогулок и фотографии.",
+ "gps": "42.5844, 41.0029"
+ },
+ {
+ "name": "Озеро Гиагин",
+ "description": "Красивое горное озеро с яркой синей водой, окруженное высокими скалами.",
+ "gps": "42.9697, 43.5361"
+ },
+ {
+ "name": "Архыз",
+ "description": "Живописное горное поселение с изумительными видами и возможностями для туризма и активного отдыха.",
+ "gps": "43.5562, 41.4452"
+ }
+ ]
+ },
+ {
+ "name": "Сахалин",
+ "points": [{
+ "name": "Гора Аникеевка",
+ "description": "Высокая вершина с прекрасным видом на остров и Татарский пролив.",
+ "gps": "46.6273, 142.5289"
+ },
+ {
+ "name": "Озеро Тунайча",
+ "description": "Красивое озеро с чистой водой и окружающими лесами.",
+ "gps": "46.4658, 142.7892"
+ },
+ {
+ "name": "Берег Японского моря",
+ "description": "Прекрасные пляжи и виды на Японское море, идеальное место для отдыха и наблюдения за закатами.",
+ "gps": "42.812166575, 133.722529264"
+ },
+ {
+ "name": "Плато Ливадийский",
+ "description": "Живописное плато с уникальной флорой и фауной, идеальное место для прогулок и пикников.",
+ "gps": "46.7391, 142.8303"
+ },
+ {
+ "name": "Остров Русский",
+ "description": "Исторический и культурный центр с прекрасными пейзажами и множеством достопримечательностей.",
+ "gps": "46.9056, 142.7207"
+ },
+ {
+ "name": "Гора Вулканчик",
+ "description": "Небольшая активная гора с возможностью подъема на вершину и видом на окружающие пейзажи.",
+ "gps": "46.9346, 142.7462"
+ },
+ {
+ "name": "Остров Моржовец",
+ "description": "Место, где можно увидеть моржей и других морских животных, а также насладиться красивыми пейзажами.",
+ "gps": "47.2903, 142.6831"
+ },
+ {
+ "name": "Бухта Александра",
+ "description": "Живописная бухта с прекрасными видами на море и окружающие горы.",
+ "gps": "46.9408, 142.7474"
+ },
+ {
+ "name": "Озеро Большой Иткуль",
+ "description": "Крупное озеро с чистой водой, окруженное густыми лесами и горами.",
+ "gps": "46.7767, 142.3050"
+ },
+ {
+ "name": "Мыс Столбчатый",
+ "description": "Уникальный каменный обрыв на берегу Татарского пролива, предлагающий потрясающие виды на море и окружающие горы.",
+ "gps": "46.8624, 142.5412"
+ },
+ {
+ "name": "Гора Семушки",
+ "description": "Высокая вершина с великолепным видом на окружающие горы и долины.",
+ "gps": "46.8024, 142.7473"
+ },
+ {
+ "name": "Озеро Горное",
+ "description": "Красивое горное озеро с яркой водой и живописными пейзажами.",
+ "gps": "47.0456, 142.0719"
+ },
+ {
+ "name": "Парк Зеленый остров",
+ "description": "Очаровательный парк с живописными аллеями, озерами и растительностью.",
+ "gps": "46.9573, 142.7362"
+ },
+ {
+ "name": "Мыс Патрокль",
+ "description": "Прекрасный природный заповедник с крутыми скалами и бурной морской стихией.",
+ "gps": "46.6403, 141.8701"
+ },
+ {
+ "name": "Остров Троицкий",
+ "description": "Маленький остров с белыми песчаными пляжами и кристально чистой водой.",
+ "gps": "46.8117, 142.5963"
+ },
+ {
+ "name": "Вулкан Райкузи",
+ "description": "Активный вулкан с живописным кратером и великолепными видами на природные ландшафты.",
+ "gps": "47.1120, 142.8137"
+ },
+ {
+ "name": "Полярный круг",
+ "description": "Место, где можно пересечь Полярный круг и увидеть уникальные явления природы в зимний период.",
+ "gps": "66.5608, 164.0014"
+ },
+ {
+ "name": "Остров Матуа",
+ "description": "Заповедный остров с уникальной природой и историческими достопримечательностями.",
+ "gps": "48.9817, 153.5418"
+ }
+ ]
+ }
+ ]
+};
\ No newline at end of file
diff --git a/src/js/dx.all.js b/src/js/dx.all.js
new file mode 100644
index 0000000..85896ec
--- /dev/null
+++ b/src/js/dx.all.js
@@ -0,0 +1,19 @@
+/*!
+* DevExtreme (dx.all.js)
+* Version: 22.2.6
+* Build date: Tue Apr 18 2023
+*
+* Copyright (c) 2012 - 2023 Developer Express Inc. ALL RIGHTS RESERVED
+* Read about DevExtreme licensing here: https://js.devexpress.com/Licensing/
+*/
+"use strict";!function(){var e={94769:function(e,t,n){var i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n1),n),t.items=n})).fail((function(){t.items=[]}))},_convertFromGridGroupSummaryItems:function(e){if(l.isDefined(e)&&e.length>0)return e.map((function(e){return{value:e.value,name:e.name}}))},getCellData:function(e,t,n){var i,o,a={cellSourceData:{},value:i},r=this.getColumns(),s=this._correctCellIndex(t);if(eMemory Consumption, Mb
-
+
+
-
-
+ ").addClass(t.cssClass).addClass("dx-group-panel-item").data("columnData",t).appendTo(e).text(t.caption);return h.setTabIndex(this,n),n},_columnOptionChanged:function(e){if(!this._requireReady&&!m.default.checkChanges(e.optionNames,["width","visibleWidth"])){var t=this.element(),n=t&&t.find(".dx-datagrid-group-panel");n&&n.length&&(this._updateGroupPanelContent(n),this.updateToolbarDimensions(),this.renderCompleted.fire())}this.callBase()},_updateGroupPanelContent:function(e){var t=this.getController("columns").getGroupColumns(),n=this.option("groupPanel");this._renderGroupPanelItems(e,t),n.allowColumnDragging&&!t.length&&(r.default("
").addClass("dx-group-panel-message").text(n.emptyPanelText).appendTo(e),e.closest(".dx-toolbar-item").addClass("dx-toolbar-label"),e.closest(".dx-toolbar-label").css("maxWidth","none"))},allowDragging:function(e){var t=this.option("groupPanel");return this._isGroupPanelVisible()&&t.allowColumnDragging&&e&&e.allowGrouping},getColumnElements:function(){var e=this.element();return e&&e.find(".dx-group-panel-item")},getColumns:function(){return this.getController("columns").getGroupColumns()},getBoundingRect:function(){var e=this.element();if(e&&e.find(".dx-datagrid-group-panel").length){var t=e.offset();return{top:t.top,bottom:t.top+a.getHeight(e)}}return null},getName:function(){return"group"},getContextMenuItems:function(e){var t,n=this.option("grouping.contextMenuEnabled"),i=r.default(e.targetElement).closest(".dx-group-panel-item");if(i.length&&(e.column=i.data("columnData")),n&&e.column){var o=e.column;if(!l.isDefined(o.allowGrouping)||o.allowGrouping){var a=l.isDefined(o.groupIndex)&&o.groupIndex>-1,s=this.option("grouping.texts"),u=y.bind(this,o);t=[{text:s.ungroup,value:"ungroup",disabled:!a,onItemClick:u},{text:s.ungroupAll,value:"ungroupAll",onItemClick:u}]}}return t},isVisible:function(){return this.callBase()||this._isGroupPanelVisible()},optionChanged:function(e){"groupPanel"===e.name?(this._invalidate(),e.handled=!0):this.callBase(e)}};var b={getContextMenuItems:function(e){var t;if(this.option("grouping.contextMenuEnabled")&&e.row&&"group"===e.row.rowType){var n=this._columnsController.columnOption("groupIndex:"+e.row.groupIndex);if(n&&n.allowGrouping){var i=this.option("grouping.texts"),o=y.bind(this,n);(t=[]).push({text:i.ungroup,value:"ungroup",onItemClick:o},{text:i.ungroupAll,value:"ungroupAll",onItemClick:o})}}return t},_rowClick:function(e){var t=this.option("grouping.expandMode"),n="infinite"!==this.option("scrolling.mode")&&"rowClick"===t&&r.default(e.event.target).closest(".dx-group-row").length,i=r.default(e.event.target).closest(".dx-datagrid-expand").length;(n||i)&&this._changeGroupRowState(e),this.callBase(e)},_changeGroupRowState:function(e){var t=this.getController("data"),n=t.items()[e.rowIndex],i=this._columnsController.columnOption("groupIndex:"+n.groupIndex,"allowCollapsing");("data"===n.rowType||"group"===n.rowType&&!1!==i)&&(t.changeRowExpand(n.key,!0),e.event.preventDefault(),e.handled=!0)}},x={getContextMenuItems:function(e){var t=this.option("grouping.contextMenuEnabled"),n=this.callBase(e);if(t&&e.row&&("header"===e.row.rowType||"detailAdaptive"===e.row.rowType)){var i=e.column;if(!i.command&&(!l.isDefined(i.allowGrouping)||i.allowGrouping)){var o=this.option("grouping.texts"),a=l.isDefined(i.groupIndex)&&i.groupIndex>-1,r=y.bind(this,i);(n=n||[]).push({text:o.groupByThisColumn,value:"group",beginGroup:!0,disabled:a,onItemClick:r}),i.showWhenGrouped&&n.push({text:o.ungroup,value:"ungroup",disabled:!a,onItemClick:r}),n.push({text:o.ungroupAll,value:"ungroupAll",onItemClick:r})}}return n}};m.default.registerModule("grouping",{defaultOptions:function(){return{grouping:{autoExpandAll:!0,allowCollapsing:!0,contextMenuEnabled:!1,expandMode:"buttonClick",texts:{groupContinuesMessage:s.default.format("dxDataGrid-groupContinuesMessage"),groupContinuedMessage:s.default.format("dxDataGrid-groupContinuedMessage"),groupByThisColumn:s.default.format("dxDataGrid-groupHeaderText"),ungroup:s.default.format("dxDataGrid-ungroupHeaderText"),ungroupAll:s.default.format("dxDataGrid-ungroupAllText")}},groupPanel:{visible:!1,emptyPanelText:s.default.format("dxDataGrid-groupPanelEmptyText"),allowColumnDragging:!0}}},extenders:{controllers:{data:v,columns:{_getExpandColumnOptions:function(){var e=this.callBase.apply(this,arguments);return e.cellTemplate=m.default.getExpandCellTemplate(),e}},editing:{_isProcessedItem:function(e){return l.isDefined(e.groupIndex)&&l.isString(e.rowType)&&0===e.rowType.indexOf("group")}}},views:{headerPanel:t.GroupingHeaderPanelExtender,rowsView:b,columnHeadersView:x}}})},18653:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getContinuationGroupCount=t.GroupingHelper=void 0;var o=n(13306),a=n(95479),r=i(n(96688)),s=n(18438),l=n(62754),u=i(n(96193)),d=n(1132),c=n(99652);function h(e,t,n,i){if(i=i||0,t>1&&n>0){var o=e-Math.floor(e/t)*t||t;return(o+=n-i-2)<0&&(o+=t),Math.floor(o/(t-i-1))}return 0}t.getContinuationGroupCount=h,t.GroupingHelper=d.GroupingHelper.inherit(function(){var e=function(e,t,n){return e.foreachGroups((function(e,n){if(e.isExpanded)return t(e,n)}),!0,!1,n,n)},t=function(e,n,i,o,a,r,s){var l;if(o.items=o.items||[],o.paths=o.paths||[],o.count=o.count||0,o.lastCount=o.lastCount||0,i)for(var u=0;u0?t.count:t.items&&t.items.length||0:t.count=r.count||t.count,r.offset=o):(n&&(a=t.count>0?t.count:t.items.length),e.addGroupInfo({isExpanded:e._isGroupExpanded(i.length-1),path:i.slice(0),offset:o,count:a||0}))},i=function(e,t,o,a,r,s,l){var u,d=(t.group?t.group.length:0)===a,c=0,h=0;if(r=r||0,s=s||[],t.remoteOperations.paging&&!l&&(c=0===r?t.skip||0:t.skips[r-1]||0),r>=a)return o.length;for(var f=0;f0&&(i+=e[a-1].childrenTotalCount,t&&(i+=h(o,t,i,a-1)*a)),o+=i;return o};function g(e,t,n,i){var o=t.items[i],a=e.skips&&e.skips[n],r=e.takes&&e.takes[n],s=i===t.items.length-1,l=0===i,u=l&&a||0,d=o.count>r+u;l&&void 0!==a&&(o.isContinuation=!0),s&&void 0!==r&&d&&(o.isContinuationOnNextPage=!0)}function m(e){return!Array.isArray(e)}function _(e){m(e.data)||(e.data=new l.Deferred)}function v(e,n,r,s,d,h){n.isCustomLoading||(t(e,h,r,s={},[]),function(e,t,n){var i=n-1,o=e.group?e.group.length:0;t.skip=e.skips&&e.skips[i],e.takes&&void 0!==e.takes[i]&&(t.take=o===n&&t.count?t.count-(t.skip||0):0,t.take+=e.takes[i])}(n,s,r));var f=n.group?n.group.length:0;s.paths.length&&f-r>0?(_(n),function(e,t,n,o,r,s){var u=t.group||[],d=u[r+1],h=[];a.each(n.paths,(function(i){var o={requireTotalCount:!1,requireGroupCount:!0,group:[d],groupSummary:t.storeLoadOptions.groupSummary,filter:c.createGroupFilter(n.paths[i],{filter:t.storeLoadOptions.filter,group:u}),select:t.storeLoadOptions.select};0===i&&(o.skip=n.skip||0),i===n.paths.length-1&&(o.take=n.take);var a=0===o.take?[]:e._dataSource.loadFromStore(o);l.when(a).done((function(e){var o=n.items[i];g(t,n,r,i),o.items=e})),h.push(a)})),l.when.apply(null,h).done((function(){i(e,t,s,o+1),v(e,t,o+1,n,r+1,s)}))}(e,n,s,r,d,h)):s.paths.length&&n.storeLoadOptions.group?(_(n),function(e,t,n,i){var r=[],s=t.group||[];a.each(n.paths,(function(e,n){r.push(c.createGroupFilter(n,{group:t.isCustomLoading?t.storeLoadOptions.group:s}))}));var d=t.storeLoadOptions.filter;t.storeLoadOptions.isLoadingAll||(d=u.default.combineFilters([d,u.default.combineFilters(r,"or")]));var h=o.extend({},t.storeLoadOptions,{requireTotalCount:!1,requireGroupCount:!1,group:null,sort:s.concat(u.default.normalizeSortingInfo(t.storeLoadOptions.sort||[])),filter:d}),f=e._dataSource.isLastLevelGroupItemsPagingLocal();f||(h.skip=n.skip,h.take=n.take);l.when(0===n.take?[]:e._dataSource.loadFromStore(h)).done((function(o){f&&(o=e._dataSource.sortLastLevelGroupItems(o,s,n.paths),o=n.skip?o.slice(n.skip):o,o=n.take?o.slice(0,n.take):o),a.each(n.items,(function(e,i){var a=i.count-(0===e&&n.skip||0),r=o.splice(0,a);g(t,n,s.length-1,e),i.items=r})),t.data.resolve(i)})).fail(t.data.reject)}(e,n,s,h)):m(n.data)&&n.data.resolve(h)}var y=function(e,t){var n=new l.Deferred,i=!(!t.group||!t.group.length),a=o.extend({skip:0,take:1,requireGroupCount:i,requireTotalCount:!i},t,{group:i?t.group:null});return e.load(a).done((function(e,t){var o=t&&(i?t.groupCount:t.totalCount);isFinite(o)?n.resolve(o):n.reject(s.errors.Error(i?"E4022":"E4021"))})).fail(n.reject.bind(n)),n};return{updateTotalItemsCount:function(t){var n=0,i=t.extra&&t.extra.totalCount||0,o=t.extra&&t.extra.groupCount||0,a=this._dataSource.pageSize(),r=this._isVirtualPaging();e(this,(function(e){e.childrenTotalCount=0})),e(this,(function(e,t){var i=p(t,r?0:a,n),o=e.count+e.childrenTotalCount;r||(o+=h(i,a,o,t.length-1)),t[t.length-2]?t[t.length-2].childrenTotalCount+=o:n+=o})),this.callBase(n-i+o)},_isGroupExpanded:function(e){var t=this._dataSource.group();return f(t,e)},_updatePagingOptions:function(t,n){var i=this._isVirtualPaging(),o=this._dataSource.pageSize(),a=[],r=[],s=0,l=0;t.take&&(e(this,(function(e){e.childrenTotalCount=0,e.skipChildrenTotalCount=0})),e(this,(function(e,u){var d,c=0,f=0,g=p(u,i?0:o,l),m=0,_=0,v=e.count+e.childrenTotalCount,y=v;n&&n(e,g);var b=t.skip-g;g<=t.skip+t.take&&v&&(d=t.take,i||(v+=(m=h(g,o,v,u.length-1))*u.length,y+=m,o&&b>=0&&(c=u.length,f=u.length-1,_=Math.floor(b/o))),b>=0?(g+v>t.skip&&a.unshift(b-_*c-e.skipChildrenTotalCount),g+v>=t.skip+d&&r.unshift(d-c-e.childrenTotalCount+e.skipChildrenTotalCount)):g+v>=t.skip+d&&r.unshift(d+b-e.childrenTotalCount)),g<=t.skip&&(u[u.length-2]?u[u.length-2].skipChildrenTotalCount+=Math.min(y,b+1-_*f):s+=Math.min(y,b+1)),g<=t.skip+d&&(v=Math.min(y,b+d-(_+1)*f),u[u.length-2]?u[u.length-2].childrenTotalCount+=v:l+=v)})),t.skip-=s,t.take-=l-s),t.skips=a,t.takes=r},changeRowExpand:function(e){var t=this.findGroupInfo(e),n=this._dataSource,i=n.remoteOperations().groupPaging,o=u.default.normalizeSortingInfo(n.group());return t?(t.isExpanded=!t.isExpanded,i&&t.isExpanded&&e.lengths&&(a.isContinuationOnNextPage=!0,o.forEach((function(e){e.isContinuationOnNextPage=!0})),r&&(r=r.slice(0,s),a.items=r)),o.push(a),this._processTakes(r,t.slice(1),n.slice(1),i-1,o)}}},_processPaging:function(e,t){this._processSkips(e.data,e.skips,t),this._processTakes(e.data,e.skips,e.takes,t)},isLastLevelGroupItemsPagingLocal:function(){return!1},sortLastLevelGroupItems:function(e){return e},refresh:function(t,n){var i,o,a=this,r=a._dataSource,s=t.storeLoadOptions,h=t.group||t.storeLoadOptions.group,p=u.default.normalizeSortingInfo(a._group);function g(e,t){t.length===o+1&&(e.isExpanded=i)}for(o=0;o":"<":"=",e[s]];"<"===u[1]?r.push([u,"or",[l,"=",null]]):r.push(u)}else!1===e[s]?r.push([l,"=",!!i[s].desc||null]):(e[s]?!i[s].desc:i[s].desc)?r.push([l,"<>",e[s]]):(r.push([l,"<>",null]),r.push([l,"=",null]))}o.push(h.default.combineFilters(r))}return o=h.default.combineFilters(o,"or"),h.default.combineFilters([o,t.filter])},t.GroupingHelper=u.default.inherit((o=function(e,t){var n=e.hash;return n&&n[JSON.stringify(t)]},a=function(e,t){var n,i=0,o=e.length-1;if(!e.length)return 0;do{var a=o+i>>1;e[a].offset>t?o=a:i=a}while(o-i>1);for(n=i;n<=o&&!(e[n].offset>t);n++);return n},r=function(e,t,n){for(var i=0;i=n?e[i].children=[]:r(e[i].children,t+1,n)},s=function(e,t,n){var i=0;if(t)if(n)for(var o=0;o=t)return!1;n+=e.count-1})),i+=n),i},r=function(e,t,n,i,o,a){for(var s=0,l=!1,u=0;u1?d.isContinuation=!0:l=!0),i=h.offset,(a=h.take)<0&&(d.items.length?d.isContinuationOnNextPage=!0:s++)}n.pop()}else o&&(l=!0),i++,--a<0&&s++;o=!1}return l&&t.splice(0,1),s&&t.splice(-s,s),{offset:i,take:a}},s=function(e,t){if(e.length!==t.length)return!1;for(var n=0;n1){n=0;for(var i=0;i=d.skip+d.take+u)return!1;e.offset>=d.skip+u&&e.count&&(u+=e.count-1,i.push(e),r+=e.count)})),h.each(i,(function(){d.filter=function(e,t,n){for(var i=_.default.normalizeSortingInfo(n||t.group),o=[],a=0;a":"=",e[s]]);o.push(_.default.combineFilters(r))}return o=_.default.combineFilters(o,"or"),_.default.combineFilters([o,t.filter])}(this.path,d,l)})),e.storeLoadOptions=d,e.collapsedGroups=i,e.collapsedItemsCount=r,e.skip=d.skip||0,e.skipFirstItem=s,e.take=t}},handleDataLoaded:function(e,t){var n=e.collapsedGroups,i=_.default.normalizeSortingInfo(e.group),o=i.length;function a(e,t,n,i,o){if(e&&t.length&&n.length){var r,s,l=d.toComparable(t[0],!0);for(s=0;s=i.offset||l===r));s++)o+=u(e[s],n.length);e.length&&l===r||e.splice(s,0,{key:t[0],items:[],count:1===t.length?i.count:void 0}),a(e[s].items,t.slice(1),n.slice(1),i,o)}}if(e.collapsedItemsCount&&e.extra&&e.extra.totalCount>=0&&(e.extra._totalCountWasIncreasedByCollapsedItems||(e.extra.totalCount+=e.collapsedItemsCount,e.extra._totalCountWasIncreasedByCollapsedItems=!0)),t(e),o){var s=e.data,l=g.default(s);if(p.default.multiLevelGroup(l,i).enumerate().done((function(e){s=e})),n)for(var c=0;c=0&&n.addGroupInfo(u)),n.updateTotalItemsCount()})).fail((function(){i._eventsStrategy.fireEvent("loadError",arguments)}))},allowCollapseAll:function(){return!1},refresh:function(e,t){var n=this,i=e.storeLoadOptions,a=n._dataSource;if(this.callBase.apply(this,arguments),t.reload)return o(n,(function(e){var t=b(a,{filter:y.createGroupFilter(e.path,i)}),o=b(a,{filter:v.createOffsetFilter(e.path,i)});return m.when(o,t).done((function(t,i){t=parseInt(t.length?t[0]:t),i=parseInt(i.length?i[0]:i),e.offset=t,e.count!==i&&(e.count=i,n.updateTotalItemsCount())}))}),!0)}}))},49528:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(n(38377)),a=n(47617),r=n(35922),s=n(18438),l=n(16454);function u(e,t,n,i){var o=0;if(e0&&this._calculateGroups({items:this._data})},totalAggregates:function(){return this._totals},_aggregate:function(e,t,n){for(var i=t.items?t.items.length:0,o=0;o0;)u(0,n,e,r)},_seed:function(e,t){return d(e,(function(e){var n=e.aggregator;return"seed"in n?r.isFunction(n.seed)?n.seed(t):n.seed:NaN}))},_accumulate:function(e,t,n,i){var o,a=t.selector(i),r=t.aggregator;(!t.skipEmptyValues||(o=a)==o&&""!==o&&null!=o)&&(n[e]!=n[e]?n[e]=a:n[e]=r.step(n[e],a))},_finalize:function(e,t){return d(e,(function(e,n){var i=e.aggregator.finalize;return i?i(t[n]):t[n]}))}})},80827:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=n(459),a=n(13306);i(n(96193)).default.registerModule("columns",{defaultOptions:function(){return a.extend(!0,{},o.columnsControllerModule.defaultOptions(),{commonColumnSettings:{allowExporting:!0}})},controllers:o.columnsControllerModule.controllers})},96193:function(e,t,n){var i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n").css("textAlign",l.alignment||i.alignment).addClass("dx-datagrid-summary-item").addClass("dx-datagrid-text-content").addClass(l.cssClass).toggleClass("dx-datagrid-group-text-content","group"===t.rowType).text(v.default.getSummaryText(l,t.summaryTexts)))}n.append(r)}};var y=function(e,t){var n=e.option("summary.texts")||{};return{totalItem:t.row,summaryItems:t.row.summaryCells[t.columnIndex],summaryTexts:n}},b=function(e){return e.summary||e.aggregates||[]},x=function(e){return e.option("summary.recalculateWhileEditing")};t.FooterView=c.ColumnsView.inherit({_getRows:function(){return this._dataController.footerItems()},_getCellOptions:function(e){return l.extend(this.callBase(e),y(this,e))},_renderCellContent:function(e,n){t.renderSummaryCell(e,n),this.callBase.apply(this,arguments)},_renderCore:function(e){var t=!1,n=this._dataController.footerItems()[0];e&&e.columnIndices||(this.element().empty().addClass("dx-datagrid-total-footer").toggleClass("dx-datagrid-nowrap",!this.option("wordWrapEnabled")),t=!0),n&&n.summaryCells&&n.summaryCells.length&&(this._updateContent(this._renderTable({change:e}),e),t&&this._updateScrollLeftPosition())},_updateContent:function(e,t){var n=this;return t&&"update"===t.changeType&&t.columnIndices?this.waitAsyncTemplates().done((function(){var i=n.getTableElement().find(".dx-row"),o=e.find(".dx-row");n._updateCells(i,o,t.columnIndices[0])})):this.callBase.apply(this,arguments)},_rowClick:function(e){var t=this._dataController.footerItems()[e.rowIndex]||{};this.executeAction("onRowClick",l.extend({},e,t))},_columnOptionChanged:function(e){var t=e.optionNames;e.changeTypes.grouping||(t.width||t.visibleWidth)&&this.callBase(e)},_handleDataChanged:function(e){var t=e.changeType;"update"===e.changeType&&e.repaintChangesOnly?e.totalColumnIndices?e.totalColumnIndices.length&&this.render(null,{changeType:"update",columnIndices:[e.totalColumnIndices]}):this.render():"refresh"!==t&&"append"!==t&&"prepend"!==t||this.render()},_createRow:function(e){var t=this.callBase.apply(this,arguments);return"totalFooter"===e.rowType&&t.addClass("dx-footer-row"),t},getHeight:function(){return this.getElementHeight()},isVisible:function(){return!!this._dataController.footerItems().length}});var w,C,S,k,D,I={init:function(){this.callBase.apply(this,arguments),this._totalAggregates=[],this._summaryGetter=a.noop},summaryGetter:function(e){if(!arguments.length)return this._summaryGetter;r.isFunction(e)&&(this._summaryGetter=e)},summary:function(e){if(!arguments.length)return this._summaryGetter();this._summaryGetter=function(){return e}},totalAggregates:function(){return this._totalAggregates},isLastLevelGroupItemsPagingLocal:function(){var e=this.summary(),t=e&&e.sortByGroups();return t&&t.length},sortLastLevelGroupItems:function(e,t,n){var i=f.default.multiLevelGroup(h.default(e),t).toArray(),o=[];return n.forEach((function(e){!function e(t,n,i,o){o=o||[];for(var a=0;a0&&"expand"===a.command&&"expand"!==this.command&&(o=this.index)})),e.summaryCells=this._calculateSummaryCells(t.summaryGroupItems,b(e.data),t.visibleColumns,(function(e,t){return e.showInGroupFooter?-1:e.alignByColumn&&t&&!r.isDefined(t.groupIndex)&&t.index!==o?t.index:i}),!0)}return"groupFooter"===e.rowType&&(e.summaryCells=this._calculateSummaryCells(t.summaryGroupItems,b(e.data),t.visibleColumns,(function(e,t){return e.showInGroupFooter&&n._isDataColumn(t)?t.index:-1}))),e},_calculateSummaryCells:function(e,t,n,i,o){var a=this,u=[],d={};return s.each(e,(function(e,n){var o=a._columnsController.columnOption(n.column),s=n.showInColumn&&a._columnsController.columnOption(n.showInColumn)||o,u=i(n,s);if(u>=0){d[u]||(d[u]=[]);var c=t[e];if(c==c){var h=void 0;r.isDefined(n.valueFormat)?h=n.valueFormat:"count"!==n.summaryType&&(h=v.default.getFormatByDataType(o&&o.dataType)),d[u].push(l.extend({},n,{value:r.isString(c)&&o&&o.deserializeValue?o.deserializeValue(c):c,valueFormat:h,columnCaption:o&&o.index!==u?o.caption:void 0}))}}})),r.isEmptyObject(d)||n.forEach((function(e,t){var i=n[t-1],a=!o||"expand"!==(null==i?void 0:i.command)&&"expand"!==e.command?e.index:null==i?void 0:i.index;u.push(d[a]||[])})),u},_getSummaryCells:function(e,t){var n=this,i=n._columnsController;return n._calculateSummaryCells(e,t,i.getVisibleColumns(),(function(e,t){return n._isDataColumn(t)?t.index:-1}))},_updateItemsCore:function(e){var t,n=this._dataSource,i=this._footerItems,o=i&&i[0]&&i[0].summaryCells,a=this.option("summary.totalItems");if(this._footerItems=[],n&&a&&a.length){var r=n.totalAggregates();t=this._getSummaryCells(a,r),e&&e.repaintChangesOnly&&o&&(e.totalColumnIndices=t.map((function(e,t){return JSON.stringify(e)!==JSON.stringify(o[t])?t:-1})).filter((function(e){return e>=0}))),t.length&&this._footerItems.push({rowType:"totalFooter",summaryCells:t})}this.callBase(e)},_prepareUnsavedDataSelector:function(e){if(x(this)){var t=this.getController("editing");if(t)return function(n){return n=t.getUpdatedData(n),e(n)}}return e},_prepareAggregateSelector:function(e,t){return e=this._prepareUnsavedDataSelector(e),"avg"===t||"sum"===t?function(t){var n=e(t);return r.isDefined(n)?Number(n):n}:e},_getAggregates:function(e,t){var n=this,i=n.getController("columns"),o=n.option("summary.calculateCustomSummary"),a=n.option("summary.skipEmptyValues");return s.map(e||[],(function(e){var s=i.columnOption(e.column),l=s&&s.calculateCellValue?s.calculateCellValue.bind(s):u.compileGetter(s?s.dataField:e.column),d=e.summaryType||"count",c=r.isDefined(e.skipEmptyValues)?e.skipEmptyValues:a;if(t)return{selector:e.column,summaryType:d};var h=n._prepareAggregateSelector(l,d);if("custom"===d){o||(g.default.log("E1026"),o=function(){});var f={component:n.component,name:e.name};o(f),f.summaryProcess="calculate",d={seed:function(e){return f.summaryProcess="start",f.totalValue=void 0,f.groupIndex=e,delete f.value,o(f),f.totalValue},step:function(e,t){return f.summaryProcess="calculate",f.totalValue=e,f.value=t,o(f),f.totalValue},finalize:function(e){return f.summaryProcess="finalize",f.totalValue=e,delete f.value,o(f),f.totalValue}}}return{selector:h,aggregator:d,skipEmptyValues:c}}))},_addSortInfo:function(e,t,n,i){if(t){var o=t.groupIndex;i=i||t.sortOrder,r.isDefined(o)&&(e[o]=e[o]||[],e[o].push({selector:n,desc:"desc"===i}))}},_findSummaryItem:function(e,t){var n=-1;return r.isDefined(t)&&s.each(e||[],(function(e){if(this.name===t||e===t||this.summaryType===t||this.column===t||(o=(i=this).summaryType,a=i.column,(o&&a&&o+"_"+a)===t))return n=e,!1;var i,o,a})),n},_getSummarySortByGroups:function(e,t){var n=this,i=n._columnsController,o=i.getGroupColumns(),a=[];if(t&&t.length)return s.each(e||[],(function(){var e=this.sortOrder,l=this.groupColumn,u=n._findSummaryItem(t,this.summaryItem);if(!(u<0)){var d=function(e){return b(e)[u]};r.isDefined(l)?(l=i.columnOption(l),n._addSortInfo(a,l,d,e)):s.each(o,(function(t,i){n._addSortInfo(a,i,d,e)}))}})),a},_createDataSourceAdapterCore:function(e,t){var n=this,i=this.callBase(e,t);return i.summaryGetter((function(e){return n._getSummaryOptions(e||t)})),i},_getSummaryOptions:function(e){var t=this,n=t.option("summary.groupItems"),i=t.option("summary.totalItems"),o=t.option("sortByGroupSummaryInfo"),a=t._getAggregates(n,e&&e.grouping&&e.summary),r=t._getAggregates(i,e&&e.summary);if(a.length||r.length)return{groupAggregates:a,totalAggregates:r,sortByGroups:function(){return t._getSummarySortByGroups(o,n)}}},publicMethods:function(){var e=this.callBase();return e.push("getTotalSummaryValue"),e},getTotalSummaryValue:function(e){var t=this._findSummaryItem(this.option("summary.totalItems"),e),n=this._dataSource.totalAggregates();if(n.length&&t>-1)return n[t]},optionChanged:function(e){"summary"!==e.name&&"sortByGroupSummaryInfo"!==e.name||(e.name="dataSource"),this.callBase(e)},init:function(){this._footerItems=[],this.callBase()},footerItems:function(){return this._footerItems}},editing:{_refreshSummary:function(){x(this)&&!this.isSaving()&&this._dataController.refresh({load:!0,changesOnly:!0})},_addChange:function(e){var t=this.callBase.apply(this,arguments);return e.type&&this._refreshSummary(),t},_removeChange:function(){var e=this.callBase.apply(this,arguments);return this._refreshSummary(),e},cancelEditData:function(){var e=this.callBase.apply(this,arguments);return this._refreshSummary(),e}}},views:{rowsView:{_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&t.addClass("groupFooter"===e.rowType?"dx-datagrid-group-footer":""),t},_renderCells:function(e,t){this.callBase.apply(this,arguments),"group"===t.row.rowType&&t.row.summaryCells&&t.row.summaryCells.length&&this._renderGroupSummaryCells(e,t)},_hasAlignByColumnSummaryItems:function(e,t){return!r.isDefined(t.columns[e].groupIndex)&&t.row.summaryCells[e].length},_getAlignByColumnCellCount:function(e,t){for(var n=0,i=1;i0){e.attr("colSpan",n-i);for(var o=0;o").addClass(o.addWidgetPrefix("adaptive-more")),r.default.on(n,s.addNamespace(l.name,"dxDataGridAdaptivity"),o.createAction((function(){o.toggleExpandAdaptiveDetailRow(t.key)}))),n.appendTo(i)):y.default.setEmptyText(i)}function S(e){var t,n=null===(t=e.data)||void 0===t?void 0:t.$nextCell;r.default.off(n,"focus",S),r.default.trigger(n,"dxclick")}var k={_isRowEditMode:function(){return"row"===this._getEditMode()},_isItemModified:function(e,t){var n=this._columnsController.getVisibleIndex(e.column.index),i=this._dataController.getRowIndexByKey(t.key),o=this._dataController.items()[i+1];return o&&o.modifiedValues&&u.isDefined(o.modifiedValues[n])},_renderFormViewTemplate:function(e,t,n){var i=this,o=e.column,a=i.createAction((function(){i._editingController.isEditing()&&r.default.trigger(n,l.name)})),s=t.row.data,d=o.calculateCellValue(s),c=y.default.getDisplayValue(o,d,s,t.rowType),h=y.default.formatValue(c,o),f=this._editingController.isCellOrBatchEditMode(),p=i._rowsView;if(o.allowEditing&&i.getController("keyboardNavigation").isKeyboardEnabled()&&(n.attr("tabIndex",i.option("tabIndex")),f&&(r.default.off(n,"focus",a),r.default.on(n,"focus",a))),o.cellTemplate){var m=g.extend({},t,{value:d,displayValue:c,text:h,column:o});p.renderTemplate(n,o.cellTemplate,m,_.isElementInDom(n)).done((function(){p._cellPrepared(n,t)}))}else{var v=n.get(0);o.encodeHtml?v.textContent=h:v.innerHTML=h,n.addClass("dx-adaptive-item-text"),u.isDefined(h)&&""!==h||n.html(" "),i._isRowEditMode()||i._isItemModified(e,t)&&n.addClass("dx-item-modified"),p._cellPrepared(n,t)}},_getTemplate:function(e,t){var n=this,i=e.column,o=this.getController("editing");return function(r,s){var l=a.default(s),u=n._columnsController.getVisibleIndex(i.index),d=g.extend({},t),c=function(){var a=n._isItemEdited(e);d.value=t.row.values[u],a||i.showEditorAlways?o.renderFormEditorTemplate(d,e,r,l,!a):(d.column=i,d.columnIndex=u,n._renderFormViewTemplate(e,d,l))};c(),d.watch&&d.watch((function(){return{isItemEdited:n._isItemEdited(e),value:t.row.values[u]}}),(function(){l.contents().remove(),l.removeClass("dx-adaptive-item-text"),c()}))}},_isVisibleColumnsValid:function(e){return!(e<2)&&!(e.length-function(){for(var t=0,n=0;n0},_getAverageColumnsWidth:function(e,t,n){var i=this,o=0,a=0;return t.forEach((function(r){if(!i._isColumnHidden(r)){var s=r.width;u.isDefined(s)&&!isNaN(parseFloat(s))?o+=i._isPercentWidth(s)?i._calculatePercentWidth({visibleIndex:r.visibleIndex,columnsCount:t.length,columnsCanFit:n,bestFitWidth:r.bestFitWidth,columnWidth:s,containerWidth:e}):parseFloat(s):a++}})),(e-o)/a},_calculateColumnWidth:function(e,t,n,i){var o,a=w(this,e),r=this._columnsController.columnOption(a,"width"),s=this._columnsController.columnOption(a,"bestFitWidth"),l=n.length;if(r&&"auto"!==r){if(!this._isPercentWidth(r))return parseFloat(r);o=this._calculatePercentWidth({visibleIndex:e.visibleIndex,columnsCount:l,columnsCanFit:i,bestFitWidth:s,columnWidth:r,containerWidth:t})}else{o=this.option("columnAutoWidth")||e.command?s:this._getAverageColumnsWidth(t,n,i)}return o},_calculatePercentWidth:function(e){var t=e.visibleIndex=0){var h=u.eq(d);t=this._findCellElementInRow(h,c),this._isCellValid(t)&&this._hideVisibleCellInView({viewName:a,isCommandColumn:i,$cell:t})}}}},_findCellElementInRow:function(e,t){var n=e.children(),i=t,o=!1;if(e.hasClass("dx-group-row")){var a=e.find(".dx-group-cell"),r=a.attr("colspan");if(a.length&&u.isDefined(r)){var s=parseInt(r);t>a.index()+s-1?i=t-s+1:o=!0}}return o?void 0:n.eq(i)},_hideVisibleCellInView:function(e){var t=e.$cell,n=e.isCommandColumn?"dx-command-adaptive-hidden":this.addWidgetPrefix("hidden-column");t.attr({tabIndex:-1,"aria-hidden":!0}).addClass(n)},_getEditMode:function(){return this._editingController.getEditMode()},isFormOrPopupEditMode:function(){var e=this._getEditMode();return"form"===e||"popup"===e},hideRedundantColumns:function(e,t,n){if(this._hiddenColumns=[],this._isVisibleColumnsValid(t)&&n.length){var i=0,a=this.component.$element(),r=o.getWidth(a)-this._getCommandColumnsWidth(),s=function(){var e=this;return t.filter((function(t){return!t.command&&0===e._hiddenColumns.filter((function(e){return e.index===t.index})).length}))}.bind(this),l=s(),u=l.length,d=void 0,c=void 0,h=void 0;do{h=!1,i=0;var f=this._calculatePercentWidths(e,t),p=f<100&&0!==f;for(d=0;do.getWidth(a)){var x=n.pop(),C=this._columnsController.getVisibleIndex(x.index);r+=this._calculateColumnWidth(x,r,l,p),this._hideVisibleColumn({visibleIndex:C}),e[C]="adaptiveHidden",this._hiddenColumns.push(x),l=s()}}while(h&&l.length>1&&n.length);u===l.length&&this._hideAdaptiveColumn(e,t)}else this._hideAdaptiveColumn(e,t)},getAdaptiveDetailItems:function(){return this._$itemContents},getItemContentByColumnIndex:function(e){for(var t,n=0;n").appendTo(i),c.default,g.extend(r,o,{customizeItem:function(e){var i=e.column||n._columnsController.columnOption(e.name||e.dataField);i&&(e.label=e.label||{},e.label.text=e.label.text||i.caption,e.column=i,e.template=n._getTemplate(e,t,n.updateForm.bind(n))),o.customizeItem&&o.customizeItem.call(this,e)},onContentReady:function(e){o.onContentReady&&o.onContentReady.call(this,e),n._$itemContents=i.find(".dx-field-item-content")}}))},hasAdaptiveDetailRowExpanded:function(){return u.isDefined(this._dataController.adaptiveExpandedKey())},updateForm:function(e){this.hasAdaptiveDetailRowExpanded()&&this._form&&u.isDefined(this._form._contentReadyAction)&&(e&&e.length?this._form.option("items",this._getFormItemsByHiddenColumns(e)):this._form.repaint())},updateHidingQueue:function(e){var t,n,i=e.filter((function(e){return e.visible&&!e.type&&!e.fixed&&!(u.isDefined(e.groupIndex)&&e.groupIndex>=0)}));if(this._hidingColumnsQueue=[],this.option("allowColumnResizing")&&"widget"===this.option("columnResizingMode"))return this._hidingColumnsQueue;for(n=0;n=0&&(t=!0,this._hidingColumnsQueue[i[n].hidingPriority]=i[n]);if(t)this._hidingColumnsQueue.reverse();else if(this.option("columnHidingEnabled"))for(n=0;n0},getHidingColumnsQueue:function(){return this._hidingColumnsQueue},init:function(){var e=this;e._columnsController=e.getController("columns"),e._dataController=e.getController("data"),e._rowsView=e.getView("rowsView"),e._columnsController.addCommandColumn({type:"adaptive",command:"adaptive",visible:!0,adaptiveHidden:!0,cssClass:"dx-command-adaptive",alignment:"center",width:"auto",cellTemplate:C,fixedPosition:"right"}),e._columnsController.columnsChanged.add((function(){var t=!!e.updateHidingQueue(e._columnsController.getColumns()).length;e._columnsController.columnOption("command:adaptive","adaptiveHidden",!t,!0)})),e._editingController=e.getController("editing"),e._hidingColumnsQueue=[],e._hiddenColumns=[],e.createAction("onAdaptiveDetailRowPreparing"),e.callBase()},optionChanged:function(e){"columnHidingEnabled"===e.name&&this._columnsController.columnOption("command:adaptive","adaptiveHidden",!e.value),this.callBase(e)},publicMethods:function(){return["isAdaptiveDetailRowExpanded","expandAdaptiveDetailRow","collapseAdaptiveDetailRow"]},isAdaptiveDetailRowExpanded:function(e){return this._dataController.adaptiveExpandedKey()&&f.equalByValue(this._dataController.adaptiveExpandedKey(),e)},expandAdaptiveDetailRow:function(e){this.hasAdaptiveDetailRowExpanded()||this.toggleExpandAdaptiveDetailRow(e)},collapseAdaptiveDetailRow:function(){this.hasAdaptiveDetailRowExpanded()&&this.toggleExpandAdaptiveDetailRow()},updateCommandAdaptiveAriaLabel:function(e,t){var n=this._dataController.getRowIndexByKey(e);if(-1!==n){var i=a.default(this.component.getRowElement(n));this.setCommandAdaptiveAriaLabel(i,t)}},setCommandAdaptiveAriaLabel:function(e,t){e.find(".dx-command-adaptive").attr("aria-label",v.default.format(t))}},D=b.default.ViewController.inherit(k);t.adaptivityModule={defaultOptions:function(){return{columnHidingEnabled:!1,onAdaptiveDetailRowPreparing:null}},controllers:{adaptiveColumns:D},extenders:{views:{rowsView:{_getCellTemplate:function(e){var t=this,n=e.column;return"detailAdaptive"===e.rowType&&"detail"===n.command?function(e,n){t._adaptiveColumnsController.createFormByHiddenColumns(a.default(e),n)}:t.callBase(e)},_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&"detailAdaptive"===e.rowType&&e.key===this._dataController.adaptiveExpandedKey()&&t.addClass("dx-adaptive-detail-row"),t},_renderCells:function(e,t){this.callBase(e,t);var n=this._adaptiveColumnsController,i=n.getHidingColumnsQueue().length,o=n.getHiddenColumns().length;i&&!o&&function(e){return e.find("td:not(.dx-datagrid-hidden-column):not([class*='dx-command-'])")}(e).last().addClass("dx-last-data-cell"),"data"===t.row.rowType&&n.setCommandAdaptiveAriaLabel(e,"dxDataGrid-ariaAdaptiveExpand")},_getColumnIndexByElementCore:function(e){var t=e.closest(".dx-field-item-content");if(t.length&&t.closest(this.component.$element()).length){var n=t.length?t.first().data("dx-form-item"):null;return n&&n.column&&this._columnsController.getVisibleIndex(n.column.index)}return this.callBase(e)},_cellPrepared:function(e,t){this.callBase.apply(this,arguments),"detailAdaptive"!==t.row.rowType&&"adaptiveHidden"===t.column.visibleWidth&&e.addClass(this.addWidgetPrefix("hidden-column"))},getCell:function(e,t){var n=this._dataController.items()[null==e?void 0:e.rowIndex];if("detailAdaptive"===(null==n?void 0:n.rowType)){var i=this._adaptiveColumnsController.getAdaptiveDetailItems();return this.callBase(e,t,i)}return this.callBase.apply(this,arguments)},_getCellElement:function(e,t){var n=this._dataController.items()[e];return n&&"detailAdaptive"===n.rowType?this._adaptiveColumnsController.getItemContentByColumnIndex(t):this.callBase.apply(this,arguments)},getContextMenuItems:function(e){if(e.row&&"detailAdaptive"===e.row.rowType){var t=this.component.getView("columnHeadersView"),n=a.default(e.targetElement).closest(".dx-field-item-label").next().data("dx-form-item");return e.column=n?n.column:e.column,t.getContextMenuItems&&t.getContextMenuItems(e)}return this.callBase&&this.callBase(e)},isClickableElement:function(e){return!!this.callBase&&this.callBase(e)||!!e.closest(".dx-command-adaptive").length},init:function(){this.callBase(),this._adaptiveColumnsController=this.getController("adaptiveColumns")}}},controllers:{export:{_updateColumnWidth:function(e,t){this.callBase(e,"adaptiveHidden"===e.visibleWidth?e.bestFitWidth:t)}},columnsResizer:{_pointCreated:function(e,t,n){var i=this.callBase(e,t,n),o=n[e.columnIndex]||{},a=this._getNextColumnIndex(e.columnIndex),r=n[a]||{},s=a!==e.columnIndex+1&&r.command,l="adaptiveHidden"===o.visibleWidth||s;return i||l},_getNextColumnIndex:function(e){for(var t=this._columnsController.getVisibleColumns(),n=this.callBase(e);t[n]&&"adaptiveHidden"===t[n].visibleWidth;)n++;return n}},draggingHeader:{_pointCreated:function(e,t,n,i){var o=this.callBase(e,t,n,i),a="adaptiveHidden"===(t[e.columnIndex-1]||{}).visibleWidth;return o||a}},editing:{_isRowEditMode:function(){return"row"===this.getEditMode()},_getFormEditItemTemplate:function(e,t){return"row"!==this.getEditMode()&&"detailAdaptive"===e.rowType?(e.columnIndex=this._columnsController.getVisibleIndex(t.index),this.getColumnTemplate(e)):this.callBase(e,t)},_closeEditItem:function(e){var t=e.closest(".dx-field-item-content"),n=this._dataController.getRowIndexByKey(this._dataController.adaptiveExpandedKey())+1,i=t.length?t.first().data("dx-form-item"):null,o=i&&i.column&&this._columnsController.getVisibleIndex(i.column.index);this.isEditCell(n,o)||this.callBase(e)},_beforeUpdateItems:function(e,t){if(!this._adaptiveController.isFormOrPopupEditMode()&&this._adaptiveController.hasHiddenColumns()){var n=this._dataController.items(),i=n[t],o=y.default.getIndexByKey(this._dataController.adaptiveExpandedKey(),n);this._isForceRowAdaptiveExpand=!this._adaptiveController.hasAdaptiveDetailRowExpanded(),o>=0&&e.push(o+1),e.push(t+1),this._dataController.adaptiveExpandedKey(i.key)}},_afterInsertRow:function(e){this.callBase.apply(this,arguments),this._adaptiveController.hasHiddenColumns()&&(this._adaptiveController.toggleExpandAdaptiveDetailRow(e,this.isRowEditMode()),this._isForceRowAdaptiveExpand=!0)},_collapseAdaptiveDetailRow:function(){this._isRowEditMode()&&this._isForceRowAdaptiveExpand&&(this._adaptiveController.collapseAdaptiveDetailRow(),this._isForceRowAdaptiveExpand=!1)},_cancelEditAdaptiveDetailRow:function(){this._adaptiveController.hasHiddenColumns()&&this._collapseAdaptiveDetailRow()},_afterSaveEditData:function(){var e=this;this.callBase.apply(this,arguments);var t=new m.Deferred;return this._isRowEditMode()&&this._adaptiveController.hasHiddenColumns()?m.when(this.getController("validating").validate(!0)).done((function(n){n&&e._cancelEditAdaptiveDetailRow(),t.resolve()})):t.resolve(),t.promise()},_beforeCancelEditData:function(){this.callBase(),this._cancelEditAdaptiveDetailRow()},_getRowIndicesForCascadeUpdating:function(e){var t=this.callBase.apply(this,arguments);return this._adaptiveController.isAdaptiveDetailRowExpanded(e.key)&&t.push("detailAdaptive"===e.rowType?e.rowIndex-1:e.rowIndex+1),t},_beforeCloseEditCellInBatchMode:function(e){var t=this._dataController._adaptiveExpandedKey;if(t){var n=y.default.getIndexByKey(t,this._dataController.items());n>-1&&e.unshift(n)}},editRow:function(e){this._adaptiveController.isFormOrPopupEditMode()&&this._adaptiveController.collapseAdaptiveDetailRow(),this.callBase(e)},deleteRow:function(e){var t=this._dataController.getKeyByRowIndex(e);"batch"===this.getEditMode()&&this._adaptiveController.isAdaptiveDetailRowExpanded(t)&&this._adaptiveController.collapseAdaptiveDetailRow(),this.callBase(e)},init:function(){this.callBase(),this._adaptiveController=this.getController("adaptiveColumns")}},resizing:{_needBestFit:function(){return this.callBase()||!!this._adaptiveColumnsController.getHidingColumnsQueue().length},_correctColumnWidths:function(e,t){var n=this._adaptiveColumnsController,i=n.getHiddenColumns(),o=n.updateHidingQueue(this._columnsController.getColumns());n.hideRedundantColumns(e,t,o);var a=n.getHiddenColumns();return n.hasAdaptiveDetailRowExpanded()&&i.length!==a.length&&n.updateForm(a),!a.length&&n.collapseAdaptiveDetailRow(),this.callBase.apply(this,arguments)},_toggleBestFitMode:function(e){e&&this._adaptiveColumnsController._showHiddenColumns(),this.callBase(e)},_needStretch:function(){var e=this._adaptiveColumnsController;return this.callBase.apply(this,arguments)||e.getHidingColumnsQueue().length||e.hasHiddenColumns()},init:function(){this._adaptiveColumnsController=this.getController("adaptiveColumns"),this.callBase()},dispose:function(){this.callBase.apply(this,arguments),clearTimeout(this._updateScrollableTimeoutID)}},data:{_processItems:function(e,t){var n=t.changeType;if(e=this.callBase.apply(this,arguments),"loadingAll"===n||!u.isDefined(this._adaptiveExpandedKey))return e;var i=y.default.getIndexByKey(this._adaptiveExpandedKey,e),o=!1===this.option("scrolling.legacyMode");if(i>=0){var a=e[i];e.splice(i+1,0,{visible:!0,rowType:"detailAdaptive",key:a.key,data:a.data,node:a.node,modifiedValues:a.modifiedValues,isNewRow:a.isNewRow,values:a.values})}else"refresh"!==n||o&&t.repaintChangesOnly||(this._adaptiveExpandedKey=void 0);return e},_getRowIndicesForExpand:function(e){var t=this.callBase.apply(this,arguments);if(this.getController("adaptiveColumns").isAdaptiveDetailRowExpanded(e)){var n=t[t.length-1];t.push(n+1)}return t},adaptiveExpandedKey:function(e){if(!u.isDefined(e))return this._adaptiveExpandedKey;this._adaptiveExpandedKey=e},toggleExpandAdaptiveDetailRow:function(e,t){var n=y.default.getIndexByKey(this._adaptiveExpandedKey,this._items),i=y.default.getIndexByKey(e,this._items);n>=0&&n===i&&!t&&(e=void 0,i=-1);var o=this._adaptiveExpandedKey;this._adaptiveExpandedKey=e,n>=0&&n++,i>=0&&i++;var a=this.getRowIndexDelta();this.updateItems({allowInvisibleRowIndices:!0,changeType:"update",rowIndices:[n-a,i-a]});var r=this.getController("adaptiveColumns");r.updateCommandAdaptiveAriaLabel(e,"dxDataGrid-ariaAdaptiveCollapse"),r.updateCommandAdaptiveAriaLabel(o,"dxDataGrid-ariaAdaptiveExpand")},init:function(){this.callBase(),this._adaptiveExpandedKey=void 0}},editorFactory:{_needHideBorder:function(e){return this.callBase(e)||(null==e?void 0:e.hasClass("dx-field-item-content"))&&(null==e?void 0:e.find(".dx-checkbox").length)},_getFocusCellSelector:function(){return this.callBase()+", .dx-adaptive-detail-row .dx-field-item > .dx-field-item-content"},_getRevertTooltipsSelector:function(){return this.callBase()+", .dx-field-item-content ."+this.addWidgetPrefix("revert-tooltip")}},columns:{_isColumnVisible:function(e){return this.callBase(e)&&!e.adaptiveHidden}},keyboardNavigation:{_isCellValid:function(e){return this.callBase.apply(this,arguments)&&!e.hasClass(this.addWidgetPrefix("hidden-column"))&&!e.hasClass("dx-command-adaptive-hidden")},_processNextCellInMasterDetail:function(e,t){this.callBase(e);var n=this._editingController.isCellOrBatchEditMode();this._editingController.isEditing()&&e&&n&&!this._isInsideEditForm(e)&&(r.default.off(e,"focus",S),r.default.on(e,"focus",{$nextCell:e},S),r.default.trigger(t,"focus"))},_isCellElement:function(e){return this.callBase.apply(this,arguments)||e.hasClass("dx-adaptive-item-text")},init:function(){this.callBase(),this._adaptiveController=this.getController("adaptiveColumns")}}}}}},52712:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o=i(n(68374)),a=n(20576),r=n(13306),s=n(37518);t.default={_applyColumnState:function(e){var t,n=this.option("rtlEnabled"),i=this._getColumnAlignment(e.column.alignment,n),a=r.extend(!0,{columnAlignment:i},e),s=a.rootElement.hasClass("dx-group-panel-item"),l=this._createIndicatorContainer(a,s),u=o.default("").addClass(this._getIndicatorClassName(e.name)),d=null===(t=this.component)||void 0===t?void 0:t.getController("columns"),c=(null==d?void 0:d.getHeaderContentAlignment(i))||i;return a.container=l,a.indicator=u,this._renderIndicator(a),l[!s&&e.showColumnLines||"left"!==c?"prependTo":"appendTo"](e.rootElement),u},_getIndicatorClassName:a.noop,_getColumnAlignment:function(e,t){return t=t||this.option("rtlEnabled"),e&&"center"!==e?e:s.getDefaultAlignment(t)},_createIndicatorContainer:function(e,t){var n=this._getIndicatorContainer(e.rootElement),i="left"===e.columnAlignment?"right":"left";return n.length||(n=o.default("
").addClass("dx-column-indicators")),this.setAria("role","presentation",n),n.css("float",e.showColumnLines&&!t?i:null)},_getIndicatorContainer:function(e){return e&&e.find(".dx-column-indicators")},_getIndicatorElements:function(e){var t=this._getIndicatorContainer(e);return t&&t.children()},_renderIndicator:function(e){var t=e.container,n=e.indicator;t&&n&&t.append(n)},_updateIndicators:function(e){var t,n=this.getColumns(),i=this.getColumnElements();if(i&&n.length===i.length)for(var o=0;o td, .dx-row > tr"),n=i.parent();var h=c.getRowIndex(n),f=i[0]&&i[0].cellIndex,p=n.data("options"),g={event:e,targetElement:a.getPublicElement(u),target:d[this],rowIndex:h,row:c._getRows()[h],columnIndex:f,column:null===(s=null===(o=null==p?void 0:p.cells)||void 0===o?void 0:o[f])||void 0===s?void 0:s.column};if(g.items=c.getContextMenuItems&&c.getContextMenuItems(g),l.executeAction("onContextMenuPreparing",g),l._contextMenuPrepared(g),r=g.items)return!1}})),r},_contextMenuPrepared:r.noop}),f=u.default.View.inherit({_renderCore:function(){var e=this,t=e.element().addClass("dx-context-menu");this.setAria("role","presentation",t),this._createComponent(t,l.default,{onPositioning:function(t){var n=t.event,i=t.component,o=e.getController("contextMenu").getContextMenuItems(n);o?(i.option("items",o),n.stopPropagation()):t.cancel=!0},onItemClick:function(e){e.itemData.onItemClick&&e.itemData.onItemClick(e)},cssClass:e.getWidgetContainerClass(),target:e.component.$element()})}});t.contextMenuModule={defaultOptions:function(){return{onContextMenuPreparing:null}},controllers:{contextMenu:h},views:{contextMenuView:f}}},22687:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.editorFactoryModule=void 0;var o=n(58664),a=i(n(68374)),r=i(n(73349)),s=i(n(55994)),l=n(95429),u=i(n(93786)),d=i(n(49387)),c=n(39611),h=i(n(47810)),f=n(13306),p=n(37518),g=i(n(15653)),m=i(n(69214)),_=i(n(9707)),v=c.addNamespace([u.default.down,"focusin",l.name].join(" "),"dxDataGridEditorFactory"),y={_getFocusedElement:function(e){var t="td[tabindex]:focus, "+(this.option("focusedRowEnabled")?"tr[tabindex]:focus":"tr[tabindex]:not(.dx-data-row):focus")+", input:focus, textarea:focus, .dx-lookup-field:focus, .dx-checkbox:focus, .dx-switch:focus, .dx-dropdownbutton .dx-buttongroup:focus, .dx-adaptive-item-text:focus",n=e.find(t);return this.elementIsInsideGrid(n)&&n},_getFocusCellSelector:function(){return".dx-row > td"},_updateFocusCore:function(){var e=this.component&&this.component.$element();if(e){var t=this._getFocusedElement(e);if(t&&t.length){var n=void 0;if(!t.hasClass("dx-cell-focus-disabled")&&!t.hasClass("dx-row")){var i=t.closest(this._getFocusCellSelector()+", .dx-cell-focus-disabled");i.get(0)!==t.get(0)&&(n=this._needHideBorder(i),t=i)}if(t.length&&!t.hasClass("dx-cell-focus-disabled"))return void this.focus(t,n)}}this.loseFocus()},_needHideBorder:function(e){return e.hasClass("dx-editor-inline-block")},_updateFocus:function(e){var t=this,n=e&&e.event&&a.default(e.event.target).hasClass(t.addWidgetPrefix("focus-overlay"));t._isFocusOverlay=t._isFocusOverlay||n,clearTimeout(t._updateFocusTimeoutID),t._updateFocusTimeoutID=setTimeout((function(){delete t._updateFocusTimeoutID,t._isFocusOverlay||t._updateFocusCore(),t._isFocusOverlay=!1}))},_updateFocusOverlaySize:function(e,t){e.hide();var n=d.default.calculate(e,f.extend({collision:"fit"},t));n.h.oversize>0&&o.setOuterWidth(e,o.getOuterWidth(e)-n.h.oversize),n.v.oversize>0&&o.setOuterHeight(e,o.getOuterHeight(e)-n.v.oversize),e.show()},callbackNames:function(){return["focused"]},focus:function(e,t){var n=this;if(void 0===e)return n._$focusedElement;e&&(e.is(n._$focusedElement)||n._$focusedElement&&n._$focusedElement.removeClass("dx-focused"),n._$focusedElement=e,clearTimeout(n._focusTimeoutID),n._focusTimeoutID=setTimeout((function(){delete n._focusTimeoutID,n.renderFocusOverlay(e,t),e.addClass("dx-focused"),n.focused.fire(e)})))},refocus:function(){var e=this.focus();this.focus(e)},renderFocusOverlay:function(e,t){if(_.default.isElementInCurrentGrid(this,e))if(this._$focusOverlay||(this._$focusOverlay=a.default("
").addClass(this.addWidgetPrefix("focus-overlay"))),t)this._$focusOverlay.addClass("dx-hidden");else if(e.length){var n=h.default.mozilla?"right bottom":"left top",i=e.closest("."+this.addWidgetPrefix("content")),r=p.getBoundingRect(e.get(0));this._$focusOverlay.removeClass("dx-hidden").appendTo(i),o.setOuterHeight(this._$focusOverlay,r.bottom-r.top+1),o.setOuterWidth(this._$focusOverlay,r.right-r.left+1);var s={precise:!0,my:n,at:n,of:e,boundary:i.length&&i};this._updateFocusOverlaySize(this._$focusOverlay,s),d.default.setup(this._$focusOverlay,s),this._$focusOverlay.css("visibility","visible")}},resize:function(){var e=this._$focusedElement;e&&this.focus(e)},loseFocus:function(){this._$focusedElement&&this._$focusedElement.removeClass("dx-focused"),this._$focusedElement=null,this._$focusOverlay&&this._$focusOverlay.addClass("dx-hidden")},init:function(){this.createAction("onEditorPreparing",{excludeValidators:["disabled","readOnly"],category:"rendering"}),this.createAction("onEditorPrepared",{excludeValidators:["disabled","readOnly"],category:"rendering"}),this._updateFocusHandler=this._updateFocusHandler||this.createAction(this._updateFocus.bind(this)),s.default.on(this._getContainerRoot(),v,this._updateFocusHandler),this._attachContainerEventHandlers()},_getContainerRoot:function(){var e,t=null===(e=this.component)||void 0===e?void 0:e.$element(),n=r.default.getRootNode(null==t?void 0:t.get(0));return n.nodeType!==Node.DOCUMENT_FRAGMENT_NODE||n.host?n:r.default.getDocument()},_attachContainerEventHandlers:function(){var e=this,t=e.component&&e.component.$element();t&&s.default.on(t,c.addNamespace("keydown","dxDataGridEditorFactory"),(function(t){"tab"===c.normalizeKeyName(t)&&e._updateFocusHandler(t)}))},dispose:function(){clearTimeout(this._focusTimeoutID),clearTimeout(this._updateFocusTimeoutID),s.default.off(this._getContainerRoot(),v,this._updateFocusHandler)}},b=m.default.ViewController.inherit(g.default).inherit(y);t.editorFactoryModule={defaultOptions:function(){return{}},controllers:{editorFactory:b}}},54124:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.errorHandlingModule=void 0;var o=i(n(68374)),a=i(n(55994)),r=n(95429),s=n(95479),l=i(n(69214)),u=l.default.ViewController.inherit({init:function(){this._columnHeadersView=this.getView("columnHeadersView"),this._rowsView=this.getView("rowsView")},_createErrorRow:function(e,t){var n,i,l=this,u=this._renderErrorMessage(e);return t?(n=o.default("").addClass("dx-error-row"),i=o.default("
").addClass("dx-closebutton").addClass(l.addWidgetPrefix("action")),a.default.on(i,r.name,l.createAction((function(e){var n,i=e.event,a=o.default(i.currentTarget).closest(".dx-error-row").index();i.stopPropagation(),s.each(t,(function(e,t){n=o.default(t).children("tbody").children("tr").eq(a),l.removeErrorRow(n)})),l.getController("resizing")&&l.getController("resizing").fireContentReadyAction()}))),o.default("").attr({colSpan:l.getController("columns").getVisibleColumns().length,role:"presentation"}).prepend(i).append(u).appendTo(n),n):u},_renderErrorMessage:function(e){var t=e.url?e.message.replace(e.url,""):e.message||e,n=o.default("
").addClass("dx-error-message").text(t);return e.url&&o.default("").attr("href",e.url).text(e.url).appendTo(n),n},renderErrorRow:function(e,t,n){var i,a,r=this;if(n)return n.find(".dx-error-message").remove(),i=r._createErrorRow(e),n.prepend(i),i;var l=t>=0||!r._columnHeadersView.isVisible()?r._rowsView:r._columnHeadersView,u=l.getTableElements();s.each(u,(function(n,s){if(i=r._createErrorRow(e,u),a=a||i,t>=0){var d=l._getRowElements(o.default(s)).eq(t);r.removeErrorRow(d.next()),i.insertAfter(d)}else{var c=o.default(s).children("tbody"),h=c.children("tr");r._columnHeadersView.isVisible()?(r.removeErrorRow(h.last()),o.default(s).append(i)):(r.removeErrorRow(h.first()),c.first().prepend(i))}}));var d=r.getController("resizing");return d&&d.fireContentReadyAction(),a},removeErrorRow:function(e){if(!e){var t=this._columnHeadersView&&this._columnHeadersView.element();if(!(e=t&&t.find(".dx-error-row"))||!e.length){var n=this._rowsView.element();e=n&&n.find(".dx-error-row")}}e&&e.hasClass("dx-error-row")&&e.remove()},optionChanged:function(e){switch(e.name){case"errorRowEnabled":e.handled=!0;break;default:this.callBase(e)}}});t.errorHandlingModule={defaultOptions:function(){return{errorRowEnabled:!0}},controllers:{errorHandling:u},extenders:{controllers:{data:{init:function(){var e=this,t=e.getController("errorHandling");e.callBase(),e.dataErrorOccurred.add((function(n,i){e.option("errorRowEnabled")&&t.renderErrorRow(n,void 0,i)})),e.changed.add((function(t){if(!t||"loadError"!==t.changeType){var n=e.getController("errorHandling"),i=e.getController("editing");i&&!i.hasChanges()&&n&&n.removeErrorRow()}}))}}}}}},67004:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.ATTRIBUTES=void 0,t.ATTRIBUTES={ariaColIndex:"aria-colindex",dragCell:"dx-drag-cell"}},83066:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.GridCoreKeyboardNavigationDom=void 0;var i=n(67004);t.GridCoreKeyboardNavigationDom={isDragCell:function(e){return void 0!==e.attr(i.ATTRIBUTES.dragCell)},getCellToFocus:function(e,t){return e.filter("["+i.ATTRIBUTES.ariaColIndex+'="'+(t+1)+'"]:not(['+i.ATTRIBUTES.dragCell+"])").first()}}},93545:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t},r=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.keyboardNavigationModule=void 0;var s=n(58664),l=r(n(68374)),u=r(n(73349)),d=r(n(55994)),c=n(35922),h=n(31421),f=n(39611),p=r(n(93786)),g=n(95429),m=n(20576),_=a(n(56756)),v=r(n(47810)),y=n(72918),b=r(n(20530)),x=r(n(9707)),w=r(n(69214)),C=n(83066),S="input:not([type='hidden']), textarea, a, select, button, [tabindex], .dx-checkbox",k=S+", .dx-dropdowneditor-icon",D=["shift","control","alt"];function I(e){return e&&e.hasClass("dx-group-row")}function T(e){return e&&e.hasClass("dx-master-detail-row")}function E(e){return e&&!I(e)&&!T(e)}function O(e,t){return!e._isRowEditMode()&&t&&!t.hasClass("dx-command-select")&&t.hasClass("dx-editor-cell")}function A(e){return c.isDefined(e)&&e.length>0}function P(){return"desktop"!==b.default.current().deviceType}function M(e){return!!e.parent(".dx-header-row").length}var R={init:function(){var e=this;if(this._dataController=this.getController("data"),this._selectionController=this.getController("selection"),this._editingController=this.getController("editing"),this._headerPanel=this.getView("headerPanel"),this._columnsController=this.getController("columns"),this._editorFactory=this.getController("editorFactory"),this.isKeyboardEnabled()){_.subscribeVisibilityChange(),this._updateFocusTimeout=null,this._fastEditingStarted=!1,this._focusedCellPosition={},this._canceledCellPosition=null;this._editorFactory.focused.add((function(t){e.setupFocusedView(),e._isNeedScroll&&t.is(":visible")&&e._focusedView&&e._focusedView.getScrollable&&(e._focusedView._scrollToElement(t),e._isNeedScroll=!1)})),this._initViewHandlers(),this._initDocumentHandlers(),this.createAction("onKeyDown")}},_initViewHandlers:function(){var e=this,t=this.getView("rowsView"),n=function(n){var i=l.default(n.target),o=l.default(n.relatedTarget).closest(t.element()).length,a=i.is("a");if(n.relatedTarget&&a&&!o&&e._isEventInCurrentGrid(n)){var r=e._getFocusedCell();r=A(r)?r:t.getCellElements(0).filter("[tabindex]").eq(0),i.closest(r).length||(n.preventDefault(),d.default.trigger(r,"focus"))}};t.renderCompleted.add((function(i){var o=t.element(),a=!i||"refresh"===i.changeType,r=e._focusedView&&e._focusedView.name===t.name,s=i&&("append"===i.changeType||"prepend"===i.changeType),c=l.default(u.default.getRootNode(o.get&&o.get(0))).find(":focus"),h=!c.length||c.closest(o).length;d.default.off(o,"focusin",n),d.default.on(o,"focusin",n),e._initPointerEventHandler(),e._initKeyDownHandler(),e._setRowsViewAttributes(),r&&h&&(e._isNeedFocus?!s:e._isHiddenFocus&&a&&!(null==i?void 0:i.virtualColumnsScrolling))&&e._updateFocus(!0)}))},_initDocumentHandlers:function(){var e=this,t=u.default.getDocument();this._documentClickHandler=this.createAction((function(t){var n=l.default(t.event.target),i=e._isEventInCurrentGrid(t.event)&&n.closest("."+e.addWidgetPrefix("rowsview")).length,o=n.closest(".dx-dropdowneditor-overlay").length,a=e.getController("columnsResizer"),r=!!a&&a.isResizing();i||o||r||(!(!!e._focusedView&&n.parents().filter(e._focusedView.element()).length>0)&&e._resetFocusedCell(!0),e._resetFocusedView())})),d.default.on(t,f.addNamespace(p.default.down,"dxDataGridKeyboardNavigation"),this._documentClickHandler)},_setRowsViewAttributes:function(){var e=this._getRowsViewElement();!this._dataController.getVisibleRows().length&&this._applyTabIndexToElement(e)},_initPointerEventHandler:function(){var e=P()?g.name:p.default.down,t=this._getRowsViewElement();c.isDefined(this._pointerEventAction)||(this._pointerEventAction=this.createAction(this._pointerEventHandler)),d.default.off(t,f.addNamespace(e,"dxDataGridKeyboardNavigation"),this._pointerEventAction),d.default.on(t,f.addNamespace(e,"dxDataGridKeyboardNavigation"),".dx-row > td, .dx-row",this._pointerEventAction)},_initKeyDownHandler:function(){var e=this,t=this._getRowsViewElement();y.keyboard.off(this._keyDownListener),this._keyDownListener=y.keyboard.on(t,null,(function(t){return e._keyDownHandler(t)}))},dispose:function(){this.callBase(),this._resetFocusedView(),y.keyboard.off(this._keyDownListener),d.default.off(u.default.getDocument(),f.addNamespace(p.default.down,"dxDataGridKeyboardNavigation"),this._documentClickHandler),clearTimeout(this._updateFocusTimeout),_.unsubscribeVisibilityChange()},optionChanged:function(e){switch(e.name){case"keyboardNavigation":case"useLegacyKeyboardNavigation":e.handled=!0;break;default:this.callBase(e)}},isRowFocusType:function(){return"row"===this.focusType},isCellFocusType:function(){return"cell"===this.focusType},setRowFocusType:function(){this.option("focusedRowEnabled")&&(this.focusType="row")},setCellFocusType:function(){this.focusType="cell"},_keyDownHandler:function(e){var t,n=!0;this._isNeedFocus=!0,this._isNeedScroll=!0;var i=this._processOnKeyDown(e),o=null===(t=this._editingController)||void 0===t?void 0:t.isEditing(),a=e.originalEvent;if(a.isDefaultPrevented())return this._isNeedFocus=!1,void(this._isNeedScroll=!1);if(!D.includes(e.keyName)&&this._updateFocusedCellPositionByTarget(a.target),!i){switch(e.keyName){case"leftArrow":case"rightArrow":this._leftRightKeysHandler(e,o),i=!0;break;case"upArrow":case"downArrow":e.ctrl?_.selectView("rowsView",this,a):this._upDownKeysHandler(e,o),i=!0;break;case"pageUp":case"pageDown":this._pageUpDownKeyHandler(e),i=!0;break;case"space":i=this._spaceKeyHandler(e,o);break;case"A":f.isCommandKeyPressed(e.originalEvent)?(this._ctrlAKeyHandler(e,o),i=!0):i=this._beginFastEditing(e.originalEvent);break;case"tab":this._tabKeyHandler(e,o),i=!0;break;case"enter":this._enterKeyHandler(e,o),i=!0;break;case"escape":this._escapeKeyHandler(e,o),i=!0;break;case"F":f.isCommandKeyPressed(e.originalEvent)?(this._ctrlFKeyHandler(e),i=!0):i=this._beginFastEditing(e.originalEvent);break;case"F2":this._f2KeyHandler(),i=!0;break;case"del":case"backspace":this._isFastEditingAllowed()&&!this._isFastEditingStarted()&&(i=this._beginFastEditing(a,!0))}i||this._beginFastEditing(a)||(this._isNeedFocus=!1,this._isNeedScroll=!1,n=!1),n&&a.stopPropagation()}},_processOnKeyDown:function(e){var t=e.originalEvent,n={handled:!1,event:t};return this.executeAction("onKeyDown",n),e.ctrl=t.ctrlKey,e.alt=t.altKey,e.shift=t.shiftKey,!!n.handled},_closeEditCell:function(){var e=this;setTimeout((function(){e._editingController.closeEditCell()}))},_leftRightKeysHandler:function(e,t){var n=this.getVisibleRowIndex(),i=e.originalEvent,o=this._focusedView&&this._focusedView.getRow(n),a=this._getDirectionCodeByKey(e.keyName),r=this._isFastEditingStarted();if((!t||r)&&E(o)){this.setCellFocusType(),r&&this._closeEditCell(),this._isVirtualColumnRender()&&this._processVirtualHorizontalPosition(a);var s=this._getNextCell(a);A(s)&&this._arrowKeysHandlerFocusCell(i,s,a),i&&i.preventDefault()}},_upDownKeysHandler:function(e,t){var n,i,o=this.getVisibleRowIndex(),a=this._focusedView&&this._focusedView.getRow(o),r=e.originalEvent,l="upArrow"===e.keyName,u=this._dataController.dataSource(),d=null===(i=null===(n=this._editingController)||void 0===n?void 0:n.isEditRowByIndex)||void 0===i?void 0:i.call(n,o),c=this._isFastEditingStarted();if((!d||!t||c)&&a&&!T(a)){if(c&&this._closeEditCell(),!this._navigateNextCell(r,e.keyName)&&this._isVirtualRowRender()&&l&&u&&!u.isLoading()){var h=s.getOuterHeight(a),f=this._focusedCellPosition.rowIndex-1;this._scrollBy(0,-h,f,r)}r&&r.preventDefault()}},_pageUpDownKeyHandler:function(e){var t=this._dataController.pageIndex(),n=this._dataController.pageCount(),i=this.option("paging.enabled"),o="pageUp"===e.keyName,a=o?-1:1,r=this.getView("rowsView").getScrollable();i&&!this._isVirtualScrolling()?(o?t>0:t=0),o},_isFixedColumn:function(e){var t=this._columnsController.getVisibleColumns(null,!0)[e];return!!t&&!!t.fixed},_isColumnVirtual:function(e){var t=e-this._columnsController.getColumnIndexOffset(),n=this._columnsController.getVisibleColumns()[t];return!!n&&"virtual"===n.command},_processVirtualHorizontalPosition:function(e){var t,n=this.component.getScrollable(),i=this.getColumnIndex(),o=0,a=!1;switch(e){case"next":case"nextInRow":var r=this._getVisibleColumnCount();t=i+1,o=this.option("rtlEnabled")?this._getMaxHorizontalOffset():0,a="next"===e?r===t||this._isFixedColumn(i)&&!this._isColumnRendered(t):r>t&&this._isFixedColumn(i)&&!this._isColumnRendered(t);break;case"previous":case"previousInRow":if(t=i-1,o=this.option("rtlEnabled")?0:this._getMaxHorizontalOffset(),"previous"===e){var s=this._columnsController.getColumnIndexOffset();a=t<0&&0===s||this._isFixedColumn(i)&&!this._isColumnRendered(t)}else a=t>=0&&this._isFixedColumn(i)&&!this._isColumnRendered(t)}a?n.scrollTo({left:o}):c.isDefined(t)&&c.isDefined(e)&&this._isColumnVirtual(t)&&0!==(o=this._getHorizontalScrollPositionOffset(e))&&n.scrollBy({left:o,top:0})},_getHorizontalScrollPositionOffset:function(e){var t=0,n=this._getCell(this._focusedCellPosition),i=n&&s.getOuterWidth(n);if(i>0){var o=this.option("rtlEnabled")?-1:1;t="nextInRow"===e||"next"===e?i*o:i*o*-1}return t},_editingCellTabHandler:function(e,t){var n,i=e.originalEvent.target,o=this._getCellElementFromTarget(i),a=e.originalEvent,r=this._getElementType(i);if(o.is("[class^=dx-command]"))return!this._targetCellTabHandler(e,t);this._updateFocusedCellPosition(o);var s=this._getNextCellByTabKey(a,t,r);if(!(o=s.$cell)||this._handleTabKeyOnMasterDetailCell(o,t))return!1;var l=this._columnsController,u=this.getView("rowsView").getCellIndex(o)+l.getColumnIndexOffset(),d=l.getVisibleColumns(null,!0)[u],c=o.parent(),h=this._getRowIndex(c),f=this._dataController.items()[h],p=this._editingController;if(d&&d.allowEditing){var g=!f||"data"===f.rowType;n=p.allowUpdating({row:f})?g:f&&f.isNewRow}return n||this._closeEditCell(),this._focusCell(o,!s.isHighlighted)&&(!this._isRowEditMode()&&n?this._editFocusedCell():this._focusInteractiveElement(o,e.shift)),!0},_targetCellTabHandler:function(e,t){var n,i=e.originalEvent,o=i.target,a=this._getCellElementFromTarget(o),r=this._getInteractiveElement(a,!e.shift),s=!1;if(!O(this,a)&&r.length&&o!==r.get(0))s=!0;else{void 0===this._focusedCellPosition.rowIndex&&l.default(o).hasClass("dx-row")&&this._updateFocusedCellPosition(a),n=this._getElementType(o),this.isRowFocusType()&&(this.setCellFocusType(),"row"===n&&E(l.default(o))&&(o=this.getFirstValidCellInRow(l.default(o)),n=this._getElementType(o)));var u=this._getNextCellByTabKey(i,t,n);if(!(a=u.$cell))return!1;if(!(a=this._checkNewLineTransition(i,a)))return!1;this._focusCell(a,!u.isHighlighted),O(this,a)||this._focusInteractiveElement(a,e.shift)}return s},_getNextCellByTabKey:function(e,t,n){var i=this._getNextCell(t,n),o=i&&this._fireFocusedCellChanging(e,i,!0);return!o||o.cancel?{}:(o.$newCellElement&&(i=o.$newCellElement),{$cell:i,isHighlighted:o.isHighlighted})},_checkNewLineTransition:function(e,t){var n=this.getVisibleRowIndex(),i=t.parent();if(n!==this._getRowIndex(i)){var o=this._getCellPosition(t),a=this._fireFocusedRowChanging(e,i);if(a.cancel)return;a.rowIndexChanged&&(this.setFocusedColumnIndex(o.columnIndex),t=this._getFocusedCell())}return t},_enterKeyHandler:function(e,t){var n=this._getFocusedCell(),i=this.getVisibleRowIndex(),o=this._focusedView&&this._focusedView.getRow(i);if(this.option("grouping.allowCollapsing")&&I(o)||this.option("masterDetail.enabled")&&n&&n.hasClass("dx-command-expand")){var a=this._dataController.getKeyByRowIndex(i),r=this._dataController.items()[i];void 0!==a&&r&&r.data&&!r.data.isContinuation&&this._dataController.changeRowExpand(a)}else this._processEnterKeyForDataCell(e,t)},_processEnterKeyForDataCell:function(e,t){var n=this._getEnterKeyDirection(e),i=this._allowEditingOnEnterKey();t||!i&&n?(this._handleEnterKeyEditingCell(e.originalEvent),"next"===n||"previous"===n?this._targetCellTabHandler(e,n):"upArrow"!==n&&"downArrow"!==n||this._navigateNextCell(e.originalEvent,n)):i&&this._startEditing(e)},_getEnterKeyDirection:function(e){var t=this.option("keyboardNavigation.enterKeyDirection"),n=e.shift;return"column"===t?n?"upArrow":"downArrow":"row"===t?n?"previous":"next":void 0},_handleEnterKeyEditingCell:function(e){var t=e.target,n=this._getCellElementFromTarget(t),i=this._isRowEditMode();this._updateFocusedCellPosition(n),i?(this._focusEditFormCell(n),setTimeout(this._editingController.saveEditData.bind(this._editingController))):(d.default.trigger(l.default(t),"change"),this._closeEditCell(),e.preventDefault())},_escapeKeyHandler:function(e,t){var n=this._getCellElementFromTarget(e.originalEvent.target);t&&(this._updateFocusedCellPosition(n),this._isRowEditMode()?(this._focusEditFormCell(n),this._editingController.cancelEditData(),0===this._dataController.items().length&&(this._resetFocusedCell(),this._editorFactory.loseFocus())):"cell"===this._editingController.getEditMode()?this._editingController.cancelEditData():this._closeEditCell(),e.originalEvent.preventDefault())},_ctrlFKeyHandler:function(e){if(this.option("searchPanel.visible")){var t=this._headerPanel.getSearchTextEditor();t&&(t.focus(),e.originalEvent.preventDefault())}},_f2KeyHandler:function(){var e=this._editingController.isEditing(),t=this.getVisibleRowIndex(),n=this._focusedView&&this._focusedView.getRow(t);!e&&E(n)&&this._startEditing()},_navigateNextCell:function(e,t){var n=this._getNextCell(t),i=this._getDirectionCodeByKey(t);return!!(n&&this._isCellValid(n))&&this._arrowKeysHandlerFocusCell(e,n,i)},_arrowKeysHandlerFocusCell:function(e,t,n){var i="prevRow"===n||"nextRow"===n,o=this._fireFocusChangingEvents(e,t,i,!0);return t=o.$newCellElement,!(o.cancel||!this._isCellValid(t))&&(this._focus(t,!o.isHighlighted),!0)},_beginFastEditing:function(e,t){if(!this._isFastEditingAllowed()||e.altKey||e.ctrlKey||this._editingController.isEditing())return!1;if(t)this._startEditing(e,"delete");else{var n=e.key,i=e.keyCode||e.which,o=n||i&&String.fromCharCode(i);!o||1!==o.length&&"delete"!==o||this._startEditing(e,o)}return!0},_pointerEventHandler:function(e){var t=e.event||e,n=l.default(t.currentTarget),i=this.getView("rowsView"),o=i&&i.element(),a=n.parent(),r=l.default(t.target).is(S),s=!!l.default(t.target).closest(".dx-revert-button").length,u=n.hasClass("dx-command-expand");this._isEventInCurrentGrid(t)&&(s||!this._isCellValid(n,!r)&&!u?n.is("td")&&this._resetFocusedCell():(n=this._isInsideEditForm(n)?l.default(t.target):n,this._focusView(),l.default(o).removeClass("dx-state-focused"),a.hasClass("dx-freespace-row")?(this._updateFocusedCellPosition(n),this._applyTabIndexToElement(this._focusedView.element()),this._focusedView.focus(!0)):this._isMasterDetailCell(n)?this._updateFocusedCellPosition(n):this._clickTargetCellHandler(t,n)))},_clickTargetCellHandler:function(e,t){var n=this.getView("rowsView").getCellIndex(t),i=this._columnsController.getVisibleColumns()[n],o=this._isCellEditMode();this.setCellFocusType();var a=this._fireFocusChangingEvents(e,t,!0);if(t=a.$newCellElement,a.cancel)this.setRowFocusType(),this.setFocusedRowIndex(a.prevRowIndex),this._editingController.isEditing()&&o&&this._closeEditCell();else{if(a.resetFocusedRow)return void this.getController("focus")._resetFocusedRow();if(a.rowIndexChanged&&(t=this._getFocusedCell()),a.isHighlighted||o||this.setRowFocusType(),this._updateFocusedCellPosition(t),this._allowRowUpdating()&&o&&i&&i.allowEditing)this._isNeedFocus=!1,this._isHiddenFocus=!1;else{t=this._getFocusedCell();var r=e&&l.default(e.target).closest(k+", td"),s=r&&r.not(t).is(k),u=!(!!i&&!i.command&&t.hasClass("dx-editor-cell"))&&(!a.isHighlighted||s);this._focus(t,u,s)}}},_allowRowUpdating:function(){var e=this.getVisibleRowIndex(),t=this._dataController.items()[e];return this._editingController.allowUpdating({row:t},"click")},focus:function(e){var t,n=this.option("focusedRowEnabled"),i=this._isCellElement(l.default(e));e||(t=".dx-datagrid-rowsview .dx-row[tabindex]",n||(t+=", .dx-datagrid-rowsview .dx-row > td[tabindex]"),e=this.component.$element().find(t).first()),e&&this._focusElement(l.default(e),i)},getFocusedView:function(){return this._focusedView},setupFocusedView:function(){this.isKeyboardEnabled()&&!c.isDefined(this._focusedView)&&this._focusView()},_focusElement:function(e,t){var n=l.default(this._getRowsViewElement()),i=e.closest(n),o=this.isRowFocusType(),a={};!i.length||this._isCellElement(e)&&!this._isCellValid(e)||(this._focusView(),this._isNeedFocus=!0,this._isNeedScroll=!0,(this._isCellElement(e)||I(e))&&(this.setCellFocusType(),e=(a=this._fireFocusChangingEvents(null,e,!1,t)).$newCellElement,o&&!a.isHighlighted&&this.setRowFocusType()),a.cancel||(this._focus(e,!a.isHighlighted),this._focusInteractiveElement(e)))},_getFocusedViewByElement:function(e){var t=this.getFocusedView(),n=t&&l.default(t.element());return e&&0!==e.closest(n).length},_focusView:function(){this._focusedView=this.getView("rowsView")},_resetFocusedView:function(){this.setRowFocusType(),this._focusedView=null},_focusInteractiveElement:function(e,t){if(e){var n=this._getInteractiveElement(e,t);this._testInteractiveElement=n,x.default.focusAndSelectElement(this,n)}},_focus:function(e,t,n){var i=e&&!e.hasClass("dx-row")?e.closest(".dx-row"):e;if(!i||!function(e){return!e||e.hasClass("dx-freespace-row")||e.hasClass("dx-virtual-row")}(i)){var o,a=this._focusedView,r=a&&a.element();this._isHiddenFocus=t;var s=I(i)||this.isRowFocusType();s?(o=i,a&&this.setFocusedRowIndex(this._getRowIndex(i))):this._isCellElement(e)&&(o=e,this._updateFocusedCellPosition(e)),o&&(r&&r.find(".dx-row[tabindex], .dx-row > td[tabindex]").not(o).removeClass("dx-cell-focus-disabled").removeAttr("tabindex"),d.default.one(o,"blur",(function(e){e.relatedTarget&&o.removeClass("dx-cell-focus-disabled")})),n||(this._applyTabIndexToElement(o),d.default.trigger(o,"focus")),t?(o.addClass("dx-cell-focus-disabled"),s&&e.addClass("dx-cell-focus-disabled")):this._editorFactory.focus(o))}},_updateFocus:function(e){var t=this;this._updateFocusTimeout=setTimeout((function(){var n=t._editingController,i="cell"===n.getEditMode(),o="batch"===n.getEditMode();if(i&&n.hasChanges()||o&&n.isNewRowInEditMode())n._focusEditingCell();else{var a=t._getFocusedCell(),r=n.isEditing();if(a&&(!t._isMasterDetailCell(a)||t._isRowEditMode())){if(t._hasSkipRow(a.parent())){var s=t._focusedCellPosition&&t._focusedCellPosition.rowIndex>0?"upArrow":"downArrow";a=t._getNextCell(s)}if(A(a))if(a.is("td")||a.hasClass(t.addWidgetPrefix("edit-form-item"))){var l=a.is("[class^=dx-command]"),u=a.find(":focus"),c=A(u);if(!e&&l||!t._editorFactory.focus())c||!t._isNeedFocus&&!t._isHiddenFocus||t._focus(a,t._isHiddenFocus);else{if(l&&c)return void x.default.focusAndSelectElement(t,u);!c&&t._focus(a)}r&&t._focusInteractiveElement.bind(t)(a)}else d.default.trigger(a,"focus")}}}))},_getFocusedCell:function(){return l.default(this._getCell(this._focusedCellPosition))},_updateFocusedCellPositionByTarget:function(e){var t;if("row"===this._getElementType(e)&&c.isDefined(null===(t=this._focusedCellPosition)||void 0===t?void 0:t.columnIndex)){var n=l.default(e);this._focusedView&&I(n)&&this.setFocusedRowIndex(this._getRowIndex(n))}else this._updateFocusedCellPosition(this._getCellElementFromTarget(e))},_updateFocusedCellPosition:function(e,t){var n=this._getCellPosition(e,t);return n&&(!e.length||n.rowIndex>=0&&n.columnIndex>=0)&&this.setFocusedCellPosition(n.rowIndex,n.columnIndex),n},_getFocusedColumnIndexOffset:function(e){var t=0,n=this._columnsController.getVisibleColumns()[e];return n&&n.fixed?t=this._getFixedColumnIndexOffset(n):e>=0&&(t=this._columnsController.getColumnIndexOffset()),t},_getFixedColumnIndexOffset:function(e){return function(e,t){return e.option("rtlEnabled")?!("right"===t.fixedPosition||c.isDefined(t.command)&&!c.isDefined(t.fixedPosition)):!(!c.isDefined(t.fixedPosition)||"left"===t.fixedPosition)}(this,e)?this._getVisibleColumnCount()-this._columnsController.getVisibleColumns().length:0},_getCellPosition:function(e,t){var n,i=A(e)&&e.closest("tr"),o=this.getView("rowsView");if(A(i)){var a=this._getRowIndex(i);return n=o.getCellIndex(e,a),n+=this._getFocusedColumnIndexOffset(n),t&&(n="previous"===t?n-1:n+1,n=this._applyColumnIndexBoundaries(n)),{rowIndex:a,columnIndex:n}}},_focusCell:function(e,t){if(this._isCellValid(e))return this._focus(e,t),!0},_focusEditFormCell:function(e){e.hasClass("dx-master-detail-cell")&&this._editorFactory.focus(e,!0)},_resetFocusedCell:function(e){var t,n=this._getFocusedCell();A(n)&&n.removeAttr("tabindex"),this._isNeedFocus=!1,this._isNeedScroll=!1,this._focusedCellPosition={},clearTimeout(this._updateFocusTimeout),null===(t=this._focusedView)||void 0===t||t.renderFocusState({preventScroll:e})},restoreFocusableElement:function(e,t){var n,i,o=c.isDefined(e),a=this.getView("rowsView"),r=a.element(),s=this._focusedCellPosition.columnIndex,l=this._dataController.getRowIndexOffset();e=o?e:a.getTopVisibleItemIndex()+l,o?(i=a.getRow(e-l),!(n=this._fireFocusedRowChanging(t,i)).cancel&&n.rowIndexChanged&&(e=n.newRowIndex)):(this._editorFactory.loseFocus(),this._applyTabIndexToElement(r),d.default.trigger(r,"focus")),o&&n.cancel||this.setFocusedCellPosition(e,s),o&&this._updateFocus()},_getNewPositionByCode:function(e,t,n){var i=e.columnIndex,o=e.rowIndex;if(void 0===e.rowIndex&&"next"===n)return{columnIndex:0,rowIndex:0};switch(n){case"nextInRow":case"next":i0&&"row"!==t&&this._hasValidCellBeforePosition({columnIndex:i,rowIndex:o})?i--:o>0&&"previous"===n&&(o--,i=this._getVisibleColumnCount()-1);break;case"upArrow":o=o>0?o-1:o;break;case"downArrow":o=this._isLastRow(o)?o:o+1}return{columnIndex:i,rowIndex:o}},setFocusedCellPosition:function(e,t){this.setFocusedRowIndex(e),this.setFocusedColumnIndex(t)},setFocusedRowIndex:function(e){this._focusedCellPosition||(this._focusedCellPosition={}),this._focusedCellPosition.rowIndex=e},setFocusedColumnIndex:function(e){this._focusedCellPosition||(this._focusedCellPosition={}),this._focusedCellPosition.columnIndex=e},getRowIndex:function(){return this._focusedCellPosition?this._focusedCellPosition.rowIndex:-1},getColumnIndex:function(){return this._focusedCellPosition?this._focusedCellPosition.columnIndex:-1},getVisibleRowIndex:function(){var e=this._focusedCellPosition&&this._focusedCellPosition.rowIndex;return!c.isDefined(e)||e<0?-1:e-this._dataController.getRowIndexOffset()},getVisibleColumnIndex:function(){var e=this._focusedCellPosition&&this._focusedCellPosition.columnIndex;return c.isDefined(e)?e-this._columnsController.getColumnIndexOffset():-1},_applyColumnIndexBoundaries:function(e){var t=this._getVisibleColumnCount();return e<0?e=0:e>=t&&(e=t-1),e},_isCellByPositionValid:function(e){var t=l.default(this._getCell(e));return this._isCellValid(t)},_isLastRow:function(e){var t=this._dataController,n=t.items().filter((function(e){return!1!==e.visible}));return this._isVirtualRowRender()?e>=t.getMaxRowIndex():e===n.length-1},_isFirstValidCell:function(e){var t=!1;return 0===e.rowIndex&&e.columnIndex>=0&&(t=t||!this._hasValidCellBeforePosition(e)),t},_hasValidCellBeforePosition:function(e){for(var t=e.columnIndex,n=!1;t>0&&!n;){var i={columnIndex:--t,rowIndex:e.rowIndex};n=this._isCellByPositionValid(i)}return n},_hasValidCellAfterPosition:function(e){for(var t=e.columnIndex,n=!1,i=this._getVisibleColumnCount();t=0?e.columnIndex+1:0,n=e.rowIndex,i={columnIndex:t,rowIndex:n},o=this._dataController.getVisibleRows(),a=o&&o[n];return!!this._isLastRow(n)&&(!!(a&&"group"===a.rowType&&e.columnIndex>0)||(e.columnIndex===this._getVisibleColumnCount()-1||!this._isCellByPositionValid(i)&&this._isLastValidCell(i)))},_isCellValid:function(e,t){if(A(e)){var n=this.getView("rowsView"),i=e.parent(),o=this._columnsController,a=n.getCellIndex(e)+o.getColumnIndexOffset(),r=o.getVisibleColumns(null,!0)[a],s=this._getVisibleColumnCount(),l=this._editingController,u=T(i),d=r&&r.showWhenGrouped,h=r&&!e.hasClass("dx-command-expand")&&E(i);if(C.GridCoreKeyboardNavigationDom.isDragCell(e))return!1;if(this._isMasterDetailCell(e))return!0;if(s>a&&(!u&&r&&(!c.isDefined(r.groupIndex)||d&&h)||parseInt(e.attr("colspan"))>1)){var f=this._dataController.items(),p=n.getRowIndex(i),g=f[p],m=l&&this._isCellEditMode()&&l.isEditing(),_=l&&l.isEditRow(p),v=_||m;return r.command?this._isLegacyNavigation()?!v&&"expand"===r.command:!m&&(_?"select"!==r.command:!v):(!m||!g||"data"===g.rowType)&&(!v||r.allowEditing||t)}}},getFirstValidCellInRow:function(e,t){for(var n,i,o=e.find("> td"),a=t=t||0;a=0){var a=this._dataController;t=o>=0&&a.getVisibleRows()[o-a.getRowIndexOffset()]}this.executeAction("onFocusedRowChanged",{rowElement:e,rowIndex:o,row:t})}},_isEventInCurrentGrid:function(e){return x.default.isElementInCurrentGrid(this,l.default(e.target))},_isRowEditMode:function(){var e=this._editingController.getEditMode();return"row"===e||"form"===e},_isCellEditMode:function(){var e=this._editingController.getEditMode();return"cell"===e||"batch"===e},_isFastEditingAllowed:function(){return this._isCellEditMode()&&this.option("keyboardNavigation.editOnKeyPress")},_getInteractiveElement:function(e,t){var n=e.find(S).filter(":visible");return t?n.last():n.first()},_applyTabIndexToElement:function(e){var t=this.option("tabIndex")||0;e.attr("tabindex",c.isDefined(t)?t:0)},_getCell:function(e){if(this._focusedView&&e){var t=this._dataController.getRowIndexOffset(),n=this._columnsController.getVisibleColumns(null,!0)[e.columnIndex],i=n&&n.fixed?this._getFixedColumnIndexOffset(n):this._columnsController.getColumnIndexOffset(),o=e.rowIndex>=0?e.rowIndex-t:-1,a=e.columnIndex>=0?e.columnIndex-i:-1;return this._focusedView.getCell({rowIndex:o,columnIndex:a})}},_getRowIndex:function(e){var t=this.getView("rowsView").getRowIndex(e);return t>=0&&(t+=this._dataController.getRowIndexOffset()),t},_hasSkipRow:function(e){var t=e&&e.get(0);return t&&("none"===t.style.display||e.hasClass(this.addWidgetPrefix("group-footer"))||T(e)&&!e.hasClass(this.addWidgetPrefix("edit-form")))},_allowEditingOnEnterKey:function(){return"startEdit"===this.option("keyboardNavigation.enterKeyAction")},_isLegacyNavigation:function(){return this.option("useLegacyKeyboardNavigation")},_getDirectionCodeByKey:function(e){var t;switch(e){case"upArrow":t="prevRow";break;case"downArrow":t="nextRow";break;case"leftArrow":t=this.option("rtlEnabled")?"nextInRow":"previousInRow";break;case"rightArrow":t=this.option("rtlEnabled")?"previousInRow":"nextInRow"}return t},_isVirtualScrolling:function(){var e=this.option("scrolling.mode");return"virtual"===e||"infinite"===e},_isVirtualRowRender:function(){return this._isVirtualScrolling()||x.default.isVirtualRowRendering(this)},_isVirtualColumnRender:function(){return"virtual"===this.option("scrolling.columnRenderingMode")},_scrollBy:function(e,t,n,i){var o=this,a=this.getView("rowsView").getScrollable();if(o._focusedCellPosition){var r=function(){a.off("scroll",r),setTimeout(o.restoreFocusableElement.bind(o,n,i))};a.on("scroll",r)}return a.scrollBy({left:e,top:t})},_isInsideEditForm:function(e){var t=l.default(e).closest("."+this.addWidgetPrefix("edit-form"));return t.length&&this.elementIsInsideGrid(t)},_isMasterDetailCell:function(e){var t=l.default(e).closest(".dx-master-detail-cell");return t.length&&this.elementIsInsideGrid(t)},_processNextCellInMasterDetail:function(e){!this._isInsideEditForm(e)&&e&&this._applyTabIndexToElement(e)},_handleTabKeyOnMasterDetailCell:function(e,t){if(this._isMasterDetailCell(e)){this._updateFocusedCellPosition(l.default(e),t);var n=this._getNextCell(t,"row");return this._processNextCellInMasterDetail(n,l.default(e)),!0}return!1},_getElementType:function(e){return l.default(e).is("tr")?"row":"cell"},_isFastEditingStarted:function(){return this._isFastEditingAllowed()&&this._fastEditingStarted},_getVisibleColumnCount:function(){return this._columnsController.getVisibleColumns(null,!0).length},_isCellInRow:function(e,t){var n=e.columnIndex,i=this._getVisibleColumnCount();return t?n>=0&&n<=i-1:n>0&&n td"):n.children().not(".dx-command-expand").first()},_getRowsViewElement:function(){var e=this.getView("rowsView");return e&&e.element()},isKeyboardEnabled:function(){return this.option("keyboardNavigation.enabled")},_processCanceledEditCellPosition:function(e,t){if(this._canceledCellPosition){var n=this._canceledCellPosition.rowIndex===e&&this._canceledCellPosition.columnIndex===t;return this._canceledCellPosition=null,n}},updateFocusedRowIndex:function(){var e=this._dataController,t=this.getVisibleRowIndex(),n=e.items(),i=n.length?n.length-1:-1,o=e.getRowIndexOffset();i>=0&&t>i&&this.setFocusedRowIndex(i+o)}},B=w.default.ViewController.inherit(R);t.keyboardNavigationModule={defaultOptions:function(){return{useLegacyKeyboardNavigation:!1,keyboardNavigation:{enabled:!0,enterKeyAction:"startEdit",enterKeyDirection:"none",editOnKeyPress:!1}}},controllers:{keyboardNavigation:B},extenders:{views:{rowsView:{_rowClick:function(e){var t=this.getController("editing").getEditRowIndex(),n=this.getController("keyboardNavigation"),i=n.isKeyboardEnabled();t===e.rowIndex&&n.setCellFocusType();var o=(P()||!i)&&this.option("focusedRowEnabled");o&&this._triggerPointerDownEventHandler(e,!i),this.callBase.apply(this,arguments)},_triggerPointerDownEventHandler:function(e,t){var n=e.event.originalEvent;if(n){var i=this.getController("keyboardNavigation"),o=l.default(n.target),a=this.getCellIndex(o),r=this.getController("columns").getVisibleColumns()[a],s=this.getController("data").items()[e.rowIndex];if(i._isAllowEditing(s,r)||t){var u=f.createEvent(n,{currentTarget:n.target});i._pointerEventHandler(u)}}},renderFocusState:function(e){var t=null!=e?e:{},n=t.preventScroll,i=t.pageSizeChanged,o=this.getController("keyboardNavigation"),a=this.element();a&&!h.focused(a)&&a.attr("tabindex",null),i&&o.updateFocusedRowIndex();var r=o.getVisibleRowIndex();(!c.isDefined(r)||r<0)&&(r=0);var s=this.getCellElements(r);o.isKeyboardEnabled()&&s.length&&this.updateFocusElementTabIndex(s,n)},updateFocusElementTabIndex:function(e){var t=this.getController("keyboardNavigation"),n=e.eq(0).parent();if(I(n))t._applyTabIndexToElement(n);else{var i=t.getColumnIndex();(!c.isDefined(i)||i<0)&&(i=0),this._updateFocusedCellTabIndex(e,i)}},_updateFocusedCellTabIndex:function(e,t){var n=this.getController("keyboardNavigation"),i=e?e.length:-1,o=function(e){var t=n._isMasterDetailCell(e),i=n._isCellValid(e);if(!t&&i&&n._isCellElement(e))return n._applyTabIndexToElement(e),n.setCellFocusType(),!0},a=C.GridCoreKeyboardNavigationDom.getCellToFocus(e,t);if(a.length)o(a);else{i<=t&&(t=i-1);for(var r=t;r=0){var a=e(o.rowIndex);a&&(o.rowIndex+=a,i.refocus())}},getMaxRowIndex:function(){var e=this.items().length-1,t=this.virtualItemsCount();t&&(e+=this.getRowIndexOffset()+t.end);return e}},adaptiveColumns:{_showHiddenCellsInView:function(e){var t=e.viewName,n=e.$cells,i=e.isCommandColumn;this.callBase.apply(this,arguments),"columnHeadersView"===t&&!i&&n.each((function(e,t){var n=l.default(t);M(n)&&n.attr("tabindex",0)}))},_hideVisibleCellInView:function(e){var t=e.viewName,n=e.$cell,i=e.isCommandColumn;this.callBase.apply(this,arguments),"columnHeadersView"===t&&!i&&M(n)&&n.removeAttr("tabindex")}}}}}},56714:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.masterDetailModule=void 0;var o,a=n(58664),r=i(n(68374)),s=n(20576),l=n(95479),u=n(35922),d=n(62754),c=i(n(9707));t.masterDetailModule={defaultOptions:function(){return{masterDetail:{enabled:!1,autoExpandAll:!1,template:null}}},extenders:{controllers:{columns:{_getExpandColumnsCore:function(){var e=this.callBase();return this.option("masterDetail.enabled")&&e.push({type:"detailExpand",cellTemplate:c.default.getExpandCellTemplate()}),e}},data:(o=function(e){e._expandedItems=[],e._isExpandAll=e.option("masterDetail.autoExpandAll")},{init:function(){o(this),this.callBase()},expandAll:function(e){var t=this;e<0?(t._isExpandAll=!0,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},collapseAll:function(e){var t=this;e<0?(t._isExpandAll=!1,t._expandedItems=[],t.updateItems()):t.callBase.apply(t,arguments)},isRowExpanded:function(e){var t=this,n=c.default.getIndexByKey(e,t._expandedItems);return Array.isArray(e)?t.callBase.apply(t,arguments):!!(t._isExpandAll^(n>=0&&t._expandedItems[n].visible))},_getRowIndicesForExpand:function(e){var t=this.getRowIndexByKey(e);return[t,t+1]},_changeRowExpandCore:function(e){var t,n=this;if(Array.isArray(e))t=n.callBase.apply(n,arguments);else{var i=c.default.getIndexByKey(e,n._expandedItems);if(i>=0){var o=n._expandedItems[i].visible;n._expandedItems[i].visible=!o}else n._expandedItems.push({key:e,visible:!0});n.updateItems({changeType:"update",rowIndices:n._getRowIndicesForExpand(e)}),t=(new d.Deferred).resolve()}return t},_processDataItem:function(e,t){var n=this,i=n.callBase.apply(n,arguments);return i.isExpanded=n.isRowExpanded(i.key),void 0===t.detailColumnIndex&&(t.detailColumnIndex=-1,l.each(t.visibleColumns,(function(e,n){if("expand"===n.command&&!u.isDefined(n.groupIndex))return t.detailColumnIndex=e,!1}))),t.detailColumnIndex>=0&&(i.values[t.detailColumnIndex]=i.isExpanded),i},_processItems:function(e,t){var n=this,i=t.changeType,o=[];return e=n.callBase.apply(n,arguments),"loadingAll"===i?e:("refresh"===i&&(n._expandedItems=s.grep(n._expandedItems,(function(e){return e.visible}))),l.each(e,(function(e,t){o.push(t);var i=c.default.getIndexByKey(t.key,n._expandedItems);"data"===t.rowType&&(t.isExpanded||i>=0)&&!t.isNewRow&&o.push({visible:t.isExpanded,rowType:"detail",key:t.key,data:t.data,values:[]})})),o)},optionChanged:function(e){var t,n;if("masterDetail"===e.name){switch(e.name="dataSource",e.fullName){case"masterDetail":var i=e.value||{},a=e.previousValue||{};t=i.enabled!==a.enabled,n=i.autoExpandAll!==a.autoExpandAll;break;case"masterDetail.template":o(this);break;case"masterDetail.enabled":t=!0;break;case"masterDetail.autoExpandAll":n=!0}(t||n)&&o(this)}this.callBase(e)}}),resizing:{fireContentReadyAction:function(){this.callBase.apply(this,arguments),this._updateParentDataGrids(this.component.$element())},_updateParentDataGrids:function(e){var t=this,n=e.closest(".dx-master-detail-row");n.length&&d.when(this._updateMasterDataGrid(n,e)).done((function(){t._updateParentDataGrids(n.parent())}))},_updateMasterDataGrid:function(e,t){var n=r.default(e).data("options"),i=r.default(e).closest("."+this.getWidgetContainerClass()).parent().data("dxDataGrid");if(n&&i)return this._updateMasterDataGridCore(i,n)},_updateMasterDataGridCore:function(e,t){var n=d.Deferred();if(e.getView("rowsView").isFixedColumns())this._updateFixedMasterDetailGrids(e,t.rowIndex,r.default(t.rowElement)).done(n.resolve);else{if(!0===e.option("scrolling.useNative"))return void e.updateDimensions().done((function(){return n.resolve(!0)}));var i=e.getScrollable();i?null==i||i.update().done((function(){return n.resolve()})):n.resolve()}return n.promise()},_updateFixedMasterDetailGrids:function(e,t,n){var i=this,o=d.Deferred(),s=r.default(e.getRowElement(t)),l=r.default(e.getView("rowsView").getTableElements()),u=2===(null==s?void 0:s.length)&&a.getHeight(s.eq(0))!==a.getHeight(s.eq(1)),c=2===(null==l?void 0:l.length)&&a.getHeight(l.eq(0))!==a.getHeight(l.eq(1));if(u||c){var h=a.getWidth(n);return e.updateDimensions().done((function(){var t=i.option("columnAutoWidth")&&!0===e.option("scrolling.useNative"),r=t&&h!==a.getWidth(n);t&&r?i.updateDimensions().done((function(){return o.resolve(!0)})):o.resolve(!0)})),o.promise()}return d.Deferred().resolve()},_toggleBestFitMode:function(e){if(this.callBase.apply(this,arguments),this.option("masterDetail.template")){var t=this._rowsView.getTableElement();t&&t.find(".dx-master-detail-cell").css("maxWidth",e?0:"")}}}},views:{rowsView:{_getCellTemplate:function(e){var t=this,n=e.column,i=t.getController("editing"),o=i&&i.isEditRow(e.rowIndex);return"detail"!==n.command||o?t.callBase.apply(t,arguments):t.option("masterDetail.template")||{allowRenderToDetachedContainer:!1,render:t._getDefaultTemplate(n)}},_isDetailRow:function(e){return e&&e.rowType&&0===e.rowType.indexOf("detail")},_createRow:function(e){var t=this.callBase.apply(this,arguments);return e&&this._isDetailRow(e)&&(this.option("showRowLines")&&t.addClass("dx-row-lines"),t.addClass("dx-master-detail-row"),u.isDefined(e.visible)&&t.toggle(e.visible)),t},_renderCells:function(e,t){var n=t.row,i=this._columnsController.getVisibleColumns();n.rowType&&this._isDetailRow(n)?this._needRenderCell(0,t.columnIndices)&&this._renderCell(e,{value:null,row:n,rowIndex:n.rowIndex,column:{command:"detail"},columnIndex:0,change:t.change}).addClass("dx-cell-focus-disabled").addClass("dx-master-detail-cell").attr("colSpan",i.length):this.callBase.apply(this,arguments)}}}}}},37055:function(e,t,n){var i=this&&this.__createBinding||(Object.create?function(e,t,n,i){void 0===i&&(i=n),Object.defineProperty(e,i,{enumerable:!0,get:function(){return t[n]}})}:function(e,t,n,i){void 0===i&&(i=n),e[i]=t[n]}),o=this&&this.__setModuleDefault||(Object.create?function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}:function(e,t){e.default=t}),a=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var n in e)"default"!==n&&Object.prototype.hasOwnProperty.call(e,n)&&i(t,e,n);return o(t,e),t};Object.defineProperty(t,"__esModule",{value:!0}),t.registerKeyboardAction=void 0;var r=a(n(56756));t.registerKeyboardAction=function(e,t,n,i,o){var a=t.getController("keyboardNavigation");if(!(t.option("useLegacyKeyboardNavigation")||a&&!a.isKeyboardEnabled())){t.createAction("onKeyDown"),r.registerKeyboardAction(e,t,n,i,o,(function(e){t.executeAction("onKeyDown",e)}))}}},40244:function(e,t,n){Object.defineProperty(t,"__esModule",{value:!0}),t.prepareItems=void 0;var i=n(13306);t.prepareItems=function(e,t){for(var n=function(e){return e||1},o=[],a=(e[0]||[]).reduce((function(e,t){return e+n(t.colspan)}),0),r=function(e){var t=0,i=0;return function(){var o=e[t]||[],a=o[i++];return i>=o.length&&(t++,i=0),a&&(a.colspan=n(a.colspan),a.rowspan=n(a.rowspan)),a}}(e),s=function(e,n,a){if((o[e]=o[e]||[])[n]=a,a.colspan>1||a.rowspan>1){for(var r=function(e){return i.extend({},e,t)}(a),l=1;l=0&&s.isFunction(t)&&t.columnIndex>=0?e.columnIndex===t.columnIndex&&f.toComparable(e.filterValue)===f.toComparable(t.filterValue)&&f.toComparable(e.selectedFilterOperation)===f.toComparable(t.selectedFilterOperation):f.toComparable(e)==f.toComparable(t)};t.default={renderNoDataText:function(e){if(e=e||this.element()){var t=this.addWidgetPrefix("nodata"),n=e.find("."+t).last(),i=this._dataController.isEmpty(),o=this._dataController.isLoading();n.length||(n=r.default("").addClass(t).appendTo(e)),i&&!o?n.removeClass("dx-hidden").text(this._getNoDataText()):n.addClass("dx-hidden")}},renderLoadPanel:function(e,t,n){var i;this._loadPanel&&this._loadPanel.$element().remove(),(i=this.option("loadPanel"))&&("auto"===i.enabled?!n:i.enabled)?(i=c.extend({shading:!1,message:i.text,container:t},i),this._loadPanel=this._createComponent(r.default("
").appendTo(t),w.default,i)):this._loadPanel=null},calculateLoadPanelPosition:function(e){var t=r.default(_.getWindow());return a.getHeight(e)>a.getHeight(t)?{of:t,boundary:e,collision:"fit"}:{of:e}},getIndexByKey:function(e,t,n){var i=-1;if(void 0!==e&&Array.isArray(t)){n=arguments.length<=2?"key":n;for(var o=0;o0?", ":"")+O(o,t)}return n+")"},getSummaryText:O,normalizeSortingInfo:T,getFormatByDataType:function(e){switch(e){case"date":return"shortDate";case"datetime":return"shortDateShortTime";default:return}},getHeaderFilterGroupParameters:function(e,t){var n=[],i=e.dataField||e.name,o=C.default.getGroupInterval(e);return o?(d.each(o,(function(a,r){n.push(t?{selector:i,groupInterval:r,isExpanded:a0){var p=e.eq(c-1).offset();p.top").addClass(t.value?"dx-datagrid-group-opened":"dx-datagrid-group-closed").appendTo(n),i.setAria("label",t.value?i.localize("dxDataGrid-ariaCollapse"):i.localize("dxDataGrid-ariaExpand"),n)}}}},setEmptyText:I,isDateType:D,getSelectionRange:function(e){try{if(e)return{selectionStart:e.selectionStart,selectionEnd:e.selectionEnd}}catch(e){}return{}},setSelectionRange:function(e,t){try{e&&e.setSelectionRange&&e.setSelectionRange(t.selectionStart,t.selectionEnd)}catch(e){}},focusAndSelectElement:function(e,t){var n=t.is(":focus");v.default.trigger(t,"focus");var i=e.option("editing.selectTextOnEditStart"),o=t.get(0);if(!n&&i&&t.is(".dx-texteditor-input")&&!t.is("[readonly]")){var a=A(t.closest(".dx-texteditor"));l.when(a&&a._loadItemDeferred).done((function(){o.select()}))}},getWidgetInstance:A,getLastResizableColumnIndex:function(e,t){var n,i=e.some((function(e){return e&&!e.command&&!e.fixed&&!1!==e.allowResizing}));for(n=e.length-1;e[n];n--){var o=e[n],a=t&&t[n],r=!i||!1!==o.allowResizing;if(!o.command&&!o.fixed&&"adaptiveHidden"!==a&&r)break}return n},isElementInCurrentGrid:function(e,t){return!(!t||!t.length)&&t.closest("."+e.getWidgetContainerClass()).parent().is(e.component.$element())},isVirtualRowRendering:function(e){var t=e.option("scrolling.rowRenderingMode"),n="virtual"===e.option("scrolling.mode"),i="infinite"===e.option("scrolling.mode");return!(!1!==e.option("scrolling.legacyMode")||!n&&!i)||"virtual"===t},getPixelRatio:function(e){return e.devicePixelRatio||1},_setPixelRatioFn:function(e){this.getPixelRatio=e},getContentHeightLimit:function(e){return e.mozilla?8e6:15e6/this.getPixelRatio(_.getWindow())},normalizeLookupDataSource:function(e){var t;return e.items?t=e.items:(t=e.dataSource,s.isFunction(t)&&!x.default.isWrapped(t)&&(t=t({}))),b.normalizeDataSourceOptions(t)},getWrappedLookupDataSource:function(e,t,n){var o=this;if(!t)return[];var a=this.normalizeLookupDataSource(e.lookup);if(e.calculateCellValue!==e.defaultCalculateCellValue)return a;var r,u,d,c=t.remoteOperations().groupPaging,h=e.displayField&&s.isString(e.displayField),f=function(e,t){var n,i=null!==(n=t.skip)&&void 0!==n?n:0,o=t.take?i+t.take:e.length;return e.slice(i,o)},p=function(i){var o=function(e){return Array.isArray(e)||(e=[e]),e.map((function(t,n){return s.isString(t)?{selector:t,isExpanded:n0&&(this._updateLockCount--,this._updateLockCount||this._endUpdateCore())},option:function(e){var t=this.component,n=t._optionCache;return 1===arguments.length&&n?(e in n||(n[e]=t.option(e)),n[e]):t.option.apply(t,arguments)},_silentOption:function(e,t){var n=this.component,i=n._optionCache;return i&&(i[e]=t),n._setOptionWithoutOptionChange(e,t)},localize:function(e){var t=this.component._optionCache;return t?(e in t||(t[e]=c.default.format(e)),t[e]):c.default.format(e)},on:function(){return this.component.on.apply(this.component,arguments)},off:function(){return this.component.off.apply(this.component,arguments)},optionChanged:function(e){e.name in this._actions&&(this.createAction(e.name,this._actionConfigs[e.name]),e.handled=!0)},getAction:function(e){return this._actions[e]},setAria:function(e,t,n){var i=n.get(0),o="role"!==e&&"id"!==e?"aria-":"";i.setAttribute?i.setAttribute(o+e,t):n.attr(o+e,t)},_createComponent:function(){return this.component._createComponent.apply(this.component,arguments)},getController:function(e){return this.component._controllers[e]},createAction:function(e,t){if(u.isFunction(e)){var n=this.component._createAction(e.bind(this),t);return function(e){n({event:e})}}this._actions[e]=this.component._createActionByOption(e,t),this._actionConfigs[e]=t},executeAction:function(e,t){var n=this._actions[e];return n&&n(t)},dispose:function(){var e=this;d.each(e.callbackNames()||[],(function(){e[this].empty()}))},addWidgetPrefix:function(e){return"dx-"+this.component.NAME.slice(2).toLowerCase()+(e?"-"+e:"")},getWidgetContainerClass:function(){var e="dxDataGrid"===this.component.NAME?null:"container";return this.addWidgetPrefix(e)},elementIsInsideGrid:function(e){return e.closest("."+this.getWidgetContainerClass()).parent().is(this.component.$element())}}),g=p,m=g.inherit({getView:function(e){return this.component._views[e]},getViews:function(){return this.component._views}}),_=p.inherit({_isReady:function(){return this.component.isReady()},_endUpdateCore:function(){this.callBase(),!this._isReady()&&this._requireReady&&(this._requireRender=!1,this.component._requireResize=!1),this._requireRender&&(this._requireRender=!1,this.render(this._$parent))},_invalidate:function(e,t){this._requireRender=!0,this.component._requireResize=h.hasWindow()&&(this.component._requireResize||e),this._requireReady=this._requireReady||t},_renderCore:function(){},_resizeCore:function(){},_parentElement:function(){return this._$parent},ctor:function(e){this.callBase(e),this.renderCompleted=s.default(),this.resizeCompleted=s.default()},element:function(){return this._$element},getElementHeight:function(){var e=this.element();if(!e)return 0;var t=parseFloat(e.css("marginTop"))||0,n=parseFloat(e.css("marginBottom"))||0;return e.get(0).offsetHeight+t+n},isVisible:function(){return!0},getTemplate:function(e){return this.component._getTemplate(e)},render:function(e,t){var n=this,i=this._$element,o=this.isVisible();if((i||e)&&(this._requireReady=!1,i||(i=this._$element=a.default("
").appendTo(e),this._$parent=e),i.toggleClass("dx-hidden",!o),o)){this.component._optionCache={};var r=this._renderCore(t);this.component._optionCache=void 0,r?r.done((function(){n.renderCompleted.fire(t)})):this.renderCompleted.fire(t)}},resize:function(){this.isResizing=!0,this._resizeCore(),this.resizeCompleted.fire(),this.isResizing=!1},focus:function(e){this.element().get(0).focus({preventScroll:e})}});function v(e,t){void 0===t&&(t={});var n={};return Object.entries(t).forEach((function(t){var i=t[0],o=t[1],a=e[i];if(a)if(u.isFunction(o))n[i]=o(a);else{var r=a;n[i]=r.inherit(o)}})),n}function y(e,t){var n=t.modules,o=t.modulesOrder;function a(t){var n={};return d.each(t,(function(t,i){var o=new i(e);o.name=t,function(e,t,n){var i=n.publicMethods();i&&d.each(i,(function(i,o){if(!n[o])throw f.default.Error("E1006",t,o);if(e[o])throw f.default.Error("E1005",o);e[o]=function(){for(var e=[],t=0;t
')},getPager:function(){return this._pager},getPageSizes:function(){var e=this.getController("data"),t=this.option("pager"),n=t&&t.allowedPageSizes,i=e.pageSize();return a.isDefined(this._pageSizes)&&this._pageSizes.includes(i)||(this._pageSizes=[],t&&(Array.isArray(n)?this._pageSizes=n:n&&i>1&&(this._pageSizes=[Math.floor(i/2),i,2*i]))),this._pageSizes},isVisible:function(){var e=this.getController("data"),t=this.option("pager"),n=t&&t.visible,i=this.option("scrolling");return"auto"===n&&(n=(!i||"virtual"!==i.mode&&"infinite"!==i.mode)&&(e.pageCount()>1||e.isLoaded()&&!e.hasKnownLastPage())),n},getHeight:function(){return this.getElementHeight()},optionChanged:function(e){var t=e.name,n="pager"===t,i="paging"===t,o="dataSource"===t,a="scrolling"===t,s=this.getController("data");if(n||i||a||o){if(e.handled=!0,s.skipProcessingPagingChange(e.fullName))return;(n||i)&&(this._pageSizes=null),o||(this._pager=null,this._invalidate(),r.hasWindow()&&n&&this.component&&this.component.resize())}},dispose:function(){this._pager=null}});t.pagerModule={defaultOptions:function(){return{pager:{visible:"auto",showPageSizeSelector:!1,allowedPageSizes:"auto",label:s.default.format("dxPager-ariaLabel")}}},views:{pagerView:d}}},92794:function(e,t){Object.defineProperty(t,"__esModule",{value:!0}),t.CLASSES=t.ATTRIBUTES=void 0,t.ATTRIBUTES={dragCell:"dx-drag-cell"},t.CLASSES={cellFocusDisabled:"dx-cell-focus-disabled",handleIcon:"drag-icon",commandDrag:"dx-command-drag",sortableWithoutHandle:"dx-sortable-without-handle",rowsView:"rowsview"}},5172:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.GridCoreRowDraggingDom=void 0;var o=i(n(68374)),a=i(n(9707)),r=n(92794);t.GridCoreRowDraggingDom={createHandleTemplateFunc:function(e){return function(t,n){var i=o.default(t);if(i.attr(r.ATTRIBUTES.dragCell,""),"data"===n.rowType)return i.addClass(r.CLASSES.cellFocusDisabled),o.default("").addClass(e(r.CLASSES.handleIcon));a.default.setEmptyText(i)}}}},72323:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.rowDraggingModule=void 0;var o=n(58664),a=i(n(68374)),r=n(13306),s=i(n(66843)),l=n(20576),u=i(n(9707)),d=n(5172),c=n(92794),h={init:function(){this.callBase.apply(this,arguments),this._updateHandleColumn()},_allowReordering:function(){var e=this.option("rowDragging");return!(!e||!(e.allowReordering||e.allowDropInsideItem||e.group))},_updateHandleColumn:function(){var e=this.option("rowDragging"),t=this._allowReordering(),n=this._columnsController,i=t&&e.showDragIcons;n&&n.addCommandColumn({type:"drag",command:"drag",visibleIndex:-2,alignment:"center",cssClass:c.CLASSES.commandDrag,width:"auto",cellTemplate:this._getHandleTemplate(),visible:i}),n.columnOption("type:drag","visible",i)},_renderContent:function(){var e=this,t=this.option("rowDragging"),n=this._allowReordering(),i=this.callBase.apply(this,arguments),o=this._isFixedTableRendering,l="_sortable",u="_sortableFixed",d=o?u:l,h=o?l:u,f=function(t){var n;null===(n=e[u])||void 0===n||n.$element().css("pointerEvents",t?"auto":"")},p=".dx-row:not(.dx-freespace-row):not(.dx-virtual-row):not(.dx-header-row):not(.dx-footer-row)",g=this.option("dataRowTemplate")?"> table > tbody"+p:"> table > tbody > "+p;return(n||this[d])&&i.length&&(this[d]=this._createComponent(i,s.default,r.extend({component:this.component,contentTemplate:null,filter:g,cursorOffset:function(t){var n=t.event,i=a.default(e.element()).offset();return{x:n.pageX-i.left}},onDraggableElementShown:function(n){if(!t.dragTemplate){var i=a.default(n.dragElement).children(".dx-widget").data(e.component.NAME);e._synchronizeScrollLeftPosition(i)}},dragTemplate:this._getDraggableRowTemplate(),handle:t.showDragIcons&&"."+c.CLASSES.commandDrag,dropFeedbackMode:"indicate"},t,{onDragStart:function(i){var o,a;null===(o=e.getController("keyboardNavigation"))||void 0===o||o._resetFocusedCell();var r=i.component.getVisibleRows()[i.fromIndex];i.itemData=r&&r.data;var s=r&&"data"===r.rowType;i.cancel=!n||!s,null===(a=t.onDragStart)||void 0===a||a.call(t,i)},onDragEnter:function(){f(!0)},onDragLeave:function(){f(!1)},onDragEnd:function(e){var n;f(!1),null===(n=t.onDragEnd)||void 0===n||n.call(t,e)},onAdd:function(e){var n;f(!1),null===(n=t.onAdd)||void 0===n||n.call(t,e)},dropFeedbackMode:t.dropFeedbackMode,onOptionChanged:function(t){e[u]&&("fromIndex"!==t.name&&"toIndex"!==t.name||e[h].option(t.name,t.value))}})),i.toggleClass("dx-scrollable-container",o),i.toggleClass(c.CLASSES.sortableWithoutHandle,n&&!t.showDragIcons)),i},_renderCore:function(e){var t=this;this.callBase.apply(this,arguments),e&&"update"===e.changeType&&e.repaintChangesOnly&&u.default.isVirtualRowRendering(this)&&l.deferUpdate((function(){t._updateSortable()}))},_updateSortable:function(){var e=this._dataController.getRowIndexOffset();[this._sortable,this._sortableFixed].forEach((function(t){null==t||t.option("offset",e),null==t||t.update()}))},_resizeCore:function(){this.callBase.apply(this,arguments),this._updateSortable()},_getDraggableGridOptions:function(e){var t=this.option(),n=this.getColumns(),i=a.default(this.getRowElement(e.rowIndex));return{dataSource:[{id:1,parentId:0}],showBorders:!0,showColumnHeaders:!1,scrolling:{useNative:!1,showScrollbar:"never"},pager:{visible:!1},loadingTimeout:null,columnFixing:t.columnFixing,columnAutoWidth:t.columnAutoWidth,showColumnLines:t.showColumnLines,columns:n.map((function(e){return{width:e.width||e.visibleWidth,fixed:e.fixed,fixedPosition:e.fixedPosition}})),onRowPrepared:function(e){var t=e.component.getView("rowsView");a.default(e.rowElement).replaceWith(i.eq(t._isFixedTableRendering?1:0).clone())}}},_synchronizeScrollLeftPosition:function(e){var t=null==e?void 0:e.getScrollable();null==t||t.scrollTo({x:this._scrollLeft})},_getDraggableRowTemplate:function(){var e=this;return function(t){var n=e.component.$element(),i=a.default("");o.setWidth(i,o.getWidth(n));var r=e._dataController.items(),s=r&&r[t.fromIndex],l=e._getDraggableGridOptions(s);return e._createComponent(i,e.component.NAME,l),i.find(".dx-gridbase-container").children(":not(."+e.addWidgetPrefix(c.CLASSES.rowsView)+")").hide(),i}},_getHandleTemplate:function(){var e=this;return d.GridCoreRowDraggingDom.createHandleTemplateFunc((function(t){return e.addWidgetPrefix(t)}))},optionChanged:function(e){"rowDragging"===e.name&&(this._updateHandleColumn(),this._invalidate(!0,!0),e.handled=!0),this.callBase.apply(this,arguments)}};t.rowDraggingModule={defaultOptions:function(){return{rowDragging:{showDragIcons:!0,dropFeedbackMode:"indicate",allowReordering:!1,allowDropInsideItem:!1}}},extenders:{views:{rowsView:h}}}},97363:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.searchModule=void 0;var o,a=i(n(68374)),r=i(n(73349)),s=n(35922),l=n(47617),u=i(n(28109)),d=i(n(96687)),c=i(n(9707));function h(e){return s.isDefined(e.allowSearch)?e.allowSearch:e.allowFiltering}function f(e,t){var n=e.lookup;return e.parseValue?n?e.parseValue.call(n,t):e.parseValue(t):t}t.searchModule={defaultOptions:function(){return{searchPanel:{visible:!1,width:160,placeholder:u.default.format("dxDataGrid-searchPanelPlaceholder"),highlightSearchText:!0,highlightCaseSensitive:!1,text:"",searchVisibleColumnsOnly:!1}}},extenders:{controllers:{data:{publicMethods:function(){return this.callBase().concat(["searchByText"])},_calculateAdditionalFilter:function(){var e=this.callBase(),t=function(e,t){var n,i,o,a=e._columnsController.getColumns(),r=e.option("searchPanel.searchVisibleColumnsOnly"),s=[];if(!t)return null;function u(e){for(var t=l.compileGetter(o.valueExpr),n=0;n").addClass(t.addWidgetPrefix("search-panel")).appendTo(r);t.getController("editorFactory").createEditor(s,{width:i.width,placeholder:i.placeholder,parentType:"searchPanel",value:t.option("searchPanel.text"),updateValueTimeout:700,setValue:function(e){n.searchByText(e)},editorOptions:{inputAttr:{"aria-label":u.default.format(t.component.NAME+"-ariaSearchInGrid")}}}),t.resize()},name:"searchPanel",location:"after",locateInMenu:"never",sortIndex:40};e.push(r)}return e},getSearchTextEditor:function(){var e=this,t=e.element(),n=t.find("."+e.addWidgetPrefix("search-panel")).filter((function(){return a.default(this).closest("."+e.addWidgetPrefix("header-panel")).is(t)}));return n.length?n.dxTextBox("instance"):null},isVisible:function(){var e=o(this);return this.callBase()||e&&e.visible},optionChanged:function(e){if("searchPanel"===e.name){if("searchPanel.text"===e.fullName){var t=this.getSearchTextEditor();t&&t.option("value",e.value)}else this._invalidate();e.handled=!0}else this.callBase(e)}}),rowsView:{init:function(){this.callBase.apply(this,arguments),this._searchParams=[]},_getFormattedSearchText:function(e,t){var n=f(e,t),i=c.default.getFormatOptionsByColumn(e,"search");return c.default.formatValue(n,i)},_getStringNormalizer:function(){var e=this.option("searchPanel.highlightCaseSensitive");return function(t){return e?t:t.toLowerCase()}},_findHighlightingTextNodes:function(e,t,n){var i,o=t.parent(),r=this._getStringNormalizer(),s=r(n),l=[];if(o.length){if(e)if(e.groupIndex>=0&&!e.showWhenGrouped)i=t;else{var u=this._columnsController.getVisibleIndex(e.index);i=o.children("td").eq(u).find("*")}}else o=a.default("
").append(t);return(i=(null==i?void 0:i.length)?i:o.find("*")).each((function(e,t){for(var n=a.default(t).contents(),i=0;i-1&&l.push(o)}})),l},_highlightSearchTextCore:function(e,t){var n=a.default("").addClass(this.addWidgetPrefix("search-text")),i=e.text(),o=e[0],s=this._getStringNormalizer(),l=s(i).indexOf(s(t));if(l>=0)return o.textContent?o.textContent=i.substr(0,l):o.nodeValue=i.substr(0,l),e.after(n.text(i.substr(l,t.length))),e=a.default(r.default.createTextNode(i.substr(l+t.length))).insertAfter(n),this._highlightSearchTextCore(e,t)},_highlightSearchText:function(e,t,n){var i=this,o=this._getStringNormalizer(),r=i.option("searchPanel.text");(t&&n&&(r=r&&i._getFormattedSearchText(n,r)),r&&i.option("searchPanel.highlightSearchText"))&&i._findHighlightingTextNodes(n,e,r).forEach((function(e){t?o(a.default(e).text())===o(r)&&a.default(e).replaceWith(a.default("").addClass(i.addWidgetPrefix("search-text")).text(a.default(e).text())):i._highlightSearchTextCore(a.default(e),r)}))},_renderCore:function(){var e=this,t=this.callBase.apply(this,arguments);return(this.option().rowTemplate||this.option("dataRowTemplate"))&&(this.option("templatesRenderAsynchronously")?(clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout((function(){e._highlightSearchText(e.getTableElement())}))):this._highlightSearchText(this.getTableElement())),t},_updateCell:function(e,t){var n=this,i=t.column,o="string"!==(i.lookup&&i.lookup.dataType||i.dataType);h(i)&&!t.isOnForm&&(this.option("templatesRenderAsynchronously")?(this._searchParams.length||(clearTimeout(this._highlightTimer),this._highlightTimer=setTimeout((function(){n._searchParams.forEach((function(e){n._highlightSearchText.apply(n,e)})),n._searchParams=[]}))),this._searchParams.push([e,o,i])):this._highlightSearchText(e,o,i)),this.callBase(e,t)},dispose:function(){clearTimeout(this._highlightTimer),this.callBase()}}}}}},4968:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.selectionModule=void 0;var o,a,r=i(n(68374)),s=i(n(55994)),l=n(35922),u=n(95479),d=n(13306),c=n(60137),h=n(95429),f=i(n(28109)),p=n(39611),g=i(n(11699)),m=i(n(68198)),_=n(62754),v=i(n(96688)),y=n(20576),b=i(n(9707)),x=i(n(69214)),w="selection.showCheckBoxesMode",C=function(e,t){var n=e.getController("selection"),i=e.getView("rowsView"),o=r.default(t.target).closest(".dx-data-row"),a=i.getRowIndex(o);a<0||("onLongTap"===e.option(w)?n.isSelectionWithCheckboxes()?n.stopSelectionWithCheckboxes():n.startSelectionWithCheckboxes():("onClick"===e.option(w)&&n.startSelectionWithCheckboxes(),"always"!==e.option(w)&&n.changeItemSelection(a,{control:!0})))},S=x.default.Controller.inherit((o=function(e,t){var n=t.component,i=n.getView("rowsView");n.option("renderAsync")&&!n.option("selection.deferred")&&(t.value=n.isRowSelected(t.row.key)),i.renderSelectCheckBoxContainer(r.default(e),t)},a=function(e,t){var n=t.column,i=r.default(e),o=t.component.getView("columnHeadersView");i.addClass("dx-editor-cell"),o._renderSelectAllCheckBox(i,n),o._attachSelectAllCheckBoxClickEvent(i)},{init:function(){var e=this.option("selection")||{},t=e.deferred,n=e.selectAllMode,i=e.mode;"infinite"!==this.option("scrolling.mode")||t||"multiple"!==i||"allPages"!==n||v.default.log("W1018"),this._dataController=this.getController("data"),this._selectionMode=i,this._isSelectionWithCheckboxes=!1,this._selection=this._createSelection(),this._updateSelectColumn(),this.createAction("onSelectionChanged",{excludeValidators:["disabled","readOnly"]}),this._dataController&&this._dataController.pushed.add(this._handleDataPushed.bind(this))},_handleDataPushed:function(e){var t=e.filter((function(e){return"remove"===e.type})).map((function(e){return e.key}));if(this.option("selection.deferred")){var n=this._dataController.items().filter((function(e){return e.isSelected})).map((function(e){return e.key}));t=t.filter((function(e){return n.find((function(t){return y.equalByValue(t,e)}))}))}t.length&&this.deselectRows(t)},_getSelectionConfig:function(){var e=this._dataController,t=this.getController("columns"),n=this.option("selection")||{},i=n.deferred,o=this.option("scrolling.mode"),a="virtual"===o||"infinite"===o,r=this.option("selection.allowSelectAll"),s=this.option("scrolling.legacyMode");return{selectedKeys:this.option("selectedRowKeys"),mode:this._selectionMode,deferred:i,maxFilterLengthInRequest:n.maxFilterLengthInRequest,selectionFilter:this.option("selectionFilter"),ignoreDisabledItems:!0,allowLoadByRange:function(){var e=t.getGroupColumns().length>0;return a&&!s&&!e&&r&&!i},key:function(){return null==e?void 0:e.key()},keyOf:function(t){return null==e?void 0:e.keyOf(t)},dataFields:function(){var t;return null===(t=e.dataSource())||void 0===t?void 0:t.select()},load:function(t){var n;return(null===(n=e.dataSource())||void 0===n?void 0:n.load(t))||(new _.Deferred).resolve([])},plainItems:function(){return e.items(!0)},isItemSelected:function(e){return e.selected},isSelectableItem:function(e){return"data"===(null==e?void 0:e.rowType)&&!e.isNewRow},getItemData:function(e){return l.isDefined(null==e?void 0:e.rowType)?(null==e?void 0:e.oldData)||(null==e?void 0:e.data):e},filter:function(){return e.getCombinedFilter(i)},totalCount:function(){return e.totalCount()},getLoadOptions:function(t,n,i){var o,a,r=null!==(a=null===(o=e.dataSource())||void 0===o?void 0:o.lastLoadOptions())&&void 0!==a?a:{},s=r.sort,u=r.filter,d=Math.min(t,n),c=Math.max(t,n);return l.isDefined(i)&&(d=Math.min(i,d),c=Math.max(i,c)),{skip:d,take:c-d+1,filter:u,sort:s}},onSelectionChanged:this._updateSelectedItems.bind(this)}},_updateSelectColumn:function(){var e=this.getController("columns"),t=this.isSelectColumnVisible();e.addCommandColumn({type:"selection",command:"select",visible:t,visibleIndex:-1,dataType:"boolean",alignment:"center",cssClass:"dx-command-select",width:"auto",cellTemplate:o,headerCellTemplate:a}),e.columnOption("command:select","visible",t)},_createSelection:function(){var e=this._getSelectionConfig();return new m.default(e)},_fireSelectionChanged:function(e){var t=this.option("selection.deferred")?{selectionFilter:this.option("selectionFilter")}:{selectedRowKeys:this.option("selectedRowKeys")};this.selectionChanged.fire(t),e&&this.executeAction("onSelectionChanged",e)},_updateCheckboxesState:function(e){var t=e.isDeferredMode,n=e.selectionFilter,i=e.selectedItemKeys,o=e.removedItemKeys;"onClick"===this.option(w)&&((t?n&&function(e,t){var n=0,i=e._dataController.store(),o=i&&i.key(),a=Array.isArray(o);if(!t.length)return!1;if(a&&Array.isArray(t[0])&&"and"===t[1]){for(var r=0;r1)?this.startSelectionWithCheckboxes():(t?n&&!n.length:0===i.length&&o.length)&&this.stopSelectionWithCheckboxes())},_updateSelectedItems:function(e){var t,n=this.option("selection.deferred"),i=this._selection.selectionFilter(),o=this._dataController,a=o.items(!0),r=o.items();if(a){var s=this.isSelectionWithCheckboxes(),l=this.getChangedItemIndexes(a),u=this.getChangedItemIndexes(r);this._updateCheckboxesState({selectedItemKeys:e.selectedItemKeys,removedItemKeys:e.removedItemKeys,selectionFilter:i,isDeferredMode:n}),(l.length||s!==this.isSelectionWithCheckboxes())&&o.updateItems({changeType:"updateSelection",itemIndexes:u}),n?(this.option("selectionFilter",i),t={}):(e.addedItemKeys.length||e.removedItemKeys.length)&&(this._selectedItemsInternalChange=!0,this.option("selectedRowKeys",e.selectedItemKeys.slice(0)),this._selectedItemsInternalChange=!1,t={selectedRowsData:e.selectedItems.slice(0),selectedRowKeys:e.selectedItemKeys.slice(0),currentSelectedRowKeys:e.addedItemKeys.slice(0),currentDeselectedRowKeys:e.removedItemKeys.slice(0)}),this._fireSelectionChanged(t)}},getChangedItemIndexes:function(e){for(var t=[],n=this.option("selection.deferred"),i=0,o=e.length;i1&&(o=[o[0]]):"multiple"!==i&&(o=[])),this.selectRows(o).always((function(){t._fireSelectionChanged()}))}this.getController("columns").updateColumns(),e.handled=!0;break;case"selectionFilter":this._selection.selectionFilter(e.value),e.handled=!0;break;case"selectedRowKeys":var a=e.value||[];!Array.isArray(a)||this._selectedItemsInternalChange||!this.component.getDataSource()&&a.length||this.selectRows(a),e.handled=!0}},publicMethods:function(){return["selectRows","deselectRows","selectRowsByIndexes","getSelectedRowKeys","getSelectedRowsData","clearSelection","selectAll","deselectAll","startSelectionWithCheckboxes","stopSelectionWithCheckboxes","isRowSelected"]},isRowSelected:function(e){return this._selection.isItemSelected(e)},isSelectColumnVisible:function(){return"multiple"===this.option("selection.mode")&&("always"===this.option(w)||"onClick"===this.option(w)||this._isSelectionWithCheckboxes)},_isOnePageSelectAll:function(){return"page"===this.option("selection.selectAllMode")},isSelectAll:function(){return this._selection.getSelectAllState(this._isOnePageSelectAll())},selectAll:function(){return"onClick"===this.option(w)&&this.startSelectionWithCheckboxes(),this._selection.selectAll(this._isOnePageSelectAll())},deselectAll:function(){return this._selection.deselectAll(this._isOnePageSelectAll())},clearSelection:function(){return this.selectedItemKeys([])},refresh:function(){var e=this.option("selectedRowKeys")||[];return!this.option("selection.deferred")&&e.length?this.selectedItemKeys(e):(new _.Deferred).resolve().promise()},selectedItemKeys:function(e,t,n,i){return this._selection.selectedItemKeys(e,t,n,i)},getSelectedRowKeys:function(){return this._selection.getSelectedItemKeys()},selectRows:function(e,t){return this.selectedItemKeys(e,t)},deselectRows:function(e){return this.selectedItemKeys(e,!0,!0)},selectRowsByIndexes:function(e){var t=this._dataController.items(),n=[];return Array.isArray(e)||(e=Array.prototype.slice.call(arguments,0)),u.each(e,(function(){var e=t[this];e&&"data"===e.rowType&&n.push(e.key)})),this.selectRows(n)},getSelectedRowsData:function(){return this._selection.getSelectedItems()},changeItemSelection:function(e,t,n){t=t||{},this.isSelectionWithCheckboxes()&&(t.control=!0);var i=e+this._dataController.getRowIndexOffset()-this._dataController.getRowIndexOffset(!0);return this._selection.changeItemSelection(i,t,n)},focusedItemIndex:function(e){if(!l.isDefined(e))return this._selection._focusedItemIndex;this._selection._focusedItemIndex=e},isSelectionWithCheckboxes:function(){return"multiple"===this.option("selection.mode")&&("always"===this.option(w)||this._isSelectionWithCheckboxes)},startSelectionWithCheckboxes:function(){return"multiple"===this.option("selection.mode")&&!this.isSelectionWithCheckboxes()&&(this._isSelectionWithCheckboxes=!0,this._updateSelectColumn(),!0)},stopSelectionWithCheckboxes:function(){return!!this._isSelectionWithCheckboxes&&(this._isSelectionWithCheckboxes=!1,this._updateSelectColumn(),!0)}}));t.selectionModule={defaultOptions:function(){return{selection:{mode:"none",showCheckBoxesMode:"onClick",allowSelectAll:!0,selectAllMode:"allPages",maxFilterLengthInRequest:1500,deferred:!1},selectionFilter:[],selectedRowKeys:[]}},controllers:{selection:S},extenders:{controllers:{data:{init:function(){var e=this.getController("selection"),t=this.option("selection.deferred");this.callBase.apply(this,arguments),t&&e._updateCheckboxesState({isDeferredMode:!0,selectionFilter:this.option("selectionFilter")})},_loadDataSource:function(){var e=this;return e.callBase().always((function(){e.getController("selection").refresh()}))},_processDataItem:function(e,t){var n=this,i=n.getController("selection"),o=i.isSelectColumnVisible(),a=t.isDeferredSelection=void 0===t.isDeferredSelection?this.option("selection.deferred"):t.isDeferredSelection,r=this.callBase.apply(this,arguments);if(r.isSelected=i.isRowSelected(a?r.data:r.key),o&&r.values)for(var s=0;s1&&e.every((function(e){return"updateSelection"===e.changeType}));if(t){var n=e.map((function(e){return e.itemIndexes||[]})).reduce((function(e,t){return e.concat(t)}));this._changes=[{changeType:"updateSelection",itemIndexes:n}]}this.callBase.apply(this,arguments)}},contextMenu:{_contextMenuPrepared:function(e){var t=e.event;t.originalEvent&&"dxhold"!==t.originalEvent.type||e.items&&e.items.length>0||C(this,t)}}},views:{columnHeadersView:{init:function(){this.callBase(),this.getController("selection").selectionChanged.add(this._updateSelectAllValue.bind(this))},_updateSelectAllValue:function(){var e=this.element(),t=e&&e.find(".dx-select-checkbox");if(e&&t.length&&"multiple"===this.option("selection.mode")){var n=this.getController("selection").isSelectAll(),i=!1!==n,o=this.option("selection.allowSelectAll")?!this.getController("data").isEmpty():i;t.dxCheckBox("instance").option({visible:o,value:n})}},_handleDataChanged:function(e){var t=this;this.callBase(e),(!e||"refresh"===e.changeType||e.repaintChangesOnly&&"update"===e.changeType)&&this.waitAsyncTemplates().done((function(){t._updateSelectAllValue()}))},_renderSelectAllCheckBox:function(e,t){var n=this,i=n.getController("selection"),o=n.getController("data").isEmpty(),a=r.default("
").appendTo(e).addClass("dx-select-checkbox");return n.setAria("label",f.default.format("dxDataGrid-ariaSelectAll"),a),n.getController("editorFactory").createEditor(a,d.extend({},t,{parentType:"headerRow",dataType:"boolean",value:i.isSelectAll(),editorOptions:{visible:!o&&(n.option("selection.allowSelectAll")||!1!==i.isSelectAll())},tabIndex:n.option("useLegacyKeyboardNavigation")?-1:n.option("tabIndex")||0,setValue:function(e,t){var o=n.option("selection.allowSelectAll");t.component.option("visible",o||!1!==t.component.option("value")),t.event&&i.isSelectAll()!==e&&(t.value&&!o?t.component.option("value",!1):t.value?i.selectAll():i.deselectAll(),t.event.preventDefault())}})),a},_attachSelectAllCheckBoxClickEvent:function(e){s.default.on(e,h.name,this.createAction((function(e){var t=e.event;r.default(t.target).closest(".dx-select-checkbox").length||s.default.trigger(r.default(t.currentTarget).children(".dx-select-checkbox"),h.name),t.preventDefault()})))}},rowsView:{renderSelectCheckBoxContainer:function(e,t){"data"!==t.rowType||t.row.isNewRow?b.default.setEmptyText(e):(e.addClass("dx-editor-cell"),this._attachCheckBoxClickEvent(e),this._renderSelectCheckBox(e,t))},_renderSelectCheckBox:function(e,t){var n=r.default("
").addClass("dx-select-checkbox").appendTo(e);return this.setAria("label",f.default.format("dxDataGrid-ariaSelectRow"),n),this.getController("editorFactory").createEditor(n,d.extend({},t.column,{parentType:"dataRow",dataType:"boolean",lookup:null,value:t.value,setValue:function(e,t){var n;"keydown"===(null===(n=null==t?void 0:t.event)||void 0===n?void 0:n.type)&&s.default.trigger(t.element,h.name,t)},row:t.row})),n},_attachCheckBoxClickEvent:function(e){s.default.on(e,h.name,this.createAction((function(e){var t=this.getController("selection"),n=e.event,i=this.getRowIndex(r.default(n.currentTarget).closest(".dx-row"));i>=0&&(t.startSelectionWithCheckboxes(),t.changeItemSelection(i,{shift:n.shiftKey}),r.default(n.target).closest(".dx-select-checkbox").length&&this.getController("data").updateItems({changeType:"updateSelection",itemIndexes:[i]}))})))},_update:function(e){var t=this,n=t.getTableElements();"updateSelection"===e.changeType?n.length>0&&(u.each(n,(function(n,i){u.each(e.itemIndexes||[],(function(n,o){var a;if(e.items[o]&&(a=t._getRowElements(r.default(i)).eq(o)).length){var s=e.items[o].isSelected;a.toggleClass("dx-selection",void 0!==s&&s).find(".dx-select-checkbox").dxCheckBox("option","value",s),t.setAria("selected",s,a)}}))})),t._updateCheckboxesClass()):t.callBase(e)},_createTable:function(){var e=this,t=e.option("selection.mode"),n=e.callBase.apply(e,arguments);return"none"!==t&&("onLongTap"!==e.option(w)&&c.touch||s.default.on(n,p.addNamespace(g.default.name,"dxDataGridRowsView"),".dx-data-row",e.createAction((function(t){C(e.component,t.event),t.event.stopPropagation()}))),s.default.on(n,"mousedown selectstart",e.createAction((function(e){var t=e.event;t.shiftKey&&t.preventDefault()})))),n},_createRow:function(e){var t=this.callBase.apply(this,arguments);if(e){var n=e.isSelected;n&&t.addClass("dx-selection");var i=this.option("selection.mode");"none"!==i&&this.setAria("selected",n,t)}return t},_rowClick:function(e){var t=e.event,n=r.default(t.target).closest(".dx-selection-disabled").length;this.isClickableElement(r.default(t.target))||(n||"multiple"===this.option("selection.mode")&&"always"===this.option(w)||this.getController("selection").changeItemSelection(e.rowIndex,{control:p.isCommandKeyPressed(t),shift:t.shiftKey})&&(t.preventDefault(),e.handled=!0),this.callBase(e))},isClickableElement:function(e){return!!e.closest(".dx-command-select").length},_renderCore:function(e){var t=this.callBase(e);return this._updateCheckboxesClass(),t},_updateCheckboxesClass:function(){var e=this.getTableElements(),t=this.getController("selection"),n=t.isSelectColumnVisible()&&!t.isSelectionWithCheckboxes();u.each(e,(function(e,t){r.default(t).toggleClass("dx-select-checkboxes-hidden",n)}))}}}}}},7457:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.sortingModule=void 0;var o=i(n(68374)),a=i(n(55994)),r=n(95429),s=n(35922),l=n(13306),u=i(n(164)),d=i(n(28109)),c=n(39611),h=l.extend({},u.default,{_createRow:function(e){var t=this,n=this.callBase(e);return"header"===e.rowType&&a.default.on(n,c.addNamespace(r.name,"dxDataGridColumnHeadersView"),"td",this.createAction((function(e){t._processHeaderAction(e.event,n)}))),n},_processHeaderAction:function(e,t){if(o.default(e.currentTarget).parent().get(0)===t.get(0)){var n=this,i=null,a=o.default(e.currentTarget),r=a.parent().index(),l=-1;[].slice.call(n.getCellElements(r)).some((function(e,t){if(e===a.get(0))return l=t,!0}));var u=n._columnsController.getVisibleColumns(r)[l],d=n.getController("editing"),h=n.option("editing.mode");!(d&&d.isEditing()&&("batch"===h||"cell"===h))&&n._isSortableElement(o.default(e.target))&&(!u||s.isDefined(u.groupIndex)||u.command||(e.shiftKey?i="shift":c.isCommandKeyPressed(e)&&(i="ctrl"),setTimeout((function(){n._columnsController.changeSortOrder(u.index,i)}))))}},_renderCellContent:function(e,t){var n=this,i=t.column;i.command||"header"!==t.rowType||n._applyColumnState({name:"sort",rootElement:e,column:i,showColumnLines:n.option("showColumnLines")}),this.callBase.apply(this,arguments)},_columnOptionChanged:function(e){var t=e.changeTypes;1===t.length&&t.sorting?this._updateIndicators("sort"):this.callBase(e)},optionChanged:function(e){switch(e.name){case"sorting":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}}}),f=l.extend({},u.default,{_createGroupPanelItem:function(e,t){var n=this,i=n.callBase.apply(n,arguments);return a.default.on(i,c.addNamespace(r.name,"dxDataGridHeaderPanel"),n.createAction((function(){n._processGroupItemAction(t.index)}))),n._applyColumnState({name:"sort",rootElement:i,column:{alignment:n.option("rtlEnabled")?"right":"left",allowSorting:t.allowSorting,sortOrder:"desc"===t.sortOrder?"desc":"asc"},showColumnLines:!0}),i},_processGroupItemAction:function(e){var t=this;setTimeout((function(){return t.getController("columns").changeSortOrder(e)}))},optionChanged:function(e){switch(e.name){case"sorting":this._invalidate(),e.handled=!0;break;default:this.callBase(e)}}});t.sortingModule={defaultOptions:function(){return{sorting:{mode:"single",ascendingText:d.default.format("dxDataGrid-sortingAscendingText"),descendingText:d.default.format("dxDataGrid-sortingDescendingText"),clearText:d.default.format("dxDataGrid-sortingClearText"),showSortIndexes:!0}}},extenders:{views:{columnHeadersView:h,headerPanel:f}}}},18084:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.stateStoringModule=void 0;var o=n(20576),a=n(35922),r=n(13306),s=n(62754),l=i(n(41516)),u=function(e){var t=e.getController("columns"),n=e.getController("selection"),i=e.getController("export"),o=e.getController("data");t&&t.columnsChanged.add((function(){e.updateState({columns:t.getUserState()})})),n&&n.selectionChanged.add((function(t){e.updateState({selectedRowKeys:t.selectedRowKeys,selectionFilter:t.selectionFilter})})),o&&(e._initialPageSize=e.option("paging.pageSize"),e._initialFilterValue=e.option("filterValue"),o.changed.add((function(){var t=function(e){var t=e.getView("pagerView"),n=e.getController("data"),i={allowedPageSizes:t?t.getPageSizes():void 0,filterPanel:{filterEnabled:e.option("filterPanel.filterEnabled")},filterValue:e.option("filterValue"),focusedRowKey:e.option("focusedRowEnabled")?e.option("focusedRowKey"):void 0};return r.extend(i,n.getUserState())}(e);e.updateState(t)}))),i&&i.selectionOnlyChanged.add((function(){e.updateState({exportSelectionOnly:i.selectionOnly()})}))};t.stateStoringModule={defaultOptions:function(){return{stateStoring:{enabled:!1,storageKey:null,type:"localStorage",customLoad:null,customSave:null,savingTimeout:2e3}}},controllers:{stateStoring:l.default.StateStoringController},extenders:{views:{rowsView:{init:function(){var e=this,t=e.getController("data");e.callBase(),t.stateLoaded.add((function(){if(t.isLoaded()&&!t.getDataSource()){e.setLoading(!1),e.renderNoDataText();var n=e.component.getView("columnHeadersView");n&&n.render(),e.component._fireContentReadyAction()}}))}}},controllers:{stateStoring:{init:function(){this.callBase.apply(this,arguments),u(this)},isLoading:function(){return this.callBase()||this.getController("data").isStateLoading()},state:function(e){var t=this.callBase.apply(this,arguments);return void 0!==e&&this.applyState(r.extend(!0,{},e)),t},updateState:function(e){if(this.isEnabled()){var t=this.state(),n=r.extend({},t,e),i=o.getKeyHash(t),a=o.getKeyHash(n);o.equalByValue(i,a)||(e=r.extend(!0,{},e),r.extend(this._state,e),this.save())}else r.extend(this._state,e)},applyState:function(e){var t,n=e.allowedPageSizes,i=e.searchText,o=e.selectedRowKeys,r=e.selectionFilter,s=this.getController("export"),l=this.getController("columns"),u=this.getController("data"),d=this.option("scrolling.mode"),c="virtual"===d||"infinite"===d,h=!0===this.option("pager.visible")&&this.option("pager.showPageSizeSelector"),f=null===(t=this.getView("rowsView"))||void 0===t?void 0:t.hasHeight();this.component.beginUpdate(),l&&l.setUserState(e.columns),s&&s.selectionOnly(e.exportSelectionOnly),this.option("selection.deferred")||this.option("selectedRowKeys",o||[]),this.option("selectionFilter",r),n&&"auto"===this.option("pager.allowedPageSizes")&&(this.option("pager").allowedPageSizes=n),this.option("focusedRowEnabled")&&(this.option("focusedRowIndex",-1),this.option("focusedRowKey",e.focusedRowKey||null)),this.component.endUpdate(),this.option("searchPanel.text",i||""),this.option("filterValue",function(e,t){var n=e.getController("filterSync"),i=e.getController("columns"),o=t.columns||void 0!==t.filterValue;return n?o?t.filterValue||n.getFilterValueFromColumns(t.columns):e._initialFilterValue||n.getFilterValueFromColumns(i.getColumns()):null}(this,e)),this.option("filterPanel.filterEnabled",!e.filterPanel||e.filterPanel.filterEnabled),this.option("paging.pageIndex",(!c||f)&&e.pageIndex||0),this.option("paging.pageSize",c&&!h||!a.isDefined(e.pageSize)?this._initialPageSize:e.pageSize),u&&u.reset()}},columns:{_shouldReturnVisibleColumns:function(){var e=this.callBase.apply(this,arguments),t=this.getController("stateStoring");return e&&(!t.isEnabled()||t.isLoaded())}},data:{callbackNames:function(){return this.callBase().concat(["stateLoaded"])},_refreshDataSource:function(){var e=this,t=this.callBase,n=this.getController("stateStoring");if(n.isEnabled()&&!n.isLoaded()){clearTimeout(this._restoreStateTimeoutID);var i=new s.Deferred;return this._restoreStateTimeoutID=setTimeout((function(){n.load().always((function(){e._restoreStateTimeoutID=null})).done((function(){t.call(e),e.stateLoaded.fire(),i.resolve()})).fail((function(t){e.stateLoaded.fire(),e._handleLoadError(t||"Unknown error"),i.reject()}))})),i.promise()}this.isStateLoading()||t.call(this)},isLoading:function(){var e=this.getController("stateStoring");return this.callBase()||e.isLoading()},isStateLoading:function(){return a.isDefined(this._restoreStateTimeoutID)},isLoaded:function(){return this.callBase()&&!this.isStateLoading()},dispose:function(){clearTimeout(this._restoreStateTimeoutID),this.callBase()}},selection:{_fireSelectionChanged:function(e){var t=this.getController("stateStoring"),n=this.option("selection.deferred");t.isLoading()&&n||this.callBase.apply(this,arguments)}}}}}},41516:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0});var o,a,r=i(n(55994)),s=n(58201),l=i(n(96688)),u=n(36613),d=n(13306),c=n(95479),h=n(35922),f=n(62754),p=i(n(69214)),g=/^(\d{4})-(\d{2})-(\d{2})T(\d{2}):(\d{2}):(\d{2}(?:\.\d*)?)Z$/,m=function(e){e&&c.each(e,(function(t,n){if(h.isPlainObject(n)||Array.isArray(n))m(n);else if("string"==typeof n){var i=g.exec(n);i&&(e[t]=new Date(Date.UTC(+i[1],+i[2]-1,+i[3],+i[4],+i[5],+i[6])))}}))},_=p.default.ViewController.inherit((o=function(e){var t="sessionStorage"===e.type?u.sessionStorage():s.getWindow().localStorage;if(!t)throw new Error("E1007");return t},a=function(e){return h.isDefined(e.storageKey)?e.storageKey:"storage"},{_loadState:function(){var e=this.option("stateStoring");if("custom"===e.type)return e.customLoad&&e.customLoad();try{return JSON.parse(o(e).getItem(a(e)))}catch(e){l.default.log(e.message)}},_saveState:function(e){var t=this.option("stateStoring");if("custom"!==t.type)try{o(t).setItem(a(t),JSON.stringify(e))}catch(e){l.default.log(e.message)}else t.customSave&&t.customSave(e)},publicMethods:function(){return["state"]},isEnabled:function(){return this.option("stateStoring.enabled")},init:function(){var e=this;return e._state={},e._isLoaded=!1,e._isLoading=!1,e._windowUnloadHandler=function(){void 0!==e._savingTimeoutID&&e._saveState(e.state())},r.default.on(s.getWindow(),"unload",e._windowUnloadHandler),e},isLoaded:function(){return this._isLoaded},isLoading:function(){return this._isLoading},load:function(){var e=this;this._isLoading=!0;var t=f.fromPromise(this._loadState());return t.always((function(){e._isLoaded=!0,e._isLoading=!1})).done((function(t){null===t||h.isEmptyObject(t)||e.state(t)})),t},state:function(e){var t=this;if(!arguments.length)return d.extend(!0,{},t._state);t._state=d.extend({},e),m(t._state)},save:function(){var e=this;clearTimeout(e._savingTimeoutID),e._savingTimeoutID=setTimeout((function(){e._saveState(e.state()),e._savingTimeoutID=void 0}),e.option("stateStoring.savingTimeout"))},optionChanged:function(e){switch(e.name){case"stateStoring":this.isEnabled()&&!this.isLoading()&&this.load(),e.handled=!0;break;default:this.callBase(e)}},dispose:function(){clearTimeout(this._savingTimeoutID),r.default.off(s.getWindow(),"unload",this._windowUnloadHandler)}}));t.default={StateStoringController:_}},43147:function(e,t,n){var i=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.validatingModule=void 0;var o=n(58664),a=i(n(68374)),r=i(n(55994)),s=n(60637),l=n(20576),u=n(95479),d=n(35922),c=n(13306),h=n(31421),f=i(n(28109)),p=i(n(63008)),g=i(n(93786)),m=i(n(90964)),_=i(n(39562)),v=i(n(89799)),y=i(n(96688)),b=n(62754),x=i(n(2492)),w=n(68752),C=i(n(47810)),S=i(n(9707)),k=i(n(69214)),D=["popup","form"],I="valid",T="invalid",E="pending",O=function(e){return d.isDefined(e)&&"cancel"!==e},A=function(e,t){return void 0!==e||void 0===e&&t&&!t.isNewRow},P=k.default.Controller.inherit({init:function(){this._editingController=this.getController("editing"),this.createAction("onRowValidating"),this._validationState||this.initValidationState()},initValidationState:function(){this._validationState=[],this._validationStateCache={}},_rowIsValidated:function(e){var t=this._getValidationData(null==e?void 0:e.key);return!!t&&!!t.validated},_getValidationData:function(e,t){var n,i=l.getKeyHash(e),o=d.isObject(i);return!(n=o?this._validationState.filter((function(t){return l.equalByValue(t.key,e)}))[0]:this._validationStateCache[i])&&t&&(n={key:e,isValid:!0},this._validationState.push(n),o||(this._validationStateCache[i]=n)),n},_getBrokenRules:function(e,t){return t?t.brokenRules||t.brokenRule&&[t.brokenRule]:e.brokenRules||[]},_rowValidating:function(e,t){var n=new b.Deferred,i=this._editingController.getChangeByKey(null==e?void 0:e.key),o=this._getBrokenRules(e,t),a={brokenRules:o,isValid:t?t.isValid:e.isValid,key:i.key,newData:i.data,oldData:this._editingController._getOldData(i.key),promise:null,errorText:this.getHiddenValidatorsErrorText(o)};return this.executeAction("onRowValidating",a),b.when(b.fromPromise(a.promise)).always((function(){e.isValid=a.isValid,e.errorText=a.errorText,n.resolve(a)})),n.promise()},getHiddenValidatorsErrorText:function(e){var t=[];return u.each(e,(function(e,n){var i=n.column,o=i&&void 0!==i.groupIndex&&!i.showWhenGrouped,a=i&&i.visible;n.validator.$element().parent().length||a&&!o||t.push(n.message)})),t.join(", ")},validate:function(e){var t=this,n=!0,i=this._editingController,o=new b.Deferred,a=[],r=i.getEditMode();if(e=e||"row"===r,this._isValidationInProgress)return o.resolve(!1).promise();if(this._isValidationInProgress=!0,e){i.addDeferred(o);var s=i.getChanges();u.each(s,(function(e,i){var o=i.type,r=i.key;if("remove"!==o){var s=t._getValidationData(r,!0),l=t.validateGroup(s);a.push(l),l.done((function(e){s.validated=!0,n=n&&e.isValid}))}}))}else if(this._currentCellValidator){var l=this.validateGroup(this._currentCellValidator._findGroup());a.push(l),l.done((function(e){n=e.isValid}))}return b.when.apply(void 0,a).done((function(){t._isValidationInProgress=!1,o.resolve(n)})),o.promise()},validateGroup:function(e){var t,n=this,i=new b.Deferred,o=e&&m.default.getGroupConfig(e);return(null==o?void 0:o.validators.length)&&(this.resetRowValidationResults(e),t=m.default.validateGroup(e)),b.when((null==t?void 0:t.complete)||t).done((function(t){b.when(n._rowValidating(e,t)).done(i.resolve)})),i.promise()},isRowDataModified:function(e){return!d.isEmptyObject(e.data)},updateValidationState:function(e){var t=this._editingController.getEditMode(),n=e.key,i=this._getValidationData(n,!0);if(D.includes(t))i.isValid=!0;else{if("insert"===e.type&&!this.isRowDataModified(e))return void(i.isValid=!0);if(this.setDisableApplyValidationResults(!0),m.default.getGroupConfig(i)){var o=m.default.validateGroup(i);b.when(o.complete||o).done((function(e){i.isValid=e.isValid,i.brokenRules=e.brokenRules}))}else i.brokenRules&&i.brokenRules.length||(i.isValid=!0);this.setDisableApplyValidationResults(!1)}},setValidator:function(e){this._currentCellValidator=e},renderCellPendingIndicator:function(e){var t=e.find(".dx-pending-indicator");if(!t.length){var n=e;t=a.default("
").appendTo(n).addClass("dx-pending-indicator"),this._createComponent(t,x.default),e.addClass("dx-validation-pending")}},disposeCellPendingIndicator:function(e){var t=e.find(".dx-pending-indicator");if(t.length){var n=x.default.getInstance(t);n&&(n.dispose(),n.$element().remove()),e.removeClass("dx-validation-pending")}},validationStatusChanged:function(e){var t=e.validator,n=t.option("validationGroup"),i=t.option("dataGetter")().column;this.updateCellValidationResult({rowKey:n.key,columnIndex:i.index,validationResult:e})},validatorInitialized:function(e){e.component.on("validating",this.validationStatusChanged.bind(this)),e.component.on("validated",this.validationStatusChanged.bind(this))},validatorDisposing:function(e){var t=e.component,n=t.option("validationGroup"),i=t.option("dataGetter")().column,o=this.getCellValidationResult({rowKey:null==n?void 0:n.key,columnIndex:i.index});O(o)&&o.status===E&&this.cancelCellValidationResult({change:n,columnIndex:i.index})},applyValidationResult:function(e,t){var n=t.validator,i=n.option("validationGroup"),o=n.option("dataGetter")().column;if(t.brokenRules&&t.brokenRules.forEach((function(e){e.columnIndex=o.index,e.column=o})),e){var a=this.getCellValidationResult({rowKey:i.key,columnIndex:o.index}),s=O(a)&&a.disabledPendingId===t.id;if(this._disableApplyValidationResults||s)return;if(t.status===T){var l=e.find(":focus");h.focused(l)||(r.default.trigger(l,"focus"),r.default.trigger(l,g.default.down))}var u=!o.editCellTemplate&&this.getController("editorFactory").getEditorInstance(e);t.status===E?u?u.option("validationStatus",E):this.renderCellPendingIndicator(e):u?u.option("validationStatus",I):this.disposeCellPendingIndicator(e),e.toggleClass(this.addWidgetPrefix("invalid"),t.status===T)}},_syncInternalEditingData:function(e){var t,n=this._editingController,i=n.getChangeByKey(e.key),o=n._getOldData(e.key),a=null===(t=e.row)||void 0===t?void 0:t.oldData;i&&a&&!o&&n._addInternalData({key:e.key,oldData:a})},createValidator:function(e,t){var n,i,o=this,r=this._editingController,u=e.column,h=u.showEditorAlways;if(!d.isDefined(u.command)&&u.validationRules&&Array.isArray(u.validationRules)&&u.validationRules.length){var f=r.getIndexByKey(e.key,r.getChanges())>-1;if(!f){if(!h){var p=this.getController("columns");h=((null==p?void 0:p.getVisibleColumns())||[]).some((function(e){return e.showEditorAlways}))}var g=l.equalByValue(this.option("editing.editRowKey"),e.key),m=r.isCellOrBatchEditMode()&&r.allowUpdating({row:e.row});f=g||m&&h,m&&h&&r._addInternalData({key:e.key,oldData:null!==(i=null===(n=e.row)||void 0===n?void 0:n.oldData)&&void 0!==i?i:e.data})}if(f){if(t&&!t.length)return void y.default.log("E1050");this._syncInternalEditingData(e);var v=this._getValidationData(e.key,!0),b=function(){var t=r.getChangeByKey(null==v?void 0:v.key),n=u.calculateCellValue((null==t?void 0:t.data)||{});return void 0!==n?n:e.value},x=t&&t.hasClass("dx-widget");t&&t.addClass(this.addWidgetPrefix("validator"));var w=new _.default(t||a.default("
"),{name:u.caption,validationRules:c.extend(!0,[],u.validationRules),validationGroup:v,adapter:x?null:{getValue:b,applyValidationResults:function(e){o.applyValidationResult(t,e)}},dataGetter:function(){var e=null==v?void 0:v.key,t=r.getChangeByKey(e),n=r._getOldData(e);return{data:s.createObjectWithChanges(n,null==t?void 0:t.data),column:u}},onInitialized:this.validatorInitialized.bind(this),onDisposing:this.validatorDisposing.bind(this)});if(x){var C=w.option("adapter");if(C){var S=C.bypass;C.getValue=b,C.validationRequestsCallbacks=[],C.bypass=function(){return S.call(C)||e.row.isNewRow&&!o._isValidationInProgress&&!r.isCellModified(e)}}}return w}}},setDisableApplyValidationResults:function(e){this._disableApplyValidationResults=e},getDisableApplyValidationResults:function(){return this._disableApplyValidationResults},isCurrentValidatorProcessing:function(e){var t=e.rowKey,n=e.columnIndex;return this._currentCellValidator&&l.equalByValue(this._currentCellValidator.option("validationGroup").key,t)&&this._currentCellValidator.option("dataGetter")().column.index===n},validateCell:function(e){var t={rowKey:e.option("validationGroup").key,columnIndex:e.option("dataGetter")().column.index},n=this.getCellValidationResult(t),i=O(n),o=e.option("adapter");if(i){var a=o.getValue();l.equalByValue(a,n.value)||(n=e.validate())}else n=e.validate();var r=new b.Deferred;return i&&n.status===E&&(this.updateCellValidationResult(t),o.applyValidationResults(n)),b.when(n.complete||n).done((function(e){i&&o.applyValidationResults(e),r.resolve(e)})),r.promise()},updateCellValidationResult:function(e){var t=e.rowKey,n=e.columnIndex,i=e.validationResult,o=this._getValidationData(t);if(o){var a;if(o.validationResults||(o.validationResults={}),i){if(a=c.extend({},i),o.validationResults[n]=a,i.status===E&&("cell"===this._editingController.getEditMode()&&(a.deferred=new b.Deferred,a.complete.always((function(){a.deferred.resolve()})),this._editingController.addDeferred(a.deferred)),this._disableApplyValidationResults))return void(a.disabledPendingId=i.id)}else a=o.validationResults[n];a&&a.disabledPendingId&&delete a.disabledPendingId}},getCellValidationResult:function(e){var t,n=e.rowKey,i=e.columnIndex,o=this._getValidationData(n,!0);return null===(t=null==o?void 0:o.validationResults)||void 0===t?void 0:t[i]},removeCellValidationResult:function(e){var t=e.change,n=e.columnIndex,i=this._getValidationData(null==t?void 0:t.key);i&&i.validationResults&&(this.cancelCellValidationResult({change:t,columnIndex:n}),delete i.validationResults[n])},cancelCellValidationResult:function(e){var t=e.change,n=e.columnIndex,i=this._getValidationData(t.key);if(t&&i.validationResults){var o=i.validationResults[n];o&&(o.deferred&&o.deferred.reject("cancel"),i.validationResults[n]="cancel")}},resetRowValidationResults:function(e){e&&(e.validationResults&&delete e.validationResults,delete e.validated)},isInvalidCell:function(e){var t=e.rowKey,n=e.columnIndex,i=this.getCellValidationResult({rowKey:t,columnIndex:n});return O(i)&&i.status===T},getCellValidator:function(e){var t=e.rowKey,n=e.columnIndex,i=this._getValidationData(t),o=i&&m.default.getGroupConfig(i),a=o&&o.validators;return a&&a.filter((function(e){var t=e.option("dataGetter")().column;return!!t&&t.index===n}))[0]},setCellValidationStatus:function(e){var t=this.getCellValidationResult({rowKey:e.key,columnIndex:e.column.index});d.isDefined(t)?e.validationStatus="cancel"!==t?t.status:"cancel":delete e.validationStatus}});t.validatingModule={defaultOptions:function(){return{editing:{texts:{validationCancelChanges:f.default.format("dxDataGrid-validationCancelChanges")}}}},controllers:{validating:P},extenders:{controllers:{editing:{_addChange:function(e){var t=this.callBase.apply(this,arguments),n=this.getController("validating");return t&&"remove"!==e.type&&n.updateValidationState(t),t},_handleChangesChange:function(e){this.callBase.apply(this,arguments);var t=this.getController("validating");e.value.forEach((function(e){void 0===t._getValidationData(e.key)&&t.updateValidationState(e)}))},_updateRowAndPageIndices:function(){var e=this,t=this,n=t.getView("rowsView").getTopVisibleItemIndex(),i=n;u.each(t.getChanges(),(function(o,a){var r=a.key,s=a.type,l=e.getController("validating")._getValidationData(r);l&&!l.isValid&&l.pageIndex!==t._pageIndex&&(l.pageIndex=t._pageIndex,l.rowIndex="insert"===s?n:i,i++)}))},_getValidationGroupsInForm:function(e){return{validationGroup:this.getController("validating")._getValidationData(e.key,!0)}},_validateEditFormAfterUpdate:function(e,t){t&&this._editForm&&this._editForm.validate(),this.callBase.apply(this,arguments)},_prepareEditCell:function(e){var t=this.callBase.apply(this,arguments),n=this.getController("validating");return t&&e.column.showEditorAlways&&n.updateValidationState({key:e.key}),t},processItems:function(e,t){var n=this,i=this.getChanges(),o=this.getController("data"),a=this.getController("validating"),r=(e=this.callBase(e,t)).length,s=function(t,n){var i={key:t.key};if(!(function(e,t){var n=-1,i="insert"===e.type,a=e.key;return u.each(t,(function(e,t){if(l.equalByValue(a,i?t.key:o.keyOf(t)))return n=e,!1})),n}(t,e)>=0)){n.rowIndex=n.rowIndex>r?n.rowIndex%r:n.rowIndex;var a=n.rowIndex;i.__DX_INSERT_INDEX__=1,e.splice(a,0,i)}};return"batch"===this.getEditMode()&&"prepend"!==t&&"append"!==t&&i.forEach((function(e){var t=e.key,i=a._getValidationData(t);i&&e.type&&i.pageIndex===n._pageIndex&&(null==e?void 0:e.pageIndex)!==n._pageIndex&&s(e,i)})),e},processDataItem:function(e){var t=e.data.__DX_INSERT_INDEX__,n=t?e.data.key:e.key,i=this.getEditMode();if("batch"===i&&t&&n){var o=this.getChanges(),a=S.default.getIndexByKey(n,o);if(a>=0){var r=o[a];if("insert"!==r.type){var s=this._getOldData(r.key);e.data=c.extend(!0,{},s,r.data),e.key=n}}}this.callBase.apply(this,arguments)},_createInvisibleColumnValidators:function(e){var t=this,n=this,i=this.getController("validating"),o=this.getController("columns"),a=o.getColumns(),r=o.getInvisibleColumns().filter((function(e){return!e.isBand})),l=o.getGroupColumns().filter((function(e){return!e.showWhenGrouped&&-1===r.indexOf(e)})),d=[];return r.push.apply(r,l),D.includes(this.getEditMode())||u.each(a,(function(o,a){e.forEach((function(e){var o;if(!function(e,n){return t._dataController.getRowIndexByKey(n)>=0&&r.indexOf(e)<0}(a,e.key)){if("insert"===e.type)o=e.data;else if("update"===e.type){var l=n._getOldData(e.key);o=s.createObjectWithChanges(l,e.data)}if(o){var u=i.createValidator({column:a,key:e.key,value:a.calculateCellValue(o)});u&&d.push(u)}}}))})),function(){d.forEach((function(e){e.dispose()}))}},_beforeSaveEditData:function(e,t){var n=this,i=this.callBase.apply(this,arguments),o=this.getController("validating"),a=o._getValidationData(null==e?void 0:e.key);if(e){var r="remove"===e.type||a.isValid;i=i||!r}else{var s=this._createInvisibleColumnValidators(this.getChanges());i=new b.Deferred,this.executeOperation(i,(function(){o.validate(!0).done((function(e){switch(s(),n._updateRowAndPageIndices(),n.getEditMode()){case"cell":e||n._focusEditingCell();break;case"batch":e||(n._resetEditRowKey(),n._resetEditColumnName(),n.getController("data").updateItems())}i.resolve(!e)}))}))}return i.promise?i.promise():i},_beforeEditCell:function(e,t,n){var i=this.callBase(e,t,n);if("cell"===this.getEditMode()){var o=this._rowsView._getCellElement(e,t),a=o&&o.data("dxValidator"),r=o&&o.closest(".dx-row").data("options"),s=a&&a.option("adapter").getValue();if(a&&A(s,r)){var l=this.getController("validating"),u=new b.Deferred;return b.when(l.validateCell(a),i).done((function(e,t){u.resolve(e.status===I&&t)})),u.promise()}if(!a)return i}},_afterSaveEditData:function(e){var t,n=this,i="cell"===this.getEditMode();if(u.each(this.getChanges(),(function(e,i){var o=n._showErrorRow(i);t=t||o})),t){var o=this._rowsView.getScrollable();o&&(o.update(),o.scrollToElement(t))}if(e&&i&&this._needUpdateRow()){var a=this.getEditRowIndex();this._dataController.updateItems({changeType:"update",rowIndices:[a]}),this._focusEditingCell()}else if(!e){var r=!0;if(i)r=!(this.getController("columns").getColumns().filter((function(e){var t;return e.showEditorAlways&&(null===(t=e.validationRules)||void 0===t?void 0:t.length)>0})).length>0);r&&this.getController("validating").initValidationState()}},_handleDataChanged:function(e){var t=this.getController("validating")._validationState;"standard"===this.option("scrolling.mode")&&this.resetRowAndPageIndices(),"prepend"===e.changeType&&u.each(t,(function(t,n){n.rowIndex+=e.items.length})),this.callBase(e)},resetRowAndPageIndices:function(){var e=this,t=this.getController("validating")._validationState;u.each(t,(function(t,n){n.pageIndex!==e._pageIndex&&(delete n.pageIndex,delete n.rowIndex)}))},_beforeCancelEditData:function(){this.getController("validating").initValidationState(),this.callBase()},_showErrorRow:function(e){var t,n=this.getController("errorHandling"),i=this.getController("data").items(),o=this.getIndexByKey(e.key,i),a=this.getController("validating")._getValidationData(e.key);if(!(null==a?void 0:a.isValid)&&(null==a?void 0:a.errorText)&&o>=0)return t=this.getPopupContent(),n&&n.renderErrorRow(null==a?void 0:a.errorText,o,t)},updateFieldValue:function(e){var t=this,n=this.getController("validating"),i=new b.Deferred;return n.removeCellValidationResult({change:this.getChangeByKey(e.key),columnIndex:e.column.index}),this.callBase.apply(this,arguments).done((function(){var o=n.getCellValidator({rowKey:e.key,columnIndex:e.column.index});b.when(o&&n.validateCell(o)).done((function(e){t.getController("editorFactory").refocus(),i.resolve(e)}))})),i.promise()},highlightDataCell:function(e,t){this.callBase.apply(this,arguments);var n=this.getController("validating");n.setCellValidationStatus(t);var i=!!t.setValue,o=this.isCellModified(t),a=d.isDefined(t.validationStatus),r=o&&t.column.setCellValue||i&&!o&&!(t.row.isNewRow||!a);if(r){var s=e.data("dxValidator");s&&b.when(this.getController("validating").validateCell(s)).done((function(){n.setCellValidationStatus(t)}))}},getChangeByKey:function(e){var t=this.getChanges();return t[S.default.getIndexByKey(e,t)]},isCellModified:function(e){var t=this.callBase(e),n=this.getChangeByKey(e.key),i=!!e.row&&this.getController("validating").isInvalidCell({rowKey:e.key,columnIndex:e.column.index});return t||this.getController("validating")._rowIsValidated(n)&&i}},editorFactory:{_showRevertButton:function(e){var t,n=this,i=null===(t=this._revertTooltip)||void 0===t?void 0:t.$element();if(!e||!e.length)return null==i||i.remove(),void(this._revertTooltip=void 0);if(!e.find(i).length){var o=e.closest("."+this.addWidgetPrefix("content")),r=this.addWidgetPrefix("revert-tooltip");null==i||i.remove(),i=a.default("
").addClass(r).appendTo(e);var s={animation:null,visible:!0,width:"auto",height:"auto",shading:!1,container:o,propagateOutsideClick:!0,hideOnOutsideClick:!1,wrapperAttr:{class:r},contentTemplate:function(){var e=a.default("
").addClass("dx-revert-button"),t={icon:"revert",hint:n.option("editing.texts.validationCancelChanges"),onClick:function(){n._editingController.cancelEditData()}};return new p.default(e,t).$element()},position:{my:"left top",at:"right top",offset:"1 0",collision:"flip",boundaryOffset:"0 0",boundary:this._rowsView.element(),of:e},onPositioned:this._positionedHandler.bind(this)};this._revertTooltip=new v.default(i,s)}},_hideFixedGroupCell:function(e,t){var n,i,o=this._rowsView.isFixedColumns(),r=this._editingController.isFormOrPopupEditMode();if(o&&!r){var s=e.closest(".dx-row").next().data("options");s&&"group"===s.rowType&&(n=a.default(this._rowsView.getRowElement(s.rowIndex)).last(),(i=n.find(".dx-group-cell")).length&&"hidden"!==i.get(0).style.visibility&&(i.css("visibility","hidden"),t.onDisposing=function(){i.css("visibility","")}))}},_positionedHandler:function(e,t){if(!e.component.__skipPositionProcessing){var n=a.default(e.element).hasClass(this.addWidgetPrefix("revert-tooltip")),i=!n&&this._rowsView.updateFreeSpaceRowHeight(),o=this._normalizeValidationMessagePositionAndMaxWidth(e,n,t);e.component.__skipPositionProcessing=!(!i&&!o),o?e.component.option(o):i&&e.component.repaint()}},_showValidationMessage:function(e,t,n){var i=this,o=e.find(".dx-dropdowneditor-overlay").data("dxPopup"),r=o&&o.option("visible"),s=r?"top right":"top "+n,l=r?"top left":"bottom "+n,u=e.closest("."+this.addWidgetPrefix("content")),d="";t&&t.forEach((function(e){d+=(d.length?"
":"")+w.encodeHtml(e)}));var c=this.addWidgetPrefix("invalid-message");this._rowsView.element().find("."+c).remove();var h=a.default("
":"")+w.encodeHtml(e)}));var c=this.addWidgetPrefix("invalid-message");this._rowsView.element().find("."+c).remove();var h=a.default("
").addClass("dx-invalid-message").addClass("dx-invalid-message-always").addClass(c).html(d).appendTo(e),f={container:u,shading:!1,width:"auto",height:"auto",visible:!0,animation:!1,propagateOutsideClick:!0,hideOnOutsideClick:!1,wrapperAttr:{class:"dx-invalid-message dx-invalid-message-always "+c},position:{collision:"flip",boundary:this._rowsView.element(),boundaryOffset:"0 0",offset:{x:0,y:!r&&C.default.mozilla?-1:0},my:s,at:l,of:e},onPositioned:function(t){i._positionedHandler(t,r),i._shiftValidationMessageIfNeed(t.component.$content(),e)}};this._hideFixedGroupCell(e,f),new v.default(h,f)},_hideValidationMessage:function(){var e,t=null===(e=this._rowsView.element())||void 0===e?void 0:e.find(this._getValidationMessagesSelector());null==t||t.remove()},_normalizeValidationMessagePositionAndMaxWidth:function(e,t,n){var i=this._columnsController.getFixedColumns();if(i&&i.length){var r,s,l,u,d,c=!t&&(s=this,l=e.element,u=a.default(l).closest("tr").index(),d=a.default(s._rowsView.getRowElement(u)).first().children().filter(":not(.dx-hidden-cell)"),s._rowsView._getWidths(d).reduce((function(e,t){return e+t}),0)),h=e.component.$content(),f=o.getOuterWidth(h,!0),p=!t&&f>c,g=this._rowsView.getCellIndex(a.default(e.element).closest("td")),m=function(e){var t,n;return e.some((function(i,o){if("transparent"===i.command)return t=0===o?-1:o,n=o===e.length-1?-1:o+i.colspan-1,!0})),{startColumnIndex:t,endColumnIndex:n}}(i);return t||g!==m.startColumnIndex&&!p?g===m.endColumnIndex&&(r={collision:"none flip",my:"top right",at:t||n?"top left":"bottom right"},t&&(r.offset="-1 0")):r={collision:"none flip",my:"top left",at:n?"top right":"bottom left"},r&&{position:r,maxWidth:p?c-2:void 0}}},_shiftValidationMessageIfNeed:function(e,t){var n=this._revertTooltip&&this._revertTooltip.$content();if(n){var i=e.offset(),a=n.offset();if(i.top===a.top&&i.left+o.getWidth(e)>a.left){var r=o.getWidth(n)+2;e.css("left",a.lefto.getOuterHeight(n))))return i.show(),o.setHeight(i,o.getOuterHeight(r)),!0},_formItemPrepared:function(e,t){var n=this;this.callBase.apply(this,arguments),l.deferUpdate((function(){var i=t.find(".dx-widget").first();i.length&&!i.children().length||n.getController("validating").createValidator(e,i)}))},_cellPrepared:function(e,t){this.getController("editing").isFormOrPopupEditMode()||this.getController("validating").createValidator(t,e),this.callBase.apply(this,arguments)},_restoreErrorRow:function(e){var t=this.getController("editing");t&&t.hasChanges()&&this._getRowElements(e).each((function(e,n){var i=a.default(n).data("options");if(i){var o=t.getChangeByKey(i.key);o&&t._showErrorRow(o)}}))}}}}}},98364:function(e,t,n){var i=this&&this.__assign||function(){return(i=Object.assign||function(e){for(var t,n=1,i=arguments.length;n0?t:n};function p(e,t,n,i){var o=0,a=0,r=n/2;return e+i-(t+n)>1?(e>=t+n+r&&(a=parseInt((e-(t+n))/r,10)),o=t+n+r*a):e0?this._tableElement[0].rows[e]:null},_createGroupElement:function(){return r.default("
")},_createTableElement:function(){return r.default("