///
declare module fb {
interface IJournalSideDrawerScope extends ng.IScope {
isJournalResolved: any;
AerObjektIProjekt: boolean;
journalKategorier: JournalPunktKategori[];
punkterPerKategoriId: _.Dictionary;
personer: IJournalPerson[];
totalProgress: JournalTotalProgress;
klarmarkeradePunkterPerKategoriId: _.Dictionary;
isMaeakarObjektSaalt: boolean;
isJournalUnsupported: boolean;
closeSideDrawer(fromHeader?: boolean): void;
startaOm(): void;
getMissingPerson(number: any): IJournalPerson;
getPunkterForKategori(k: JournalPunktKategori): JournalPunkt[];
getKategori(kategoriId: number): JournalPunktKategori;
toggleKateogri(k: JournalPunktKategori): void;
isKateogriExpanded(k: JournalPunktKategori): boolean;
getProgress(p: JournalPunktKategori): number;
hasPunkter(k: JournalPunktKategori): boolean;
togglePunkt(p: JournalPunkt): void;
showPunkt(p: JournalPunkt): fb.JournalPunkt;
isPunktExpanded(p: JournalPunkt): boolean;
isPunktResolving(p: JournalPunkt): boolean;
isUtfoerd(p: JournalPunkt): boolean;
isKlarmarkerad(p: JournalPunkt): boolean;
isStruken(p: JournalPunkt): boolean;
isAnsvarigPersonMe(p: JournalPunkt): boolean;
isMissingAnteckning(p: JournalPunkt): boolean;
datumActions(p: JournalPunkt): IJournalDatumAction[];
getUtfaerdatDatum(p: JournalPunkt): string;
getInfoText(p: JournalPunkt): string;
getAvatarUrl(personId: number): any;
toggleInfoPopup(p: JournalPunkt): void;
closeInfoPopup(p: JournalPunkt): void;
isInfoPopupShown(p: JournalPunkt): boolean;
hasInfoText(p: JournalPunkt): boolean;
hasAnteckning(p: JournalPunkt): boolean;
hasAnsvarigPerson(p: JournalPunkt): boolean;
hasPersonAvatar(p: JournalPunkt): boolean;
setAsUtfoerdQuick(p: JournalPunkt): void;
setKlartIdag(p: JournalPunkt): void;
setAsStruken(p: JournalPunkt): void;
setEgetDatum(p: JournalPunkt): void;
clearUtfaerdatDatum(p: JournalPunkt): void;
datumActionSelected(p: JournalPunkt, da: IJournalDatumAction, $event: any): void;
addPunkt(k: JournalPunktKategori): void;
removePunkt(p: JournalPunkt): void;
showStandardDatum(p: JournalPunkt): boolean;
utfoerdDatumBlurred(p: JournalPunkt): void;
utfoerdDatumChanged(p: JournalPunkt): void;
}
interface IJournalPerson {
Namn: string;
PersonId: number;
}
interface IJournalDatumAction {
Typ: number;
Namn: string;
Datum?: string;
Callback?(p: JournalPunkt, da?: IJournalDatumAction): any;
}
}