import {IFinalPosition,IUdtMotion,IFinalPositionEx} from '../domain'; import { Map } from '../../../../@inax/common'; export class LanguageEntry{ Id:string; Text:string; } export class LanguageEntryList{ Texts:Map; public get(id:string):string{ return this.Texts[id] != null ? this.Texts[id] : id; } public get keys():Array{ let result = new Array(); for (var key in this.Texts) { result.push(key); } return result; } public add(id:string,text:string){ this.Texts[id] = text; } public addEntry(entry:LanguageEntry){ this.Texts[entry.Id] = entry.Text; } constructor() { this.Texts = {}; } } export class MotionTextTable{ Language:Map; constructor() { this.Language = {}; } public hasLanguage(lng:string):boolean{ return this.Language[lng] != null; } } export interface IMotion{ Id: number; SlotNumber: number; BlockNum: number; BlockOffset: number; pageNumber: number; RowNumber: number; Created :string; //Datetime Modified :string; //Datetime LastInterfaceChange :string; //Datetime LastCodeChange :string; //Datetime Name:string; Plc:string; MappingName:string; Direction1Text:string; Direction2Text:string; FinalPositions:Array; } export interface IMotionEx extends IMotion{ GroupError:boolean; OtherHmiId:boolean; MotionIsLocked:boolean; NotReadable:boolean; //CurrentHmiId:number; DisplayName:string; DisplaySymbolicName:string; DisplayDirection1Text:string; DisplayDirection2Text:string; UdtModiondata:IUdtMotion; Texts:MotionTextTable; }