module fb { export interface IFbNewContactScope extends ng.IScope { $root: IRootScope; callback: any; skapaDirekt: string; buttonText: string; addPersonToOpenContacts: boolean; inkluderaJuridiskaKontakter: boolean; showNewContactDialog: boolean; kontakt: fb.ChangeTrack; contextIsTopMenu: boolean;//Used to tell us whether the user is coming into the directve from the top menu. To be used to hide open contacts contactType: fb.ChangeTrack;//Used to tell us what type of contact we are creating. isBrfOrSammfaellighet: boolean; getKoppladeKontakter: boolean; koppladeKontakterSoektyp: fb.ChangeTrack;//SoekTyp 1 == Dödsbo, SoekTyp 2 == fysiska personer, Soektyp 3 == firmatecknare chosenContactIsBeingProcessedResolver: { $resolved: boolean;//For spinner after selection of person } addError: boolean;//Visar en fbAlert om posten av ny kontakt misslyckas minimumSearchFieldLength: number; gotoKontaktListSearchString: any; oeppnaKontakter: fb.OeppnaKontakter[];//Open conctacts - the ones shown in leftNav hittadeKontakter: fb.PersonSearch[];//Found contacts from either openContacts - when we are showing them - or database search hittaSeKontakter: fb.List; searchFieldData: fb.ChangeTrack; newContactSuggestion: { Personnummer: string; Foernamn: string; Efternamn: string; Personnamn: string; Epost: string; }; searchButtonHasBeenClicked: boolean;//To keep track of whether the "Sök" button has been pressed. If it has not been pressed then we limit some functionality state: number; //State which is ideally set using NEW_CONTACT_STATES chosenKontakt: fb.PersonSearch[]; newKontakt: fb.PersonSearchChangeTrack;//Behöver vara changeTrack för att fg-input ska funka, och det behöver vara fb-input för att vi ska återanvända CSS och beteenden på fält soekPaHitta: ChangeTrack; isSelectedRow(hittadKontakt: fb.PersonSearch): string; searchHasBeenMade: boolean; //Används för att omöjliggöra "Skapa ny kontakt" knappen innan användaren har sökt searchFieldHasMinimumLength: boolean; //conditionsAddingForNewContactFulfilled: boolean; conditionsSavingForNewContactFulfilled: boolean; searchResultIsFromHittaSe: boolean; chosenFromHitta: fb.HittaSe;//Person returned after a search to hitta.se has been made //chosenFromHittaPersonNamn: string;//Select had trouble in IE so we had to use fbDropdown which means we had to listecn to the PersonId instead transferDataToChosenKontakt(field: string, data: fb.ChangeTrack): void; transferTelephoneAndEmailToChosenKontakt(newKontakt: fb.PersonSearchChangeTrack): void; personSearchFromDatabaseQuery: List;//A list of results of the type fb.PersonSearch searchIsFromHittaSeResolver: { $resolved: boolean;//For fb-spinner on new contact }; observeCounters: boolean; observableCounters: fb.IFbNewContactObservableCounters; retrievedPerson: fb.Models_IPersonDO;//Person retrieved through personService.get(). Only set if getKoppladeKontakter is true - so that we can use that reference in KoppladeKontakterCtrl alertWhenPersonIdAdded(roll: number, personId: number[]) : string; rollId: string; alertText: string; isAlertShowing: boolean; kundTyper: { value: number; name: string; }[]; valdKundTyp: fb.ChangeTrack; //isUtland: boolean; //utlaendsk: { // laender: Map; // spraak: List; //}; //User events onAddContactButtonClick(skapadDirekt: boolean): void; onHittadKontaktClick(hittadKontakt: fb.PersonSearch, $event: JQueryEventObject): void; onNewContactLauncherButtonClick(): void; onCreateNewContactButtonClick(): void; onBackToSearchResultsButtonClick(): void; onSearchBottomChooseClickWithNaerstaaende(): void; onSearchBottomChooseClickWithoutNaerstaaende(): void; onSearchButtonClick(): void; onTopCancelButtonClick(): void; onDubblettsammanslaaManuellt(): void; onDubblettsammanslaaAuto(): void; handleSearch(event): void; updateObservableCounters(): void; toogleMoreInfo(person: fb.PersonSearch): void; exposeScope: any; isSaving: boolean; //For use only in connection with KopplaceKontakterCtrl cleanUp(scope: fb.IFbNewContactScope): void; getSearchHeight(): string; } export interface PersonSearchContactDetails { MejlAdress: fb.Models_MejlAdressRO; Adress: fb.Models_AdressRO; TelefonnummerHem: fb.Models_Telefonnummer2RO; TelefonnummerMobil: fb.Models_Telefonnummer2RO; TelefonnummerArbete: fb.Models_Telefonnummer2RO; TelefonnummerFax: fb.Models_Telefonnummer2RO; } export interface IFbNewContactObservableCounters extends Object { noOfSearchesMade: number;//Used to keep track of how many searches have been made, so that we can respond to search events noOfPersonsSelected: number;//Used to keep track of how many persons have been selected, so that we can respond to perseon selection } export interface IFbNewContactStates extends Object { STATE_2: number;//Showing search field and results STATE_3: number;//Showing form where we can type in a new person STATE_4: number;//Showing kopplade kontakter having fetched contact } }