@eclipse-scout/core
Version:
Eclipse Scout runtime
71 lines (65 loc) • 2.99 kB
text/typescript
/*
* Copyright (c) 2010, 2024 BSI Business Systems Integration AG
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*/
import {DisplayHint, DisplayParent, DisplayViewId, Event, FileChooser, Form, FormValidator, GroupBox, MessageBox, PropertyChangeEvent, Status, ValidationResult, WidgetEventMap} from '../index';
export interface FormRevealInvalidFieldEvent<F extends Form = Form> extends Event<F> {
validationResult: ValidationResult;
}
export interface FormMoveEvent<F extends Form = Form> extends Event<F> {
left: number;
top: number;
}
export interface FormErrorEvent<F extends Form = Form> extends Event<F> {
phase: 'load' | 'save' | 'postLoad';
/**
* Typically an Error but may be anything as everything can be thrown in JavaScript.
*/
error: any;
}
export interface FormInvalidEvent<F extends Form = Form> extends Event<F> {
status: Status;
}
export interface FormEventMap extends WidgetEventMap {
'abort': Event<Form>;
'close': Event<Form>;
'load': Event<Form>;
'move': FormMoveEvent;
'postLoad': Event<Form>;
'reset': Event<Form>;
'error': FormErrorEvent;
'invalid': FormInvalidEvent;
'revealInvalidField': FormRevealInvalidFieldEvent;
'save': Event<Form>;
'propertyChange:askIfNeedSave': PropertyChangeEvent<boolean>;
'propertyChange:closable': PropertyChangeEvent<boolean>;
'propertyChange:data': PropertyChangeEvent<any>;
'propertyChange:dialogs': PropertyChangeEvent<Form[]>;
'propertyChange:displayHint': PropertyChangeEvent<DisplayHint>;
'propertyChange:displayParent': PropertyChangeEvent<DisplayParent>;
'propertyChange:displayViewId': PropertyChangeEvent<DisplayViewId>;
'propertyChange:exclusiveKey': PropertyChangeEvent<() => any>;
'propertyChange:fileChoosers': PropertyChangeEvent<FileChooser[]>;
'propertyChange:formLoading': PropertyChangeEvent<boolean>;
'propertyChange:headerVisible': PropertyChangeEvent<boolean>;
'propertyChange:iconId': PropertyChangeEvent<string>;
'propertyChange:maximized': PropertyChangeEvent<boolean>;
'propertyChange:messageBoxes': PropertyChangeEvent<MessageBox[]>;
'propertyChange:modal': PropertyChangeEvent<boolean>;
'propertyChange:movable': PropertyChangeEvent<boolean>;
'propertyChange:resizable': PropertyChangeEvent<boolean>;
'propertyChange:rootGroupBox': PropertyChangeEvent<GroupBox>;
'propertyChange:saveNeeded': PropertyChangeEvent<boolean>;
'propertyChange:saveNeededVisible': PropertyChangeEvent<boolean>;
'propertyChange:showOnOpen': PropertyChangeEvent<boolean>;
'propertyChange:status': PropertyChangeEvent<Status>;
'propertyChange:subTitle': PropertyChangeEvent<string>;
'propertyChange:title': PropertyChangeEvent<string>;
'propertyChange:validators': PropertyChangeEvent<FormValidator[]>;
'propertyChange:views': PropertyChangeEvent<Form[]>;
}