///
declare module fb {
interface ICommonService {
ignoredKeys: string[];
setDPI(pixels: number): void;
util: {
deepFind(obj: any, path: string, value?: any): any;
naturalSort(a: string, b: string): number;
};
math: {
sumFrac(numbers: {
taeljare: number;
naemnare: number;
}[]): {
taeljare: number;
naemnare: number;
};
};
getDPI(): number;
dimensions: {
inToPt(inches: number): number;
ptToIn(pt: number): number;
inToPx(inches: number): number;
ptToPx(pt: number): number;
pxToIn(pixels: number): number;
pxToPt(pixels: number): number;
pxToMm(pixels: number): number;
mmToPx(millimeters: number): number;
};
absolutePositioning: {
offsetTop(element: ng.IAugmentedJQuery): number;
offsetLeft(element: ng.IAugmentedJQuery): number;
};
angularFunctions: {
safeApply(scope: ng.IScope, fn: any): void;
};
security: {
splitNonSecureTags(str: string, allowedTagsRegexStrings: string[]): {
content: string;
secure: boolean;
}[];
};
changeTrack: {
isChangeTrackObject(obj: any): boolean;
createChangeTrackObject(data: any, rootObject?: any, rootName?: string): any;
fromChangeTrackObject(data: any, isArray: boolean, originalObject?: boolean): any;
};
getScreenDimensions(): fb.ICommonServiceScreenDimensions;
getResizingCounter(): number;
strings: {
capitalizeFirstLetter(val: string): string;
};
date: {
validDate(date: string): boolean;
validTime(time: string): boolean;
compareDateStrings(dateA: string, dateB: string): number;
splitDate(date: string): {
year: number;
month: number;
day: number;
hour: number;
minute: number;
second: number;
};
clearTime(dateTimeString: string): string;
datePart(dateTimeString: string): string;
timePart(dateTimeString: string): string;
setDatePart(dateTimeString: string, datePartString: string): string;
setTimePart(dateTimeString: string, timePartString: string): string;
};
merge(localObject: any, dbObject: any, mergeConflicts?: fb.IMergeConflict[], inverseDirty?: boolean): any;
maeklarObjektTyper: ICommonServiceMaeklarObjektTyper;
debounce(func: any, wait: number, immediate?: boolean): any;
throttle(fn: any, threshhold: number, scope?: any): any;
getPageRange(totalNumberOfPages: number, currentPage: number, gap: number): number[];
filterMedarbetareList(medarbetareArray: fb.List, rollArray: number[]): fb.Medarbetare[];
getKontaktTypStr(jurPersonTyp: number, fysPersonTyp: number, aerAvliden: boolean): string;
getDeferred(): {
$promise: ng.IPromise<{}>;
$resolved: boolean;
};
getPropValue(propString: string, option: Object): any;
getKontorsValutaSuffix(suffix?: string): string;
getKontorsValutaLong(singular?: boolean): any;
valideraSidval(sidVal: string): boolean;
JuridiskPerson: {
getJuridiskIcon(jurPersonTyp: number): any;
getJuridiskInitials(jurPersonTyp: number, visningsText: string): any;
};
KundKategori: {
getKundKategoriAltText(kundKategori: number): string;
};
Events: {
Resources: {
onMergeCompleted($scope: ng.IScope, globalUniqueId: string, callback: () => void);
mergeCompleted(globalUniqueId: string);
};
};
gcdHelper(a: number, b: number): number;
}
interface ICommonServiceScreenDimensions {
window: {
innerWidth: number;
innerHeight: number;
};
topNav: {
width: number;
height: number;
};
leftNav: {
width: number;
height: number;
};
mainContent: {
actual: {
width: number;
height: number;
};
noScroll: {
width: number;
height: number;
};
};
}
interface ICommonServiceMaeklarObjektTyper {
aerSmaahus(ObjektTypId: number): boolean;
aerBostadsraett(ObjektTypId: number): boolean;
aerByggnadArrenderadMark(ObjektTypId: number): boolean;
aerHyresraett(ObjektTypId: number): boolean;
aerKomersiellt(ObjektTypId: number): boolean;
aerLokal(ObjektTypId: number): boolean;
aerProjekt(ObjektTypId: number): boolean;
aerBestaand(ObjektTypId: number): boolean;
aerGaard(ObjektTypId: number): boolean;
aerAegarlgh(ObjektTypId: number): boolean;
aerOevrigt(ObjektTypId: number): boolean;
aerUtland(ObjektTypId: number): boolean;
}
}