File

projects/wms-framework/src/lib/regionsframework/adapters/AdapterForSelectorControl.ts

Description

Adapter for selector control Allows the use of selector control to host regions

Extends

RegionAdapterBase

Index

Properties
Methods

Constructor

constructor(factory: IRegionBehaviorFactory)

Creates an instance of AdapterForSelectorControl.

Parameters :
Name Type Optional
factory IRegionBehaviorFactory No

Properties

RegionBehaviorFactory
Type : IRegionBehaviorFactory
Inherited from RegionAdapterBase

Methods

Protected Adapt
Adapt(region: IRegion, regionTarget: SelectorModel)
Inherited from RegionAdapterBase

Adapts the selector control with the specific region

Parameters :
Name Type Optional Description
region IRegion No

region to adapt

regionTarget SelectorModel No

selector control to adapt

Returns : void
Public AttachBehaviors
AttachBehaviors(region: IRegion, regionTarget: SelectorModel)
Inherited from RegionAdapterBaseUnTyped

Attach the behavior to the region target element

Parameters :
Name Type Optional
region IRegion No
regionTarget SelectorModel No
Returns : void
Protected CreateRegion
CreateRegion()
Inherited from RegionAdapterBase

Creates the region for the selector host control

Returns : IRegion
Protected AttachDefaultBehaviors
AttachDefaultBehaviors(region: IRegion, regionTarget: T)
Inherited from RegionAdapterBase

Attach defaults behavior to region

Parameters :
Name Type Optional
region IRegion No
regionTarget T No
Returns : void
Initialize
Initialize(regionTarget: object, regionName: string)
Inherited from RegionAdapterBase
Parameters :
Name Type Optional
regionTarget object No
regionName string No
Returns : IRegion
import { IRegion } from '../IRegion';
import { RegionAdapterBase } from '../RegionAdapterBase';
import { IRegionBehaviorFactory } from '../IRegionBehaviorFactory';
import { injectable, inject } from 'tsyringe';
import { regionBehaviorFactoryInjectionToken } from '../injectionTokens';
import { SelectorModel } from '../../models/SelectorModel';
import { Region } from '../Region';
import { SelectorItemsSourceSyncBehavior } from './behaviors/SelectorItemsSourceSyncBehavior';

/**
 *  Adapter for selector control
 *  Allows the use of selector control to host regions
 *
 * @export
 * @class AdapterForSelectorControl
 * @extends {RegionAdapterBase<SelectorModel>}
 * @wType Microsoft.Practices.Prism.Regions.SelectorRegionAdapter
 */
@injectable()
export class AdapterForSelectorControl extends RegionAdapterBase<SelectorModel> {
  /**
   * Creates an instance of AdapterForSelectorControl.
   * @param {IRegionBehaviorFactory} factory
   * @memberof AdapterForSelectorControl
   */
  constructor(
    @inject(regionBehaviorFactoryInjectionToken) factory: IRegionBehaviorFactory
  ) {
    super(factory);
  }

  /**
   * Adapts the selector control with the specific region
   *
   * @protected
   * @param {IRegion} region  region to adapt
   * @param {SelectorModel} regionTarget  selector control to adapt
   * @memberof AdapterForSelectorControl
   */
  protected Adapt(region: IRegion, regionTarget: SelectorModel): void {}

  /**
   * Attach the behavior to the region target element
   *
   * @param {IRegion} region
   * @param {SelectorModel} regionTarget
   * @memberof AdapterForSelectorControl
   */
  public AttachBehaviors(region: IRegion, regionTarget: SelectorModel): void {
    if (region == null) {
      throw new Error('Null value for region argument');
    }
    if (
      !region.Behaviors.ContainsKey(SelectorItemsSourceSyncBehavior.BehaviorKey)
    ) {
      region.Behaviors.Add(
        SelectorItemsSourceSyncBehavior.BehaviorKey,
        Object.assign(new SelectorItemsSourceSyncBehavior(), {
          HostControl: regionTarget,
        })
      );
    }
    super.AttachBehaviors(region, regionTarget);
  }

  /**
   * Creates the region for the selector host control
   *
   * @protected
   * @returns {IRegion}
   * @memberof AdapterForSelectorControl
   */
  protected CreateRegion(): IRegion {
    return new Region();
  }
}

result-matching ""

    No results matching ""