projects/wms-framework/src/lib/models/controls/GridPanelModel.ts
Class that represents the model of a ColumnDefinition.
Private _width |
Type : GridLength
|
Default value : new GridLength(1, GridUnitType.Star)
|
Width property. |
Public MaxWidth |
Type : any
|
Default value : null
|
MaxWidth property. |
Public MinWidth |
Type : any
|
Default value : null
|
MinWidth property. |
Protected bindingExpressions |
Default value : new SimpleDictionary<
string,
BindingExpression
>()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:65
|
Public BindingValidationError |
Default value : new SubscriptionEvent<
(sender: any, e: BindingValidationErrorEventArgs) => void
>()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:78
|
Event for validation errors |
Public change |
Type : SubscriptionEvent<void>
|
Default value : new SubscriptionEvent()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:61
|
Infrastructure event for notifying event changes |
Public Dispatcher |
Type : Dispatcher
|
Default value : Dispatcher.GetDispatcher()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:55
|
isEnableSetPropertiesRegistry |
Type : boolean
|
Default value : true
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:125
|
Flag which indicates if the dependency property set mechanism is enable |
Public IsInitializingBindings |
Type : boolean
|
Default value : false
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:178
|
Property to determine if bindings are being initialized |
previousValidationMessage |
Type : string
|
Default value : ''
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:70
|
Protected properties |
Type : object
|
Default value : {}
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:64
|
Private setPropertiesRegistry |
Type : Map<string | boolean>
|
Default value : new Map()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:116
|
Registry with dependencies properties which has been set |
validationerr |
Default value : false
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:69
|
validationMessagesStack |
Type : Array<>
|
Default value : []
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:106
|
Keeps a queue of validation messages registered on the current Dependency Object |
Private addRelatedSubscriptionIfRequired | ||||||||||||
addRelatedSubscriptionIfRequired(event: SubscriptionEvent<any>, theHandler: any, bindingExpression: BindingExpression)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:502
|
||||||||||||
Parameters :
Returns :
void
|
Private addSubscriptionForTwoWayBindings | ||||||||||||
addSubscriptionForTwoWayBindings(dependencyProperty: DependencyProperty, binding: Binding, bindingExpression: BindingExpression)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:383
|
||||||||||||
Parameters :
Returns :
void
|
addsValidationMessage | |||||||||
addsValidationMessage(propKey: Binding | string, message: string)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:135
|
|||||||||
Adds a new validation message associated to a binding or a property name
Parameters :
Returns :
void
|
Private beginSubscribeToMultiPropertyPathChanges | |||||||||||||||
beginSubscribeToMultiPropertyPathChanges(context: any, binding: Binding, dependencyProperty: DependencyProperty, bindingExpression: BindingExpression)
|
|||||||||||||||
Inherited from
DependencyObject
|
|||||||||||||||
Defined in
DependencyObject:542
|
|||||||||||||||
Parameters :
Returns :
void
|
Private checkForSubscriptoinToDataErrorInfo | |||||||||||||||
checkForSubscriptoinToDataErrorInfo(currentContext: any, binding: Binding, propertyToSubscribe: string, bindingExpression: BindingExpression)
|
|||||||||||||||
Inherited from
DependencyObject
|
|||||||||||||||
Defined in
DependencyObject:716
|
|||||||||||||||
Parameters :
Returns :
void
|
Public clearValue | ||||||
clearValue(property: DependencyProperty)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:212
|
||||||
Clears the dependency property value
Parameters :
Returns :
void
|
Equals | ||||||
Equals(obj: any)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:201
|
||||||
Compares this dependency object agains another object.
Parameters :
Returns :
boolean
{boolean} |
GetChild | ||||||
GetChild(idx: number)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:928
|
||||||
Gets the child element at the index position
Parameters :
Returns :
DependencyObject
{DependencyObject} |
GetChildrenCount |
GetChildrenCount()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:916
|
Method o know the amount of children the parent has
Returns :
number
{number} |
GetHashCode |
GetHashCode()
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:187
|
Gets a hash code for this dependency object.
Returns :
number
{number} |
Public getValue | ||||||
getValue(property: DependencyProperty)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:226
|
||||||
Gets the value of a dependency property
Parameters :
Returns :
any
|
Private handleErrorsOnContext | |||||||||
handleErrorsOnContext(errorCtxt: INotifyDataErrorInfo, args: DataErrorsChangedEventArgs)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:777
|
|||||||||
Check and register possible errors in an error context
Parameters :
Returns :
void
|
Public IsPropertySet | ||||||
IsPropertySet(propertyName: string)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:376
|
||||||
Indicates if the property has been already set.
Parameters :
Returns :
any
|
Private performDataErrorValidationIfRequired |
performDataErrorValidationIfRequired(binding: Binding, theBindingContext: any)
|
Inherited from
DependencyObject
|
Defined in
DependencyObject:481
|
Performs validation on model if the model implementes IDataErrorINfo
Returns :
void
|
Private performRemoveValidationIfInValidationError | ||||||
performRemoveValidationIfInValidationError(binding: Binding)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:461
|
||||||
Performs the remove validation if the InValidationError is true
Parameters :
Returns :
void
|
Public performTargetObjectBindingUpdate | |||||||||
performTargetObjectBindingUpdate(dependencyProperty: DependencyProperty, binding: Binding)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:429
|
|||||||||
Updates the target object value associated to the binding.
Parameters :
Returns :
void
|
Private preprocessValue | |||||||||
preprocessValue(property: DependencyProperty, value: any)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:889
|
|||||||||
Preprocess value to be set to dependency property
Parameters :
Returns :
any
|
Private recreateSubscriptionsForMultiPropertyBindingPath | ||||||||||||||||||||||||
recreateSubscriptionsForMultiPropertyBindingPath(currentContext: any, outerContext: any, properties: string[], propertyIndex: number, dependencyProperty: DependencyProperty, bindingExpression: BindingExpression, subscriptionsForCurrentBindingPath: Array<>)
|
||||||||||||||||||||||||
Inherited from
DependencyObject
|
||||||||||||||||||||||||
Defined in
DependencyObject:682
|
||||||||||||||||||||||||
Parameters :
Returns :
void
|
Private registerSetPropertyIfRequired | ||||||
registerSetPropertyIfRequired(name: string)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:903
|
||||||
Register set property if required
Parameters :
Returns :
void
|
Private removeSubscriptionsForMultiPropertyBindingPath | |||||||||
removeSubscriptionsForMultiPropertyBindingPath(subscriptionsForCurrentBindingPath: [], propertyIndex: number)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:663
|
|||||||||
Parameters :
Returns :
void
|
removeValidationMessage | ||||||
removeValidationMessage(propKey: Binding | string)
|
||||||
Inherited from
DependencyObject
|
||||||
Defined in
DependencyObject:158
|
||||||
Removes a validation message associated to a binding or a property name
Parameters :
Returns :
void
|
SetBinding | ||||||||||||
SetBinding(dependencyProperty: DependencyProperty, binding: Binding)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:317
|
||||||||||||
Sets a binding to the specified property at runtime
Parameters :
Returns :
void
|
Public setValue | |||||||||
setValue(property: DependencyProperty, value: any)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:249
|
|||||||||
Sets the value for a dependency property
Parameters :
Returns :
void
|
Public setValueForScopedRegion | ||||||||||||
setValueForScopedRegion(property: DependencyProperty, value: any, scopedRegionManager: IRegionManager)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:282
|
||||||||||||
Sets the value for a dependency property. This is a workaround to support Scoped Region Managers. A research is required to find out the way to get the application region Manager when scoped region managers are used (when creating the DelayedRegionBehavior, the correct scoped region manager must be passed as an argument).
Parameters :
Returns :
void
|
Protected shouldPreventDefaultSourceUpdate | |||||||||
shouldPreventDefaultSourceUpdate(dependencyProperty: DependencyProperty, binding: BindingExpression)
|
|||||||||
Inherited from
DependencyObject
|
|||||||||
Defined in
DependencyObject:870
|
|||||||||
Parameters :
Returns :
boolean
|
Private subscribeToBindingPathChanges | |||||||||||||||
subscribeToBindingPathChanges(context: any, binding: Binding, dependencyProperty: DependencyProperty, bindingExpression: BindingExpression)
|
|||||||||||||||
Inherited from
DependencyObject
|
|||||||||||||||
Defined in
DependencyObject:512
|
|||||||||||||||
Parameters :
Returns :
void
|
Private subscribeToErrorsChangedInModel | ||||||||||||
subscribeToErrorsChangedInModel(errorCtxt: INotifyDataErrorInfo, propertyToSubscribe: string, bindingExpression: BindingExpression)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:748
|
||||||||||||
Parameters :
Returns :
void
|
Private subscribeToPropertyChanges | ||||||||||||||||||||||||
subscribeToPropertyChanges(currentContext: any, outerContext: any, properties: string[], propertyIndex: number, dependencyProperty: DependencyProperty, bindingExpression: BindingExpression, subscriptionsForCurrentBindingPath: Array<>)
|
||||||||||||||||||||||||
Inherited from
DependencyObject
|
||||||||||||||||||||||||
Defined in
DependencyObject:586
|
||||||||||||||||||||||||
Parameters :
Returns :
void
|
Private updateSourceOfBinding | ||||||||||||
updateSourceOfBinding(binding: Binding, outerContext: any, dependencyProperty: DependencyProperty)
|
||||||||||||
Inherited from
DependencyObject
|
||||||||||||
Defined in
DependencyObject:811
|
||||||||||||
Updates the source of a binding
Parameters :
Returns :
void
|
Width | ||||||
getWidth()
|
||||||
Gets or sets the width.
Returns :
GridLength
|
||||||
setWidth(value: GridLength)
|
||||||
Parameters :
Returns :
void
|
import { FrameworkElement } from '../../basecomponentmodel/FrameworkElement';
import { DependencyObject } from '../../basecomponentmodel/DependencyObject';
import { PresentationFrameworkCollectionModel } from './ItemsControlModel';
import { DependencyProperty } from '../../basecomponentmodel/DependencyProperty';
import { UIElementCollectionModel } from '../../basecomponentmodel/UIElementCollectionModel';
import { PanelModel } from './PanelModel';
import { AngularComponentId } from '../../helpers';
import { GridUnitType } from '../enums';
/**
* Class that represents the model of a RowDefinition.
*
* @export
* @class GridRowDefinition
* @wType System.Windows.Controls.RowDefinition
*/
export class GridRowDefinition extends DependencyObject {
/**
* Internal height property
*
* @private
* @type {GridLength}
* @memberof GridRowDefinition
*/
private _height: GridLength = new GridLength(1, GridUnitType.Star);
/**
* MinHeight property.
*
* @type {*}
* @memberof GridRowDefinition
*/
public MinHeight: any = null;
/**
* MaxHeight property.
*
* @type {*}
* @memberof GridRowDefinition
*/
public MaxHeight: any = null;
/**
* Gets the current value of Height
*
* @type {GridLength}
* @memberof GridRowDefinition
*/
public get Height(): GridLength {
return this._height;
}
/**
* Sets a new value for Height
*
* @memberof GridRowDefinition
*/
public set Height(value: GridLength) {
if (value != this._height) {
this._height = value;
this.change.fire(['RowDefinitionHeight']);
}
}
}
/**
* Class that represents the model of a ColumnDefinition.
*
* @export
* @class GridColumnDefinition
* @extends {DependencyObject}
* @wType System.Windows.Controls.ColumnDefinition
*/
export class GridColumnDefinition extends DependencyObject {
/**
* Width property.
*
* @private
* @type {GridLength}
* @memberof GridColumnDefinition
*/
private _width: GridLength = new GridLength(1, GridUnitType.Star);
/**
* MinWidth property.
*
* @type {*}
* @memberof GridColumnDefinition
*/
public MinWidth: any = null;
/**
* MaxWidth property.
*
* @type {*}
* @memberof GridColumnDefinition
*/
public MaxWidth: any = null;
/**
* Gets or sets the width.
*
* @type {GridLength}
* @memberof GridColumnDefinition
*/
public get Width(): GridLength {
return this._width;
}
public set Width(value: GridLength) {
if (value !== this._width) {
this._width = value;
this.change.fire(['ColumnDefinitionWidth']);
}
}
}
/**
* Class that represents the model of a ColumnDefinitionCollection.
*
* @export
* @class GridColumnDefinitions
* @extends {PresentationFrameworkCollectionModel<GridColumnDefinition>}
* @wType System.Windows.Controls.ColumnDefinitionCollection
*/
export class GridColumnDefinitions extends PresentationFrameworkCollectionModel<GridColumnDefinition> {
constructor(private grid: GridModel) {
super();
}
}
/**
* Class that represents the model of a RowDefinitionCollection.
*
* @export
* @class GridRowDefinitions
* @extends {PresentationFrameworkCollectionModel<GridRowDefinition>}
* @wType System.Windows.Controls.RowDefinitionCollection
*/
export class GridRowDefinitions extends PresentationFrameworkCollectionModel<GridRowDefinition> {
public MinWidth: number = 0;
constructor(private grid: GridModel) {
super();
}
}
/**
* Class that represents the model of a GridLength.
*
* @export
* @class GridLength
* @wType System.Windows.GridLength
*/
export class GridLength {
public static Auto: any = new GridLength(0, GridUnitType.Auto);
public get Value(): number {
return this.length;
}
constructor(
public length: number,
public unitType: GridUnitType = GridUnitType.Pixel
) {}
/**
* Gets a value indicating if the grid lenght unit is a absolute value
*
* @readonly
* @type {boolean}
* @memberof GridLength
*/
public get IsAbsolute(): boolean {
return this.unitType === GridUnitType.Pixel;
}
/**
* Gets a value indicating if the grid lenght unit is an auto value
*
* @readonly
* @type {boolean}
* @memberof GridLength
*/
public get IsAuto(): boolean {
return this.unitType === GridUnitType.Auto;
}
/**
* Gets a value indicating if the grid lenght unit is a star value
*
* @readonly
* @type {boolean}
* @memberof GridLength
*/
public get IsStar(): boolean {
return this.unitType === GridUnitType.Star;
}
}
/**
* Class that represents the model of a Grid.
*
* @export
* @class GridModel
* @extends {PanelModel}
* @wType System.Windows.Controls.Grid
*/
export class GridModel extends PanelModel {
public AngularComponentId = AngularComponentId.gridPanel;
public attachedComponentInstance;
public ColumnDefinitions: GridColumnDefinitions;
public RowDefinitions: GridRowDefinitions;
/**
* ColumnProperty dependency property
*
* @static
* @type {DependencyProperty}
* @memberof GridPanelModel
*/
static ColumnProperty: DependencyProperty = new DependencyProperty(
'Grid_Column',
null,
null
);
/**
* ColumnSpanProperty dependency property
*
* @static
* @type {DependencyProperty}
* @memberof GridPanelModel
*/
static ColumnSpanProperty: DependencyProperty = new DependencyProperty(
'Grid_ColumnSpan',
null,
null
);
/**
* RowProperty dependency property
*
* @static
* @type {DependencyProperty}
* @memberof GridPanelModel
*/
static RowProperty: DependencyProperty = new DependencyProperty(
'Grid_Row',
null,
null
);
/**
* RowSpanProperty dependency property
*
* @static
* @type {DependencyProperty}
* @memberof GridPanelModel
*/
static RowSpanProperty: DependencyProperty = new DependencyProperty(
'Grid_RowSpan',
null,
null
);
/**
* ShowGridLinesProperty dependency property
*
* @static
* @type {DependencyProperty}
* @memberof GridPanelModel
*/
static ShowGridLinesProperty: DependencyProperty = new DependencyProperty(
'Grid_ShowGridLines',
false,
null
);
constructor() {
super();
this.ColumnDefinitions = new GridColumnDefinitions(this);
this.RowDefinitions = new GridRowDefinitions(this);
this.Children = new UIElementCollectionModel(this);
}
public static getColumnInformation(cell: any): number {
return cell.getValue(GridModel.ColumnProperty);
}
public static getRowInformation(cell: any): number {
return cell.getValue(GridModel.RowProperty);
}
public static setRowInformation(cell: DependencyObject, row: number) {
cell.setValue(GridModel.RowProperty, row);
}
public static setColumnInformation(cell: DependencyObject, column: number) {
cell.setValue(GridModel.ColumnProperty, column);
}
public static SetRow(element: FrameworkElement, row: number) {
element.setValue(GridModel.RowProperty, row);
}
public static GetRow(element: FrameworkElement) {
return element.getValue(GridModel.RowProperty);
}
public static SetColumn(element: FrameworkElement, column: number) {
element.setValue(GridModel.ColumnProperty, column);
}
public static GetColumn(element: FrameworkElement) {
return element.getValue(GridModel.ColumnProperty);
}
public static SetRowSpan(element: FrameworkElement, rowSpan: number) {
element.setValue(GridModel.RowSpanProperty, rowSpan);
}
public static GetRowSpan(element: FrameworkElement): any {
return element.getValue(GridModel.RowSpanProperty);
}
public static SetColumnSpan(element: FrameworkElement, columnSpan: number) {
element.setValue(GridModel.ColumnSpanProperty, columnSpan);
}
public static GetColumnSpan(element: FrameworkElement): any {
return element.getValue(GridModel.ColumnSpanProperty);
}
}