UNPKG

devexpress-reporting

Version:

DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.

52 lines (51 loc) 2.52 kB
/** * DevExpress HTML/JS Reporting (viewer\parameters\multiValuesHelper.js) * Version: 24.2.6 * Build date: Mar 18, 2025 * Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED * License: https://www.devexpress.com/Support/EULAs/universal.xml */ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; import { compareArrays } from '@devexpress/analytics-core/analytics-internal-native'; import { BaseModel, mutableArray, nativeMultiPlatformEngine, subscribableProperty } from '@devexpress/analytics-core/analytics-serializer-native'; export class MultiValuesHelper extends BaseModel { onPropertyChanged(args) { } constructor(parameter) { super(); const items = parameter.lookUpValues; this.items = items; this.addDisposable(nativeMultiPlatformEngine.createComputedProperty(this, 'value', { read: () => parameter._value, write: (newVal) => parameter._value = newVal }, [ subscribableProperty(parameter, ['_value']) ])); this.dataSource = items; let allValues; this.maxDisplayedTags = Math.min(((items && items.length) || 1) - 1, MultiValuesHelper.maxDisplayedTags); this.addDisposable(nativeMultiPlatformEngine.createComputedProperty(this, 'isSelectedAll', { read: () => this.value?.length == items.length, write: (selectAll) => { const newValue = selectAll ? (allValues || (allValues = items.map(x => x.value))) : []; if (!compareArrays(this.value, newValue)) this.value = newValue; } }, [ subscribableProperty(this, ['value']) ])); if (parameter.selectAllValues) this.isSelectedAll = true; } } MultiValuesHelper.maxDisplayedTags = 3; __decorate([ mutableArray(() => []) ], MultiValuesHelper.prototype, "selectedItems", void 0); __decorate([ mutableArray(() => []) ], MultiValuesHelper.prototype, "value", void 0);