devexpress-reporting
Version:
DevExpress Reporting provides the capability to develop a reporting application to create and customize reports.
61 lines (60 loc) • 2.93 kB
JavaScript
/**
* DevExpress HTML/JS Reporting (viewer\editing\models\editingFieldBase.js)
* Version: 24.2.7
* Build date: Apr 29, 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 { BaseRenderingModel, createViewModelGenerator, mutable } from '@devexpress/analytics-core/analytics-serializer-native';
import { $unwrap } from '@devexpress/analytics-core/analytics-internal-native';
export class EditingFieldBase extends BaseRenderingModel {
deferredUpdateViewModel() { return false; }
constructor(page) {
super();
this.canActivateEditor = false;
this.zoom = page.zoom;
this.addDisposable(page.events.on('zoomChanged', (args) => {
this.zoom = page.zoom;
}));
}
createViewModel() {
return createViewModelGenerator(super.createViewModel())
.generateProperty('zoom', this.zoom)
.generateProperty('template', this.template)
.generateProperty('field', this.field.getViewModel())
.generateProperty('setEditingFieldElement', (elt) => this.editingFieldElement = $unwrap(elt))
.generateProperty('canActivateEditor', this.canActivateEditor)
.generateProperty('activateEditor', (viewModel, event) => this.activateEditor(viewModel.getModel(), event))
.generateProperty('onClick', (viewModel, event) => this.onClick(viewModel.getModel(), event))
.generateProperty('containerStyle', this.containerStyle)
.generateProperty('active', this.active)
.getViewModel();
}
updateViewModel(args) {
const viewModel = this.getViewModel();
if (args.propertyName === 'zoom')
viewModel.zoom = this.zoom;
if (args.propertyName === 'active')
viewModel.active = this.active;
if (args.propertyName === 'containerStyle')
viewModel.containerStyle = this.containerStyle;
}
onPropertyChanged(args) { }
activateEditor(model, event) { }
onClick(model, event) { }
}
__decorate([
mutable(null)
], EditingFieldBase.prototype, "containerStyle", void 0);
__decorate([
mutable(1)
], EditingFieldBase.prototype, "zoom", void 0);
__decorate([
mutable(false)
], EditingFieldBase.prototype, "active", void 0);