{"version":3,"sources":["assets/img/linksLogo.png","assets/img/logo_banca.svg","constants/HeaderUtenteOperationEnum.ts","views/components/base-form/BaseHeaderAutoComplete.tsx","views/components/header/components/HeaderUtente.tsx","views/components/header/components/HeaderNotifiche.tsx","views/components/header/components/HeaderNote.tsx","views/components/header/Header.tsx"],"names":["module","exports","HeaderUtenteOperationEnum","BaseHeaderAutoComplete","props","hasUnmounted","typeaheadRef","React","createRef","optionMatches","option","value","selected","length","getSearched","positions","newOptionAllowed","hideMenu","toLowerCase","push","start","end","searchInside","optionOriginal","optionWords","split","filter","x","valueWords","i","valueWord","some","includes","index","findIndex","optionWord","optionIndex","indexOf","pos","substring","splice","sort","a","b","startsWith","getValue","values","multiple","getSelectedOptions","formatValue","valueFormatted","allowNew","map","v","name","info","fiscalCode","customerName","customerSurname","href","join","results","forEach","options","find","undefined","BaseHeaderOptionModel","onFocusHandler","e","isMenuOpen","minLength","state","inputText","setState","onFocused","selectedOption","onChangeHandler","valuesToRemove","item","array","reduce","unicized","addAndSelectOption","clearInput","onInputChangeHandler","text","onBlurHandler","isClickOnToggleMenuBtn","evt","relatedTarget","classList","contains","target","onKeyDown","regex","formatOnDigit","customFormat","key","match","preventDefault","stopPropagation","currentTarget","force","newOptionType","mailRegex","selectedOptions","newOptions","newOption","onSearch","renderMenuItem","optionText","searchText","parts","posLast","position","posIndex","className","BaseIcon","icon","IconNameEnum","Flag","onMenuToggle","isOpen","current","focus","checkIfNewOptionAllowed","clear","this","controlId","id","label","placeholder","prepend","append","disabled","required","infoCode","isInvalid","error","floatingLabel","fullWidth","maxResults","onPaginate","Form","Group","Label","RequiredIcon","InfoIcon","code","InputGroup","Prepend","Text","ref","labelKey","element","onFocus","onChange","onBlur","onInputChange","renderMenu","items","menuProps","result","Simulazioni","Preventivi","lastIndexOf","onClick","caseSensitive","ignoreDiacritics","emptyLabel","newSelectionPrefix","clearButton","flip","filterBy","renderMenuItemChildren","open","BaseButton","type","color","Cerca","onClickHandler","Control","Append","Feedback","Component","HeaderUtente","redirectToPage","page","NavigationUtility","getUserName","isLogged","accessToken","sessionStorage","getItem","environment","accessTokenName","decoded","jwt_decode","family_name","given_name","FormatUtility","capitalizeFirstLetter","getDescUo","descUoName","onDropdownSelect","Logout","showAlertLogout","isVisibleAlertLogOut","hideAlertLogout","handleAvvisoPopup","isVisibleAvviso","logout","refreshToken","refreshTokenName","requestLogout","ResponseAuthTokensModel","dispatch","UtenteAction","resetAll","window","close","closed","dropdownItems","Utente","Nav","Col","style","height","width","lg","UtenteBianco","iconPos","circled","fontSize","BaseDropdown","customToggleId","BaseModal","show","onHideHandler","closeOnOutClick","centered","title","body","footer","Ko","Ok","connect","isRequesting","utente","profilo","userName","nome","userSurname","cognome","descUO","HeaderNotifiche","container","toggleAlert","autoclose","showAlert","setTimeout","handleVisualizzaNotifiche","RouteEnum","NOTIFICHE","NotificheAction","getTodayAppointments","getExpiringEstimateNotification","getDigitalSignedDocumentNotification","preventiviInScadenzaTotal","preventiviConFirmaDigitaleTotal","appointmentsTotal","notificheTotal","onMouseEnter","onMouseLeave","Notifiche","iconBadge","bottomLabel","Overlay","placement","rootClose","onHide","Popover","Title","as","Content","ListGroup","variant","Item","preventiviInScadenza","notifiche","preventiviConFirmaDigitale","appointments","selectRequesting","REQUEST_SIMULAZIONE_NOTIFICHE_GET_EXPIRING_ESTIMATE","REQUEST_SIMULAZIONE_NOTIFICHE_GET_DIGITAL_SIGNED_DOCUMENTS","HeaderNote","handleElencoNote","handleNotePopup","note","NotaAction","setNotaDetails","getEstimateNote","idEstimate","noteTopicsTotal","setNoteAsRead","Number","openNotePopup","handleCloseNotePopup","request","pageNumber","pageSize","getNoteTopics","getTipoRichiesta","richiesta","1","2","3","noteTopics","Messaggio","data","lastEnteredNote","numberOfUnreadNotes","getTextTruncated","idRequestType","String","idEstimateRequest","NotePopup","onClose","nota","formModel","noteTopicsForm","Header","loadData","utenteGet","addLoader","isNavigating","removeLoader","link","CercaHeaderAction","setForm","ConfigAction","setSearchOnFocus","CercaAction","dettaglioSimulazioniGet","SimulazioneAction","resumeSimulation","resetDettaglioPreventivo","EstimateAction","resetPreventivo","handleSimulazioneRedirect","dettaglioPreventivoGet","handleDettaglio","handlePreventivoRedirect","dettaglioPreventivo","idSimulation","formValuesStep2","canali","dettaglioSimulazione","resumedSimulazione","idAgent","LookUpAction","canaliGet","step1FormValues","StepsUtility","setStep1FormValues","step2FormValues","SimulazioneStepTwoFormModel","convenzione","idConvention","toString","fasciaSottoLivelli","idSubLevel","defaultIdSubLevel","existingExtinctions","numberWithSeparators","step3FormValues","SimulazioneStepThreeFormModel","firstName","surname","lastName","sex","gender","birthNation","birthPlace","birthPlaceCode","birthForeignPlace","birthDate","taxCode","residenceNation","residencePlace","residencePlaceCode","residenceAddress","residenceCivicNumber","mobileNumber","mobilePhone","email","mail","thirdPartiesYearExtinctions","existingAssignment","residenceAddressType","simulazione","SimulazioneModel","idProduct","idInsuranceRc","insurances","creditRisk","idInsurance","idInsurancePriceListRc","idInsurancePriceList","idInsuranceRv","lifeRisk","idInsurancePriceListRv","idRequestedType","simulateRequest","idChannel","idSegment","idAdministrativeCategory","instalment","installment","duration","hiringDate","amount","simulationRequestType","idPracticeType","setFormStep1","setFormStep2","setFormStep3","setSimulazioneSalvata","simulate","segmentiGet","prodottiLightGet","comuniGetBirthPlace","comuniGetResidencePlace","redirectToPageByReqType","requestType","setStep","CQP","CQS","DLG","onInputChangeHandlerAutocomplete","search","totRecords","RISULTATI","token","embeddedMode","isIE","MSInputMethodContext","document","DOCUMENT_NODE","ConfigActions","setIsIE","navigator","userAgent","setIsSafari","prevProps","prevState","snapshot","form","searchHeader","optionEstimates","estimatesResult","optionSimulations","simulationsResult","LoadingIndicator","isActive","Navbar","fixed","Brand","src","logoLinks","alt","BaseLabel","labelClassName","NavbarBrand","getOptionValuesFromLookupBaseHeader","logoBanca","pathname","router","location","cercaHeader","config","formStep2","cerca","cercaDettalgioSimulazioneModel","dettalgioPreventivoModel","lookup"],"mappings":"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","file":"static/js/11.f5c9aca5.chunk.js","sourcesContent":["module.exports = __webpack_public_path__ + \"static/media/linksLogo.e9af7a74.png\";","module.exports = __webpack_public_path__ + \"static/media/logo_banca.ddb95150.svg\";","enum HeaderUtenteOperationEnum {\r\n Utente = \"utente\",\r\n Profilo = \"profilo\",\r\n Logout = \"logout\",\r\n}\r\n\r\nexport default HeaderUtenteOperationEnum;\r\n","import IconNameEnum from \"constants/IconNameEnum\";\r\nimport React, { RefObject } from \"react\";\r\nimport { Form, InputGroup } from \"react-bootstrap\";\r\nimport {\r\n AllTypeaheadOwnAndInjectedProps,\r\n Menu,\r\n MenuItem,\r\n Typeahead,\r\n TypeaheadMenuProps,\r\n TypeaheadResult,\r\n} from \"react-bootstrap-typeahead\";\r\nimport BaseHeaderOptionModel from \"stores/shared/models/BaseHeaderOptionModel\";\r\nimport { mailRegex } from \"utilities/ValidationUtility\";\r\nimport BaseButton from \"./BaseButton\";\r\nimport BaseIcon from \"./BaseIcon\";\r\nimport InfoIcon from \"./InfoIcon\";\r\nimport RequiredIcon from \"./RequiredIcon\";\r\nimport InfoEstimatesModel from \"stores/cerca-header/models/InfoEstimatesModel\";\r\n\r\ninterface IProps {\r\n controlId: string;\r\n id?: string;\r\n label?: string;\r\n placeholder?: string;\r\n prepend?: JSX.Element;\r\n append?: JSX.Element;\r\n name: string;\r\n value: string;\r\n required: boolean;\r\n infoCode?: string;\r\n options: BaseHeaderOptionModel[];\r\n multiple?: boolean;\r\n disabled?: boolean;\r\n onFocusHandler?: (name: string, value: any) => void;\r\n onChangeHandler?: (value: BaseHeaderOptionModel) => void;\r\n onBlurHandler?: (name: string, value: any) => void;\r\n onInputChangeHandler?: (name: string, value: any) => void;\r\n isInvalid: boolean;\r\n error?: string;\r\n minLength?: number;\r\n searchInside?: boolean;\r\n floatingLabel?: boolean;\r\n customFormat?: \"noNumbers\" | \"noSpecials\";\r\n formatOnDigit?: boolean;\r\n newOptionAllowed?: boolean;\r\n newOptionType?: \"email\";\r\n hideMenu?: boolean;\r\n fullWidth?: boolean;\r\n className?: string;\r\n maxResults?: number;\r\n onPaginate?: () => void;\r\n}\r\n\r\ninterface IState {\r\n onFocused: boolean;\r\n isMenuOpen: boolean;\r\n inputText: string;\r\n}\r\n\r\nclass BaseHeaderAutoComplete extends React.Component {\r\n constructor(props: IProps) {\r\n super(props);\r\n this.state = {\r\n onFocused: false,\r\n isMenuOpen: false,\r\n inputText: \"\",\r\n } as IState;\r\n }\r\n\r\n private hasUnmounted = false;\r\n private typeaheadRef: RefObject> = React.createRef<\r\n Typeahead\r\n >();\r\n\r\n public componentWillUnmount() {\r\n this.hasUnmounted = true;\r\n }\r\n\r\n private optionMatches = (option: string, value: string, selected: boolean) => {\r\n return (selected === false && value.length === 0) || this.getSearched(option, value, selected).length > 0;\r\n };\r\n\r\n private getSearched = (option: string, value: string, selected: boolean) => {\r\n let positions = [] as { start: number; end: number }[];\r\n if (selected === true || (this.props.newOptionAllowed === true && this.props.hideMenu === true)) {\r\n // check if option equals search text\r\n if (option.toLowerCase() === value.toLowerCase()) {\r\n positions.push({ start: 0, end: option.length });\r\n }\r\n } else if (value) {\r\n if (this.props.searchInside === true) {\r\n // option full text\r\n let optionOriginal = option?.toLowerCase();\r\n // remaining option words\r\n let optionWords = option\r\n ?.toLowerCase()\r\n .split(\" \")\r\n .filter((x) => x.length > 0);\r\n // words searched\r\n let valueWords = value\r\n .toLowerCase()\r\n .split(\" \")\r\n .filter((x) => x.length > 0);\r\n // search words in option\r\n for (let i = 0; i < valueWords.length; i++) {\r\n let valueWord = valueWords[i];\r\n // if option include search word\r\n if (optionWords?.some((x) => x.includes(valueWord))) {\r\n const index = optionWords.findIndex((x) => x.includes(valueWord));\r\n const optionWord = optionWords[index];\r\n const optionIndex = optionOriginal.indexOf(optionWord);\r\n // get word position in option full text\r\n const pos = optionOriginal.substring(optionIndex).indexOf(valueWord) + optionIndex;\r\n positions.push({ start: pos, end: pos + valueWord.length });\r\n // remove searched option word\r\n optionWords.splice(index, 1);\r\n } else {\r\n return [] as { start: number; end: number }[];\r\n }\r\n }\r\n // order positions\r\n positions = positions.sort((a, b) => a.start - b.start);\r\n } else {\r\n // check if option starts with search text\r\n if (option.toLowerCase().startsWith(value.toLowerCase())) {\r\n positions.push({ start: 0, end: value.length });\r\n }\r\n }\r\n }\r\n return positions;\r\n };\r\n\r\n private getValue = () => {\r\n // from values string to options array\r\n const { value, multiple } = this.props;\r\n if (value) {\r\n let values: string[];\r\n if (multiple === true) {\r\n values = value.split(\",\");\r\n } else {\r\n values = [value];\r\n }\r\n return this.getSelectedOptions(values);\r\n }\r\n return [] as BaseHeaderOptionModel[];\r\n };\r\n\r\n private formatValue = (value: BaseHeaderOptionModel[]) => {\r\n // from options array to values string\r\n let valueFormatted;\r\n const allowNew = this.props.newOptionAllowed ?? false;\r\n if (this.props.multiple === true) {\r\n valueFormatted = value\r\n .map(\r\n (v) =>\r\n (v.name || v.info?.fiscalCode || v.info?.customerName || v.info?.customerSurname) ??\r\n (allowNew ? v.href : \"\")\r\n )\r\n .join(\",\");\r\n } else {\r\n valueFormatted =\r\n value && value[0]\r\n ? (value[0].name ||\r\n value[0].info?.fiscalCode ||\r\n value[0].info?.customerName ||\r\n value[0].info?.customerSurname) ??\r\n (allowNew ? value[0].href : \"\")\r\n : \"\";\r\n }\r\n return valueFormatted;\r\n };\r\n\r\n private getSelectedOptions = (values: string[]) => {\r\n // get selected and new options\r\n let results = [] as BaseHeaderOptionModel[];\r\n values.forEach((value) => {\r\n let option = this.props.options.find((x: BaseHeaderOptionModel) =>\r\n this.optionMatches(\r\n value,\r\n x.name! || x.info?.fiscalCode! || x.info?.customerName! || x.info?.customerSurname!,\r\n true\r\n )\r\n );\r\n if (this.props.newOptionAllowed === true && option === undefined) {\r\n option = new BaseHeaderOptionModel({\r\n href: value,\r\n name: value,\r\n info: {\r\n fiscalCode: value,\r\n customerName: value,\r\n customerSurname: value,\r\n } as InfoEstimatesModel,\r\n });\r\n }\r\n if (option) {\r\n results.push(option);\r\n }\r\n });\r\n return results;\r\n };\r\n\r\n private onFocusHandler = (e: Event) => {\r\n // check min length of input text to open menu\r\n let isMenuOpen = true;\r\n const { minLength } = this.props;\r\n if (minLength) {\r\n isMenuOpen = this.state.inputText.length >= minLength ? true : false;\r\n }\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n onFocused: true,\r\n isMenuOpen: isMenuOpen,\r\n });\r\n }\r\n\r\n if (this.props.onFocusHandler != null) {\r\n let selectedOption = this.getValue();\r\n let valueFormatted = this.formatValue(selectedOption);\r\n this.props.onFocusHandler(this.props.name, valueFormatted);\r\n }\r\n };\r\n\r\n private onChangeHandler = (value: BaseHeaderOptionModel[]) => {\r\n let valuesToRemove = [] as string[];\r\n if (this.props.multiple && this.props.hideMenu !== true) {\r\n // remove already selected value\r\n valuesToRemove = value.map((x) => x.href!).filter((item, index, array) => array.indexOf(item) !== index);\r\n }\r\n value = value.reduce((unicized, item) => {\r\n // remove duplicated values\r\n if (valuesToRemove.includes(item.href!) || unicized.map((x) => x.href).includes(item.href)) {\r\n return unicized;\r\n } else {\r\n return [...unicized, item];\r\n }\r\n }, [] as BaseHeaderOptionModel[]);\r\n if (this.props.newOptionAllowed) {\r\n value.forEach((selected) => {\r\n // add new options\r\n if (\r\n this.props.options\r\n .map(\r\n (x: BaseHeaderOptionModel) =>\r\n x.name!.toLowerCase() ||\r\n x.info?.fiscalCode!.toLowerCase() ||\r\n x.info?.customerName!.toLowerCase() ||\r\n x.info?.customerSurname!.toLowerCase()\r\n )\r\n .includes(selected.name!.toLowerCase()) === false\r\n ) {\r\n this.addAndSelectOption(\r\n selected.name! ||\r\n selected.info?.fiscalCode! ||\r\n selected.info?.customerName! ||\r\n selected.info?.customerSurname!,\r\n false\r\n );\r\n }\r\n });\r\n }\r\n // let valueFormatted = this.formatValue(value);\r\n\r\n if (\r\n (this.props.multiple !== true && value.length > 0) ||\r\n (this.props.minLength !== undefined && this.state.inputText.length >= this.props.minLength)\r\n ) {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n isMenuOpen: false,\r\n });\r\n }\r\n }\r\n\r\n if (this.props.multiple === true && value.length === 0) {\r\n this.clearInput();\r\n }\r\n\r\n if (this.props.onChangeHandler != null) {\r\n this.props.onChangeHandler(value[0]);\r\n }\r\n };\r\n\r\n private onInputChangeHandler = (text: string, e: any) => {\r\n // check min length of input text to open menu\r\n let isMenuOpen = this.state.isMenuOpen;\r\n const { minLength } = this.props;\r\n if (minLength) {\r\n isMenuOpen = text.length >= minLength ? true : false;\r\n }\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n inputText: text,\r\n isMenuOpen: isMenuOpen,\r\n });\r\n }\r\n\r\n if (this.props.onInputChangeHandler != null) {\r\n this.props.onInputChangeHandler(this.props.name, text);\r\n }\r\n };\r\n\r\n private onBlurHandler = (e: Event) => {\r\n let isClickOnToggleMenuBtn = false;\r\n const evt = (e as unknown) as React.FocusEvent;\r\n if (\r\n evt.relatedTarget &&\r\n (evt.relatedTarget as HTMLElement).classList.contains(\"typeahead-menu-toggle-button\")\r\n ) {\r\n isClickOnToggleMenuBtn = true;\r\n }\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n onFocused: false,\r\n isMenuOpen: isClickOnToggleMenuBtn ? this.state.isMenuOpen : false,\r\n });\r\n }\r\n\r\n const value = evt.target.value.toLowerCase();\r\n this.addAndSelectOption(value, this.props.newOptionAllowed === true);\r\n\r\n if (this.props.onBlurHandler != null) {\r\n let selectedOption = this.getValue();\r\n let valueFormatted = this.formatValue(selectedOption);\r\n this.props.onBlurHandler(this.props.name, valueFormatted);\r\n }\r\n };\r\n\r\n private onKeyDown = (e: Event) => {\r\n let evt = (e as unknown) as React.KeyboardEvent;\r\n if (this.props.formatOnDigit) {\r\n let regex: RegExp;\r\n switch (this.props.customFormat) {\r\n case \"noNumbers\":\r\n regex = /[0-9]/g;\r\n if ((evt.key.match(regex) || []).length > 0) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n break;\r\n case \"noSpecials\":\r\n regex = /[^a-zA-Z0-9àáâäãåąčćęèéêëėįìíîïłńòóôöõøùúûüųūÿýżźñçčšžÀÁÂÄÃÅĄĆČĖĘÈÉÊËÌÍÎÏĮŁŃÒÓÔÖÕØÙÚÛÜŲŪŸÝŻŹÑßÇŒÆČŠŽ∂ð ,'-]/g;\r\n if ((evt.key.match(regex) || []).length > 0) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n }\r\n break;\r\n }\r\n }\r\n\r\n if (evt.key === \"Tab\" || evt.key === \"Enter\") {\r\n // Tab seleziona l'elemento suggerito (che inizia con)\r\n // Enter seleziona l'elemento interamente digitato (solo se l'inserimento di nuove opzioni è abilitato)\r\n const value = evt.currentTarget.value.toLowerCase();\r\n if (value.length > 0) {\r\n evt.preventDefault();\r\n evt.stopPropagation();\r\n if (evt.key === \"Tab\" && this.getValue().length === 0) {\r\n this.clearInput();\r\n }\r\n this.addAndSelectOption(value, true);\r\n }\r\n }\r\n };\r\n\r\n private addAndSelectOption = (value: string, force: boolean) => {\r\n if (this.props.newOptionAllowed === true && value) {\r\n value = value.toLowerCase();\r\n let regex: RegExp | undefined = undefined;\r\n switch (this.props.newOptionType) {\r\n case \"email\":\r\n regex = mailRegex;\r\n break;\r\n }\r\n if (regex === undefined || (value.match(regex) || []).length > 0) {\r\n this.clearInput();\r\n if (force) {\r\n let selectedOptions = this.getValue();\r\n let newOptions = this.getSelectedOptions(value.split(\",\"));\r\n newOptions = newOptions.filter((newOption) => selectedOptions.includes(newOption) === false);\r\n newOptions.forEach((newOption) => {\r\n selectedOptions.push(newOption);\r\n });\r\n this.onChangeHandler(selectedOptions);\r\n }\r\n }\r\n }\r\n };\r\n\r\n private onSearch = (\r\n option: BaseHeaderOptionModel,\r\n props: AllTypeaheadOwnAndInjectedProps\r\n ) => {\r\n if (props.selected.length) {\r\n return true;\r\n }\r\n\r\n let filter =\r\n option.name || option.info?.customerName || option.info?.customerSurname || option.info?.fiscalCode;\r\n\r\n return this.optionMatches(filter!, props.text, false);\r\n };\r\n\r\n private renderMenuItem = (\r\n option: TypeaheadResult,\r\n props: TypeaheadMenuProps,\r\n index: number\r\n ) => {\r\n let optionText =\r\n option.name || option.info?.fiscalCode || option.info?.customerName || option.info?.customerSurname;\r\n let searchText = props.text?.toLowerCase() ?? \"\";\r\n let parts: JSX.Element[] = [];\r\n let posLast = 0;\r\n const positions = this.getSearched(optionText!, searchText, false);\r\n positions.forEach((position, posIndex) => {\r\n if (position.start > posLast) {\r\n parts.push(\r\n {optionText!.substring(posLast, position.start)}\r\n );\r\n }\r\n parts.push(\r\n \r\n {optionText!.substring(position.start, position.end)}\r\n \r\n );\r\n posLast = position.end;\r\n });\r\n if (posLast < optionText!.length) {\r\n parts.push({optionText!.substring(posLast)});\r\n }\r\n if (this.props.multiple && this.getValue().some((x) => x.href === option.href)) {\r\n parts.push(\r\n \r\n \r\n \r\n );\r\n }\r\n return parts;\r\n };\r\n\r\n private onMenuToggle = (isOpen: boolean) => {\r\n if (this.typeaheadRef && this.typeaheadRef.current && \"focus\" in this.typeaheadRef.current) {\r\n if (isOpen) {\r\n (this.typeaheadRef.current as any).focus();\r\n } else {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n isMenuOpen: false,\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n private checkIfNewOptionAllowed = () => {\r\n // check regex to enable adding new option\r\n if (this.props.newOptionAllowed === true) {\r\n const value = this.state.inputText;\r\n let regex: RegExp | undefined = undefined;\r\n switch (this.props.newOptionType) {\r\n case \"email\":\r\n regex = mailRegex;\r\n break;\r\n }\r\n if (regex === undefined || (value.match(regex) || []).length > 0) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n private clearInput = () => {\r\n // clear input text\r\n if (this.typeaheadRef && this.typeaheadRef.current && \"clear\" in this.typeaheadRef.current) {\r\n (this.typeaheadRef.current as any).clear();\r\n // check min length of input text to open menu\r\n let isMenuOpen = true;\r\n const { minLength } = this.props;\r\n if (minLength && minLength > 0) {\r\n isMenuOpen = false;\r\n }\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n inputText: \"\",\r\n isMenuOpen,\r\n });\r\n }\r\n }\r\n };\r\n\r\n public render(): JSX.Element {\r\n const {\r\n controlId,\r\n id,\r\n label,\r\n placeholder,\r\n prepend,\r\n append,\r\n name,\r\n multiple,\r\n disabled,\r\n value,\r\n options,\r\n required,\r\n infoCode,\r\n isInvalid,\r\n error,\r\n floatingLabel,\r\n minLength,\r\n hideMenu,\r\n fullWidth,\r\n className,\r\n maxResults,\r\n onPaginate,\r\n } = this.props;\r\n\r\n const { onFocused, isMenuOpen, inputText } = this.state;\r\n\r\n // const floated = onFocused || value.length > 0 || inputText.length > 0;\r\n\r\n return (\r\n \r\n {floatingLabel === false && label ? (\r\n \r\n {label} {required ? : null}\r\n {infoCode ? : null}\r\n \r\n ) : null}\r\n \r\n {prepend ? (\r\n \r\n \r\n {prepend}\r\n \r\n \r\n ) : null}\r\n \r\n element.name ||\r\n element.info?.customerName ||\r\n element.info?.customerSurname ||\r\n element.info?.fiscalCode!\r\n }\r\n multiple={multiple}\r\n onFocus={this.onFocusHandler}\r\n onChange={this.onChangeHandler}\r\n onBlur={this.onBlurHandler}\r\n onKeyDown={this.onKeyDown}\r\n onInputChange={this.onInputChangeHandler}\r\n renderMenu={(items, menuProps) => (\r\n \r\n {items.map((result, index) => (\r\n <>\r\n \r\n {index < 5 && (\r\n <>\r\n \r\n {result.href.indexOf(\"FindSimulation\") > -1 ? (\r\n \r\n ) : result.href.indexOf(\"FindEstimate\") > -1 ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n {result.href.substring(result.href.lastIndexOf(\"/\") + 1)}\r\n \r\n \r\n )}\r\n \r\n \r\n ))}\r\n \r\n \r\n Elenco risultati\r\n \r\n \r\n \r\n )}\r\n options={options}\r\n placeholder={placeholder || \" \"}\r\n // placeholder={floatingLabel === false ? \"Selezionare\" : placeholder || \" \"}\r\n selected={this.getValue()}\r\n caseSensitive={false}\r\n ignoreDiacritics={true}\r\n emptyLabel={\"Nessun risultato trovato\"}\r\n // paginationText={\"Elenco risultati\"}\r\n newSelectionPrefix={\"Seleziona: \"}\r\n maxResults={maxResults ? maxResults : 10}\r\n isInvalid={isInvalid}\r\n disabled={disabled}\r\n clearButton={false}\r\n flip={true}\r\n filterBy={() => true}\r\n // filterBy={this.onSearch}\r\n renderMenuItemChildren={this.renderMenuItem}\r\n open={hideMenu ? false : isMenuOpen}\r\n minLength={minLength}\r\n allowNew={this.checkIfNewOptionAllowed()}\r\n // onPaginate={onPaginate}\r\n // paginate={false}\r\n >\r\n {floatingLabel !== false && label ? (\r\n \r\n {label}\r\n {required ? : null}\r\n {infoCode ? : null}\r\n \r\n ) : null}\r\n {hideMenu !== true ? (\r\n
\r\n this.onMenuToggle(!isMenuOpen)}\r\n className=\"typeahead-menu-toggle-button\"\r\n />\r\n
\r\n ) : null}\r\n \r\n \r\n {append ? (\r\n \r\n \r\n {append}\r\n \r\n \r\n ) : null}\r\n \r\n \r\n {error}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nexport { BaseHeaderAutoComplete as Unconnected };\r\nexport default BaseHeaderAutoComplete;\r\n","import IconNameEnum from \"constants/IconNameEnum\";\r\nimport environment from \"environment\";\r\nimport IAction from \"models/IAction\";\r\nimport IStore from \"models/IStore\";\r\nimport React from \"react\";\r\nimport { Col, Nav } from \"react-bootstrap\";\r\nimport { connect, DispatchProp } from \"react-redux\";\r\nimport NavigationUtility from \"utilities/NavigationUtility\";\r\nimport BaseDropdown from \"views/components/base-content/BaseDropdown\";\r\nimport BaseModal from \"views/components/base-content/BaseModal\";\r\nimport BaseButton from \"views/components/base-form/BaseButton\";\r\nimport HeaderUtenteOperationEnum from \"../../../../constants/HeaderUtenteOperationEnum\";\r\nimport jwt_decode from \"jwt-decode\";\r\nimport FormatUtility from \"utilities/FormatUtility\";\r\nimport UtenteAction from \"stores/utente/UtenteAction\";\r\nimport RouteEnum from \"constants/RouteEnum\";\r\nimport ResponseAuthTokensModel from \"stores/shared/models/ResponseAuthTokensModel\";\r\n\r\ninterface IProps {}\r\n\r\ninterface IState {\r\n readonly isVisibleAlertLogOut: boolean;\r\n readonly isVisibleAvviso: boolean;\r\n}\r\n\r\ninterface IStateToProps {\r\n readonly isRequesting: boolean;\r\n readonly isLogged: boolean;\r\n readonly userName: string;\r\n readonly userSurname: string;\r\n readonly descUO: string;\r\n}\r\n\r\nconst mapStateToProps = (state: IStore): IStateToProps => ({\r\n isRequesting: false,\r\n isLogged: state.utente.profilo.isLogged,\r\n userName: state.utente.profilo.nome,\r\n userSurname: state.utente.profilo.cognome,\r\n descUO: state.utente.profilo.descUO,\r\n});\r\n\r\nclass HeaderUtente extends React.Component>, IState> {\r\n constructor(props: IProps & IStateToProps & DispatchProp>) {\r\n super(props);\r\n\r\n this.state = {\r\n isVisibleAlertLogOut: false,\r\n isVisibleAvviso: false,\r\n } as IState;\r\n }\r\n\r\n private hasUnmounted = false;\r\n\r\n // componentDidMount() {\r\n // const { isLogged } = this.props;\r\n // const accessToken = sessionStorage.getItem(environment.accessTokenName);\r\n // if (isLogged && accessToken) {\r\n // this.props.dispatch(UtenteAction.userInfoGet());\r\n // }\r\n // }\r\n public componentWillUnmount() {\r\n this.hasUnmounted = true;\r\n }\r\n\r\n private redirectToPage = (page: string) => {\r\n NavigationUtility.redirectToPage(page);\r\n };\r\n\r\n private getUserName = (): string => {\r\n const { isLogged } = this.props;\r\n const accessToken = sessionStorage.getItem(environment.accessTokenName);\r\n if (isLogged && accessToken) {\r\n const decoded: any = jwt_decode(accessToken);\r\n if (decoded.family_name && decoded.given_name) {\r\n return `${FormatUtility.capitalizeFirstLetter(\r\n decoded.given_name\r\n )} ${FormatUtility.capitalizeFirstLetter(decoded.family_name)}`;\r\n }\r\n return \"Nome Cognome\";\r\n }\r\n return \"Nome Cognome\";\r\n };\r\n\r\n private getDescUo = (): string => {\r\n return sessionStorage.getItem(environment.descUoName) ?? \"\";\r\n };\r\n\r\n private onDropdownSelect = (code: string) => {\r\n switch (code) {\r\n case HeaderUtenteOperationEnum.Logout:\r\n this.showAlertLogout();\r\n break;\r\n }\r\n };\r\n\r\n private showAlertLogout = () => {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n isVisibleAlertLogOut: true,\r\n });\r\n }\r\n };\r\n\r\n private hideAlertLogout = () => {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n isVisibleAlertLogOut: false,\r\n });\r\n }\r\n };\r\n\r\n private handleAvvisoPopup = () => {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n isVisibleAvviso: !this.state.isVisibleAvviso,\r\n });\r\n }\r\n };\r\n\r\n private logout = () => {\r\n this.hideAlertLogout();\r\n const accessToken = sessionStorage.getItem(environment.accessTokenName) || \"\";\r\n const refreshToken = sessionStorage.getItem(environment.refreshTokenName) || \"\";\r\n var requestLogout = new ResponseAuthTokensModel({ accessToken: accessToken, refreshToken: refreshToken });\r\n this.props.dispatch(UtenteAction.logout(requestLogout));\r\n this.props.dispatch(UtenteAction.resetAll());\r\n window.close();\r\n if (window.closed === false) {\r\n this.handleAvvisoPopup();\r\n }\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const { isLogged } = this.props;\r\n const { isVisibleAlertLogOut, isVisibleAvviso } = this.state;\r\n\r\n const dropdownItems = [\r\n {\r\n code: HeaderUtenteOperationEnum.Utente,\r\n label: this.getUserName(),\r\n className: \"d-xl-none text-muted disabled\",\r\n },\r\n // {\r\n // code: HeaderUtenteOperationEnum.Profilo,\r\n // label: \"Profilo\", //i18n.t(\"header_lbl_profilo_utente\")\r\n // icon: IconNameEnum.Utente,\r\n // },\r\n {\r\n code: HeaderUtenteOperationEnum.Logout,\r\n label: \"Logout\", //i18n.t(\"header_lbl_logout\")\r\n icon: IconNameEnum.Logout,\r\n },\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n }\r\n />\r\n\r\n \r\n
Logout effettuato con successo!
\r\n

Il tab del browser non può essere chiuso automaticamente.

\r\n

Si prega di chiuderlo manualmente.

\r\n \r\n }\r\n footer={\r\n \r\n }\r\n />\r\n \r\n );\r\n }\r\n}\r\n\r\nexport { HeaderUtente as Unconnected };\r\nexport default connect(mapStateToProps)(HeaderUtente);\r\n","import React from \"react\";\r\nimport { ListGroup, Nav, Overlay, Popover } from \"react-bootstrap\";\r\nimport { connect, DispatchProp } from \"react-redux\";\r\nimport NavigationUtility from \"utilities/NavigationUtility\";\r\nimport IStore from \"models/IStore\";\r\nimport IAction from \"models/IAction\";\r\nimport BaseButton from \"views/components/base-form/BaseButton\";\r\nimport IconNameEnum from \"constants/IconNameEnum\";\r\nimport RouteEnum from \"constants/RouteEnum\";\r\nimport NotificheAction from \"stores/notifiche/NotificheAction\";\r\nimport PreventiviInScadenzaModel from \"stores/notifiche/models/PreventiviInScadenzaModel\";\r\nimport PreventiviConFirmaDigitaleModel from \"stores/notifiche/models/PreventiviConFirmaDigitaleModel\";\r\nimport AppointmentModel from \"stores/notifiche/models/AppointmentModel\";\r\nimport { selectRequesting } from \"selectors/requesting/RequestingSelector\";\r\n\r\ninterface IProps {}\r\n\r\ninterface IState {\r\n readonly showAlert: boolean;\r\n}\r\n\r\ninterface IStateToProps {\r\n readonly isLogged: boolean;\r\n readonly preventiviInScadenza: PreventiviInScadenzaModel[];\r\n readonly preventiviConFirmaDigitale: PreventiviConFirmaDigitaleModel[];\r\n readonly appointments: AppointmentModel[];\r\n readonly preventiviInScadenzaTotal: number;\r\n readonly preventiviConFirmaDigitaleTotal: number;\r\n readonly appointmentsTotal: number;\r\n readonly notificheTotal: number;\r\n readonly isRequesting: boolean;\r\n}\r\n\r\nconst mapStateToProps = (state: IStore): IStateToProps => ({\r\n isLogged: state.utente.profilo.isLogged,\r\n preventiviInScadenza: state.notifiche.preventiviInScadenza,\r\n preventiviConFirmaDigitale: state.notifiche.preventiviConFirmaDigitale,\r\n appointments: state.notifiche.appointments,\r\n preventiviInScadenzaTotal: state.notifiche.preventiviInScadenzaTotal,\r\n preventiviConFirmaDigitaleTotal: state.notifiche.preventiviConFirmaDigitaleTotal,\r\n appointmentsTotal: state.notifiche.appointmentsTotal,\r\n notificheTotal:\r\n state.notifiche.appointmentsTotal +\r\n state.notifiche.preventiviConFirmaDigitaleTotal +\r\n state.notifiche.preventiviInScadenzaTotal,\r\n isRequesting: selectRequesting(state, [\r\n NotificheAction.REQUEST_SIMULAZIONE_NOTIFICHE_GET_EXPIRING_ESTIMATE,\r\n NotificheAction.REQUEST_SIMULAZIONE_NOTIFICHE_GET_DIGITAL_SIGNED_DOCUMENTS,\r\n ]),\r\n});\r\n\r\nclass HeaderNotifiche extends React.Component>, IState> {\r\n constructor(props: IProps & IStateToProps & DispatchProp>) {\r\n super(props);\r\n this.state = {\r\n showAlert: false,\r\n } as IState;\r\n }\r\n\r\n private hasUnmounted = false;\r\n private container: React.RefObject = React.createRef();\r\n\r\n componentDidMount() {\r\n this.props.dispatch(NotificheAction.getTodayAppointments());\r\n this.props.dispatch(NotificheAction.getExpiringEstimateNotification());\r\n this.props.dispatch(NotificheAction.getDigitalSignedDocumentNotification());\r\n }\r\n\r\n public componentWillUnmount() {\r\n this.hasUnmounted = true;\r\n }\r\n\r\n private redirectToPage = (page: string) => {\r\n NavigationUtility.redirectToPage(page);\r\n this.toggleAlert(false);\r\n };\r\n\r\n private toggleAlert = (show: boolean, autoclose?: boolean) => {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n showAlert: show,\r\n });\r\n if (autoclose === true) {\r\n setTimeout(() => {\r\n this.toggleAlert(false);\r\n }, 5000);\r\n }\r\n }\r\n };\r\n\r\n private handleVisualizzaNotifiche = () => {\r\n this.redirectToPage(RouteEnum.NOTIFICHE);\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const { showAlert } = this.state;\r\n const {\r\n preventiviInScadenzaTotal,\r\n preventiviConFirmaDigitaleTotal,\r\n appointmentsTotal,\r\n notificheTotal,\r\n isRequesting,\r\n } = this.props;\r\n\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nexport { HeaderNotifiche as Unconnected };\r\nexport default connect(mapStateToProps)(HeaderNotifiche);\r\n","import React from \"react\";\r\nimport { ListGroup, Nav, Overlay, Popover } from \"react-bootstrap\";\r\nimport { connect, DispatchProp } from \"react-redux\";\r\nimport NavigationUtility from \"utilities/NavigationUtility\";\r\nimport IStore from \"models/IStore\";\r\nimport IAction from \"models/IAction\";\r\nimport BaseButton from \"views/components/base-form/BaseButton\";\r\nimport IconNameEnum from \"constants/IconNameEnum\";\r\nimport NotePopup from \"views/components/note/NotePopup\";\r\nimport FormatUtility from \"utilities/FormatUtility\";\r\nimport NotaAction from \"stores/note/NotaAction\";\r\nimport { IGetNoteTopicsRequest } from \"stores/note/NotaEffect\";\r\nimport NotaOrderModel from \"stores/note/models/NotaOrderModel\";\r\nimport NoteTopicsModel from \"../../../../stores/note/models/NoteTopicsModel\";\r\nimport NotaEstimateModel from \"stores/note/models/NotaEstimateModel\";\r\nimport NotaModel from \"../../../../stores/note/models/NotaModel\";\r\n\r\ninterface IProps {}\r\n\r\ninterface IState {\r\n readonly showAlert: boolean;\r\n readonly openNotePopup: boolean;\r\n}\r\n\r\ninterface IStateToProps {\r\n readonly isRequesting: boolean;\r\n readonly isLogged: boolean;\r\n readonly noteTopicsTotal: number;\r\n readonly formModel: NotaOrderModel;\r\n readonly noteTopics: NoteTopicsModel;\r\n}\r\n\r\nconst mapStateToProps = (state: IStore): IStateToProps => ({\r\n isRequesting: false,\r\n isLogged: state.utente.profilo.isLogged,\r\n noteTopicsTotal: state.nota.noteTopicsTotal,\r\n formModel: state.nota.noteTopicsForm,\r\n noteTopics: state.nota.noteTopics,\r\n});\r\n\r\nclass HeaderNote extends React.Component>, IState> {\r\n constructor(props: IProps & IStateToProps & DispatchProp>) {\r\n super(props);\r\n this.state = {\r\n showAlert: false,\r\n openNotePopup: false,\r\n } as IState;\r\n }\r\n\r\n componentDidMount() {\r\n const request: IGetNoteTopicsRequest = {\r\n pageNumber: 0,\r\n pageSize: 100,\r\n };\r\n\r\n this.props.dispatch(NotaAction.getNoteTopics(request));\r\n }\r\n\r\n private hasUnmounted = false;\r\n private container: React.RefObject = React.createRef();\r\n\r\n public componentWillUnmount() {\r\n this.hasUnmounted = true;\r\n }\r\n\r\n private toggleAlert = (show: boolean, autoclose?: boolean) => {\r\n if (this.hasUnmounted === false) {\r\n this.setState({\r\n showAlert: show,\r\n });\r\n // if (autoclose === true) {\r\n // setTimeout(() => {\r\n // this.toggleAlert(false);\r\n // }, 5000);\r\n // }\r\n }\r\n };\r\n\r\n private handleElencoNote = () => {\r\n NavigationUtility.redirectToPage(\"/note\");\r\n this.toggleAlert(false);\r\n };\r\n\r\n private handleNotePopup = async (note: NotaEstimateModel) => {\r\n await this.props.dispatch(NotaAction.setNotaDetails(note));\r\n\r\n await this.props.dispatch(NotaAction.getEstimateNote(note.idEstimate));\r\n\r\n this.props.noteTopicsTotal !== 0 &&\r\n (await this.props.dispatch(NotaAction.setNoteAsRead(Number(note.idEstimate!))));\r\n\r\n this.setState({ openNotePopup: true });\r\n this.toggleAlert(false);\r\n };\r\n\r\n private handleCloseNotePopup = async () => {\r\n const request: IGetNoteTopicsRequest = {\r\n pageNumber: 0,\r\n pageSize: 100,\r\n };\r\n\r\n await this.props.dispatch(NotaAction.getNoteTopics(request));\r\n\r\n this.setState({ openNotePopup: !this.state.openNotePopup });\r\n };\r\n\r\n private getTipoRichiesta = (richiesta: number) => {\r\n const Richiesta = {\r\n 1: \"CQS\",\r\n 2: \"CQP\",\r\n 3: \"DLG\",\r\n };\r\n\r\n return Richiesta[richiesta];\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const { showAlert, openNotePopup } = this.state;\r\n const { noteTopicsTotal, noteTopics } = this.props;\r\n\r\n return (\r\n <>\r\n \r\n\r\n {openNotePopup && }\r\n \r\n );\r\n }\r\n}\r\n\r\nexport { HeaderNote as Unconnected };\r\nexport default connect(mapStateToProps)(HeaderNote);\r\n","import React from \"react\";\r\nimport { Navbar, NavbarBrand } from \"react-bootstrap\";\r\nimport { connect, DispatchProp } from \"react-redux\";\r\nimport ConfigActions from \"stores/config/ConfigAction\";\r\nimport UtenteAction from \"stores/utente/UtenteAction\";\r\nimport NavigationUtility from \"utilities/NavigationUtility\";\r\nimport logoLinks from \"../../../assets/img/linksLogo.png\";\r\nimport logoBanca from \"../../../assets/img/logo_banca.svg\";\r\nimport IAction from \"../../../models/IAction\";\r\nimport IStore from \"../../../models/IStore\";\r\nimport BaseHeaderAutoComplete from \"../base-form/BaseHeaderAutoComplete\";\r\nimport BaseLabel from \"../base-form/BaseLabel\";\r\nimport LoadingIndicator from \"../loading-indicator/LoadingIndicator\";\r\nimport HeaderUtente from \"./components/HeaderUtente\";\r\nimport FormatUtility from \"utilities/FormatUtility\";\r\nimport HeaderNotifiche from \"./components/HeaderNotifiche\";\r\nimport HeaderNote from \"./components/HeaderNote\";\r\nimport ConfigAction from \"stores/config/ConfigAction\";\r\nimport CercaHeaderAction from \"../../../stores/cerca-header/CercaHeaderAction\";\r\nimport SearchModel from \"../../../stores/cerca-header/models/SearchModel\";\r\nimport { CercaHeaderRequest } from \"../../../stores/cerca-header/CercaHeaderEffect\";\r\nimport RouteEnum from \"constants/RouteEnum\";\r\nimport CercaAction from \"stores/ricerca/CercaAction\";\r\nimport BaseHeaderOptionModel from \"stores/shared/models/BaseHeaderOptionModel\";\r\nimport EstimatesModel from \"stores/cerca-header/models/EstimatesModel\";\r\nimport SimulationsResultModel from \"stores/cerca-header/models/SimulationsResultModel\";\r\nimport SimulazioneStepTwoFormModel from \"stores/simulazione/models/SimulazioneStepTwoFormModel\";\r\nimport SimulazioneStepThreeFormModel from \"stores/simulazione/models/SimulazioneStepThreeFormModel\";\r\nimport { ISimulateRequest } from \"stores/simulazione/SimulazioneEffect\";\r\nimport SimulazioneAction from \"stores/simulazione/SimulazioneAction\";\r\nimport LookUpAction from \"stores/lookup/LookUpAction\";\r\nimport DateFormatEnum from \"constants/DateFormatEnum\";\r\nimport environment from \"environment\";\r\nimport SimulazioneStepOneFormModel from \"stores/simulazione/models/SimulazioneStepOneFormModel\";\r\nimport moment from \"moment\";\r\nimport SimulazioneModel from \"stores/simulazione/models/SimulazioneModel\";\r\nimport CercaDettalgioSimulazioneModel from \"stores/ricerca/models/CercaDettalgioSimulazioneModel\";\r\nimport CercaDettalgioPreventivoModel from \"stores/ricerca/models/CercaDettalgioPreventivoModel\";\r\nimport { selectRequesting } from \"selectors/requesting/RequestingSelector\";\r\nimport StepsUtility from \"utilities/StepsUtility\";\r\nimport EstimateAction from \"stores/estimate/EstimateAction\";\r\nimport CanaliModel from \"../../../stores/lookup/models/CanaliModel\";\r\n\r\ninterface IProps {}\r\ninterface IState {\r\n readonly isNavigating: boolean;\r\n readonly token: string;\r\n readonly embeddedMode: boolean;\r\n}\r\ninterface IStateToProps {\r\n readonly isRequesting: boolean;\r\n readonly isLogged: boolean;\r\n readonly pathname: string;\r\n readonly searchHeader: SearchModel;\r\n readonly form: BaseHeaderOptionModel;\r\n readonly embeddedMode: boolean;\r\n readonly formValuesStep2: SimulazioneStepTwoFormModel;\r\n readonly dettaglioSimulazione?: CercaDettalgioSimulazioneModel;\r\n readonly dettaglioPreventivo?: CercaDettalgioPreventivoModel;\r\n readonly resumedSimulazione: SimulazioneModel;\r\n readonly canali: CanaliModel[];\r\n}\r\n\r\nconst mapStateToProps = (state: IStore): IStateToProps => ({\r\n isRequesting: false,\r\n // isRequesting: selectRequesting(state, [UtenteAction.REQUEST_UTENTE_GET]),\r\n isLogged: state.utente.profilo.isLogged,\r\n pathname: state.router.location.pathname,\r\n searchHeader: state.cercaHeader.search,\r\n form: state.cercaHeader.form,\r\n embeddedMode: state.config.embeddedMode,\r\n formValuesStep2: state.simulazione.formStep2,\r\n dettaglioSimulazione: state.cerca.cercaDettalgioSimulazioneModel,\r\n dettaglioPreventivo: state.cerca.dettalgioPreventivoModel,\r\n resumedSimulazione: state.simulazione.resumedSimulazione,\r\n canali: state.lookup.canali,\r\n});\r\n\r\nclass Header extends React.Component>, IState> {\r\n constructor(props: IProps & IStateToProps & DispatchProp>) {\r\n super(props);\r\n this.state = {\r\n isNavigating: false,\r\n token: \"\",\r\n embeddedMode: false,\r\n };\r\n }\r\n public componentDidMount() {\r\n const isIE: boolean = !!window.MSInputMethodContext && !!document.DOCUMENT_NODE;\r\n this.props.dispatch(ConfigActions.setIsIE(isIE));\r\n if (navigator.userAgent.indexOf(\"Safari\") === -1 && navigator.userAgent.indexOf(\"Chrome\") !== -1) {\r\n this.props.dispatch(ConfigActions.setIsSafari(true));\r\n }\r\n // this.loadData();\r\n }\r\n\r\n private loadData = async () => {\r\n if (this.props.isLogged) {\r\n await this.props.dispatch(UtenteAction.utenteGet());\r\n }\r\n };\r\n\r\n public componentDidUpdate(\r\n prevProps: Readonly>>,\r\n prevState: Readonly,\r\n snapshot?: any\r\n ): void {\r\n if (prevProps.isLogged === false && this.props.isLogged === true) {\r\n // this.loadData();\r\n }\r\n }\r\n\r\n private redirectToPage = (page: string) => {\r\n NavigationUtility.redirectToPage(page);\r\n };\r\n\r\n private addLoader = async () => {\r\n this.setState({ isNavigating: true });\r\n };\r\n\r\n private removeLoader = async () => {\r\n this.setState({ isNavigating: false });\r\n };\r\n\r\n private onChangeHandler = async (value: BaseHeaderOptionModel) => {\r\n let link = \"\";\r\n let id = \"\";\r\n let idEstimate;\r\n let idEstimateRequest;\r\n debugger;\r\n await this.props.dispatch(CercaHeaderAction.setForm(value));\r\n await this.props.dispatch(ConfigAction.setSearchOnFocus(false));\r\n\r\n if (value) {\r\n link = value.href!;\r\n id = link.substring(link.lastIndexOf(\"/\") + 1);\r\n\r\n idEstimate = value.info?.idEstimate;\r\n idEstimateRequest = value.info?.idEstimateRequest;\r\n }\r\n\r\n if (link.indexOf(\"FindSimulation\") > -1) {\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(true));\r\n this.addLoader();\r\n await this.props.dispatch(CercaAction.dettaglioSimulazioniGet(Number(id)));\r\n await this.props.dispatch(SimulazioneAction.resumeSimulation(Number(id)));\r\n await this.props.dispatch(CercaAction.resetDettaglioPreventivo());\r\n await this.props.dispatch(EstimateAction.resetPreventivo());\r\n await this.handleSimulazioneRedirect();\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(false));\r\n this.removeLoader();\r\n } else if (link.indexOf(\"FindEstimate\") > -1) {\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(true));\r\n this.addLoader();\r\n await this.props.dispatch(\r\n CercaAction.dettaglioPreventivoGet(Number(idEstimate), Number(idEstimateRequest))\r\n );\r\n await this.handleDettaglio();\r\n await this.handlePreventivoRedirect();\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(false));\r\n this.removeLoader();\r\n }\r\n };\r\n\r\n private handleDettaglio = async () => {\r\n const { dettaglioPreventivo } = this.props;\r\n\r\n await this.props.dispatch(CercaAction.dettaglioSimulazioniGet(Number(dettaglioPreventivo?.idSimulation)));\r\n await this.props.dispatch(SimulazioneAction.resumeSimulation(Number(dettaglioPreventivo?.idSimulation)));\r\n };\r\n\r\n private handlePreventivoRedirect = async () => {\r\n const { formValuesStep2, canali, dettaglioSimulazione, dettaglioPreventivo, resumedSimulazione } = this.props;\r\n if (dettaglioSimulazione?.idAgent) {\r\n this.props.dispatch(LookUpAction.canaliGet(Number(dettaglioSimulazione?.idAgent)));\r\n }\r\n if (dettaglioSimulazione && dettaglioPreventivo && resumedSimulazione) {\r\n const step1FormValues = StepsUtility.setStep1FormValues(\r\n dettaglioSimulazione,\r\n resumedSimulazione,\r\n canali,\r\n dettaglioPreventivo\r\n );\r\n // const step1FormValues = new SimulazioneStepOneFormModel({\r\n // cliente: dettaglioSimulazione.idAdministrativeCategory.toString(),\r\n // idAdministration: dettaglioSimulazione.idAdministration,\r\n // amministrazioneCensita: dettaglioSimulazione.idAdministration != null,\r\n // amministrazioneNonCensita: dettaglioSimulazione.idAdministration == null,\r\n // atc: dettaglioSimulazione.idAdministration\r\n // ? dettaglioSimulazione.atc\r\n // : dettaglioSimulazione.unregisteredAtcName,\r\n // dataNascita: moment(dettaglioSimulazione.birthDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // ),\r\n // nettoMensile:\r\n // dettaglioSimulazione.requestType === \"CQS\" || dettaglioSimulazione.requestType === \"DLG\"\r\n // ? FormatUtility.numberWithSeparators(dettaglioSimulazione.salary.toString(), 0.01)?.toString()\r\n // : undefined,\r\n // pensioneNettaMensile:\r\n // dettaglioSimulazione.requestType === \"CQP\"\r\n // ? FormatUtility.numberWithSeparators(dettaglioSimulazione.salary.toString(), 0.01)?.toString()\r\n // : undefined,\r\n // dataAssunzione:\r\n // dettaglioSimulazione.requestType === \"CQS\" || dettaglioSimulazione.requestType === \"DLG\"\r\n // ? moment(dettaglioSimulazione.hiringDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // )\r\n // : undefined,\r\n // dataDecorrenza: moment(dettaglioSimulazione.effectiveDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // ), //effective\r\n // dataPensionamento:\r\n // dettaglioSimulazione.requestType === \"CQP\"\r\n // ? moment(dettaglioSimulazione.hiringDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // )\r\n // : undefined,\r\n // boxOneRata: FormatUtility.numberWithSeparators(\r\n // dettaglioSimulazione.payment.toString(),\r\n // 0.01\r\n // )?.toString(),\r\n // boxOneDurata: dettaglioSimulazione.duration,\r\n // canale: dettaglioSimulazione.idChannel.toString(),\r\n // segmento: dettaglioSimulazione.idSegment.toString(),\r\n // fonte: dettaglioPreventivo.sourceType.toString(),\r\n // dettaglioFonte: dettaglioPreventivo.sourceDetail,\r\n // agente: dettaglioSimulazione.idAgent.toString(),\r\n // tipologiaPratica: resumedSimulazione.idPracticeType\r\n // ? resumedSimulazione.idPracticeType?.toString()\r\n // : environment.defaultIdPracticeType,\r\n // });\r\n\r\n const step2FormValues = new SimulazioneStepTwoFormModel({\r\n ...formValuesStep2,\r\n nome: dettaglioSimulazione.name,\r\n convenzione: resumedSimulazione.idConvention.toString(),\r\n fasciaSottoLivelli: resumedSimulazione.idSubLevel\r\n ? resumedSimulazione.idSubLevel?.toString()\r\n : environment.defaultIdSubLevel,\r\n });\r\n\r\n const existingExtinctions = FormatUtility.numberWithSeparators(\r\n dettaglioPreventivo.existingExtinctions,\r\n 0.01\r\n )?.toString();\r\n\r\n const step3FormValues = new SimulazioneStepThreeFormModel({\r\n name: dettaglioPreventivo.firstName,\r\n surname: dettaglioPreventivo.lastName,\r\n sex: dettaglioPreventivo.gender,\r\n birthNation: dettaglioPreventivo.birthNation,\r\n birthPlace: dettaglioPreventivo.birthPlaceCode,\r\n birthForeignPlace: dettaglioPreventivo.birthPlace,\r\n // birthCounty: dettaglioPreventivo.birthCounty,\r\n birthDate: dettaglioPreventivo.birthDate,\r\n taxCode: dettaglioPreventivo.fiscalCode,\r\n // residenceNation: dettaglioPreventivo.residenceNation,\r\n residenceNation: \"Z000\", //TODO: use the correct value (above line) when the field is added on the DB\r\n residencePlace: dettaglioPreventivo.residencePlaceCode,\r\n // residenceCounty: dettaglioPreventivo.residenceCounty,\r\n residenceAddress: dettaglioPreventivo.residenceAddress,\r\n residenceCivicNumber: dettaglioPreventivo.residenceCivicNumber,\r\n mobileNumber: dettaglioPreventivo.mobilePhone,\r\n email: dettaglioPreventivo.mail,\r\n existingExtinctions: existingExtinctions,\r\n thirdPartiesYearExtinctions: dettaglioPreventivo.thirdPartiesYearExtinctions === true ? \"1\" : \"2\",\r\n existingAssignment: dettaglioPreventivo.existingAssignment,\r\n residenceAddressType: dettaglioPreventivo.residenceAddressType,\r\n idEstimate: Number(dettaglioPreventivo.idEstimate),\r\n });\r\n\r\n const simulazione = new SimulazioneModel({\r\n idSimulation: dettaglioSimulazione.id,\r\n idProduct: dettaglioSimulazione.idProduct,\r\n idInsuranceRc: dettaglioSimulazione.insurances?.creditRisk?.idInsurance,\r\n idInsurancePriceListRc: dettaglioSimulazione.insurances?.creditRisk?.idInsurancePriceList,\r\n idInsuranceRv: dettaglioSimulazione.insurances?.lifeRisk?.idInsurance,\r\n idInsurancePriceListRv: dettaglioSimulazione.insurances?.lifeRisk?.idInsurancePriceList,\r\n idRequestType: dettaglioSimulazione.idRequestedType,\r\n });\r\n\r\n const simulateRequest: ISimulateRequest = {\r\n idProduct: dettaglioPreventivo.idProduct,\r\n idRequestedType: dettaglioPreventivo.idRequestType,\r\n idChannel: dettaglioPreventivo.idChannel,\r\n idSegment: dettaglioPreventivo.idSegment,\r\n idAgent: dettaglioPreventivo.idAgent,\r\n idAdministrativeCategory: dettaglioPreventivo.idAdministrativeCategory,\r\n instalment: dettaglioPreventivo.installment,\r\n duration: dettaglioPreventivo.duration,\r\n birthDate: dettaglioPreventivo.birthDate,\r\n hiringDate: dettaglioSimulazione.hiringDate,\r\n amount: resumedSimulazione.amount,\r\n simulationRequestType: 0,\r\n idConvention: resumedSimulazione.idConvention,\r\n idSubLevel: resumedSimulazione.idSubLevel,\r\n idPracticeType: resumedSimulazione.idPracticeType,\r\n };\r\n\r\n await this.props.dispatch(SimulazioneAction.setFormStep1(step1FormValues));\r\n await this.props.dispatch(SimulazioneAction.setFormStep2(step2FormValues));\r\n await this.props.dispatch(SimulazioneAction.setFormStep3(step3FormValues));\r\n await this.props.dispatch(SimulazioneAction.setSimulazioneSalvata(simulazione));\r\n await this.props.dispatch(SimulazioneAction.simulate(simulateRequest));\r\n\r\n await this.props.dispatch(\r\n LookUpAction.segmentiGet(\r\n Number(dettaglioSimulazione.idRequestedType),\r\n Number(dettaglioSimulazione.idAdministrativeCategory),\r\n Number(dettaglioSimulazione.idChannel),\r\n Number(dettaglioSimulazione.idAgent)\r\n )\r\n );\r\n\r\n await this.props.dispatch(\r\n SimulazioneAction.prodottiLightGet(\r\n Number(dettaglioSimulazione.idRequestedType),\r\n Number(dettaglioSimulazione.idAdministrativeCategory),\r\n dettaglioSimulazione.idSegment.toString()!,\r\n Number(dettaglioSimulazione.idAgent)\r\n )\r\n );\r\n await this.props.dispatch(LookUpAction.comuniGetBirthPlace(\"\"));\r\n await this.props.dispatch(LookUpAction.comuniGetResidencePlace(\"\"));\r\n this.redirectToPageByReqType(dettaglioPreventivo.requestType!);\r\n await this.props.dispatch(SimulazioneAction.setStep(1));\r\n await this.props.dispatch(SimulazioneAction.setStep(2));\r\n }\r\n };\r\n\r\n private handleSimulazioneRedirect = async () => {\r\n const { formValuesStep2, dettaglioSimulazione, canali, resumedSimulazione } = this.props;\r\n\r\n if (dettaglioSimulazione && resumedSimulazione) {\r\n const step1FormValues = StepsUtility.setStep1FormValues(dettaglioSimulazione, resumedSimulazione, canali);\r\n // const step1FormValues = new SimulazioneStepOneFormModel({\r\n // cliente: dettaglioSimulazione.idAdministrativeCategory.toString(),\r\n // idAdministration: dettaglioSimulazione.idAdministration,\r\n // amministrazioneCensita: dettaglioSimulazione.idAdministration != null,\r\n // amministrazioneNonCensita: dettaglioSimulazione.idAdministration == null,\r\n // atc: dettaglioSimulazione.idAdministration\r\n // ? dettaglioSimulazione.atc\r\n // : dettaglioSimulazione.unregisteredAtcName,\r\n // dataNascita: moment(dettaglioSimulazione.birthDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // ),\r\n // nettoMensile:\r\n // dettaglioSimulazione.requestType === \"CQS\" || dettaglioSimulazione.requestType === \"DLG\"\r\n // ? FormatUtility.numberWithSeparators(dettaglioSimulazione.salary.toString(), 0.01)?.toString()\r\n // : undefined,\r\n // pensioneNettaMensile:\r\n // dettaglioSimulazione.requestType === \"CQP\"\r\n // ? FormatUtility.numberWithSeparators(dettaglioSimulazione.salary.toString(), 0.01)?.toString()\r\n // : undefined,\r\n // dataAssunzione:\r\n // dettaglioSimulazione.requestType === \"CQS\" || dettaglioSimulazione.requestType === \"DLG\"\r\n // ? moment(dettaglioSimulazione.hiringDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // )\r\n // : undefined,\r\n // dataDecorrenza: moment(dettaglioSimulazione.effectiveDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // ), //effective\r\n // dataPensionamento:\r\n // dettaglioSimulazione.requestType === \"CQP\"\r\n // ? moment(dettaglioSimulazione.hiringDate, \"YYYY-MM-DDTHH:mm:ss.SSS\").format(\r\n // DateFormatEnum.ITA_DATE\r\n // )\r\n // : undefined,\r\n // boxOneRata: FormatUtility.numberWithSeparators(\r\n // dettaglioSimulazione.payment.toString(),\r\n // 0.01\r\n // )?.toString(),\r\n // boxOneDurata: dettaglioSimulazione.duration,\r\n // canale: dettaglioSimulazione.idChannel.toString(),\r\n // segmento: dettaglioSimulazione.idSegment.toString(),\r\n // agente: dettaglioSimulazione.idAgent.toString(),\r\n // tipologiaPratica: resumedSimulazione.idPracticeType\r\n // ? resumedSimulazione.idPracticeType?.toString()\r\n // : environment.defaultIdPracticeType,\r\n // });\r\n\r\n const step2FormValues = new SimulazioneStepTwoFormModel({\r\n ...formValuesStep2,\r\n nome: dettaglioSimulazione.name,\r\n convenzione: resumedSimulazione.idConvention.toString(),\r\n fasciaSottoLivelli: resumedSimulazione.idSubLevel\r\n ? resumedSimulazione.idSubLevel?.toString()\r\n : environment.defaultIdSubLevel,\r\n });\r\n\r\n const simulazione = new SimulazioneModel({\r\n idSimulation: dettaglioSimulazione.id,\r\n idProduct: dettaglioSimulazione.idProduct,\r\n idInsuranceRc: dettaglioSimulazione.insurances?.creditRisk?.idInsurance,\r\n idInsurancePriceListRc: dettaglioSimulazione.insurances?.creditRisk?.idInsurancePriceList,\r\n idInsuranceRv: dettaglioSimulazione.insurances?.lifeRisk?.idInsurance,\r\n idInsurancePriceListRv: dettaglioSimulazione.insurances?.lifeRisk?.idInsurancePriceList,\r\n idRequestType: dettaglioSimulazione.idRequestedType,\r\n });\r\n\r\n await this.props.dispatch(SimulazioneAction.setFormStep1(step1FormValues));\r\n await this.props.dispatch(SimulazioneAction.setFormStep2(step2FormValues));\r\n await this.props.dispatch(SimulazioneAction.setSimulazioneSalvata(simulazione));\r\n\r\n await this.props.dispatch(\r\n LookUpAction.segmentiGet(\r\n Number(dettaglioSimulazione.idRequestedType),\r\n Number(dettaglioSimulazione.idAdministrativeCategory),\r\n Number(dettaglioSimulazione.idChannel),\r\n Number(dettaglioSimulazione.idAgent)\r\n )\r\n );\r\n\r\n await this.props.dispatch(\r\n SimulazioneAction.prodottiLightGet(\r\n Number(dettaglioSimulazione.idRequestedType),\r\n Number(dettaglioSimulazione.idAdministrativeCategory),\r\n dettaglioSimulazione.idSegment.toString()!,\r\n Number(dettaglioSimulazione.idAgent)\r\n )\r\n );\r\n this.redirectToPageByReqType(dettaglioSimulazione.requestType!);\r\n await this.props.dispatch(SimulazioneAction.setStep(1));\r\n await this.removeLoader();\r\n }\r\n };\r\n\r\n private redirectToPageByReqType = async (requestType: string) => {\r\n switch (requestType) {\r\n case \"CQP\":\r\n NavigationUtility.redirectToPage(RouteEnum.CQP);\r\n break;\r\n case \"CQS\":\r\n NavigationUtility.redirectToPage(RouteEnum.CQS);\r\n break;\r\n case \"DLG\":\r\n NavigationUtility.redirectToPage(RouteEnum.DLG);\r\n break;\r\n }\r\n };\r\n\r\n private onBlurHandler = () => {\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(false));\r\n };\r\n\r\n private onFocusHandler = () => {\r\n this.props.dispatch(ConfigAction.setSearchOnFocus(true));\r\n };\r\n\r\n private onInputChangeHandlerAutocomplete = async (name: string, value: BaseHeaderOptionModel) => {\r\n const request: CercaHeaderRequest = {\r\n searchText: String(value),\r\n };\r\n\r\n await this.props.dispatch(CercaHeaderAction.setForm(value));\r\n\r\n String(value)?.length > 2 && (await this.props.dispatch(CercaHeaderAction.search(request)));\r\n };\r\n\r\n private onPaginate = async () => {\r\n const request: CercaHeaderRequest = {\r\n searchText: \"\",\r\n totRecords: 3,\r\n };\r\n\r\n // await this.props.dispatch(CercaHeaderAction.search(request));\r\n await NavigationUtility.redirectToPage(RouteEnum.RISULTATI);\r\n };\r\n\r\n public render(): JSX.Element | null {\r\n const { isLogged, form, searchHeader, embeddedMode } = this.props;\r\n\r\n const { isNavigating } = this.state;\r\n\r\n // if (isLogged === false || NavigationUtility.checkIfIsSidePage(pathname) === true) {\r\n // return <>;\r\n // }\r\n let options: any;\r\n\r\n if (!embeddedMode) {\r\n let optionEstimates = searchHeader.estimatesResult.map((item: EstimatesModel) => {\r\n let items = {\r\n href: item.href,\r\n info: {\r\n customerName: item.info?.customerName ?? \"\",\r\n customerSurname: item.info?.customerSurname ?? \"\",\r\n fiscalCode: item.info?.fiscalCode ?? \"\",\r\n idEstimate: item.info?.idEstimate ?? undefined,\r\n idEstimateRequest: item.info?.idEstimateRequest ?? undefined,\r\n },\r\n } as BaseHeaderOptionModel;\r\n\r\n return items;\r\n });\r\n\r\n let optionSimulations = searchHeader.simulationsResult.map((item: SimulationsResultModel) => {\r\n let items = {\r\n href: item.href,\r\n name: item.name,\r\n } as BaseHeaderOptionModel;\r\n\r\n return items;\r\n });\r\n\r\n options =\r\n optionEstimates.length > 0 ? optionEstimates : optionSimulations.length > 0 ? optionSimulations : [];\r\n }\r\n return (\r\n <>\r\n {!embeddedMode && (\r\n \r\n \r\n \r\n \"logo-corpcq\"\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n {isLogged === true && (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n\r\n \r\n \"logo-corpcq\"\r\n \r\n\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n\r\nexport { Header as Unconnected };\r\nexport default connect(mapStateToProps)(Header);\r\n"],"sourceRoot":""}