import { DropDownStringListSOP } from '../../libappsop/dropdownstringlistsop'; 
 | 
import { ButtonSOP } from '../../libappsop/buttonsop'; 
 | 
import { DialogSOP } from '../../libappsop/dialogsop'; 
 | 
import { CheckboxSOP } from '../../libappsop/checkboxsop'; 
 | 
  
 | 
export interface DialogGeneralSettingFields { 
 | 
  UsableIfExpired?: string; 
 | 
  UsableIfMature?: string; 
 | 
  ForecastNetting?: string; 
 | 
} 
 | 
  
 | 
export class FormGeneralSettings extends DialogSOP<DialogGeneralSettingFields> { 
 | 
  public readonly msgRerunOptOnChangeForecastNetting = 'Please run the optimizer again to get the updated plan with the new Forecast netting settings.'; 
 | 
  public cbIsUsableIfExpiredWithinPeriod = new CheckboxSOP('CheckBoxIsUsableIfExpiredWithinPeriod'); 
 | 
  public cbIsUsableIfMatureWithinPeriod = new CheckboxSOP('CheckBoxIsUsableIfMatureWithinPeriod'); 
 | 
  public ddslForecastNetting = new DropDownStringListSOP('DropDownStringListForecastNetting'); 
 | 
  
 | 
  public btnApply = new ButtonSOP('ButtonApply'); 
 | 
  
 | 
  public constructor() { 
 | 
    super('FormGeneralSettings'); 
 | 
  
 | 
    this._uiMap.set('UsableIfExpired', this.cbIsUsableIfExpiredWithinPeriod); 
 | 
    this._uiMap.set('UsableIfMature', this.cbIsUsableIfMatureWithinPeriod); 
 | 
    this._uiMap.set('ForecastNetting', this.ddslForecastNetting); 
 | 
  } 
 | 
} 
 | 
  
 | 
export enum DefaultForecastNettingRule { 
 | 
  ForecastBased = 'Forecast-based', 
 | 
  NoNetting = 'No netting', 
 | 
} 
 |