{"version":3,"sources":["template/site/img/placeholder.png","template/dashboard/img/logo-3.png","template/site/img/sea.jpg","template/dashboard/js/bootstrap-datepicker.js","template/site/pngs/pin.png","template/site/pngs/mapsPins/pinRistoranteGiallo.png","template/site/pngs/mapsPins/pinRistoranteRosso.png","template/site/pngs/mapsPins/pinRistoranteVerde.png","template/site/pngs/mapsPins/pinSpiaggiaLiberaRosso.png","template/site/pngs/mapsPins/pinSpiaggiaLiberaGiallo.png","template/site/pngs/mapsPins/pinSpiaggiaLiberaVerde.png","template/site/pngs/mapsPins/pinSpiaggiaPrivataRosso.png","template/site/pngs/mapsPins/pinSpiaggiaPrivataGiallo.png","template/site/pngs/mapsPins/pinSpiaggiaPrivataVerde.png","template/site/pngs/mapsPins/pinEventoRosso.png","template/site/pngs/mapsPins/pinEventoGiallo.png","template/site/pngs/mapsPins/pinEventoVerde.png","template/site/pngs/mapsPins/pinParcheggioRosso.png","template/site/pngs/mapsPins/pinParcheggioGiallo.png","template/site/pngs/mapsPins/pinParcheggioVerde.png","template/dashboard/img/userph.jpg","redux/Shared/Shared.reducer.js","redux/Auth/Auth.reducers.js","redux/Shared/Shared.actions.js","redux/Shared/Shared.types.js","redux/Auth/Auth.actions.js","redux/Auth/Auth.types.js","constants/Settings.js","repos/HttpRepoTaal.js","repos/StubRepo.js","repos/MockRepo.js","pages/Login/repositories/Login.mock.js","pages/Login/repositories/Login.httptaal.js","pages/Login/Login.repo.js","template/dashboard/js/bootstrap-datepicker.it.js","components/Content/SelectPicker.jsx","components/TableServer/FilterItem.jsx","Service/BaseServiceTaal.js","pages/Login/Login.service.js","modules/AssegnaGestoreArea/repositories/AssegnaGestoreArea.mock.js","modules/AssegnaGestoreArea/repositories/AssegnaGestoreArea.http.js","modules/AssegnaGestoreArea/AssegnaGestoreArea.repo.js","modules/AssegnaGestoreArea/AssegnaGestoreArea.service.js","constants/Roles.js","redux/Auth/Auth.saga.js","redux/Prenotazione/Prenotazione.types.js","redux/Prenotazione/Prenotazione.actions.js","modules/Prenotazione/repositories/Prenotazione.mock.js","modules/Prenotazione/repositories/Prenotazione.http.js","modules/Prenotazione/Prenotazione.repo.js","constants/PrenotazioneStatuses.js","modules/Prenotazione/Prenotazione.service.js","modules/Utente/repositories/Utente.mock.js","modules/Utente/repositories/Utente.http.js","modules/Utente/Utente.repo.js","modules/Utente/Utente.service.js","modules/Comune/repositories/Comune.mock.js","modules/Comune/repositories/Comune.http.js","modules/Comune/Comune.repo.js","modules/Comune/Comune.service.js","redux/Prenotazione/Prenotazione.saga.js","redux/RxSaga.js","redux/Prenotazione/Prenotazione.reducer.js","redux/RxStore.js","redux/RxComponent.js","components/Content/ErrorBoundary.jsx","components/Content/Loader.jsx","i18n/languages/en.js","i18n/languages/it.js","i18n/TranslationConfig.js","template/dashboard/js/script.js","components/Content/Card.jsx","components/Content/DatePicker.jsx","constants/Aree.js","constants/pins.js","constants/pinsParcheggi.js","constants/AreaStatus.js","components/Content/MapsComp.jsx","components/DynamicForm/DynamicFormField.jsx","components/Content/SelectPickerOld.jsx","components/Login/GoogleProfile.jsx","components/Schedulers/MonthlyScheduler.jsx","pages/Home.js","components/TableServer/SortIndicator.jsx","components/TableServer/ColumnHeader.jsx","components/TableServer/ColumnData.jsx","components/TableServer/Filters.jsx","components/TableServer/Paginator.jsx","components/TableServer/Tableserver.jsx","pages/Users.js","components/DynamicForm/DynamicForm.jsx","components/CrudNet/CrudNetForm.jsx","components/CrudNet/CrudNetTable.jsx","modules/Lookups/repositories/Lookups.mock.js","modules/Lookups/repositories/Lookups.http.js","modules/Lookups/Lookups.repo.js","modules/StatoAssegnazione/repositories/StatoAssegnazione.mock.js","modules/StatoAssegnazione/repositories/StatoAssegnazione.http.js","modules/StatoAssegnazione/StatoAssegnazione.repo.js","modules/StatoAssegnazione/StatoAssegnazione.service.js","modules/StatoPrenotazione/repositories/StatoPrenotazione.mock.js","modules/StatoPrenotazione/repositories/StatoPrenotazione.http.js","modules/StatoPrenotazione/StatoPrenotazione.repo.js","modules/StatoPrenotazione/StatoPrenotazione.service.js","modules/TipologiaArea/repositories/TipologiaArea.mock.js","modules/TipologiaArea/repositories/TipologiaArea.http.js","modules/TipologiaArea/TipologiaArea.repo.js","modules/TipologiaArea/TipologiaArea.service.js","modules/TipologiaDocumento/repositories/TipologiaDocumento.mock.js","modules/TipologiaDocumento/repositories/TipologiaDocumento.http.js","modules/TipologiaDocumento/TipologiaDocumento.repo.js","modules/TipologiaDocumento/TipologiaDocumento.sevice.js","modules/TipologiaPrenotazione/repositories/TipologiaPrenotazione.mock.js","modules/TipologiaPrenotazione/repositories/TipologiaPrenotazione.http.js","modules/TipologiaPrenotazione/TipologiaPrenotazione.repo.js","modules/TipologiaPrenotazione/TipologiaPrenotazione.service.js","modules/TipologiaProfilo/repositories/TipologiaProfilo.mock.js","modules/TipologiaProfilo/repositories/TipologiaProfilo.http.js","modules/TipologiaProfilo/TipologiaProfilo.repo.js","modules/TipologiaProfilo/TipologiaProfilo.service.js","modules/TipologiaVarco/repositories/TipologiaVarco.mock.js","modules/TipologiaVarco/repositories/TipologiaVarco.http.js","modules/TipologiaVarco/TipologiaVarco.repo.js","modules/TipologiaVarco/TipologiaVarco.service.js","modules/TipologiaVeicolo/repositories/TipologiaVeicolo.mock.js","modules/TipologiaVeicolo/repositories/TipologiaVeicolo.http.js","modules/TipologiaVeicolo/TipologiaVeicolo.repo.js","modules/TipologiaVeicolo/TipologiaVeicolo.service.js","modules/Provincia/repositories/Provincia.mock.js","modules/Provincia/repositories/Provincia.http.js","modules/Provincia/Provincia.repo.js","modules/Provincia/Provincia.service.js","modules/Lingua/repositories/Lingua.mock.js","modules/Lingua/repositories/Lingua.http.js","modules/Lingua/Lingua.repo.js","modules/Lingua/Lingua.service.js","modules/RisorsaLogica/repositories/RisorsaLogica.mock.js","modules/RisorsaLogica/repositories/RisorsaLogica.http.js","modules/RisorsaLogica/RisorsaLogica.repo.js","modules/RisorsaLogica/RisorsaLogica.service.js","modules/RelazioneTipoAreaTipoPrenotazione/repositories/RelTipoAreaTipoPrenotazione.mock.js","modules/RelazioneTipoAreaTipoPrenotazione/repositories/RelTipoAreaTipoPrenotazione.http.js","modules/RelazioneTipoAreaTipoPrenotazione/RelTipoAreaTipoPrenotazione.repo.js","modules/RelazioneTipoAreaTipoPrenotazione/RelTipoAreaTipoPrenotazione.service.js","modules/RelazioneTipoPrenotazioneTipoDurata/repositories/RelTipoPrenotazioneTipoDurata.mock.js","modules/RelazioneTipoPrenotazioneTipoDurata/repositories/RelTipoPrenotazioneTipoDurata.http.js","modules/RelazioneTipoPrenotazioneTipoDurata/RelTipoPrenotazioneTipoDurata.repo.js","modules/RelazioneTipoPrenotazioneTipoDurata/RelTipoPrenotazioneTipoDurata.service.js","modules/RelazioneTipoDurataTipoFasciaOraria/repositories/RelTipoDurataFasciaOraria.mock.js","modules/RelazioneTipoDurataTipoFasciaOraria/repositories/RelTipoDurataFasciaOraria.http.js","modules/RelazioneTipoDurataTipoFasciaOraria/RelTipoDurataFasciaOraria.repo.js","modules/RelazioneTipoDurataTipoFasciaOraria/RelTipoDurataFasciaOraria.service.js","modules/Lookups/Lookups.service.js","modules/Lookups/components/LookupsPicker.jsx","modules/Lookups/Lookups.page.js","modules/Area/repositories/Area.mock.js","modules/Area/repositories/Area.http.js","modules/Area/Area.repo.js","modules/Area/Area.service.js","modules/Area/components/Area.details.js","components/Content/TimeRcPicker/TimeRcPicker.jsx","modules/FasciaOraria/repositories/FasciaOraria.mock.js","modules/FasciaOraria/repositories/FasciaOraria.http.js","modules/FasciaOraria/FasciaOraria.repo.js","modules/FasciaOraria/FasciaOraria.service.js","modules/Prenotazione/components/Prenotazione.tipoprenotazione.js","modules/Parcheggio/repositories/Parcheggio.mock.js","modules/Parcheggio/repositories/Parcheggio.http.js","modules/Parcheggio/Parcheggio.repo.js","modules/Parcheggio/Parcheggio.service.js","modules/Prenotazione/components/Prenotazione.veicolo.form.js","modules/Prenotazione/components/Prenotazione.insertAnagrafica.js","components/Settings/SettingsBlock.jsx","modules/Prenotazione/components/Prenotazione.insertdetail.js","modules/Prenotazione/components/Prenotazione.form2.js","pages/Login/Login.page.js","pages/Login/ForgetPassword.js","services/fiscalCode.js","pages/Register/Register.page.js","pages/Register/components/Register.helpdesk.js","modules/Varco/repositories/Varco.mock.js","modules/Varco/repositories/Varco.http.js","modules/Varco/Varco.repo.js","modules/Varco/Varco.service.js","modules/Area/Area.crud.js","modules/Area/Area.page.js","modules/CentraleOperativa/repositories/CentraleOperativa.mock.js","modules/CentraleOperativa/repositories/CentraleOperativa.http.js","modules/CentraleOperativa/CentraleOperativa.repo.js","modules/CentraleOperativa/CentraleOperativa.service.js","modules/CentraleOperativa/CentraleOperativa.page.js","constants/NotificaStatuses.js","modules/CentraleOperativa/components/NotificationDetails.js","modules/CentraleOperativa/NotificationCentraleOperativa.page.js","components/Content/HorizontalFilterList.jsx","components/Content/ListItem.jsx","modules/Area/components/SearchPrenotazioneBanner.js","modules/Area/components/Area.showresult.js","modules/ControlloVarco/repositories/ControlloVarco.mock.js","modules/ControlloVarco/repositories/ControlloVarco.http.js","modules/ControlloVarco/ControlloVarco.repo.js","modules/ControlloVarco/ControlloVarco.service.js","components/Content/QrCodeReader.jsx","components/Content/BarcodeReader.jsx","modules/ControlloVarco/ControlloVarco.page.js","modules/Parcheggio/Parcheggio.page.js","modules/Utente/Utente.page.js","components/Content/QrCodeViewer.jsx","modules/Prenotazione/Prenotazione.page.js","modules/Varco/Varco.crud.js","modules/Varco/Varco.page.js","modules/ControlloTarga/repositories/ControlloTarga.mock.js","modules/ControlloTarga/repositories/ControlloTarga.http.js","modules/ControlloTarga/ControlloTarga.repo.js","modules/ControlloTarga/ControlloTarga.service.js","modules/ControlloTarga/ControlloTarga.page.js","pages/Register/components/RegisterFromVarco.js","modules/Prenotazione/components/Prenotazione.searchUserFromVarco.js","modules/ComuneBanner/repositories/ComuneBanner.mock.js","modules/ComuneBanner/repositories/ComuneBanner.http.js","modules/ComuneBanner/ComuneBanner.repo.js","modules/ComuneBanner/ComuneBanner.service.js","modules/Comune/components/ComuneSettings.js","modules/Comune/ComuneConfig.page.js","modules/ControlloVarco/components/ChiusuraAreaVarco.js","modules/RegistroSanitario/repositories/RegistroSanitario.mock.js","modules/RegistroSanitario/repositories/RegistroSanitario.http.js","modules/RegistroSanitario/RegistroSanitario.repo.js","modules/RegistroSanitario/RegistroSanitario.service.js","constants/TipologieDocumento.js","modules/RegistroSanitario/RegistroSanitario.page.js","modules/AssegnaGestoreArea/AssegnaGestoreArea.page.js","modules/Prenotazione/components/PrenotazioneFromGestore.js","modules/TurnazioneVarco/repositories/TurnazioneVarco.mock.js","modules/TurnazioneVarco/repositories/TurnazioneVarco.http.js","modules/TurnazioneVarco/TurnazioneVarco.repo.js","modules/TurnazioneVarco/TurnazioneVarco.service.js","modules/TurnazioneVarco/TurnazioneVarco.page.js","modules/Evento/repositories/Evento.http.js","modules/Evento/repositories/Evento.mock.js","modules/Evento/Evento.repo.js","modules/Evento/Evento.service.js","modules/Evento/Evento.page.js","constants/Menu.js","components/Topbar/Userinfo.jsx","components/Topbar/Navbar.jsx","components/Sidebar/Brand.jsx","components/Content/HasRole.jsx","components/Sidebar/Sidebar.jsx","template/dashboard/Layout.js","components/Topbar/NavBarOverlay.jsx","components/Settings/SettingsBannerImage.jsx","template/site/Layout.js","pages/Register/components/Register.opt.js","components/Content/AppSwitch.jsx","Service/MobileDisableZoom.js","App.js","serviceWorker.js","index.js","template/site/img/slide_3.jpg"],"names":["module","exports","$","UTCDate","Date","UTC","apply","arguments","UTCToday","today","getFullYear","getMonth","getDate","alias","method","this","DateArray","extras","get","i","slice","contains","d","val","valueOf","l","length","remove","splice","replace","new_array","isArray","clear","push","copy","a","extend","Datepicker","element","options","data","_process_options","dates","viewDate","o","defaultViewDate","focusDate","isInput","is","inputField","find","component","hasClass","hasInput","isInline","picker","DPGlobal","template","_check_template","templates","leftArrow","html","rightArrow","_buildEvents","_attachEvents","addClass","appendTo","rtl","viewMode","startView","calendarWeeks","attr","parseInt","_allow_update","setStartDate","_o","startDate","setEndDate","endDate","setDaysOfWeekDisabled","daysOfWeekDisabled","setDaysOfWeekHighlighted","daysOfWeekHighlighted","setDatesDisabled","datesDisabled","fillDow","fillMonths","update","showMode","show","prototype","constructor","_resolveViewName","view","default_value","undefined","tmp","match","ex","opts","lang","language","split","defaults","minViewMode","maxViewMode","Math","min","max","multidate","Number","multidateSeparator","String","weekStart","weekEnd","format","parseFormat","_local_to_utc","_zero_time","parseDate","assumeNearbyYear","Infinity","map","plc","orientation","toLowerCase","_plc","grep","word","test","x","y","year","month","day","_events","_secondaryEvents","_applyEvents","evs","el","ch","ev","on","_unapplyEvents","off","events","keyup","proxy","e","inArray","keyCode","keydown","paste","showOnFocus","focus","click","blur","_focused_from","target","immediateUpdates","date","window","resize","place","document","mousedown","hide","_detachEvents","_attachSecondaryEvents","_detachSecondaryEvents","_trigger","event","altdate","local_date","_utc_to_local","trigger","type","ix","formatDate","prop","enableOnReadonly","container","navigator","msMaxTouchPoints","disableTouchKeyboard","detach","forceParse","setValue","destroy","datepicker","evt","dateString","originalEvent","clipboardData","types","getData","setDate","preventDefault","utc","getTime","getTimezoneOffset","local","_zero_utc_time","getUTCFullYear","getUTCMonth","getUTCDate","getDates","getUTCDates","selected_date","clearDates","autoclose","setDates","args","setUTCDates","setUTCDate","formatted","getFormattedDate","join","getStartDate","updateNavArrows","getEndDate","calendarWidth","outerWidth","calendarHeight","outerHeight","windowWidth","width","scrollTop","appendOffset","offset","parentsZindex","parents","each","itemZIndex","css","zIndex","zIndexOffset","parent","height","left","top","removeClass","yorient","right","oldDates","fromArgs","dateWithinRange","fill","change","dowCnt","daysMin","append","localDate","monthsShort","setRange","range","getClassNames","cls","todayHighlight","dateIsDisabled","getUTCDay","_fill_yearsView","selector","cssClass","factor","step","currentYear","startYear","endYear","callback","steps","startStep","endStep","thisYear","classes","tooltip","before","text","noop","enabled","concat","startMonth","endMonth","todaytxt","cleartxt","titleFormat","isNaN","toggle","todayBtn","clearBtn","title","prevMonth","getDaysInMonth","nextMonth","setUTCFullYear","clsName","ws","th","yth","calWeek","beforeShowDay","isFunction","uniqueSort","unique","empty","monthsTitle","months","end","eq","beforeShowMonth","that","moDate","beforeShowYear","beforeShowDecade","beforeShowCentury","visibility","dir","monthChanged","yearChanged","stopPropagation","navArrow","closest","modes","navStep","moveMonth","moveYear","_setDate","index","setUTCMonth","_toggle_multidate","toggleActive","which","moveDay","newDate","moveWeek","new_month","new_date","mag","abs","moveAvailableDate","fn","weekOfDateIsDisabled","date2","date1","newViewDate","dateChanged","keyboardNavigation","ctrlKey","shiftKey","children","filter","DateRangePicker","inputs","jquery","datepickerPlugin","call","dateUpdated","pickers","updateDates","opts_from_el","prefix","out","RegExp","re_lower","_","key","opts_from_locale","locale_opts","k","updateRanges","p","updating","dp","j","old","option","internal_return","Array","shift","$this","elopts","locopts","toArray","Error","Constructor","en","days","daysShort","navFnc","isLeapYear","validParts","nonpunctuation","toValue","toDisplay","separators","parts","assumeNearby","part","part_re","fn_map","m","w","dateAliases","yesterday","tomorrow","exec","filtered","parsed","setters_order","setters_map","yyyy","v","applyNearbyYear","yy","fparts","cnt","_date","s","match_part","threshold","D","DD","M","MM","toString","substring","dd","mm","seps","headTemplate","contTemplate","footTemplate","noConflict","version","factory","require","initialState","loading","messageType","messageText","user","roles","loggedIn","clearNotification","onError","error","payload","onSuccess","param","onInfo","startLoading","endLoading","onLoginTaal","username","password","successLoginTaal","userData","triggerRegister","registerData","successRegister","errorRegister","triggerLogout","errorChangePassword","otpError","BASE_URL_TAAL","process","HttprepoTAAL","API","axios","create","baseURL","interceptors","request","use","config","headers","rxStore","getState","Auth","token","dispatch","console","log","response","status","newObject","customTable","params","entities","entity","post","getTable","procName","parameters","pageNum","pageSize","conf","orders","par","order","id","includes","Includes","url","filename","responseType","then","FileSaver","saveAs","Blob","file","fileKey","formData","FormData","isObject","Object","keys","forEach","merge","timeout","finally","StubRepo","Promise","resolve","reject","getService","LocalStorageRepo","setTimeout","getList","value","LoginRepoMock","googleToken","MockRepo","LoginRepoTaalHttp","utente","Authorization","idUtente","otp","IDUTENTE","OTP","idutente","ISRECUPEROPASSWORD","idPrenotazione","idprenotazione","idUser","Expression","ExpressionValues","res1","res2","res1temp","result","ret","fkIdTipologiaProfilo","IDTIPOLOGIAPROFILO","fkIdLingua","IDLINGUA","fkIdComune","IDCOMUNE","USERNAME","dataCreazione","DATACREAZIONE","dataUltimaModifica","DATAULTIMAMODIFICA","flgAttivo","FLGATTIVO","flgEliminato","FLGELIMINATO","FLGPASSWORDSAFE","Comune","descrizione","DESCRIZIONE","fkIdProvincia","IDPROVINCIA","flgAbilitato","FLGABILITATO","giorniBlocco","GIORNIBLOCCO","giorniPrenotazione","GIORNIPRENOTAZIONE","idComune","latitudine","LATITUDINE","longitudine","LONGITUDINE","maxOccupanti","MAXOCCUPANTI","minutiRitardoMassimo","MINUTIRITARDOMASSIMO","parkGiornalieri","PARKGIORNALIERI","settings","SETTINGS","Lingua","idLingua","codiceLingua","CODICELINGUA","descLocalizzata","LINGUA_DESCLOCALIZZATA","TipologiaProfilo","idTipologiaProfilo","codiceProfilo","CODICEPROFILO","TIPOPROF_DESCLOCALIZZATA","flgComunale","FLGCOMUNALE","FKIDCOMUNE","dataInizioBan","DATAINIZIOBAN","dataFineBan","DATAFINEBAN","flgBanAttivo","FLGBANATTIVO","fkIdUtenteBannato","FKIDUTENTEBANNATO","idListaBan","IDLISTABAN","ListaBan_List","PASSWORD","LoginRepo","_localInstance","_serviceTaalInstance","_serviceInstance","jQuery","MyValueContainer","props","child","React","cloneElement","newChild","ValueContainer","SelectPickerC","filterOption","inputValue","label","notifyChange","values","action","onChange","cloneDeep","state","_setOptions","defaultValues","elm","t","displayValue","multiple","nextProps","nextState","isNull","isUndefined","emptyField","components","isMulti","hideSelectedOptions","isDisabled","readOnly","defaultValue","Component","SelectPicker","withTranslation","FilterItem","onChangeDate","cc","moment","isAfter","setState","debounce","bind","getItem","textInput","numberInput","listInput","multipleInput","rangeInput","c","multipleValues","changed","isEmpty","prevProps","prevState","Fragment","htmlFor","className","onChangeInput","onChangeMultiple","da","Trans","i18nKey","maxLength","aria-hidden","tabIndex","onChangeFilter","BaseServiceTaal","counterParams","getAll","getRepo","repo","search","paginate","page","size","filters","transformFilterToServer","objNew","add","objRem","del","edit","objUpd","getById","tableDefinition","tabledef","_getIncrementCounter","valt","indexOf","_resetCounter","keyFilter","splitted","correctValue","cv","currentFilter","_createNotInFilter","_createTextFilter","_createTextFilterEquals","_createMultipleFilter","_createNumericFilter","_createNotNullOrEmpty","_createNullOrEmpty","expression","expressionValues","direction","HttpRepoTAAL","LoginService","contactUs","sendMail","getComune","search2","getComuneNascita","loginTaal","readRoles","readUserData","register","registerFast","checkOtp","sendOtp","changePasswordByOtp","GestoreAreaMockRepo","GestoreAreaHttpRepo","GestoreArea","GestoreAreaService","getInstanceTaal","getRecordInLogin","setGestoreArea","removeGestoreArea","getByIdUser","GetUserByNameSurnameTipoDocNumDoc","objToPass","deleteGestore","ROLES","loginSaga","logoutGoogle","registerSaga","registerVarcoSaga","otpSaga","sendOtpSaga","logoutSaga","logoutWithoutLoginSaga","passwordRecoverySaga","changePasswordSafeSaga","changePasswordSaga","googlelogin","service","gestoreAreaService","loggedTaal","put","location","hist","resp","loginTaalData","safe","gestoreCompleto","Area","message","registerRes","idOtp","fast","otpRes","esito","successOtp","errorMessage","forgetPassword","serverResponse","takeLatest","changePasswordRes","successSearch","results","selectedFields","successUserByDocSearch","successTipologieAreaSearch","successParcheggiSearch","errorSearch","triggerCercaDisponibilita","triggerSelectArea","area","selectArea","onSuccessInsertPrenotazione","prenotazione","onSuccessUpdatePrenotazione","triggerGetPrenotazione","pnr","triggerScanBarCodePrenotazione","barcode","successScanBarCodePrenotazioneMultiple","onFilterTipologiaArea","listArea","isToUpdate","PrenotazioneMockRepo","PrenotazioneHttpRepo","Prenotazione","STATUSES","PrenotazioneService","getStringaOspiti","listaOspiti","tipologiaDocumento","idTipologiaDocumento","numeroDocumento","nome","cognome","getObjForPrenotazioneInsert","stringaOspiti","anagrafiche","ISEVENTO","isEvento","IDUTENTEPRENOTATO","IDAREA","idArea","IDTIPOLOGIAPRENOTAZIONE","selectedTipologiaPrenotazioneId","IDFASCIAORARIA","selectedFasciaOrariaId","DATAINIZIO","selectedDataInizio","DATAFINE","selectedDataFine","NUMEROOCCUPANTI","numeroOccupanti","IDTIPOLOGIAVEICOLO","selectedTipoVeicoloId","IDPARCHEGGIO","idParcheggio","TARGA","targaVeicolo","MARCA","MODELLO","COLORE","ARRAYOSPITI","getObjForPrenotazioneUpdate","IDPRENOTAZIONE","dataInizioCompleta","IDVEICOLO","idVeicolo","validateParameterForPrenotazioneInsert","errors","validateParameterForPrenotazioneUpdate","insertPrenotazionSP","formField","insertPrenotazionSPBO","updatePrenotazionSP","searchDisponibilita","checkUtente","searchTipologieArea","getPrenotazionePnrNewApi","setFlgPrenotazione","flag","flagSms","CODICESTATOPRENOTAZIONE","sendSms","loadArea","dataPrenotazione","isValid","itemsPerPage","ff","sort","transformOrdersToServer","PNR","res","rex","dataInizio","Parcheggio","descParcheggio","dataFine","statoPagamento","StatoPagamento","tipologiaPrenotazione","TipologiaPrenotazione","fasciaOraria","FasciaOraria","veicolo","Veicolo","listaPasseggeri","OspitePrenotazione_List","Documento","TipologiaDocumento","statoPrenotazione","StatoPrenotazione","ACCESSOANIMALI","flgAnimaliAmmessi","ACCESSODISABILI","flgAccessoDisabili","FORMATO","formato","FOTO","IDTIPOLOGIAAREA","fkIdTipologiaArea","idTipoDocumento","targa","flagAction","UtenteMockRepo","UtenteHttpRepo","Utente","UtenteService","searchByCF","fieldToHide","columns","name","setFlgAbilitazioneUtente","changePassword","ComuneMockRepo","ComuneHttpRepo","ComuneService","updateSettings","newSettings","updateflds","getDatesForUser","getDatesForUserBO","searchComuniPrenotazione","flagAbilitato","getParcheggiAttivi","validateSearch","searchUtenteByDocFromVarcoSaga","searchUtenteByDocFromGestoreSaga","selectAreaSaga","insertPrenotazioneSaga","updatePrenotazioneSaga","getPrenotazioneSaga","scanBarCodePrenotazioneSaga","handleTargaSaga","prenotazioneSaga","comuneService","paramAction","validateDisponibilitaForm","validationResult","formFieldToPass","searchResult","parcheggiResult","TipologieAreaResult","fromGestoreArea","fromDashboard","cf","searchUserAssegnatoByCF","output","return_value","JSON","parse","sendNotification","emailArea","sendEmailGestore","statoVincita","getPrenotazioneByPnr","getPnrByBarcode","getPnrByTarga","rootSaga","list","RootReducer","combineReducers","Shared","showModal","googleUser","hrUser","taalUser","userAssegnato","listTipologie","listParcheggi","selectedArea","arrayPnr","selectedFasciaOraria","isToUpdateFilterList","fileteredAreaList","encryptor","createEncryptor","secretKey","persistConfig","storage","transforms","whitelist","persistedReducer","persistReducer","mapStateToProps","RxComponent","arrayOfActions","comp","connect","Comp","errorInfo","textM","isValidElement","isError","stringify","toast","info","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","ErrorBoundary","loader","isBoolean","Loader","enLabels","locIT","locEN","locSA","locAC","locUser","locGestoreArea","locCensoreArea","locCensorePark","locAddetto","locCentrale","locRVS","locRVA","locDA","locAddettoInfo","locVS","locVA","locCF","locCI","locPassport","locAutoPrivata","locAutoServizio","locNavetta","locPullman","locVan","locMoto","locAmbulanza","locVigiliFuoco","locPolizia","locTaxi","locCarabinieri","locEsercito","locFinanza","locPrenSpiaggiaMattina","locPrenSpiaggiaPomeriggio","locPrenSpiaggiaDay","locPrenRistorante","locPrenHotel","locPrenAbbonamento","locPrenLavorativa","locPrenEvento","locPrenAbitazione","locPrenPassaggio","locPrenShopping","locDur5H","locDur11H","locDurPranzo","locDurVariabileD","locDurMensile","locSpiaggiaAttrezzata","locSpiaggiaLibera","locBattigia","locStradaLit","locRistorante","locHotel","locAbitazione","locEvento","locAttivitaLavorativa","locAreaShopping","locStatoPrenCreata","locStatoPrenConfermata","locStatoPrenEliminata","locStatoPrenScaduta","locStatoPrenUtilizzata","locStatoAssegnata","locStatoLiberata","locStatoPrenotata","locStatoEliminata","locDurCena","locDur1H","locFasciaMattina","locFasciaMensile","locFasciaPranzo","locFasciaPomeriggio","locFasciaCena","locFasciaSera","locFasciaDay","locNotCreata","locNotRead","locNotDeleted","locNotSent","locNotEvasa","locPrenMezzaGiornata","Login","User","Password","ClearFilter","SomethingWentWrong","SelectLeastFile","SelectFile","Ok","Province","City","ForgotPassword","OTPDescription","RequestNewCode","Send","Registration","NumberPhone","isForeign","Yes","No","TypeDocument","NumberDocument","RegistrationProblem","BookNow","Loading","Select","Month","NotAuthorizedLookPage","BackHome","Year","AreYouSureRemoveElement","Confirm","Save","Logout","Week","Total","SeeMoreDetails","EditData","DeleteData","FormatDateGG","From","To","Filters","ApplyFilters","ExportExcel","ExportPDF","TotalElements","Search","SearchFor","ActivityLog","Profile","Settings","REGISTER","locPatente","ENTER_YOUR_BOOKING_DETAILS","NUMERO_OCCUPANTI","PRENOTAZIONE_WIN_PARKING","PRENOTAZIONE_NOTWIN_PARKING","SUBMIT","SEARCH_TITLE","BOOK_NOW","NUMERO_SPAZI_TOTALI","NUMERO_SPAZI_LIBERI","NUMERO_PERSONE_PRESENTI_IN_AREA","WHO_COMES_WITH_YOU","BOOK_ON_TIME","CHOISE_MUNICIPALITIES_SECURE_RESERVATION","Welcome","Email","Name","Surname","Gender","BirthDate","BirthPlace","TypeMunicipality","Language","Italiano","Inglese","Passaporto","Patente","WrongDocNumber","RequireInsertFields","AuthorizePrivacy","FieldRequired","EnterCodeMobile","SentedCodeEmail","ControllPassword","PasswordDontMatch","ChooseAree","AreaAssignment","Description","DoorType","Municipality","Latitude","Longitude","State","Door","Cancel","Actions","TimeSlot","Tipology","EnterBookingDetails","BookTipology","NumberOccupants","ORARIO_ARRIVO","LicensePlateRequired","Payed","TotalSlot","SuccessedOperation","ParkingArea","Lookups","Lookup","ChooseLookup","Entrance","Exit","Notes","ControlOk","ControlKo","ControlLicensePlate","NotificationCentral","NotAuthorized","TOTALE_PRENOTATI","TOTALE_POSTI","TOTALE_OCCUPATI","TOTALE_DISPONIBILI","DISPLAY_TEXT_INFO_F","DISPLAY_TEXT_INFO_L","REQUEST_SUPPORT","SUBJECT","EXPORT_DATA","ENTER_DOCUMENT_NUMBER","MUNICIPALITY","SEND_NOTIFICATION","BANNER_TYPE","BANNER_IMAGE","PRENOTAZIONE_BLOCK","DETAIL","OTP_MANDATORY","USERNAME_MANDATORY","USER_NOT_ASSIGNED","BARCODE_REQUIRED","EXCEEDED_PAX_LIMIT","BAD_CREDENTIAL","ERROR_DURING_SEARCH_AVAILABLE_TURN","NUMBER_NOT_FOUND","ERROR_DURING_PRENOTAZIONE_INSERT_VALIDATION","ERROR_DURING_PRENOTAZIONE_INSERT","ERROR_DURING_PRENOTAZIONE_UPDATE_VALIDATION","ERROR_DURING_PRENOTAZIONE_UPDATE","PRENOTAZIONE_NOT_FOUND","INVALID_BARCODE","INVALID_TARGA","VARCO_CONFIRMED","VARCO_DENIED","REGISTRAZIONE_OK","OTP_SEND","PASSWORD_CHANGED","PRENOTAZIONE_INSERT_SUCCESS","PRENOTAZIONE_UPDATE_SUCCESS","FORGETPASSWORD","DETTAGLIO_AREA","dettaglioArea","DETTAGLIO_PRENOTAZIONE","dettaglioPrenotazione","DETTAGLIO_VEICOLO","dettaglioVeicolo","DETTAGLIO_ANAGRAFICA","dettaglioAnagrafica","TIPOLOGIA_PRENOTAZIONE","FASCIA_ORARIA","TIPO_VEICOLO","PARCHEGGIO","NUMERO_DOCUMENTO","TIPOLOGIA_DOCUMENTO","LABEL_WRONG_COMUNE","LEGEND","NOTIFICATION_DETAIL","PRENOTAZIONI","DELETE_MESSAGE","USER_BANNED","EDIT","ORA_DI_INIZIO_PRENOTAZIONE","DURATA_PRENOTAZIONE","FORGOTPASSWORD","NEWPASSWORD","RESERVATION","Username","EVADI_NOTIFICA","GENERAL_SETTINGS","image","SELEZIONA_PARCHEGGI","SELEZIONA_FASCE_ORARIE","SELEZIONA_VARCHI","DATI_AREA","ASSEGNAZIONE_PARCHEGGI","ASSEGNAZIONE_FASCE_ORARIE","ASSEGNAZIONE_VARCO","DATI_VARCO","BARCODE_DOC","SCAN","READING","Varco","Utenti","Configurazione","CentraleOperativa","Notifiche","ResultSearch","SELECT_FROM_MAPS","StatoAssegnazione","TipologiaArea","TipologiaVarco","TipologiaVeicolo","RisorsaLogica","RelTipoDurataFasciaOraria","RelTipoPrenotazioneTipoDurata","RelTipoAreaTipoPrenotazione","Azioni","Descrizione","Impostazioni","Latitudine","Longitudine","locDipendenteArea","locAusiliareTraffico","Add","field","isNotValid","NO_ID_PRENOTAZIONE","NO_VEHICLE_TYPE","NO_PARCHEGGIO_SELEZIONATO","INSERT_PERSONAL_DATA","DATA_NOT_AVAILABLE_FOR_USER","VALIDATE_NOTE_ERROR","VALIDATE_INGRESSO_ERROR","NUMBER_OR_DOC_ALREADY_EXIST","insert_password","confirm_password","CHANGE_PASSWORD","FULL","SELEZIONA_AREA","CODICE_FISCALE","RICONTROLLA_DATI","confirm_operation","Close_Area","Open_Area","REGISTRAZIONE","REGISTRAZIONE_RAPIDA","SELECT_TIPOLOGIA_DOC","GESTORE_AREA","ERROR_LOADIN_AREA_DETAILS","LoginProblem","ERROR_DURING_HELPDESK","HelpdeskSucces","PASSWORD_PATTERN","PASSWORD_NOT_VALID","DATE_INVALID","INVALID_PREN_DATE","INVALID_MUNICIPALITY","PLACEHOLDER_DATE","REGISTRO_PRESENZE","RESETPASSWORD","USER_NOT_FOUND","SELECT_AREA","DELETE_MESSAGE_GESTORE","AREA_NOT_FOUND","MODIFICA_DATI_PRENOTAZIONE","LOCKED","UNLOCKED","THESE_FIELDS_ARE_REQUIRED","INSERT_PNR_OR_DOC","locFasciaEvento","locFasciaOrariaEvento","numeroPersone","MODAL_CONTROLLO_LABEL","itLabels","getTranslate","ok","ko","i18n","initReactI18next","LanguageDetector","init","resources","translations","it","fallbackLng","debug","ns","defaultNS","keySeparator","interpolation","escapeValue","formatSeparator","react","wait","initTheme","toogleSidebar","toggleClass","collapse","userAgent","currentTarget","e0","delta","wheelDelta","detail","fadeIn","fadeOut","$anchor","stop","animate","Card","style","header","CardHeader","CardBody","footer","CardFooter","DatePicker","_mergePropsInState","_initCalendar","_dataChanged","_destroyCalendar","inputVal","_setValue","valr","defaultDate","keepEmptyValues","_generateId","changes","ts","getElementsByClassName","num","getAttribute","toNumber","required","placeholder","mindate","minDate","onBlur","_onBlur","disabled","AREE","PINS","SPIAGGIA_LIBERA_ROSSO","pin","pinSpiaggiaLiberaRosso","areaCod","stato","SPIAGGIA_LIBERA_GIALLO","pinSpiaggiaLiberaGiallo","SPIAGGIA_LIBERA_VERDE","pinSpiaggiaLiberaVerde","SPIAGGIA_ATTREZZATA_ROSSO","pinSpiaggiaPrivataRosso","SPIAGGIA_ATTREZZATA_GIALLO","pinSpiaggiaPrivataGiallo","SPIAGGIA_ATTREZZATA_VERDE","pinSpiaggiaPrivataVerde","RISTORANTE_ROSSO","pinRistoranteRosso","RISTORANTE_GIALLO","pinRistoranteGiallo","RISTORANTE_VERDE","pinRistoranteVerde","EVENTO_ROSSO","pinEventoRosso","EVENTO_GIALLO","pinEventGiallo","EVENTO_VERDE","pinEventoVerde","PINSPARK","PARCHEGGIO_ROSSO","pinParcheggioRosso","PARCHEGGIO_GIALLO","pinParcheggioGiallo","PARCHEGGIO_VERDE","pinParcheggioVerde","AREASTATUSES","containerStyle","minHeight","mapStyles","currentMap","isOpen","markers","pin2","pinUmbrella","initialCenter","findCenter","center","point","pinToRet","pins","pinsPark","perc","POSTI_TOTALI","POSTI_LIBERI","parcheggio","percToCompare","CODICETIPOLOGIAAREA","lat","lng","points","lats","lons","lon","openedMarker","href","record","backgroundColor","padding","borderRadius","fontSize","fontColor","CODICESTATO","onClick","onAreaSelect","mark","latLng","onSelectPin","marker","onLoad","showMap","googleMapsApiKey","mapContainerStyle","zoom","styles","showInfo","addPin","pinn","setPin","icon","onToggleOpen","onCloseClick","closeBoxURL","enableEventPropagation","infoBoxGenerator","PureComponent","MapComponent","DynamicFormField","precision","_onSubmit","_inputText","customName","_handleChange","_inputPassword","_inputInteger","_inputDecimal","_inputLongText","_inputFile","files","item","_inputMap","showMapModal","Modal","ModalHeader","ModalBody","latTemp","parseFloat","lngTemp","ModalFooter","Button","color","_inputDate","_inputSelect","_inputSelectMultiple","_inputBoolean","Translation","render","_inputFromType","_initState","border","background","fontWeight","overflow","src","QK","alt","Ad","yu","_gooogleProfile","fields","code","description","Home","SortIndicator","DIRECTION_ASC","DIRECTION_DESC","nextDirection","onSortChange","onSort","ColumnHeader","contentByType","sortable","filterable","newState","content","lenght","ColumnData","row","onExpand","expanded","rowIndex","actions","sendShowModal","modalComponent","modalHeader","viewModal","OnModal","paramas","closeModal","data-label","tableid","filterlist","newFilters","onFilterChanged","data-toggle","aria-expanded","aria-controls","onFilterReceived","sendFilter","Paginator","fromComponent","currentPage","totalRecords","pages","getPages","addedPage","totalPages","skipPage","startIndex","endIndex","toAdd","diff","onPageChanged","Pagination","aria-label","PaginationItem","jumpPage","active","PaginationLink","Tableserver","selectedFilters","countUpdate","defaultUpdate","updateTable","onFilter","waitUpdate","generateId","totalItems","rows","modalBody","modalVisible","exportExcel","exportPdf","getElementsByTagName","columnExpandable","updateData","tableData","row_id","headerComp","bodyComponent","rowsNew","r","Table","hover","responsive","column","OnExpand","colSpan","disablePaginate","newPage","DynamicForm","onSubmit","_validate","f","hideMe","validationsMessage","_setValToState","newVal","CrudNetForm","externalFields","tableName","_loadLookup","lookupFilters","_loadOptions","formFields","getTableNameFromField","realId","refFieldMap","getRefFieldMap","_selectValueEdit","selected","op","mD","toDate","_selectValueDefault","formFieldsWithVal","getCurrentTableName","validateLookups","stateToObject","closeMe","catch","_init","_getFormFields","hideField","col","realName","camelCaseToString","fd","orderBy","capitalize","toUpperCase","fieldName","str","deleteContent","CrudNetTable","fiters","df","defaultFilters","records","rowCount","getCrud","prevColProps","customComponent","refs","table","customHeader","outline","ref","LookupsMockRepo","LookupsHttpRepo","LookupsRepo","StatoAssegnazioneMockRepo","StatoAssegnazioneHttpRepo","StatoAssegnazioneService","StatoPrenotazioneMockRepo","StatoPrenotazioneHttpRepo","StatoPrenotazioneService","TipologiaAreaMockRepo","TipologiaAreaHttpRepo","TipologiaAreaService","TipologiaDocumentoMockRepo","TipologiaDocumentoHttpRepo","TipologiaDocumentoService","getAllNewApi","getAllRegister","TipologiaPrenotazioneMockRepo","TipologiaPrenotazioneHttpRepo","idList","TipologiaPrenotazioneService","searchTipologiaPrenotazione","getTipologiaPrenotazioneNewApi","TipologiaProfiloMockRepo","TipologiaProfiloHttpRepo","TipologiaProfiloService","TipologiaVarcoMockRepo","TipologiaVarcoHttpRepo","TipologiaVarcoService","TipologiaVeicoloMockRepo","TipologiaVeicoloHttpRepo","TipologiaVeicoloService","getTipologiaVeicoloList","getTipologiaVeicoloListPrenotazione","ProvinciaMockRepo","ProvinciaHttpRepo","Provincia","ProvinciaService","LinguaMockRepo","LinguaHttpRepo","LinguaService","RisorsaLogicaMockRepo","RisorsaLogicaHttpRepo","RisorsaLogicaService","RelTipoAreaTipoPrenotazioneMockRepo","RelTipoAreaTipoPrenotazioneHttpRepo","RelTipoAreaTipoPrenotazioneService","fkIdTipologiaPrenotazione","isTable","RelTipoPrenotazioneTipoDurataMockRepo","RelTipoPrenotazioneTipoDurataHttpRepo","RelTipoPrenotazioneTipoDurataService","fkIdTipologiaDurata","RelTipoDurataFasciaOrariaMockRepo","RelTipoDurataFasciaOrariaHttpRepo","RelTipoDurataFasciaOrariaService","fkIdFasciaOraria","LookupsService","handleLookupService","lookup","handleLookupColumns","lookupserv","cols","filterColumns","LookupsPickerC","selectedOne","LookupsPicker","LookupsPageC","handleLookupChange","selServ","selectedService","isLoaded","selectedLookup","LookupsPage","AreaMockRepo","AreaHttpRepo","AreaService","getAreaDetailPrenotazione","setFlgAbilitazioneArea","maps","relAreaParcheggio","clearRealAreaParcheggio","deleteRelAreaParcheggio","relAreaFasciaOraria","clearRealAreaFasciaOraria","deleteRelAreaFasciaOraria","relVarcoArea","clearRealVarcoArea","deleteRelVarcoArea","getAssignedParcheggi","getAssignedFasciaOraria","getAssignedVarco","searchAreeComune","closeAreaFromVarco","AreaDetailsC","areaService","areaToShow","idAreaPassed","imgUrl","imgUrlToSet","placehlder","display","margin","AreaDetails","TimeRcPicker","_onChange","selectedHour","selectedMinutes","maxTime","minTime","_setRequiredInput","now","disH","hsMin","msMin","hsMax","msMax","disM","inputReadOnly","showSecond","disabledHours","calculateDisabledHours","disabledMinutes","calculateDisabledMinutes","FasciaOrariaMockRepo","FasciaOrariaHttpRepo","FasciaOrariaService","PrenotazioneTipoPrenotazionep","tipoPrenotazioneService","fasciaOrariaService","manageFasciaOraria","idFascia","idFasciaOraria","OraInizio","orarioInizio","OraFine","orarioFine","dataFineCompleta","dat","valueTme","oraInizioTimePckr","oraFineTimePckr","onChangeFasciaOraria","lista","listaTipologie","listaTipologieTot","listaFasceOrarie","oraInizio","selectedTipologiaPrenotazione","form_key","onRef","filts","listDef","resFromsearch","elem","self","elToPush","idTipologiaPrenotazione","codiceTipologiaPrenotazione","obj","DESCLOCFASCIA","populateFasceOrarie","unit","FormGroup","oo","setDatesVar","elapse","valueAsNumber","orainizio","fdatei","forai","listaFasc","showFasciaOraria","resetForm","newKey","or","hour","minutes","Row","isEdit","justifyContent","alignItems","borderColor","borderStyle","borderWidth","transition","boxSizing","marginRight","hidden","handleTime","isAusiliareTraffico","allowEmpty","PrenotazioneTipoPrenotazione","ParcheggioMockRepo","ParcheggioHttpRepo","fascia","ParcheggioService","getParcheggioPrenotazione","getParcheggiPrenotazione","setFlgAbilitazioneParcheggio","tipoVeicoloservice","parcheggioService","selectedTipoVeicolo","selectedTarga","tipoVeicoloList","selectedParcheggio","tipoVeicololist","getParcheggio","handleChangeP","desc","flgVeicoloPrivato","Form","aria-describedby","class","codiceStatoPagamento","PrenotazioneVeicoloForm","listPax","listData","numeroPasseggeri","addPaxSlot","listToPass","tipologiaDocumentoService","listTipologiaDocumento","nomeEntity","ob","times","setList","codiceTipologiaDocumento","lis","ind","PrenotazioneInsertAnagrafica","SettingsBlock","permittedSections","blocks","block","Children","section","validateAll","errorsTipoPrenotzaione","prenotazioneTipoPrenotazioneChild","validate","errorsVeicolo","prenotazioneVeicoloFormChild","errorsAnagrafica","prenotazioneInsertAnagraficaChild","errorsAll","validateAllUpdate","validateUpd","collectAllData","err","EMAIL","email","resAnagrafica","resTipoPrenotzaione","resVeicolo","idTipologiaVeicolo","idUtenteAssegnato","triggerInsertPrenotazione","resAll","collectAllDataForUpdate","fromVarco","prenotazioneId","veicoloId","handleUpdate","triggerUpdatePrenotazione","onClose","Col","md","allowMultipleExpanded","allowZeroExpanded","preExpanded","uuid","numeroPax","isWrongComune","PrenotazioneDetailForm","handleSubmit","prenotazioneToBePassed","comune","isFromGestore","comuneList","occupantiList","selectedComune","giorniPrenotazioneComune","setValidDatesPrenotazione","handleChangePrenotazioneToBePassed","loadNumeroOccupanti","onResetForm","dateDisp","dataPren","dataNotAvailableForUser","banned","itemBan","DI","set","DE","isSameOrAfter","isSameOrBefore","userBanned","showDetail","DATAABILITATA","_checkBan","Alert","PrenotazioneForm","login","templateHTML","triggerLogoutNoLogin","validPasswordRegExp","submitted","isValidPwd","cntrlPassword","smsSented","noMatch","handlePasswordRecovery","handlePasswordChange","history","isSafe","triggerChangePasswordSafe","triggerChangePassword","triggerPasswordRecovery","submitForm","PasswordRecover","CFisc","generateArrFiscalCodes","input","calcola_codice","sesso","luogo","isValidCF","array","tavola_mesi","tavola_omocodie","tavola_carattere_di_controllo_valore_caratteri_dispari","0","1","2","3","4","5","6","7","8","9","A","B","C","E","F","G","H","I","J","K","L","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","tavola_carattere_di_controllo_valore_caratteri_pari","tavola_carattere_omocodia","tavola_carattere_di_controllo","calcola_carattere_di_controllo","codice_fiscale","charAt","ottieni_consonanti","ottieni_vocali","calcola_codice_cognome","codice_cognome","substr","calcola_codice_nome","codice_nome","calcola_codice_data","meseIndex","mese","trova_comune","pattern_comune","codice","quoted","re","codici_catastali","calcola_codice_comune","omocodia","linguaService","loginService","getToken","userName","validDate","number","country","numberDoc","listLingue","listComuni","privacy","validCF","birthPlace","idComuneNascita","codificaFiscale","_selectFiscalCode","dataNascita","isBetween","subtract","IDTIPOLOGIADOCUMENTO","NUMERODOCUMENTO","CELLULARE","DATADINASCITA","NOME","COGNOME","IDCOMUNEDINASCITA","SESSO","gender","trim","defaultCountry","parsePhoneNumber","nationalNumber","onCountryChange","minLength","validateFiscalCode","handleComuneChange","getElementById","textAlign","RegisterPage","nomeSender","cognomeSender","emailSender","cellulareSender","subject","oggetto","Esito","sendInfo","VarcoMockRepo","VarcoHttpRepo","VarcoService","setFlgAbilitazioneVarco","IDVARCO","getAssignedArea","varcoService","fasciaOrariaList","parcheggiList","varchiList","activeTab","parkValues","fasciaOrariaValues","varchiValues","resizeImage","maxWidth","maxHeight","Resizer","imageFileResizer","uri","assegnazioneFilter","idRelAreaParcheggio","idRelAreaFasciaOraria","idRelVarcoArea","tab","foto","fotoOriginale","promise","serviceV","fkIdArea","fkIdParcheggio","newValues","removedValue","fkIdVarco","idVarco","differenceBy","handleChange","Nav","tabs","NavItem","NavLink","changeTab","TabContent","TabPane","tabId","renderRelAreaParcheggioForm","renderRelAreaFasciaOrariaForm","renderRelVarcoAreaForm","AreaCRUD","Page","cellData","celldata","handleSwitch","checked","isActive","crudNetArea","refreshTable","getDataIfGestore","AreaPage","CentraleOperativaMockRepo","CentraleOperativaHttpRepo","CentraleOperativaRepo","CentraleOperativaService","getStatisticByDateAndComune","changeStatusNotifica","idNotifica","codiceStato","IDNOTIFICACENTRALEOPERATIVA","CODICESTATONOTIFICA","ExcelFile","ReactExport","ExcelSheet","ExcelColumn","selectedData","tabledata","onStamp","axesH","primary","stacked","axesV","_reload","but","html2canvas","canvas","img","toDataURL","pdf","jspdf","internal","getWidth","getHeight","addImage","save","axes","totalOccpati","totalPosti","totalPrenotati","TOTALEOCCUPATI","TOTALEPOSTI","TOTALEPRENOTATI","series","getSeriesStyle","marginBottom","data-html2canvas-ignore","aria-haspopup","aria-labelledby","stampPDF","toogleTab","sm","_mapToGraph","CentraleOperativaPage","NOTIFICASTATUSES","anagraficaUtente","AnagraficaUtente_List","note","cellulare","StatoNotifica","codiceStatoNotifica","idNotificaCentraleOperativa","NotificationDetail","openModal","selectedPnr","selectedRow","openModalDelete","selectedPrenotazione","crudNetNotifica","renderHeader","fkIdStatoNotifica","closeModalDelete","NotificationCOPage","HorizontalFilterList","testo","numero","onSelectFilter","DESCLOCALIZZATA","TOTALEAREE","onClearFilter","subtitle","icons","paragraph","animalsAllowed","accessoAnimali","handicapAllowed","accessoDisabili","codiceArea","postiTotali","postiLiberi","postiOccupati","SearchPrenotazioneBanner","listAree","onTipologiaAreaSelect","tipologiaAreaId","newList","snapshot","isEqual","tipo","role","PER_OCCUPAZIONE","DISPONIBILITA","imgp","formatoP","NUMEROTOTALIPERSONE","toFixed","ISOPEN","boxShadow","CardImg","CardTitle","CardSubtitle","_getCategoryById","CardText","aria-valuenow","aria-valuemin","aria-valuemax","AreaResultList","ControlloVarcoMockRepo","ControlloVarcoHttpRepo","ControlloVarco","ControlloVarcoService","getVarcoFromId","varco","codiceTipologiaVarco","registerTransito","notifyCentraleOperativa","QrCodeReader","removeAttribute","onRead","closePicker","delay","handleError","onScan","handleScan","BarcodeScanner","openFilePicker","querySelector","readBarcodeFromFile","Quagga","decodeSingle","decoder","readers","locate","locator","patchSize","numOfWorkers","hardwareConcurrency","codeResult","setCode","alert","initScan","InputGroup","Input","onDetect","triggerOnChange","InputGroupAddon","addonType","hideSearchButton","URL","createObjectURL","accept","inputStream","constraints","facingMode","aspectRatio","halfSample","start","setAttribute","onDetected","_onDetected","offDetected","dropdownOptions","flgEntrataUscita","assignedVarco","typeAssignedVarco","prenotazioneService","idUtenteAddetto","loadingAccordion","isCorrectComune","handleSearch","handlePrenotazioneSingleType","handlePrenotazioneMultipleType","handleBarCode","NOMEAREA","handlepnrChange","validateForm","setStatePrenotazione","errFromValidate","fkIdPrenotazione","fkIdUtenteAddetto","flgIngressoUscita","noteAddetto","timestamp","toISOString","fkIdUtente","codiceStatoPrenotazione","getMatchBetweenComunePnr","FLGVALIDATE","openScanner","scan","handleBarCodeScan","isSearchable","handleRegister","handleSelectChange","handleModalConfirm","parkService","crudNetPark","close","submitCrud","ParcheggioPage","showModalChangePassword","selectedIdUtente","lookupFilter","FLAGATTIVO","FLAGELIMINATO","crudNetUser","onSucces","closeModalChangePassword","notMatchingPassword","handleChangePassword","UtentePage","QrCodeViewer","renderAs","openPnr","showModalDelete","selectedPrenotazioneId","selectedVeicoloId","numMaxOccupanti","selectedPrenotazioneIdComune","getPrenotazioniUtente","crudNetPrenotazione","onpopstate","reload","marginTop","handleDelete","PrenotazionePage","areaList","areaValues","pp","submitVarco","VarcoCRUD","crudNetVarco","fkIdTipologiaVarco","VarcoPage","ControlloTargaMockRepo","ControlloTargaHttpRepo","ControlloTarga","ControlloTargaService","handleTarga","correctComune","triggerTarga","handleTargaChange","LUOGODINASCITA","triggerRegisterVarco","renderDocInput","fastRegister","renderFastRegister","RegisterFromVarco","searchUtenteByDocFromGestore","searchUtenteByDocFromVarco","SerchUserFromVarco","ComuneBannerMockRepo","ComuneBannerHttpRepo","ComuneBanner","ComuneBannerService","getComuneBannerPrenotazione","imgBanner","BLOCKS","comunebannerservice","ComuneSettings","initialFormData","dafaultBannerImage","useState","setFormData","setLoading","createFile","idComuneBanner","fetch","blob","metadata","File","useEffect","mapped","prenotazioneDetail","pd","banner","toSaveImage","imageWithType","imageToSave","objToSave","ComuneConfigPage","areaSelected","done","CODICESTATOCHIUSURA","onSuccessChangeAreaStatus","areaStatus","renderButtons","ChiusuraAreaVarco","RegistroSanitarioMockRepo","RegistroSanitarioHttpRepo","RegistroSanitario","RegistroSanitarioService","TIPOLOGIEDOC","registroSanitarioService","resIdArea","tipologiaDocumentoList","crudNetRegistroSanitario","selectedTipologiaDocumento","CODICETIPOLOGIADOCUMENTO","idsAree","INITIAL_STATE","columnsArea","removeData","IDGESTOREAREA","idGestoreArea","ESITO","ERROR_MESSAGE","cognomeSearch","nomeSearch","cfSearch","idUserFound","stringArray","IDSAREA","tipoDocumentoSearch","numeroDocumentoSearch","CodiceTipologiaDocumento","userFound","isSearch","searchType","areaChosen","idAreaFound","areaFound","resetPage","getUtenteDistinct","crudNetGestore","handleSelect","utenteService","pren","listAreeGestore","filterUser","us","utenteAssegnato","tipologiaDocumentoUserAssegnato","numeroDocumentoUserAssegnato","ComuneId","PrenotazioneFromGestore","TurnazioneVarcoMockRepo","TurnazioneVarcoHttpRepo","TurnazioneVarcoRepo","TurnazioneVarcoService","TurnazioneVarcoPage","EventoHttpRepo","EventoMockRepo","EventoRepo","EventoService","mappedArea","toRet","dataFineEvento","dataFinePrenotazioni","dataInizioEvento","dataInizioPrenotazioni","idEvento","getDataComune","EventoPage","menu","path","layout","skipMenu","getInitials","createElement","body","appendChild","first","last","context","getContext","fillStyle","fillRect","font","initials","fillText","removeChild","data-target","logout","Userinfo","Navbar","Brand","backgroundImage","logo","backgroundSize","backgroundRepeat","backgroundPosition","HasRole","Sidebar","data-parent","to","activeClassName","layoutComponent","menuToRoutes","routes","paddingBottom","pathname","Layout","NavBarOverlay","dafaultImage","coordinates","comuneservice","Comuneservice","comuneBannerService","getSettings","coord","getCoordinates","getListaCoordinateParcheggi","listCoordAree","listCoordPark","SettingsBannerImage","sendEmail","classC","triggerOtp","triggerSendOtp","submitOTP","resendOTP","RegisterOTP","AppSwitch","userLogged","LayoutSite","LoginPage","PasswordRecovery","RegisterHelpdesk","disableAll","addEventListener","scale","passive","touches","sagaMiddleware","createSagaMiddleware","store","createStore","applyMiddleware","thunk","run","configureStore","persistor","persistStore","createBrowserHistory","tz","setDefault","locale","App","initEnd","translationConfig","i18nCOnfig","I18nextProvider","Boolean","hostname","ReactDOM","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.c9c7fddd.chunk.js","sourcesContent":["module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/logo-3.2b8c08c2.png\";","module.exports = \"data:image/jpeg;base64,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\"","//import jQuery from'jquery';\r\n/*!\r\n * Datepicker for Bootstrap v1.6.4 (https://github.com/eternicode/bootstrap-datepicker)\r\n *\r\n * Copyright 2012 Stefan Petre\r\n * Improvements by Andrew Rowls\r\n * Licensed under the Apache License v2.0 (http://www.apache.org/licenses/LICENSE-2.0)\r\n */(function(factory){\r\n //if (typeof exports === 'object') {\r\n factory(require('jquery'));\r\n //} else {\r\n // factory(jQuery);\r\n //}\r\n}(function($/*, undefined*/){\r\n\r\n\tfunction UTCDate(){\r\n\t\treturn new Date(Date.UTC.apply(Date, arguments));\r\n\t}\r\n\tfunction UTCToday(){\r\n\t\tvar today = new Date();\r\n\t\treturn UTCDate(today.getFullYear(), today.getMonth(), today.getDate());\r\n\t}\r\n\tfunction isUTCEquals(date1, date2) {\r\n\t\treturn (\r\n\t\t\tdate1.getUTCFullYear() === date2.getUTCFullYear() &&\r\n\t\t\tdate1.getUTCMonth() === date2.getUTCMonth() &&\r\n\t\t\tdate1.getUTCDate() === date2.getUTCDate()\r\n\t\t);\r\n\t}\r\n\tfunction alias(method){\r\n\t\treturn function(){\r\n\t\t\treturn this[method].apply(this, arguments);\r\n\t\t};\r\n\t}\r\n\tfunction isValidDate(d) {\r\n\t\treturn d && !isNaN(d.getTime());\r\n\t}\r\n\r\n\tvar DateArray = (function(){\r\n\t\tvar extras = {\r\n\t\t\tget: function(i){\r\n\t\t\t\treturn this.slice(i)[0];\r\n\t\t\t},\r\n\t\t\tcontains: function(d){\r\n\t\t\t\t// Array.indexOf is not cross-browser;\r\n\t\t\t\t// $.inArray doesn't work with Dates\r\n\t\t\t\tvar val = d && d.valueOf();\r\n\t\t\t\tfor (var i=0, l=this.length; i < l; i++)\r\n\t\t\t\t\tif (this[i].valueOf() === val)\r\n\t\t\t\t\t\treturn i;\r\n\t\t\t\treturn -1;\r\n\t\t\t},\r\n\t\t\tremove: function(i){\r\n\t\t\t\tthis.splice(i,1);\r\n\t\t\t},\r\n\t\t\treplace: function(new_array){\r\n\t\t\t\tif (!new_array)\r\n\t\t\t\t\treturn;\r\n\t\t\t\tif (!$.isArray(new_array))\r\n\t\t\t\t\tnew_array = [new_array];\r\n\t\t\t\tthis.clear();\r\n\t\t\t\tthis.push.apply(this, new_array);\r\n\t\t\t},\r\n\t\t\tclear: function(){\r\n\t\t\t\tthis.length = 0;\r\n\t\t\t},\r\n\t\t\tcopy: function(){\r\n\t\t\t\tvar a = new DateArray();\r\n\t\t\t\ta.replace(this);\r\n\t\t\t\treturn a;\r\n\t\t\t}\r\n\t\t};\r\n\r\n\t\treturn function(){\r\n\t\t\tvar a = [];\r\n\t\t\ta.push.apply(a, arguments);\r\n\t\t\t$.extend(a, extras);\r\n\t\t\treturn a;\r\n\t\t};\r\n\t})();\r\n\r\n\r\n\t// Picker object\r\n\r\n\tvar Datepicker = function(element, options){\r\n\t\t$(element).data('datepicker', this);\r\n\t\tthis._process_options(options);\r\n\r\n\t\tthis.dates = new DateArray();\r\n\t\tthis.viewDate = this.o.defaultViewDate;\r\n\t\tthis.focusDate = null;\r\n\r\n\t\tthis.element = $(element);\r\n\t\tthis.isInput = this.element.is('input');\r\n\t\tthis.inputField = this.isInput ? this.element : this.element.find('input');\r\n\t\tthis.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false;\r\n\t\tthis.hasInput = this.component && this.inputField.length;\r\n\t\tif (this.component && this.component.length === 0)\r\n\t\t\tthis.component = false;\r\n\t\tthis.isInline = !this.component && this.element.is('div');\r\n\r\n\t\tthis.picker = $(DPGlobal.template);\r\n\r\n\t\t// Checking templates and inserting\r\n\t\tif (this._check_template(this.o.templates.leftArrow)) {\r\n\t\t\tthis.picker.find('.prev').html(this.o.templates.leftArrow);\r\n\t\t}\r\n\t\tif (this._check_template(this.o.templates.rightArrow)) {\r\n\t\t\tthis.picker.find('.next').html(this.o.templates.rightArrow);\r\n\t\t}\r\n\r\n\t\tthis._buildEvents();\r\n\t\tthis._attachEvents();\r\n\r\n\t\tif (this.isInline){\r\n\t\t\tthis.picker.addClass('datepicker-inline').appendTo(this.element);\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.picker.addClass('datepicker-dropdown dropdown-menu');\r\n\t\t}\r\n\r\n\t\tif (this.o.rtl){\r\n\t\t\tthis.picker.addClass('datepicker-rtl');\r\n\t\t}\r\n\r\n\t\tthis.viewMode = this.o.startView;\r\n\r\n\t\tif (this.o.calendarWeeks)\r\n\t\t\tthis.picker.find('thead .datepicker-title, tfoot .today, tfoot .clear')\r\n\t\t\t\t\t\t.attr('colspan', function(i, val){\r\n\t\t\t\t\t\t\treturn parseInt(val) + 1;\r\n\t\t\t\t\t\t});\r\n\r\n\t\tthis._allow_update = false;\r\n\r\n\t\tthis.setStartDate(this._o.startDate);\r\n\t\tthis.setEndDate(this._o.endDate);\r\n\t\tthis.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled);\r\n\t\tthis.setDaysOfWeekHighlighted(this.o.daysOfWeekHighlighted);\r\n\t\tthis.setDatesDisabled(this.o.datesDisabled);\r\n\r\n\t\tthis.fillDow();\r\n\t\tthis.fillMonths();\r\n\r\n\t\tthis._allow_update = true;\r\n\r\n\t\tthis.update();\r\n\t\tthis.showMode();\r\n\r\n\t\tif (this.isInline){\r\n\t\t\tthis.show();\r\n\t\t}\r\n\t};\r\n\r\n\tDatepicker.prototype = {\r\n\t\tconstructor: Datepicker,\r\n\r\n\t\t_resolveViewName: function(view, default_value){\r\n\t\t\tif (view === 0 || view === 'days' || view === 'month') {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\tif (view === 1 || view === 'months' || view === 'year') {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tif (view === 2 || view === 'years' || view === 'decade') {\r\n\t\t\t\treturn 2;\r\n\t\t\t}\r\n\t\t\tif (view === 3 || view === 'decades' || view === 'century') {\r\n\t\t\t\treturn 3;\r\n\t\t\t}\r\n\t\t\tif (view === 4 || view === 'centuries' || view === 'millennium') {\r\n\t\t\t\treturn 4;\r\n\t\t\t}\r\n\t\t\treturn default_value === undefined ? false : default_value;\r\n\t\t},\r\n\r\n\t\t_check_template: function(tmp){\r\n\t\t\ttry {\r\n\t\t\t\t// If empty\r\n\t\t\t\tif (tmp === undefined || tmp === \"\") {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\t// If no html, everything ok\r\n\t\t\t\tif ((tmp.match(/[<>]/g) || []).length <= 0) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t\t// Checking if html is fine\r\n\t\t\t\tvar jDom = $(tmp);\r\n\t\t\t\treturn jDom.length > 0;\r\n\t\t\t}\r\n\t\t\tcatch (ex) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\t_process_options: function(opts){\r\n\t\t\t// Store raw options for reference\r\n\t\t\tthis._o = $.extend({}, this._o, opts);\r\n\t\t\t// Processed options\r\n\t\t\tvar o = this.o = $.extend({}, this._o);\r\n\r\n\t\t\t// Check if \"de-DE\" style date is available, if not language should\r\n\t\t\t// fallback to 2 letter code eg \"de\"\r\n\t\t\tvar lang = o.language;\r\n\t\t\tif (!dates[lang]){\r\n\t\t\t\tlang = lang.split('-')[0];\r\n\t\t\t\tif (!dates[lang])\r\n\t\t\t\t\tlang = defaults.language;\r\n\t\t\t}\r\n\t\t\to.language = lang;\r\n\r\n\t\t\t// Retrieve view index from any aliases\r\n\t\t\to.startView = this._resolveViewName(o.startView, 0);\r\n\t\t\to.minViewMode = this._resolveViewName(o.minViewMode, 0);\r\n\t\t\to.maxViewMode = this._resolveViewName(o.maxViewMode, 4);\r\n\r\n\t\t\t// Check that the start view is between min and max\r\n\t\t\to.startView = Math.min(o.startView, o.maxViewMode);\r\n\t\t\to.startView = Math.max(o.startView, o.minViewMode);\r\n\r\n\t\t\t// true, false, or Number > 0\r\n\t\t\tif (o.multidate !== true){\r\n\t\t\t\to.multidate = Number(o.multidate) || false;\r\n\t\t\t\tif (o.multidate !== false)\r\n\t\t\t\t\to.multidate = Math.max(0, o.multidate);\r\n\t\t\t}\r\n\t\t\to.multidateSeparator = String(o.multidateSeparator);\r\n\r\n\t\t\to.weekStart %= 7;\r\n\t\t\to.weekEnd = (o.weekStart + 6) % 7;\r\n\r\n\t\t\tvar format = DPGlobal.parseFormat(o.format);\r\n\t\t\tif (o.startDate !== -Infinity){\r\n\t\t\t\tif (!!o.startDate){\r\n\t\t\t\t\tif (o.startDate instanceof Date)\r\n\t\t\t\t\t\to.startDate = this._local_to_utc(this._zero_time(o.startDate));\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\to.startDate = DPGlobal.parseDate(o.startDate, format, o.language, o.assumeNearbyYear);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\to.startDate = -Infinity;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (o.endDate !== Infinity){\r\n\t\t\t\tif (!!o.endDate){\r\n\t\t\t\t\tif (o.endDate instanceof Date)\r\n\t\t\t\t\t\to.endDate = this._local_to_utc(this._zero_time(o.endDate));\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\to.endDate = DPGlobal.parseDate(o.endDate, format, o.language, o.assumeNearbyYear);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\to.endDate = Infinity;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\to.daysOfWeekDisabled = o.daysOfWeekDisabled||[];\r\n\t\t\tif (!$.isArray(o.daysOfWeekDisabled))\r\n\t\t\t\to.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\\s]*/);\r\n\t\t\to.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function(d){\r\n\t\t\t\treturn parseInt(d, 10);\r\n\t\t\t});\r\n\r\n\t\t\to.daysOfWeekHighlighted = o.daysOfWeekHighlighted||[];\r\n\t\t\tif (!$.isArray(o.daysOfWeekHighlighted))\r\n\t\t\t\to.daysOfWeekHighlighted = o.daysOfWeekHighlighted.split(/[,\\s]*/);\r\n\t\t\to.daysOfWeekHighlighted = $.map(o.daysOfWeekHighlighted, function(d){\r\n\t\t\t\treturn parseInt(d, 10);\r\n\t\t\t});\r\n\r\n\t\t\to.datesDisabled = o.datesDisabled||[];\r\n\t\t\tif (!$.isArray(o.datesDisabled)) {\r\n\t\t\t\to.datesDisabled = [\r\n\t\t\t\t\to.datesDisabled\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t\to.datesDisabled = $.map(o.datesDisabled,function(d){\r\n\t\t\t\treturn DPGlobal.parseDate(d, format, o.language, o.assumeNearbyYear);\r\n\t\t\t});\r\n\r\n\t\t\tvar plc = String(o.orientation).toLowerCase().split(/\\s+/g),\r\n\t\t\t\t_plc = o.orientation.toLowerCase();\r\n\t\t\tplc = $.grep(plc, function(word){\r\n\t\t\t\treturn /^auto|left|right|top|bottom$/.test(word);\r\n\t\t\t});\r\n\t\t\to.orientation = {x: 'auto', y: 'auto'};\r\n\t\t\tif (!_plc || _plc === 'auto')\r\n\t\t\t\t; // no action\r\n\t\t\telse if (plc.length === 1){\r\n\t\t\t\tswitch (plc[0]){\r\n\t\t\t\t\tcase 'top':\r\n\t\t\t\t\tcase 'bottom':\r\n\t\t\t\t\t\to.orientation.y = plc[0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tcase 'left':\r\n\t\t\t\t\tcase 'right':\r\n\t\t\t\t\t\to.orientation.x = plc[0];\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t_plc = $.grep(plc, function(word){\r\n\t\t\t\t\treturn /^left|right$/.test(word);\r\n\t\t\t\t});\r\n\t\t\t\to.orientation.x = _plc[0] || 'auto';\r\n\r\n\t\t\t\t_plc = $.grep(plc, function(word){\r\n\t\t\t\t\treturn /^top|bottom$/.test(word);\r\n\t\t\t\t});\r\n\t\t\t\to.orientation.y = _plc[0] || 'auto';\r\n\t\t\t}\r\n\t\t\tif (o.defaultViewDate) {\r\n\t\t\t\tvar year = o.defaultViewDate.year || new Date().getFullYear();\r\n\t\t\t\tvar month = o.defaultViewDate.month || 0;\r\n\t\t\t\tvar day = o.defaultViewDate.day || 1;\r\n\t\t\t\to.defaultViewDate = UTCDate(year, month, day);\r\n\t\t\t} else {\r\n\t\t\t\to.defaultViewDate = UTCToday();\r\n\t\t\t}\r\n\t\t},\r\n\t\t_events: [],\r\n\t\t_secondaryEvents: [],\r\n\t\t_applyEvents: function(evs){\r\n\t\t\tfor (var i=0, el, ch, ev; i < evs.length; i++){\r\n\t\t\t\tel = evs[i][0];\r\n\t\t\t\tif (evs[i].length === 2){\r\n\t\t\t\t\tch = undefined;\r\n\t\t\t\t\tev = evs[i][1];\r\n\t\t\t\t}\r\n\t\t\t\telse if (evs[i].length === 3){\r\n\t\t\t\t\tch = evs[i][1];\r\n\t\t\t\t\tev = evs[i][2];\r\n\t\t\t\t}\r\n\t\t\t\tel.on(ev, ch);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_unapplyEvents: function(evs){\r\n\t\t\tfor (var i=0, el, ev, ch; i < evs.length; i++){\r\n\t\t\t\tel = evs[i][0];\r\n\t\t\t\tif (evs[i].length === 2){\r\n\t\t\t\t\tch = undefined;\r\n\t\t\t\t\tev = evs[i][1];\r\n\t\t\t\t}\r\n\t\t\t\telse if (evs[i].length === 3){\r\n\t\t\t\t\tch = evs[i][1];\r\n\t\t\t\t\tev = evs[i][2];\r\n\t\t\t\t}\r\n\t\t\t\tel.off(ev, ch);\r\n\t\t\t}\r\n\t\t},\r\n\t\t_buildEvents: function(){\r\n var events = {\r\n keyup: $.proxy(function(e){\r\n if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1)\r\n this.update();\r\n }, this),\r\n keydown: $.proxy(this.keydown, this),\r\n paste: $.proxy(this.paste, this)\r\n };\r\n\r\n if (this.o.showOnFocus === true) {\r\n events.focus = $.proxy(this.show, this);\r\n }\r\n\r\n if (this.isInput) { // single input\r\n this._events = [\r\n [this.element, events]\r\n ];\r\n }\r\n else if (this.component && this.hasInput) { // component: input + button\r\n this._events = [\r\n // For components that are not readonly, allow keyboard nav\r\n [this.inputField, events],\r\n [this.component, {\r\n click: $.proxy(this.show, this)\r\n }]\r\n ];\r\n }\r\n\t\t\telse {\r\n\t\t\t\tthis._events = [\r\n\t\t\t\t\t[this.element, {\r\n\t\t\t\t\t\tclick: $.proxy(this.show, this),\r\n\t\t\t\t\t\tkeydown: $.proxy(this.keydown, this)\r\n\t\t\t\t\t}]\r\n\t\t\t\t];\r\n\t\t\t}\r\n\t\t\tthis._events.push(\r\n\t\t\t\t// Component: listen for blur on element descendants\r\n\t\t\t\t[this.element, '*', {\r\n\t\t\t\t\tblur: $.proxy(function(e){\r\n\t\t\t\t\t\tthis._focused_from = e.target;\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}],\r\n\t\t\t\t// Input: listen for blur on element\r\n\t\t\t\t[this.element, {\r\n\t\t\t\t\tblur: $.proxy(function(e){\r\n\t\t\t\t\t\tthis._focused_from = e.target;\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]\r\n\t\t\t);\r\n\r\n\t\t\tif (this.o.immediateUpdates) {\r\n\t\t\t\t// Trigger input updates immediately on changed year/month\r\n\t\t\t\tthis._events.push([this.element, {\r\n\t\t\t\t\t'changeYear changeMonth': $.proxy(function(e){\r\n\t\t\t\t\t\tthis.update(e.date);\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]);\r\n\t\t\t}\r\n\r\n\t\t\tthis._secondaryEvents = [\r\n\t\t\t\t[this.picker, {\r\n\t\t\t\t\tclick: $.proxy(this.click, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[$(window), {\r\n\t\t\t\t\tresize: $.proxy(this.place, this)\r\n\t\t\t\t}],\r\n\t\t\t\t[$(document), {\r\n\t\t\t\t\tmousedown: $.proxy(function(e){\r\n\t\t\t\t\t\t// Clicked outside the datepicker, hide it\r\n\t\t\t\t\t\tif (!(\r\n\t\t\t\t\t\t\tthis.element.is(e.target) ||\r\n\t\t\t\t\t\t\tthis.element.find(e.target).length ||\r\n\t\t\t\t\t\t\tthis.picker.is(e.target) ||\r\n\t\t\t\t\t\t\tthis.picker.find(e.target).length ||\r\n\t\t\t\t\t\t\tthis.isInline\r\n\t\t\t\t\t\t)){\r\n\t\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}, this)\r\n\t\t\t\t}]\r\n\t\t\t];\r\n\t\t},\r\n\t\t_attachEvents: function(){\r\n\t\t\tthis._detachEvents();\r\n\t\t\tthis._applyEvents(this._events);\r\n\t\t},\r\n\t\t_detachEvents: function(){\r\n\t\t\tthis._unapplyEvents(this._events);\r\n\t\t},\r\n\t\t_attachSecondaryEvents: function(){\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis._applyEvents(this._secondaryEvents);\r\n\t\t},\r\n\t\t_detachSecondaryEvents: function(){\r\n\t\t\tthis._unapplyEvents(this._secondaryEvents);\r\n\t\t},\r\n\t\t_trigger: function(event, altdate){\r\n\t\t\tvar date = altdate || this.dates.get(-1),\r\n\t\t\t\tlocal_date = this._utc_to_local(date);\r\n\r\n\t\t\tthis.element.trigger({\r\n\t\t\t\ttype: event,\r\n\t\t\t\tdate: local_date,\r\n\t\t\t\tdates: $.map(this.dates, this._utc_to_local),\r\n\t\t\t\tformat: $.proxy(function(ix, format){\r\n\t\t\t\t\tif (arguments.length === 0){\r\n\t\t\t\t\t\tix = this.dates.length - 1;\r\n\t\t\t\t\t\tformat = this.o.format;\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse if (typeof ix === 'string'){\r\n\t\t\t\t\t\tformat = ix;\r\n\t\t\t\t\t\tix = this.dates.length - 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tformat = format || this.o.format;\r\n\t\t\t\t\tvar date = this.dates.get(ix);\r\n\t\t\t\t\treturn DPGlobal.formatDate(date, format, this.o.language);\r\n\t\t\t\t}, this)\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tshow: function(){\r\n\t\t\tif (this.inputField.prop('disabled') || (this.inputField.prop('readonly') && this.o.enableOnReadonly === false))\r\n\t\t\t\treturn;\r\n\t\t\tif (!this.isInline)\r\n\t\t\t\tthis.picker.appendTo(this.o.container);\r\n\t\t\tthis.place();\r\n\t\t\tthis.picker.show();\r\n\t\t\tthis._attachSecondaryEvents();\r\n\t\t\tthis._trigger('show');\r\n\t\t\tif ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) {\r\n\t\t\t\t$(this.element).blur();\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\thide: function(){\r\n\t\t\tif (this.isInline || !this.picker.is(':visible'))\r\n\t\t\t\treturn this;\r\n\t\t\tthis.focusDate = null;\r\n\t\t\tthis.picker.hide().detach();\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis.viewMode = this.o.startView;\r\n\t\t\tthis.showMode();\r\n\r\n\t\t\tif (this.o.forceParse && this.inputField.val())\r\n\t\t\t\tthis.setValue();\r\n\t\t\tthis._trigger('hide');\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tdestroy: function(){\r\n\t\t\tthis.hide();\r\n\t\t\tthis._detachEvents();\r\n\t\t\tthis._detachSecondaryEvents();\r\n\t\t\tthis.picker.remove();\r\n\t\t\tdelete this.element.data().datepicker;\r\n\t\t\tif (!this.isInput){\r\n\t\t\t\tdelete this.element.data().date;\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tpaste: function(evt){\r\n\t\t\tvar dateString;\r\n\t\t\tif (evt.originalEvent.clipboardData && evt.originalEvent.clipboardData.types\r\n\t\t\t\t&& $.inArray('text/plain', evt.originalEvent.clipboardData.types) !== -1) {\r\n\t\t\t\tdateString = evt.originalEvent.clipboardData.getData('text/plain');\r\n\t\t\t}\r\n\t\t\telse if (window.clipboardData) {\r\n\t\t\t\tdateString = window.clipboardData.getData('Text');\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.setDate(dateString);\r\n\t\t\tthis.update();\r\n\t\t\tevt.preventDefault();\r\n\t\t},\r\n\r\n\t\t_utc_to_local: function(utc){\r\n\t\t\treturn utc && new Date(utc.getTime() + (utc.getTimezoneOffset()*60000));\r\n\t\t},\r\n\t\t_local_to_utc: function(local){\r\n\t\t\treturn local && new Date(local.getTime() - (local.getTimezoneOffset()*60000));\r\n\t\t},\r\n\t\t_zero_time: function(local){\r\n\t\t\treturn local && new Date(local.getFullYear(), local.getMonth(), local.getDate());\r\n\t\t},\r\n\t\t_zero_utc_time: function(utc){\r\n\t\t\treturn utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate()));\r\n\t\t},\r\n\r\n\t\tgetDates: function(){\r\n\t\t\treturn $.map(this.dates, this._utc_to_local);\r\n\t\t},\r\n\r\n\t\tgetUTCDates: function(){\r\n\t\t\treturn $.map(this.dates, function(d){\r\n\t\t\t\treturn new Date(d);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tgetDate: function(){\r\n\t\t\treturn this._utc_to_local(this.getUTCDate());\r\n\t\t},\r\n\r\n\t\tgetUTCDate: function(){\r\n\t\t\tvar selected_date = this.dates.get(-1);\r\n\t\t\tif (typeof selected_date !== 'undefined') {\r\n\t\t\t\treturn new Date(selected_date);\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclearDates: function(){\r\n\t\t\tif (this.inputField) {\r\n\t\t\t\tthis.inputField.val('');\r\n\t\t\t}\r\n\r\n\t\t\tthis.update();\r\n\t\t\tthis._trigger('changeDate');\r\n\r\n\t\t\tif (this.o.autoclose) {\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetDates: function(){\r\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\r\n\t\t\tthis.update.apply(this, args);\r\n\t\t\tthis._trigger('changeDate');\r\n\t\t\tthis.setValue();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetUTCDates: function(){\r\n\t\t\tvar args = $.isArray(arguments[0]) ? arguments[0] : arguments;\r\n\t\t\tthis.update.apply(this, $.map(args, this._utc_to_local));\r\n\t\t\tthis._trigger('changeDate');\r\n\t\t\tthis.setValue();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDate: alias('setDates'),\r\n\t\tsetUTCDate: alias('setUTCDates'),\r\n\t\tremove: alias('destroy'),\r\n\r\n\t\tsetValue: function(){\r\n\t\t\tvar formatted = this.getFormattedDate();\r\n\t\t\tthis.inputField.val(formatted);\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tgetFormattedDate: function(format){\r\n\t\t\tif (format === undefined)\r\n\t\t\t\tformat = this.o.format;\r\n\r\n\t\t\tvar lang = this.o.language;\r\n\t\t\treturn $.map(this.dates, function(d){\r\n\t\t\t\treturn DPGlobal.formatDate(d, format, lang);\r\n\t\t\t}).join(this.o.multidateSeparator);\r\n\t\t},\r\n\r\n\t\tgetStartDate: function(){\r\n\t\t\treturn this.o.startDate;\r\n\t\t},\r\n\r\n\t\tsetStartDate: function(startDate){\r\n\t\t\tthis._process_options({startDate: startDate});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tgetEndDate: function(){\r\n\t\t\treturn this.o.endDate;\r\n\t\t},\r\n\r\n\t\tsetEndDate: function(endDate){\r\n\t\t\tthis._process_options({endDate: endDate});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDaysOfWeekDisabled: function(daysOfWeekDisabled){\r\n\t\t\tthis._process_options({daysOfWeekDisabled: daysOfWeekDisabled});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDaysOfWeekHighlighted: function(daysOfWeekHighlighted){\r\n\t\t\tthis._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted});\r\n\t\t\tthis.update();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tsetDatesDisabled: function(datesDisabled){\r\n\t\t\tthis._process_options({datesDisabled: datesDisabled});\r\n\t\t\tthis.update();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t},\r\n\r\n\t\tplace: function(){\r\n\t\t\tif (this.isInline)\r\n\t\t\t\treturn this;\r\n\t\t\tvar calendarWidth = this.picker.outerWidth(),\r\n\t\t\t\tcalendarHeight = this.picker.outerHeight(),\r\n\t\t\t\tvisualPadding = 10,\r\n\t\t\t\tcontainer = $(this.o.container),\r\n\t\t\t\twindowWidth = container.width(),\r\n\t\t\t\tscrollTop = this.o.container === 'body' ? $(document).scrollTop() : container.scrollTop(),\r\n\t\t\t\tappendOffset = container.offset();\r\n\r\n\t\t\tvar parentsZindex = [];\r\n\t\t\tthis.element.parents().each(function(){\r\n\t\t\t\tvar itemZIndex = $(this).css('z-index');\r\n\t\t\t\tif (itemZIndex !== 'auto' && itemZIndex !== 0) parentsZindex.push(parseInt(itemZIndex));\r\n\t\t\t});\r\n\t\t\tvar zIndex = Math.max.apply(Math, parentsZindex) + this.o.zIndexOffset;\r\n\t\t\tvar offset = this.component ? this.component.parent().offset() : this.element.offset();\r\n\t\t\tvar height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false);\r\n\t\t\tvar width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false);\r\n\t\t\tvar left = offset.left - appendOffset.left,\r\n\t\t\t\ttop = offset.top - appendOffset.top;\r\n\r\n\t\t\tif (this.o.container !== 'body') {\r\n\t\t\t\ttop += scrollTop;\r\n\t\t\t}\r\n\r\n\t\t\tthis.picker.removeClass(\r\n\t\t\t\t'datepicker-orient-top datepicker-orient-bottom '+\r\n\t\t\t\t'datepicker-orient-right datepicker-orient-left'\r\n\t\t\t);\r\n\r\n\t\t\tif (this.o.orientation.x !== 'auto'){\r\n\t\t\t\tthis.picker.addClass('datepicker-orient-' + this.o.orientation.x);\r\n\t\t\t\tif (this.o.orientation.x === 'right')\r\n\t\t\t\t\tleft -= calendarWidth - width;\r\n\t\t\t}\r\n\t\t\t// auto x orientation is best-placement: if it crosses a window\r\n\t\t\t// edge, fudge it sideways\r\n\t\t\telse {\r\n\t\t\t\tif (offset.left < 0) {\r\n\t\t\t\t\t// component is outside the window on the left side. Move it into visible range\r\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\r\n\t\t\t\t\tleft -= offset.left - visualPadding;\r\n\t\t\t\t} else if (left + calendarWidth > windowWidth) {\r\n\t\t\t\t\t// the calendar passes the widow right edge. Align it to component right side\r\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-right');\r\n\t\t\t\t\tleft += width - calendarWidth;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t// Default to left\r\n\t\t\t\t\tthis.picker.addClass('datepicker-orient-left');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\t// auto y orientation is best-situation: top or bottom, no fudging,\r\n\t\t\t// decision based on which shows more of the calendar\r\n\t\t\tvar yorient = this.o.orientation.y,\r\n\t\t\t\ttop_overflow;\r\n\t\t\tif (yorient === 'auto'){\r\n\t\t\t\ttop_overflow = -scrollTop + top - calendarHeight;\r\n\t\t\t\tyorient = top_overflow < 0 ? 'bottom' : 'top';\r\n\t\t\t}\r\n\r\n\t\t\tthis.picker.addClass('datepicker-orient-' + yorient);\r\n\t\t\tif (yorient === 'top')\r\n\t\t\t\ttop -= calendarHeight + parseInt(this.picker.css('padding-top'));\r\n\t\t\telse\r\n\t\t\t\ttop += height;\r\n\r\n\t\t\tif (this.o.rtl) {\r\n\t\t\t\tvar right = windowWidth - (left + width);\r\n\t\t\t\tthis.picker.css({\r\n\t\t\t\t\ttop: top,\r\n\t\t\t\t\tright: right,\r\n\t\t\t\t\tzIndex: zIndex\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.picker.css({\r\n\t\t\t\t\ttop: top,\r\n\t\t\t\t\tleft: left,\r\n\t\t\t\t\tzIndex: zIndex\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\t_allow_update: true,\r\n\t\tupdate: function(){\r\n\t\t\tif (!this._allow_update)\r\n\t\t\t\treturn this;\r\n\r\n\t\t\tvar oldDates = this.dates.copy(),\r\n\t\t\t\tdates = [],\r\n\t\t\t\tfromArgs = false;\r\n\t\t\tif (arguments.length){\r\n\t\t\t\t$.each(arguments, $.proxy(function(i, date){\r\n\t\t\t\t\tif (date instanceof Date)\r\n\t\t\t\t\t\tdate = this._local_to_utc(date);\r\n\t\t\t\t\tdates.push(date);\r\n\t\t\t\t}, this));\r\n\t\t\t\tfromArgs = true;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tdates = this.isInput\r\n\t\t\t\t\t\t? this.element.val()\r\n\t\t\t\t\t\t: this.element.data('date') || this.inputField.val();\r\n\t\t\t\tif (dates && this.o.multidate)\r\n\t\t\t\t\tdates = dates.split(this.o.multidateSeparator);\r\n\t\t\t\telse\r\n\t\t\t\t\tdates = [dates];\r\n\t\t\t\tdelete this.element.data().date;\r\n\t\t\t}\r\n\r\n\t\t\tdates = $.map(dates, $.proxy(function(date){\r\n\t\t\t\treturn DPGlobal.parseDate(date, this.o.format, this.o.language, this.o.assumeNearbyYear);\r\n\t\t\t}, this));\r\n\t\t\tdates = $.grep(dates, $.proxy(function(date){\r\n\t\t\t\treturn (\r\n\t\t\t\t\t!this.dateWithinRange(date) ||\r\n\t\t\t\t\t!date\r\n\t\t\t\t);\r\n\t\t\t}, this), true);\r\n\t\t\tthis.dates.replace(dates);\r\n\r\n\t\t\tif (this.dates.length)\r\n\t\t\t\tthis.viewDate = new Date(this.dates.get(-1));\r\n\t\t\telse if (this.viewDate < this.o.startDate)\r\n\t\t\t\tthis.viewDate = new Date(this.o.startDate);\r\n\t\t\telse if (this.viewDate > this.o.endDate)\r\n\t\t\t\tthis.viewDate = new Date(this.o.endDate);\r\n\t\t\telse\r\n\t\t\t\tthis.viewDate = this.o.defaultViewDate;\r\n\r\n\t\t\tif (fromArgs){\r\n\t\t\t\t// setting date by clicking\r\n\t\t\t\tthis.setValue();\r\n\t\t\t}\r\n\t\t\telse if (dates.length){\r\n\t\t\t\t// setting date by typing\r\n\t\t\t\tif (String(oldDates) !== String(this.dates))\r\n\t\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t}\r\n\t\t\tif (!this.dates.length && oldDates.length)\r\n\t\t\t\tthis._trigger('clearDate');\r\n\r\n\t\t\tthis.fill();\r\n\t\t\tthis.element.change();\r\n\t\t\treturn this;\r\n\t\t},\r\n\r\n\t\tfillDow: function(){\r\n\t\t\tvar dowCnt = this.o.weekStart,\r\n\t\t\t\thtml = '';\r\n\t\t\tif (this.o.calendarWeeks){\r\n\t\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\r\n\t\t\t\t\t.attr('colspan', function(i, val){\r\n\t\t\t\t\t\treturn parseInt(val) + 1;\r\n\t\t\t\t\t});\r\n\t\t\t\thtml += ' ';\r\n\t\t\t}\r\n\t\t\twhile (dowCnt < this.o.weekStart + 7){\r\n\t\t\t\thtml += ' -1)\r\n html += ' disabled';\r\n html += '\">'+dates[this.o.language].daysMin[(dowCnt++)%7]+'';\r\n\t\t\t}\r\n\t\t\thtml += '';\r\n\t\t\tthis.picker.find('.datepicker-days thead').append(html);\r\n\t\t},\r\n\r\n\t\tfillMonths: function(){\r\n var localDate = this._utc_to_local(this.viewDate);\r\n\t\t\tvar html = '',\r\n\t\t\ti = 0;\r\n\t\t\twhile (i < 12){\r\n var focused = localDate && localDate.getMonth() === i ? ' focused' : '';\r\n\t\t\t\thtml += '' + dates[this.o.language].monthsShort[i++]+'';\r\n\t\t\t}\r\n\t\t\tthis.picker.find('.datepicker-months td').html(html);\r\n\t\t},\r\n\r\n\t\tsetRange: function(range){\r\n\t\t\tif (!range || !range.length)\r\n\t\t\t\tdelete this.range;\r\n\t\t\telse\r\n\t\t\t\tthis.range = $.map(range, function(d){\r\n\t\t\t\t\treturn d.valueOf();\r\n\t\t\t\t});\r\n\t\t\tthis.fill();\r\n\t\t},\r\n\r\n\t\tgetClassNames: function(date){\r\n\t\t\tvar cls = [],\r\n\t\t\t\tyear = this.viewDate.getUTCFullYear(),\r\n\t\t\t\tmonth = this.viewDate.getUTCMonth(),\r\n\t\t\t\ttoday = new Date();\r\n\t\t\tif (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){\r\n\t\t\t\tcls.push('old');\r\n\t\t\t}\r\n\t\t\telse if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){\r\n\t\t\t\tcls.push('new');\r\n\t\t\t}\r\n\t\t\tif (this.focusDate && date.valueOf() === this.focusDate.valueOf())\r\n\t\t\t\tcls.push('focused');\r\n\t\t\t// Compare internal UTC date with local today, not UTC today\r\n\t\t\tif (this.o.todayHighlight &&\r\n\t\t\t\tdate.getUTCFullYear() === today.getFullYear() &&\r\n\t\t\t\tdate.getUTCMonth() === today.getMonth() &&\r\n\t\t\t\tdate.getUTCDate() === today.getDate()){\r\n\t\t\t\tcls.push('today');\r\n\t\t\t}\r\n\t\t\tif (this.dates.contains(date) !== -1)\r\n\t\t\t\tcls.push('active');\r\n\t\t\tif (!this.dateWithinRange(date)){\r\n\t\t\t\tcls.push('disabled');\r\n\t\t\t}\r\n\t\t\tif (this.dateIsDisabled(date)){\r\n\t\t\t\tcls.push('disabled', 'disabled-date');\t\r\n\t\t\t} \r\n\t\t\tif ($.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){\r\n\t\t\t\tcls.push('highlighted');\r\n\t\t\t}\r\n\r\n\t\t\tif (this.range){\r\n\t\t\t\tif (date > this.range[0] && date < this.range[this.range.length-1]){\r\n\t\t\t\t\tcls.push('range');\r\n\t\t\t\t}\r\n\t\t\t\tif ($.inArray(date.valueOf(), this.range) !== -1){\r\n\t\t\t\t\tcls.push('selected');\r\n\t\t\t\t}\r\n\t\t\t\tif (date.valueOf() === this.range[0]){\r\n cls.push('range-start');\r\n }\r\n if (date.valueOf() === this.range[this.range.length-1]){\r\n cls.push('range-end');\r\n }\r\n\t\t\t}\r\n\t\t\treturn cls;\r\n\t\t},\r\n\r\n\t\t_fill_yearsView: function(selector, cssClass, factor, step, currentYear, startYear, endYear, callback){\r\n\t\t\tvar html, view, year, steps, startStep, endStep, thisYear, i, classes, tooltip, before;\r\n\r\n\t\t\thtml = '';\r\n\t\t\tview = this.picker.find(selector);\r\n\t\t\tyear = parseInt(currentYear / factor, 10) * factor;\r\n\t\t\tstartStep = parseInt(startYear / step, 10) * step;\r\n\t\t\tendStep = parseInt(endYear / step, 10) * step;\r\n\t\t\tsteps = $.map(this.dates, function(d){\r\n\t\t\t\treturn parseInt(d.getUTCFullYear() / step, 10) * step;\r\n\t\t\t});\r\n\r\n\t\t\tview.find('.datepicker-switch').text(year + '-' + (year + step * 9));\r\n\r\n\t\t\tthisYear = year - step;\r\n\t\t\tfor (i = -1; i < 11; i += 1) {\r\n\t\t\t\tclasses = [cssClass];\r\n\t\t\t\ttooltip = null;\r\n\r\n\t\t\t\tif (i === -1) {\r\n\t\t\t\t\tclasses.push('old');\r\n\t\t\t\t} else if (i === 10) {\r\n\t\t\t\t\tclasses.push('new');\r\n\t\t\t\t}\r\n\t\t\t\tif ($.inArray(thisYear, steps) !== -1) {\r\n\t\t\t\t\tclasses.push('active');\r\n\t\t\t\t}\r\n\t\t\t\tif (thisYear < startStep || thisYear > endStep) {\r\n\t\t\t\t\tclasses.push('disabled');\r\n\t\t\t\t}\r\n if (thisYear === this.viewDate.getFullYear()) {\r\n\t\t\t\t classes.push('focused');\r\n }\r\n\r\n\t\t\t\tif (callback !== $.noop) {\r\n\t\t\t\t\tbefore = callback(new Date(thisYear, 0, 1));\r\n\t\t\t\t\tif (before === undefined) {\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\t} else if (typeof(before) === 'boolean') {\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\t} else if (typeof(before) === 'string') {\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.enabled === false) {\r\n\t\t\t\t\t\tclasses.push('disabled');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.classes) {\r\n\t\t\t\t\t\tclasses = classes.concat(before.classes.split(/\\s+/));\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (before.tooltip) {\r\n\t\t\t\t\t\ttooltip = before.tooltip;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\thtml += '' + thisYear + '';\r\n\t\t\t\tthisYear += step;\r\n\t\t\t}\r\n\t\t\tview.find('td').html(html);\r\n\t\t},\r\n\r\n\t\tfill: function(){\r\n\t\t\tvar d = new Date(this.viewDate),\r\n\t\t\t\tyear = d.getUTCFullYear(),\r\n\t\t\t\tmonth = d.getUTCMonth(),\r\n\t\t\t\tstartYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity,\r\n\t\t\t\tstartMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity,\r\n\t\t\t\tendYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity,\r\n\t\t\t\tendMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity,\r\n\t\t\t\ttodaytxt = dates[this.o.language].today || dates['en'].today || '',\r\n\t\t\t\tcleartxt = dates[this.o.language].clear || dates['en'].clear || '',\r\n\t\t\t\ttitleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat,\r\n\t\t\t\ttooltip,\r\n\t\t\t\tbefore;\r\n\t\t\tif (isNaN(year) || isNaN(month))\r\n\t\t\t\treturn;\r\n\t\t\tthis.picker.find('.datepicker-days .datepicker-switch')\r\n\t\t\t\t\t\t.text(DPGlobal.formatDate(d, titleFormat, this.o.language));\r\n\t\t\tthis.picker.find('tfoot .today')\r\n\t\t\t\t\t\t.text(todaytxt)\r\n\t\t\t\t\t\t.toggle(this.o.todayBtn !== false);\r\n\t\t\tthis.picker.find('tfoot .clear')\r\n\t\t\t\t\t\t.text(cleartxt)\r\n\t\t\t\t\t\t.toggle(this.o.clearBtn !== false);\r\n\t\t\tthis.picker.find('thead .datepicker-title')\r\n\t\t\t\t\t\t.text(this.o.title)\r\n\t\t\t\t\t\t.toggle(this.o.title !== '');\r\n\t\t\tthis.updateNavArrows();\r\n\t\t\tthis.fillMonths();\r\n\t\t\tvar prevMonth = UTCDate(year, month-1, 28),\r\n\t\t\t\tday = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth());\r\n\t\t\tprevMonth.setUTCDate(day);\r\n\t\t\tprevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7);\r\n\t\t\tvar nextMonth = new Date(prevMonth);\r\n\t\t\tif (prevMonth.getUTCFullYear() < 100){\r\n nextMonth.setUTCFullYear(prevMonth.getUTCFullYear());\r\n }\r\n\t\t\tnextMonth.setUTCDate(nextMonth.getUTCDate() + 42);\r\n\t\t\tnextMonth = nextMonth.valueOf();\r\n\t\t\tvar html = [];\r\n\t\t\tvar clsName;\r\n\t\t\twhile (prevMonth.valueOf() < nextMonth){\r\n\t\t\t\tif (prevMonth.getUTCDay() === this.o.weekStart){\r\n\t\t\t\t\thtml.push('');\r\n\t\t\t\t\tif (this.o.calendarWeeks){\r\n\t\t\t\t\t\t// ISO 8601: First week contains first thursday.\r\n\t\t\t\t\t\t// ISO also states week starts on Monday, but we can be more abstract here.\r\n\t\t\t\t\t\tvar\r\n\t\t\t\t\t\t\t// Start of current week: based on weekstart/current date\r\n\t\t\t\t\t\t\tws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5),\r\n\t\t\t\t\t\t\t// Thursday of this week\r\n\t\t\t\t\t\t\tth = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5),\r\n\t\t\t\t\t\t\t// First Thursday of year, year from thursday\r\n\t\t\t\t\t\t\tyth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5),\r\n\t\t\t\t\t\t\t// Calendar week: ms between thursdays, div ms per day, div 7 days\r\n\t\t\t\t\t\t\tcalWeek = (th - yth) / 864e5 / 7 + 1;\r\n\t\t\t\t\t\thtml.push(''+ calWeek +'');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tclsName = this.getClassNames(prevMonth);\r\n\t\t\t\tclsName.push('day');\r\n\r\n\t\t\t\tif (this.o.beforeShowDay !== $.noop){\r\n\t\t\t\t\tbefore = this.o.beforeShowDay(this._utc_to_local(prevMonth));\r\n\t\t\t\t\tif (before === undefined)\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\telse if (typeof(before) === 'boolean')\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\telse if (typeof(before) === 'string')\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\tif (before.enabled === false)\r\n\t\t\t\t\t\tclsName.push('disabled');\r\n\t\t\t\t\tif (before.classes)\r\n\t\t\t\t\t\tclsName = clsName.concat(before.classes.split(/\\s+/));\r\n\t\t\t\t\tif (before.tooltip)\r\n\t\t\t\t\t\ttooltip = before.tooltip;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t//Check if uniqueSort exists (supported by jquery >=1.12 and >=2.2)\r\n\t\t\t\t//Fallback to unique function for older jquery versions\r\n\t\t\t\tif ($.isFunction($.uniqueSort)) {\r\n\t\t\t\t\tclsName = $.uniqueSort(clsName);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclsName = $.unique(clsName);\r\n\t\t\t\t}\r\n\r\n\t\t\t\thtml.push(''+prevMonth.getUTCDate() + '');\r\n\t\t\t\ttooltip = null;\r\n\t\t\t\tif (prevMonth.getUTCDay() === this.o.weekEnd){\r\n\t\t\t\t\thtml.push('');\r\n\t\t\t\t}\r\n\t\t\t\tprevMonth.setUTCDate(prevMonth.getUTCDate()+1);\r\n\t\t\t}\r\n\t\t\tthis.picker.find('.datepicker-days tbody').empty().append(html.join(''));\r\n\r\n\t\t\tvar monthsTitle = dates[this.o.language].monthsTitle || dates['en'].monthsTitle || 'Months';\r\n\t\t\tvar months = this.picker.find('.datepicker-months')\r\n\t\t\t\t\t\t.find('.datepicker-switch')\r\n\t\t\t\t\t\t\t.text(this.o.maxViewMode < 2 ? monthsTitle : year)\r\n\t\t\t\t\t\t\t.end()\r\n\t\t\t\t\t\t.find('span').removeClass('active');\r\n\r\n\t\t\t$.each(this.dates, function(i, d){\r\n\t\t\t\tif (d.getUTCFullYear() === year)\r\n\t\t\t\t\tmonths.eq(d.getUTCMonth()).addClass('active');\r\n\t\t\t});\r\n\r\n\t\t\tif (year < startYear || year > endYear){\r\n\t\t\t\tmonths.addClass('disabled');\r\n\t\t\t}\r\n\t\t\tif (year === startYear){\r\n\t\t\t\tmonths.slice(0, startMonth).addClass('disabled');\r\n\t\t\t}\r\n\t\t\tif (year === endYear){\r\n\t\t\t\tmonths.slice(endMonth+1).addClass('disabled');\r\n\t\t\t}\r\n\r\n\t\t\tif (this.o.beforeShowMonth !== $.noop){\r\n\t\t\t\tvar that = this;\r\n\t\t\t\t$.each(months, function(i, month){\r\n var moDate = new Date(year, i, 1);\r\n var before = that.o.beforeShowMonth(moDate);\r\n\t\t\t\t\tif (before === undefined)\r\n\t\t\t\t\t\tbefore = {};\r\n\t\t\t\t\telse if (typeof(before) === 'boolean')\r\n\t\t\t\t\t\tbefore = {enabled: before};\r\n\t\t\t\t\telse if (typeof(before) === 'string')\r\n\t\t\t\t\t\tbefore = {classes: before};\r\n\t\t\t\t\tif (before.enabled === false && !$(month).hasClass('disabled'))\r\n\t\t\t\t\t $(month).addClass('disabled');\r\n\t\t\t\t\tif (before.classes)\r\n\t\t\t\t\t $(month).addClass(before.classes);\r\n\t\t\t\t\tif (before.tooltip)\r\n\t\t\t\t\t $(month).prop('title', before.tooltip);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\t// Generating decade/years picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-years',\r\n\t\t\t\t'year',\r\n\t\t\t\t10,\r\n\t\t\t\t1,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowYear\r\n\t\t\t);\r\n\r\n\t\t\t// Generating century/decades picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-decades',\r\n\t\t\t\t'decade',\r\n\t\t\t\t100,\r\n\t\t\t\t10,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowDecade\r\n\t\t\t);\r\n\r\n\t\t\t// Generating millennium/centuries picker\r\n\t\t\tthis._fill_yearsView(\r\n\t\t\t\t'.datepicker-centuries',\r\n\t\t\t\t'century',\r\n\t\t\t\t1000,\r\n\t\t\t\t100,\r\n\t\t\t\tyear,\r\n\t\t\t\tstartYear,\r\n\t\t\t\tendYear,\r\n\t\t\t\tthis.o.beforeShowCentury\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\tupdateNavArrows: function(){\r\n\t\t\tif (!this._allow_update)\r\n\t\t\t\treturn;\r\n\r\n\t\t\tvar d = new Date(this.viewDate),\r\n\t\t\t\tyear = d.getUTCFullYear(),\r\n\t\t\t\tmonth = d.getUTCMonth();\r\n\t\t\tswitch (this.viewMode){\r\n\t\t\t\tcase 0:\r\n\t\t\t\t\tif (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){\r\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'hidden'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'visible'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){\r\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'hidden'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'visible'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 1:\r\n\t\t\t\tcase 2:\r\n\t\t\t\tcase 3:\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\tif ((this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear()) || this.o.maxViewMode < 2){\r\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'hidden'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'visible'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif ((this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear()) || this.o.maxViewMode < 2){\r\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'hidden'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse {\r\n\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'visible'});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\t\tif (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){\r\n\t\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'hidden'});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.picker.find('.prev').css({visibility: 'visible'});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){\r\n\t\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'hidden'});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tthis.picker.find('.next').css({visibility: 'visible'});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tclick: function(e){\r\n\t\t\te.preventDefault();\r\n\t\t\te.stopPropagation();\r\n\r\n\t\t\tvar target, dir, day, year, month, monthChanged, yearChanged;\r\n\t\t\ttarget = $(e.target);\r\n\r\n\t\t\t// Clicked on the switch\r\n\t\t\tif (target.hasClass('datepicker-switch')){\r\n\t\t\t\tthis.showMode(1);\r\n\t\t\t}\r\n\r\n\t\t\t// Clicked on prev or next\r\n\t\t\tvar navArrow = target.closest('.prev, .next');\r\n\t\t\tif (navArrow.length > 0) {\r\n\t\t\t\tdir = DPGlobal.modes[this.viewMode].navStep * (navArrow.hasClass('prev') ? -1 : 1);\r\n\t\t\t\tif (this.viewMode === 0){\r\n\t\t\t\t\tthis.viewDate = this.moveMonth(this.viewDate, dir);\r\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.viewDate = this.moveYear(this.viewDate, dir);\r\n\t\t\t\t\tif (this.viewMode === 1){\r\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.fill();\r\n\t\t\t}\r\n\r\n\t\t\t// Clicked on today button\r\n\t\t\tif (target.hasClass('today') && !target.hasClass('day')){\r\n\t\t\t\tthis.showMode(-2);\r\n\t\t\t\tthis._setDate(UTCToday(), this.o.todayBtn === 'linked' ? null : 'view');\r\n\t\t\t}\r\n\r\n\t\t\t// Clicked on clear button\r\n\t\t\tif (target.hasClass('clear')){\r\n\t\t\t\tthis.clearDates();\r\n\t\t\t}\r\n\r\n\t\t\tif (!target.hasClass('disabled')){\r\n\t\t\t\t// Clicked on a day\r\n\t\t\t\tif (target.hasClass('day')){\r\n\t\t\t\t\tday = parseInt(target.text(), 10) || 1;\r\n\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\r\n\t\t\t\t\tmonth = this.viewDate.getUTCMonth();\r\n\r\n\t\t\t\t\t// From last month\r\n\t\t\t\t\tif (target.hasClass('old')){\r\n\t\t\t\t\t\tif (month === 0) {\r\n\t\t\t\t\t\t\tmonth = 11;\r\n\t\t\t\t\t\t\tyear = year - 1;\r\n\t\t\t\t\t\t\tmonthChanged = true;\r\n\t\t\t\t\t\t\tyearChanged = true;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmonth = month - 1;\r\n\t\t\t\t\t\t\tmonthChanged = true;\r\n \t\t\t\t\t\t}\r\n \t\t\t\t\t}\r\n\r\n\t\t\t\t\t// From next month\r\n\t\t\t\t\tif (target.hasClass('new')) {\r\n\t\t\t\t\t\tif (month === 11){\r\n\t\t\t\t\t\t\tmonth = 0;\r\n\t\t\t\t\t\t\tyear = year + 1;\r\n\t\t\t\t\t\t\tmonthChanged = true;\r\n\t\t\t\t\t\t\tyearChanged = true;\r\n \t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tmonth = month + 1;\r\n\t\t\t\t\t\t\tmonthChanged = true;\r\n \t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\tif (yearChanged) {\r\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (monthChanged) {\r\n\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Clicked on a month\r\n\t\t\t\tif (target.hasClass('month')) {\r\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\r\n\t\t\t\t\tday = 1;\r\n\t\t\t\t\tmonth = target.parent().find('span').index(target);\r\n\t\t\t\t\tyear = this.viewDate.getUTCFullYear();\r\n\t\t\t\t\tthis.viewDate.setUTCMonth(month);\r\n\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n\t\t\t\t\tif (this.o.minViewMode === 1){\r\n\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\t\tthis.showMode();\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.showMode(-1);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t}\r\n\r\n\t\t\t\t// Clicked on a year\r\n\t\t\t\tif (target.hasClass('year')\r\n\t\t\t\t\t\t|| target.hasClass('decade')\r\n\t\t\t\t\t\t|| target.hasClass('century')) {\r\n\t\t\t\t\tthis.viewDate.setUTCDate(1);\r\n\r\n\t\t\t\t\tday = 1;\r\n\t\t\t\t\tmonth = 0;\r\n\t\t\t\t\tyear = parseInt(target.text(), 10)||0;\r\n\t\t\t\t\tthis.viewDate.setUTCFullYear(year);\r\n\r\n\t\t\t\t\tif (target.hasClass('year')){\r\n\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n\t\t\t\t\t\tif (this.o.minViewMode === 2){\r\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (target.hasClass('decade')){\r\n\t\t\t\t\t\tthis._trigger('changeDecade', this.viewDate);\r\n\t\t\t\t\t\tif (this.o.minViewMode === 3){\r\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (target.hasClass('century')){\r\n\t\t\t\t\t\tthis._trigger('changeCentury', this.viewDate);\r\n\t\t\t\t\t\tif (this.o.minViewMode === 4){\r\n\t\t\t\t\t\t\tthis._setDate(UTCDate(year, month, day));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tthis.showMode(-1);\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (this.picker.is(':visible') && this._focused_from){\r\n\t\t\t\t$(this._focused_from).focus();\r\n\t\t\t}\r\n\t\t\tdelete this._focused_from;\r\n\t\t},\r\n\r\n\t\t_toggle_multidate: function(date){\r\n\t\t\tvar ix = this.dates.contains(date);\r\n\t\t\tif (!date){\r\n\t\t\t\tthis.dates.clear();\r\n\t\t\t}\r\n\r\n\t\t\tif (ix !== -1){\r\n\t\t\t\tif (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){\r\n\t\t\t\t\tthis.dates.remove(ix);\r\n\t\t\t\t}\r\n\t\t\t} else if (this.o.multidate === false) {\r\n\t\t\t\tthis.dates.clear();\r\n\t\t\t\tthis.dates.push(date);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.dates.push(date);\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof this.o.multidate === 'number')\r\n\t\t\t\twhile (this.dates.length > this.o.multidate)\r\n\t\t\t\t\tthis.dates.remove(0);\r\n\t\t},\r\n\r\n\t\t_setDate: function(date, which){\r\n\t\t\tif (!which || which === 'date')\r\n\t\t\t\tthis._toggle_multidate(date && new Date(date));\r\n\t\t\tif (!which || which === 'view')\r\n\t\t\t\tthis.viewDate = date && new Date(date);\r\n\r\n\t\t\tthis.fill();\r\n\t\t\tthis.setValue();\r\n\t\t\tif (!which || which !== 'view') {\r\n\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t}\r\n\t\t\tif (this.inputField){\r\n\t\t\t\tthis.inputField.change();\r\n\t\t\t}\r\n\t\t\tif (this.o.autoclose && (!which || which === 'date')){\r\n\t\t\t\tthis.hide();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tmoveDay: function(date, dir){\r\n\t\t\tvar newDate = new Date(date);\r\n\t\t\tnewDate.setUTCDate(date.getUTCDate() + dir);\r\n\r\n\t\t\treturn newDate;\r\n\t\t},\r\n\r\n\t\tmoveWeek: function(date, dir){\r\n\t\t\treturn this.moveDay(date, dir * 7);\r\n\t\t},\r\n\r\n\t\tmoveMonth: function(date, dir){\r\n\t\t\tif (!isValidDate(date))\r\n\t\t\t\treturn this.o.defaultViewDate;\r\n\t\t\tif (!dir)\r\n\t\t\t\treturn date;\r\n\t\t\tvar new_date = new Date(date.valueOf()),\r\n\t\t\t\tday = new_date.getUTCDate(),\r\n\t\t\t\tmonth = new_date.getUTCMonth(),\r\n\t\t\t\tmag = Math.abs(dir),\r\n\t\t\t\tnew_month, test;\r\n\t\t\tdir = dir > 0 ? 1 : -1;\r\n\t\t\tif (mag === 1){\r\n\t\t\t\ttest = dir === -1\r\n\t\t\t\t\t// If going back one month, make sure month is not current month\r\n\t\t\t\t\t// (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02)\r\n\t\t\t\t\t? function(){\r\n\t\t\t\t\t\treturn new_date.getUTCMonth() === month;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t// If going forward one month, make sure month is as expected\r\n\t\t\t\t\t// (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02)\r\n\t\t\t\t\t: function(){\r\n\t\t\t\t\t\treturn new_date.getUTCMonth() !== new_month;\r\n\t\t\t\t\t};\r\n\t\t\t\tnew_month = month + dir;\r\n\t\t\t\tnew_date.setUTCMonth(new_month);\r\n\t\t\t\t// Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11\r\n\t\t\t\tif (new_month < 0 || new_month > 11)\r\n\t\t\t\t\tnew_month = (new_month + 12) % 12;\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\t// For magnitudes >1, move one month at a time...\r\n\t\t\t\tfor (var i=0; i < mag; i++)\r\n\t\t\t\t\t// ...which might decrease the day (eg, Jan 31 to Feb 28, etc)...\r\n\t\t\t\t\tnew_date = this.moveMonth(new_date, dir);\r\n\t\t\t\t// ...then reset the day, keeping it in the new month\r\n\t\t\t\tnew_month = new_date.getUTCMonth();\r\n\t\t\t\tnew_date.setUTCDate(day);\r\n\t\t\t\ttest = function(){\r\n\t\t\t\t\treturn new_month !== new_date.getUTCMonth();\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\t// Common date-resetting loop -- if date is beyond end of month, make it\r\n\t\t\t// end of month\r\n\t\t\twhile (test()){\r\n\t\t\t\tnew_date.setUTCDate(--day);\r\n\t\t\t\tnew_date.setUTCMonth(new_month);\r\n\t\t\t}\r\n\t\t\treturn new_date;\r\n\t\t},\r\n\r\n\t\tmoveYear: function(date, dir){\r\n\t\t\treturn this.moveMonth(date, dir*12);\r\n\t\t},\r\n\r\n\t\tmoveAvailableDate: function(date, dir, fn){\r\n\t\t\tdo {\r\n\t\t\t\tdate = this[fn](date, dir);\r\n\r\n\t\t\t\tif (!this.dateWithinRange(date))\r\n\t\t\t\t\treturn false;\r\n\r\n\t\t\t\tfn = 'moveDay';\r\n\t\t\t}\r\n\t\t\twhile (this.dateIsDisabled(date));\r\n\r\n\t\t\treturn date;\r\n\t\t},\r\n\r\n\t\tweekOfDateIsDisabled: function(date){\r\n\t\t\treturn $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1;\r\n\t\t},\r\n\r\n\t\tdateIsDisabled: function(date){\r\n\t\t\treturn (\r\n\t\t\t\tthis.weekOfDateIsDisabled(date) ||\r\n\t\t\t\t$.grep(this.o.datesDisabled, function(d){\r\n\t\t\t\t\treturn isUTCEquals(date, d);\r\n\t\t\t\t}).length > 0\r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\tdateWithinRange: function(date){\r\n\t\t\treturn date >= this.o.startDate && date <= this.o.endDate;\r\n\t\t},\r\n\r\n\t\tkeydown: function(e){\r\n\t\t\tif (!this.picker.is(':visible')){\r\n\t\t\t\tif (e.keyCode === 40 || e.keyCode === 27) { // allow down to re-show picker\r\n\t\t\t\t\tthis.show();\r\n\t\t\t\t\te.stopPropagation();\r\n }\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar dateChanged = false,\r\n\t\t\t\tdir, newViewDate,\r\n\t\t\t\tfocusDate = this.focusDate || this.viewDate;\r\n\t\t\tswitch (e.keyCode){\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 27: // escape\r\n\t\t\t\t\tif (this.focusDate){\r\n\t\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\t\tthis.fill();\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 37: // left\r\n\t\t\t\tcase 38: // up\r\n\t\t\t\tcase 39: // right\r\n\t\t\t\tcase 40: // down\r\n\t\t\t\t\tif (!this.o.keyboardNavigation || this.o.daysOfWeekDisabled.length === 7)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tdir = e.keyCode === 37 || e.keyCode === 38 ? -1 : 1;\r\n if (this.viewMode === 0) {\r\n \t\t\t\t\tif (e.ctrlKey){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\r\n\r\n \t\t\t\t\t\tif (newViewDate)\r\n \t\t\t\t\t\t\tthis._trigger('changeYear', this.viewDate);\r\n \t\t\t\t\t}\r\n \t\t\t\t\telse if (e.shiftKey){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\r\n\r\n \t\t\t\t\t\tif (newViewDate)\r\n \t\t\t\t\t\t\tthis._trigger('changeMonth', this.viewDate);\r\n \t\t\t\t\t}\r\n \t\t\t\t\telse if (e.keyCode === 37 || e.keyCode === 39){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveDay');\r\n \t\t\t\t\t}\r\n \t\t\t\t\telse if (!this.weekOfDateIsDisabled(focusDate)){\r\n \t\t\t\t\t\tnewViewDate = this.moveAvailableDate(focusDate, dir, 'moveWeek');\r\n \t\t\t\t\t}\r\n } else if (this.viewMode === 1) {\r\n if (e.keyCode === 38 || e.keyCode === 40) {\r\n dir = dir * 4;\r\n }\r\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveMonth');\r\n } else if (this.viewMode === 2) {\r\n if (e.keyCode === 38 || e.keyCode === 40) {\r\n dir = dir * 4;\r\n }\r\n newViewDate = this.moveAvailableDate(focusDate, dir, 'moveYear');\r\n }\r\n\t\t\t\t\tif (newViewDate){\r\n\t\t\t\t\t\tthis.focusDate = this.viewDate = newViewDate;\r\n\t\t\t\t\t\tthis.setValue();\r\n\t\t\t\t\t\tthis.fill();\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 13: // enter\r\n\t\t\t\t\tif (!this.o.forceParse)\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\tfocusDate = this.focusDate || this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tif (this.o.keyboardNavigation) {\r\n\t\t\t\t\t\tthis._toggle_multidate(focusDate);\r\n\t\t\t\t\t\tdateChanged = true;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tthis.setValue();\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t\tif (this.picker.is(':visible')){\r\n\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\te.stopPropagation();\r\n\t\t\t\t\t\tif (this.o.autoclose)\r\n\t\t\t\t\t\t\tthis.hide();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 9: // tab\r\n\t\t\t\t\tthis.focusDate = null;\r\n\t\t\t\t\tthis.viewDate = this.dates.get(-1) || this.viewDate;\r\n\t\t\t\t\tthis.fill();\r\n\t\t\t\t\tthis.hide();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tif (dateChanged){\r\n\t\t\t\tif (this.dates.length)\r\n\t\t\t\t\tthis._trigger('changeDate');\r\n\t\t\t\telse\r\n\t\t\t\t\tthis._trigger('clearDate');\r\n\t\t\t\tif (this.inputField){\r\n\t\t\t\t\tthis.inputField.change();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tshowMode: function(dir){\r\n\t\t\tif (dir){\r\n\t\t\t\tthis.viewMode = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, this.viewMode + dir));\r\n\t\t\t}\r\n\t\t\tthis.picker\r\n\t\t\t\t.children('div')\r\n\t\t\t\t.hide()\r\n\t\t\t\t.filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName)\r\n\t\t\t\t\t.show();\r\n\t\t\tthis.updateNavArrows();\r\n\t\t}\r\n\t};\r\n\r\n\tvar DateRangePicker = function(element, options){\r\n\t\t$(element).data('datepicker', this);\r\n\t\tthis.element = $(element);\r\n\t\tthis.inputs = $.map(options.inputs, function(i){\r\n\t\t\treturn i.jquery ? i[0] : i;\r\n\t\t});\r\n\t\tdelete options.inputs;\r\n\r\n\t\tdatepickerPlugin.call($(this.inputs), options)\r\n\t\t\t.on('changeDate', $.proxy(this.dateUpdated, this));\r\n\r\n\t\tthis.pickers = $.map(this.inputs, function(i){\r\n\t\t\treturn $(i).data('datepicker');\r\n\t\t});\r\n\t\tthis.updateDates();\r\n\t};\r\n\tDateRangePicker.prototype = {\r\n\t\tupdateDates: function(){\r\n\t\t\tthis.dates = $.map(this.pickers, function(i){\r\n\t\t\t\treturn i.getUTCDate();\r\n\t\t\t});\r\n\t\t\tthis.updateRanges();\r\n\t\t},\r\n\t\tupdateRanges: function(){\r\n\t\t\tvar range = $.map(this.dates, function(d){\r\n\t\t\t\treturn d.valueOf();\r\n\t\t\t});\r\n\t\t\t$.each(this.pickers, function(i, p){\r\n\t\t\t\tp.setRange(range);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdateUpdated: function(e){\r\n\t\t\t// `this.updating` is a workaround for preventing infinite recursion\r\n\t\t\t// between `changeDate` triggering and `setUTCDate` calling. Until\r\n\t\t\t// there is a better mechanism.\r\n\t\t\tif (this.updating)\r\n\t\t\t\treturn;\r\n\t\t\tthis.updating = true;\r\n\r\n\t\t\tvar dp = $(e.target).data('datepicker');\r\n\r\n\t\t\tif (typeof(dp) === \"undefined\") {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar new_date = dp.getUTCDate(),\r\n\t\t\t\ti = $.inArray(e.target, this.inputs),\r\n\t\t\t\tj = i - 1,\r\n\t\t\t\tk = i + 1,\r\n\t\t\t\tl = this.inputs.length;\r\n\t\t\tif (i === -1)\r\n\t\t\t\treturn;\r\n\r\n\t\t\t$.each(this.pickers, function(i, p){\r\n\t\t\t\tif (!p.getUTCDate())\r\n\t\t\t\t\tp.setUTCDate(new_date);\r\n\t\t\t});\r\n\r\n\t\t\tif (new_date < this.dates[j]){\r\n\t\t\t\t// Date being moved earlier/left\r\n\t\t\t\twhile (j >= 0 && new_date < this.dates[j]){\r\n\t\t\t\t\tthis.pickers[j--].setUTCDate(new_date);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse if (new_date > this.dates[k]){\r\n\t\t\t\t// Date being moved later/right\r\n\t\t\t\twhile (k < l && new_date > this.dates[k]){\r\n\t\t\t\t\tthis.pickers[k++].setUTCDate(new_date);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.updateDates();\r\n\r\n\t\t\tdelete this.updating;\r\n\t\t},\r\n\t\tremove: function(){\r\n\t\t\t$.map(this.pickers, function(p){ p.remove(); });\r\n\t\t\tdelete this.element.data().datepicker;\r\n\t\t}\r\n\t};\r\n\r\n\tfunction opts_from_el(el, prefix){\r\n\t\t// Derive options from element data-attrs\r\n\t\tvar data = $(el).data(),\r\n\t\t\tout = {}, inkey,\r\n\t\t\treplace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])');\r\n\t\tprefix = new RegExp('^' + prefix.toLowerCase());\r\n\t\tfunction re_lower(_,a){\r\n\t\t\treturn a.toLowerCase();\r\n\t\t}\r\n\t\tfor (var key in data)\r\n\t\t\tif (prefix.test(key)){\r\n\t\t\t\tinkey = key.replace(replace, re_lower);\r\n\t\t\t\tout[inkey] = data[key];\r\n\t\t\t}\r\n\t\treturn out;\r\n\t}\r\n\r\n\tfunction opts_from_locale(lang){\r\n\t\t// Derive options from locale plugins\r\n\t\tvar out = {};\r\n\t\t// Check if \"de-DE\" style date is available, if not language should\r\n\t\t// fallback to 2 letter code eg \"de\"\r\n\t\tif (!dates[lang]){\r\n\t\t\tlang = lang.split('-')[0];\r\n\t\t\tif (!dates[lang])\r\n\t\t\t\treturn;\r\n\t\t}\r\n\t\tvar d = dates[lang];\r\n\t\t$.each(locale_opts, function(i,k){\r\n\t\t\tif (k in d)\r\n\t\t\t\tout[k] = d[k];\r\n\t\t});\r\n\t\treturn out;\r\n\t}\r\n\r\n\tvar old = $.fn.datepicker;\r\n\tvar datepickerPlugin = function(option){\r\n\t\tvar args = Array.apply(null, arguments);\r\n\t\targs.shift();\r\n\t\tvar internal_return;\r\n\t\tthis.each(function(){\r\n\t\t\tvar $this = $(this),\r\n\t\t\t\tdata = $this.data('datepicker'),\r\n\t\t\t\toptions = typeof option === 'object' && option;\r\n\t\t\tif (!data){\r\n\t\t\t\tvar elopts = opts_from_el(this, 'date'),\r\n\t\t\t\t\t// Preliminary otions\r\n\t\t\t\t\txopts = $.extend({}, defaults, elopts, options),\r\n\t\t\t\t\tlocopts = opts_from_locale(xopts.language),\r\n\t\t\t\t\t// Options priority: js args, data-attrs, locales, defaults\r\n\t\t\t\t\topts = $.extend({}, defaults, locopts, elopts, options);\r\n\t\t\t\tif ($this.hasClass('input-daterange') || opts.inputs){\r\n\t\t\t\t\t$.extend(opts, {\r\n\t\t\t\t\t\tinputs: opts.inputs || $this.find('input').toArray()\r\n\t\t\t\t\t});\r\n\t\t\t\t\tdata = new DateRangePicker(this, opts);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tdata = new Datepicker(this, opts);\r\n\t\t\t\t}\r\n\t\t\t\t$this.data('datepicker', data);\r\n\t\t\t}\r\n\t\t\tif (typeof option === 'string' && typeof data[option] === 'function'){\r\n\t\t\t\tinternal_return = data[option].apply(data, args);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (\r\n\t\t\tinternal_return === undefined ||\r\n\t\t\tinternal_return instanceof Datepicker ||\r\n\t\t\tinternal_return instanceof DateRangePicker\r\n\t\t)\r\n\t\t\treturn this;\r\n\r\n\t\tif (this.length > 1)\r\n\t\t\tthrow new Error('Using only allowed for the collection of a single element (' + option + ' function)');\r\n\t\telse\r\n\t\t\treturn internal_return;\r\n\t};\r\n\t$.fn.datepicker = datepickerPlugin;\r\n\r\n\tvar defaults = $.fn.datepicker.defaults = {\r\n\t\tassumeNearbyYear: false,\r\n\t\tautoclose: false,\r\n\t\tbeforeShowDay: $.noop,\r\n\t\tbeforeShowMonth: $.noop,\r\n\t\tbeforeShowYear: $.noop,\r\n\t\tbeforeShowDecade: $.noop,\r\n\t\tbeforeShowCentury: $.noop,\r\n\t\tcalendarWeeks: false,\r\n\t\tclearBtn: false,\r\n\t\ttoggleActive: false,\r\n\t\tdaysOfWeekDisabled: [],\r\n\t\tdaysOfWeekHighlighted: [],\r\n\t\tdatesDisabled: [],\r\n\t\tendDate: Infinity,\r\n\t\tforceParse: true,\r\n\t\tformat: 'mm/dd/yyyy',\r\n\t\tkeyboardNavigation: true,\r\n\t\tlanguage: 'en',\r\n\t\tminViewMode: 0,\r\n\t\tmaxViewMode: 4,\r\n\t\tmultidate: false,\r\n\t\tmultidateSeparator: ',',\r\n\t\torientation: \"auto\",\r\n\t\trtl: false,\r\n\t\tstartDate: -Infinity,\r\n\t\tstartView: 0,\r\n\t\ttodayBtn: false,\r\n\t\ttodayHighlight: false,\r\n\t\tweekStart: 0,\r\n\t\tdisableTouchKeyboard: false,\r\n\t\tenableOnReadonly: true,\r\n\t\tshowOnFocus: true,\r\n\t\tzIndexOffset: 10,\r\n\t\tcontainer: 'body',\r\n\t\timmediateUpdates: false,\r\n\t\ttitle: '',\r\n\t\ttemplates: {\r\n\t\t\tleftArrow: '«',\r\n\t\t\trightArrow: '»'\r\n\t\t}\r\n\t};\r\n\tvar locale_opts = $.fn.datepicker.locale_opts = [\r\n\t\t'format',\r\n\t\t'rtl',\r\n\t\t'weekStart'\r\n\t];\r\n\t$.fn.datepicker.Constructor = Datepicker;\r\n\tvar dates = $.fn.datepicker.dates = {\r\n\t\ten: {\r\n\t\t\tdays: [\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"],\r\n\t\t\tdaysShort: [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"],\r\n\t\t\tdaysMin: [\"Su\", \"Mo\", \"Tu\", \"We\", \"Th\", \"Fr\", \"Sa\"],\r\n\t\t\tmonths: [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"],\r\n\t\t\tmonthsShort: [\"Jan\", \"Feb\", \"Mar\", \"Apr\", \"May\", \"Jun\", \"Jul\", \"Aug\", \"Sep\", \"Oct\", \"Nov\", \"Dec\"],\r\n\t\t\ttoday: \"Today\",\r\n\t\t\tclear: \"Clear\",\r\n\t\t\ttitleFormat: \"MM yyyy\"\r\n\t\t}\r\n\t};\r\n\r\n\tvar DPGlobal = {\r\n\t\tmodes: [\r\n\t\t\t{\r\n\t\t\t\tclsName: 'days',\r\n\t\t\t\tnavFnc: 'Month',\r\n\t\t\t\tnavStep: 1\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tclsName: 'months',\r\n\t\t\t\tnavFnc: 'FullYear',\r\n\t\t\t\tnavStep: 1\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tclsName: 'years',\r\n\t\t\t\tnavFnc: 'FullYear',\r\n\t\t\t\tnavStep: 10\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tclsName: 'decades',\r\n\t\t\t\tnavFnc: 'FullDecade',\r\n\t\t\t\tnavStep: 100\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tclsName: 'centuries',\r\n\t\t\t\tnavFnc: 'FullCentury',\r\n\t\t\t\tnavStep: 1000\r\n\t\t}],\r\n\t\tisLeapYear: function(year){\r\n\t\t\treturn (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0));\r\n\t\t},\r\n\t\tgetDaysInMonth: function(year, month){\r\n\t\t\treturn [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month];\r\n\t\t},\r\n\t\tvalidParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g,\r\n\t\tnonpunctuation: /[^ -/:-@\\u5e74\\u6708\\u65e5[-`{-~\\t\\n\\r]+/g,\r\n\t\tparseFormat: function(format){\r\n\t\t\tif (typeof format.toValue === 'function' && typeof format.toDisplay === 'function')\r\n return format;\r\n // IE treats \\0 as a string end in inputs (truncating the value),\r\n\t\t\t// so it's a bad format delimiter, anyway\r\n\t\t\tvar separators = format.replace(this.validParts, '\\0').split('\\0'),\r\n\t\t\t\tparts = format.match(this.validParts);\r\n\t\t\tif (!separators || !separators.length || !parts || parts.length === 0){\r\n\t\t\t\tthrow new Error(\"Invalid date format.\");\r\n\t\t\t}\r\n\t\t\treturn {separators: separators, parts: parts};\r\n\t\t},\r\n\t\tparseDate: function(date, format, language, assumeNearby){\r\n\t\t\tif (!date)\r\n\t\t\t\treturn undefined;\r\n\t\t\tif (date instanceof Date)\r\n\t\t\t\treturn date;\r\n\t\t\tif (typeof format === 'string')\r\n\t\t\t\tformat = DPGlobal.parseFormat(format);\r\n\t\t\tif (format.toValue)\r\n return format.toValue(date, format, language);\r\n var part_re = /([-+]\\d+)([dmwy])/,\r\n\t\t\t\tparts = date.match(/([-+]\\d+)([dmwy])/g),\r\n\t\t\t\tfn_map = {\r\n\t\t\t\t\td: 'moveDay',\r\n\t\t\t\t\tm: 'moveMonth',\r\n\t\t\t\t\tw: 'moveWeek',\r\n\t\t\t\t\ty: 'moveYear'\r\n\t\t\t\t},\r\n\t\t\t\tdateAliases = {\r\n\t\t\t\t\tyesterday: '-1d',\r\n\t\t\t\t\ttoday: '+0d',\r\n\t\t\t\t\ttomorrow: '+1d'\r\n\t\t\t\t},\r\n\t\t\t\tpart, dir, i, fn;\r\n\t\t\tif (/^[-+]\\d+[dmwy]([\\s,]+[-+]\\d+[dmwy])*$/.test(date)){\r\n\t\t\t\tdate = new Date();\r\n\t\t\t\tfor (i=0; i < parts.length; i++){\r\n\t\t\t\t\tpart = part_re.exec(parts[i]);\r\n\t\t\t\t\tdir = parseInt(part[1]);\r\n\t\t\t\t\tfn = fn_map[part[2]];\r\n\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\r\n\t\t\t\t}\r\n\t\t\t\treturn UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\r\n\t\t\t}\r\n\r\n\t\t\tif (typeof dateAliases[date] !== 'undefined') {\r\n\t\t\t\tdate = dateAliases[date];\r\n\t\t\t\tparts = date.match(/([-+]\\d+)([dmwy])/g);\r\n\r\n\t\t\t\tif (/^[-+]\\d+[dmwy]([\\s,]+[-+]\\d+[dmwy])*$/.test(date)){\r\n\t\t\t\t\tdate = new Date();\r\n\t\t\t\t \tfor (i=0; i < parts.length; i++){\r\n\t\t\t\t\t\tpart = part_re.exec(parts[i]);\r\n\t\t\t\t\t\tdir = parseInt(part[1]);\r\n\t\t\t\t\t\tfn = fn_map[part[2]];\r\n\t\t\t\t\t\tdate = Datepicker.prototype[fn](date, dir);\r\n\t\t\t\t \t}\r\n\r\n\t\t\t \t\treturn UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tparts = (date && date.match(this.nonpunctuation)) || [];\r\n\t\t\tdate = new Date();\r\n\r\n\t\t\tfunction applyNearbyYear(year, threshold){\r\n\t\t\t\tif (threshold === true)\r\n\t\t\t\t\tthreshold = 10;\r\n\r\n\t\t\t\t// if year is 2 digits or less, than the user most likely is trying to get a recent century\r\n\t\t\t\tif (year < 100){\r\n\t\t\t\t\tyear += 2000;\r\n\t\t\t\t\t// if the new year is more than threshold years in advance, use last century\r\n\t\t\t\t\tif (year > ((new Date()).getFullYear()+threshold)){\r\n\t\t\t\t\t\tyear -= 100;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn year;\r\n\t\t\t}\r\n\r\n\t\t\tvar parsed = {},\r\n\t\t\t\tsetters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'],\r\n\t\t\t\tsetters_map = {\r\n\t\t\t\t\tyyyy: function(d,v){\r\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tyy: function(d,v){\r\n\t\t\t\t\t\treturn d.setUTCFullYear(assumeNearby ? applyNearbyYear(v, assumeNearby) : v);\r\n\t\t\t\t\t},\r\n\t\t\t\t\tm: function(d,v){\r\n\t\t\t\t\t\tif (isNaN(d))\r\n\t\t\t\t\t\t\treturn d;\r\n\t\t\t\t\t\tv -= 1;\r\n\t\t\t\t\t\twhile (v < 0) v += 12;\r\n\t\t\t\t\t\tv %= 12;\r\n\t\t\t\t\t\td.setUTCMonth(v);\r\n\t\t\t\t\t\twhile (d.getUTCMonth() !== v)\r\n\t\t\t\t\t\t\td.setUTCDate(d.getUTCDate()-1);\r\n\t\t\t\t\t\treturn d;\r\n\t\t\t\t\t},\r\n\t\t\t\t\td: function(d,v){\r\n\t\t\t\t\t\treturn d.setUTCDate(v);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tval, filtered;\r\n\t\t\tsetters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m'];\r\n\t\t\tsetters_map['dd'] = setters_map['d'];\r\n\t\t\tdate = UTCToday();\r\n\t\t\tvar fparts = format.parts.slice();\r\n\t\t\t// Remove noop parts\r\n\t\t\tif (parts.length !== fparts.length){\r\n\t\t\t\tfparts = $(fparts).filter(function(i,p){\r\n\t\t\t\t\treturn $.inArray(p, setters_order) !== -1;\r\n\t\t\t\t}).toArray();\r\n\t\t\t}\r\n\t\t\t// Process remainder\r\n\t\t\tfunction match_part(){\r\n\t\t\t\tvar m = this.slice(0, parts[i].length),\r\n\t\t\t\t\tp = parts[i].slice(0, m.length);\r\n\t\t\t\treturn m.toLowerCase() === p.toLowerCase();\r\n\t\t\t}\r\n\t\t\tif (parts.length === fparts.length){\r\n\t\t\t\tvar cnt;\r\n\t\t\t\tfor (i=0, cnt = fparts.length; i < cnt; i++){\r\n\t\t\t\t\tval = parseInt(parts[i], 10);\r\n\t\t\t\t\tpart = fparts[i];\r\n\t\t\t\t\tif (isNaN(val)){\r\n\t\t\t\t\t\tswitch (part){\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'MM':\r\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].months).filter(match_part);\r\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].months) + 1;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t\tcase 'M':\r\n\t\t\t\t\t\t\t\tfiltered = $(dates[language].monthsShort).filter(match_part);\r\n\t\t\t\t\t\t\t\tval = $.inArray(filtered[0], dates[language].monthsShort) + 1;\r\n\t\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tparsed[part] = val;\r\n\t\t\t\t}\r\n\t\t\t\tvar _date, s;\r\n\t\t\t\tfor (i=0; i < setters_order.length; i++){\r\n\t\t\t\t\ts = setters_order[i];\r\n\t\t\t\t\tif (s in parsed && !isNaN(parsed[s])){\r\n\t\t\t\t\t\t_date = new Date(date);\r\n\t\t\t\t\t\tsetters_map[s](_date, parsed[s]);\r\n\t\t\t\t\t\tif (!isNaN(_date))\r\n\t\t\t\t\t\t\tdate = _date;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn date;\r\n\t\t},\r\n\t\tformatDate: function(date, format, language){\r\n\t\t\tif (!date)\r\n\t\t\t\treturn '';\r\n\t\t\tif (typeof format === 'string')\r\n\t\t\t\tformat = DPGlobal.parseFormat(format);\r\n\t\t\tif (format.toDisplay)\r\n return format.toDisplay(date, format, language);\r\n var val = {\r\n\t\t\t\td: date.getUTCDate(),\r\n\t\t\t\tD: dates[language].daysShort[date.getUTCDay()],\r\n\t\t\t\tDD: dates[language].days[date.getUTCDay()],\r\n\t\t\t\tm: date.getUTCMonth() + 1,\r\n\t\t\t\tM: dates[language].monthsShort[date.getUTCMonth()],\r\n\t\t\t\tMM: dates[language].months[date.getUTCMonth()],\r\n\t\t\t\tyy: date.getUTCFullYear().toString().substring(2),\r\n\t\t\t\tyyyy: date.getUTCFullYear()\r\n\t\t\t};\r\n\t\t\tval.dd = (val.d < 10 ? '0' : '') + val.d;\r\n\t\t\tval.mm = (val.m < 10 ? '0' : '') + val.m;\r\n\t\t\tdate = [];\r\n\t\t\tvar seps = $.extend([], format.separators);\r\n\t\t\tfor (var i=0, cnt = format.parts.length; i <= cnt; i++){\r\n\t\t\t\tif (seps.length)\r\n\t\t\t\t\tdate.push(seps.shift());\r\n\t\t\t\tdate.push(val[format.parts[i]]);\r\n\t\t\t}\r\n\t\t\treturn date.join('');\r\n\t\t},\r\n\t\theadTemplate: ''+\r\n\t\t\t ''+\r\n\t\t\t ''+\r\n\t\t\t ''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t'«'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t'»'+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t'',\r\n\t\tcontTemplate: '',\r\n\t\tfootTemplate: ''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t''\r\n\t};\r\n\tDPGlobal.template = '
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t\t''+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.headTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.contTemplate+\r\n\t\t\t\t\t\t\t\t\tDPGlobal.footTemplate+\r\n\t\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t\t'
'+\r\n\t\t\t\t\t\t'
';\r\n\r\n\t$.fn.datepicker.DPGlobal = DPGlobal;\r\n\r\n\r\n\t/* DATEPICKER NO CONFLICT\r\n\t* =================== */\r\n\r\n\t$.fn.datepicker.noConflict = function(){\r\n\t\t$.fn.datepicker = old;\r\n\t\treturn this;\r\n\t};\r\n\r\n\t/* DATEPICKER VERSION\r\n\t * =================== */\r\n\t$.fn.datepicker.version = '1.6.4';\r\n\r\n\t/* DATEPICKER DATA-API\r\n\t* ================== */\r\n\r\n\t$(document).on(\r\n\t\t'focus.datepicker.data-api click.datepicker.data-api',\r\n\t\t'[data-provide=\"datepicker\"]',\r\n\t\tfunction(e){\r\n\t\t\tvar $this = $(this);\r\n\t\t\tif ($this.data('datepicker'))\r\n\t\t\t\treturn;\r\n\t\t\te.preventDefault();\r\n\t\t\t// component click requires us to explicitly show it\r\n\t\t\tdatepickerPlugin.call($this, 'show');\r\n\t\t}\r\n\t);\r\n\t$(function(){\r\n\t\tdatepickerPlugin.call($('[data-provide=\"datepicker-inline\"]'));\r\n\t});\r\n\r\n}));","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABLCAYAAADDGY81AAAACXBIWXMAAAsSAAALEgHS3X78AAAEdElEQVR4nO2bQWgUVxjH/w0hhFLiUjptCLPN3FPRY6sFPYZSiUIpPdmlDXiKRIt66KHpwYsHTdoGWlDQXBQVTGgR9WJySNqjUZPzpBmoZopk0lAkpIl845vtZndnZ+a9770cZn6wLDsz75v5z3vv+773zewb29vbyBttuVNciM4Rhei8UIjOC4XovJBL0e27cVLXsvcDKImfq47vPTJ5fiO5t2vZFQCHxac35rAlANMAJh3fm9R5PdpEu5ZNPTksPnsyNg8AjNLH8b1V7mvTItq1bBI6IiG2HhJf4e55VtGid68CGGAz+pprju9VuIyxiRaCaU7uYzHYyDz5BI7hzhKyDAiGsM0yzLni9KhmwRGHXMseVTWiPLxdyz4K4I7qhWTkmIpzU+rpGseVSHu5jM6DH8UelrS/DqXeVs3IUsVgEtQ9dQtba2vYeLKAv4dO7djf8UEf3p24Eu5/Ofs7Xnz7XZLJXkp4HN9LdcMbrkemUQ2xYaR09vT/JymX8d+Kj7/6j8DxPWwuL+84lnp4/cbNUPDb57/f0Xb9+q2G4wUjaUdZPdLDW8zluJQSpTOn43al5q0vPkf7+3bc4b0ih8+MSk8fTjpg9cLF8Dsa3tSLGwuL1e0R0fCmb+rtaH/nwQNJp6Abn3mxouLIEkVH0PBcOf41toIAzwY+a9i/8XQh3J9yPktdQy3SIcu17JYNae6qQo4tuhkxBI7vlbKeRut62rVi52MquqduJx0mtaCREu1attSwiiDvHM3XzT+XsfbL5XCIm8J45aRn+kH4Tc6K5jiFK+pRmuumhEs5Msf3pmXaUQhq6+oKBf579151rgY/jIee3RRGC4NREgIRpt758RLe/KQf/1ydQOeBD2VMzsg0UhE9n7UBeeOtYC2czz0P76Njb1/Y67RNEqmCoorozEOc8u6uE4N4OTuHlS8Hq4LDbXN/GLkGmBZNQ3tz2auGIhri5MlLZ7/JmpRIXwNUvDetZ13LppVAOUs76l0SSr0LEbIkPfe8bOlINWQtZhWNak5+McWRLflJtqGq9z5B/knRhgzPHd+7LNtYqacd31tyLXscwFCz/SnSyJbQnI/hKxW7LCVg17KfAXivdluG0k9LaK7XhbRZx/c+VrHJJfpTAL8qG0pmg26uau2bJSNzfO83AD9z2ErgHEexn/sJx2MZb56SGcf3lFZ3EWy5t+iBk1z2mjDMZYh1wSEK8FOcNgVjnA/udayyKuIRKxdLotzLBrtoMczZhiLZ4n4wr/NNBFoMHFI0w+a8atFZRFB9iB4w2GiKNtGO77kAVGpAo8IGO9rfLnIt+5HEs2taNko9skmDiRqZjFPjdIQNaBctKqdjGZqMyVZb02KqGjoi4m0SAXdMboYR0Rlid0XHy3L1GKt7p0hRp3S/Hhlh+i3g4ZgUNdDtvGoxKlrE3WZzdkRXTG7GrvwDry52a0k1W7FbL7lH6aW2VLMVu/ZfS/EO+Kop51VL8QfTvFCIzguF6LxQiM4Lhei8UIjOC4XoXADgFfJCtJBrRIyAAAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABLCAYAAADDGY81AAAACXBIWXMAAAsSAAALEgHS3X78AAAEiklEQVR4nO1bPUwUQRT+VFQ8FVDWqFFYbGzQSKGFP1E6E7NRSimMFBYWmlAYTbTBxJ9IBYmNHWihJZiNsTyNaAtRYkIjKxrF7Al3AiIimDeZ0+Pcu2Xnz2L3ayA7M2/m4715783MY8Xi4iLihpWxY5yQjhES0nFBQjouSEjHBQnpuKDCNE/PtZqDvtuOnza1Bu0HDs+1GgC0AGgDsC+k+xCAHgB9tuOP6lqTNtKcbBeAU4IiegF06CCvZU97rkVk30kQJpwlGZ5rdShcGoNSTXuuVQMgvQwzjgoy+2bb8SdVCFOmac+1mgCMaiAMLjPN/6jSUKJpvphBcsIqFlUGSjSuStN9BgiDa7xHVog0ae5ojoX1q0jVo7L2sHB7AU55rtUus2Yp8+ZmTfu4ulw/IrT1YD8WfuYwl3uNzOCFJe1rqvZgy4EHrP1H5gW+Dl8LmzoLoEHUzGUzso5ShGt2X/47Saoev2a/4PPAccq88Gvm/ZK+pOHpsYeYzQxgU+OtJWOnPjzCfFF/Pmc7nz8yhM2ba7mtVHt1wcJFsb6uFRXr6kqNLjl3GGQ03RJm1pMjnexn3nw3N97EXG74z/c8UttOoHr3FaxK1TOt5tvX1h4pJ972XKvFdvy+qAuXIR14cAjCXO4NJoavMfLjr07+02Pm8xP2k9on3t2LugajpJvCOtD+LUaY2Re2k2OTXUMQZEiHZl6ea0mIB7YefBzWJTRUBkGItGw6uKGuFet3trLf57+/R3akM8hDa4Oo9xYyK0Jt011s3HUe0x8eIjtyh33bfjTN9rMpiJq3UFJAGqaY/Ol5MxZ+Ztm3NVV7MTU7zuJzkJPTASFN244/KDKOtElJCHjCQlqnWPzN60Fl7SEjhGH6jmzF6moszIwxbW/Zfx8L8zmm9fnvY6Iin4kMkjlwRJ7wR2aAaZbicmboIsZfnmQOrGrXeZa0CEDI4mRIR55wips2hSIiS5qmPHtT4w1MDF8VWYPQDaoMaaFzLTkrOknRfiavvbpqLzNxOmxExLRICgqZPU3OzHOtjwB2RBlHXpty6+L8WwBvRAfKXiI8lV25BC6JDpXy3rbjn/Nc6wxFo6D2GsnjZUWq5LHyre34L0TlqrgjuxL0MStvviymB4Qzuuo5LSNX1W3oqKGLQUKv7fjCFwhQeBtK59o5RbLKIcOviaSghDR/b7qtg2URzql45VD9rDOo6YWD0G87fosKQaof8KT2WhlkVZh1HkpJ89NXt0qZHF0qn2yVv09reNcash1f+NIiCMrfp7mjUWnmysw6Dy2P8rx+pF+BqF4dtSg6q4vauAMShVLnVQhtpLmZyyy6XVXlQTFMVBelBe6nn9mOv+wXlKgwUTwn4tR0xXsG7aR5fL0eYch1nTVkMGHeeSwzRfVsx2/QvRaTtaHLcWpazToPY6R5vC2Xonabqg81XQXcUSJ2e6KlFCIwSrpMitqmKyYHwXi9N7+rLnwd6TdZ9oz/WOSeT1GzppxXIf7bP5jyWtJJ3TE5CMl/1cYFCem4ICEdFySk44KEdFyQkI4L4kcawG/pcZUCzhbYdgAAAABJRU5ErkJggg==\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD0AAABLCAYAAADDGY81AAAACXBIWXMAAAsSAAALEgHS3X78AAAEoUlEQVR4nO2bT2gUSRTGP9fgimOIIBJRxFHBgIGorQgeGpP7Rjw0CouYKIqXXYki6GU1EQQFkRG8RA8a2BWUPvgHz5ls38S0MRBBl4UZJUoUwaAJBqJZXlMzmNma6emqV63Q/QOxM9X9pj7eq1evumoWzM3NIWn8lDjFqegEkYpOCqnopJCKTgqp6KSQSNENcXyJ41lZAHsAbAFA17sqbhkCUACQp3+u7RdM9sfoKsvxrHYAvRKRYdwDkHNtP2+iX0ZEO55FHs0piK2EIqCb2/PsY9rxrB4ATxgEQ9gYcTyrm8FWGVZPO551E0AXm8H5DLi2zyKezdOGBRNd4ju0YRHteFavYcElujhCXTu8RdJ6EnZfpqERK35ehcLUc6X2Cra6tj+i2mcOT4eGHAnqa7uOU62X0dG8O3K7hJxOh7WKExFqm2VtrU3by9fZpS2Y+TKNs6NHMLBzCG8/v553b8fKTox9eIxH7/PYv+73ee3k+anZj5Xmd1ENoDqP61ZkvdUa+tqu4dnkcHC9pKERX+e+lDu/b+3RefeuWLwKgxP3g2vyeqk9m2nBxWcnMDb5uNp3t6t0Wlm0GMtra91zZvRI8D91nkJ3x/IOTM9+Kn9egj7fK4SOTxcCocS5tuu1zJO3syqFi86Y3lPvjRSid4r9+GX1r/8TTDx6P4iH47ewLtOCqy/OGunDt+iEd2hoyTx1aMPJms+c2nS5fN28eE09fYic1HREh5aZt4v9GuaBA+uPh92yRcWu0aVllQQUZPbWZduC6+nZjxiceCDL0EHGD6FmTqmG0pgWSUyJ3zb2BSGcWdgYPE5JjOZoytpxoerpZSoPkYdJJCWzUuU11jSMjuZOHFx/MmoSU0Y1eyuVgDuWtwfzMQkmz1L1RV5/MP4n2ps7+dVVQcnTru1/cDwr8nMklASTWJqXKcTJ68Wpf9R6DzxVeUgnkRWjJhISXArvbGZjkMBKn72beaPSB6WI0ylOIte9JJJKTkpmd172B4JpnNPfN/69FEsfoOnpfNQ1NE1LtOggkbTwIMjDlMCoKlPsQ2R0RN8V1VBTlIdoBSUrRRV4rvrCUDm8KZkBeMHRe0Xuqj6oW5EdFslkgaxxb8USMio0/qvw2bX906p2td6cuLY/CuBvWRslKl1oTn8381pm5byOaY53ZFSdTQBYpGWofoqu7Wd1DGi/IxNj+5CunQgovS35FpZXwK7t/wVgmMNWCBc5tng4t3UcAJ8Y7VXyCsAFDkNsooUH/uCyJ+GYGErasO9aOp41Uu21sAZDru1rj+USJk4isO4wApjktskuWmy39DGazP3w+9OCnFh66kJzctUNBVWMiBYJhyMkuYdKgLHTRWKfaUDDxICpMyemj1T1iEQUlUnxrBGMitYI8x6uOVlGLD9ccTwrH+HgDeucLCOuE4PddYY5+5wsIxbRYp6tZ6ONfU6WEevvskJK1Keu7StvF0Uh7gOxtTKy8bAuEatoMe9ekTRd0TktFJXvcfS5tyKpFWudXTFB7KIlc3e3yTlZxnf7gak48lgwsaAII/1VbVJIRSeFVHRSSEUnhVR0UkhFJ4XkiQbwH77eoRltrBC3AAAAAElFTkSuQmCC\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABKCAYAAADnhzeuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGxGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0xOVQxMzoxMTowOSswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDctMzBUMTg6MDE6MDcrMDI6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDctMzBUMTg6MDE6MDcrMDI6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmQ4ZmRhMzY2LTU5N2ItNzY0Ny1iMGUxLTk0N2QxZjI5MjFhMyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjMzMWIyYjVjLTNjMDEtYzU0Yy04ZDhmLTlkMmFiMzc1ZDUxZCIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjQ3MzVkYmM4LTUyNzYtNmI0NC1hNGVmLWRiOTg1Y2YwZDZhOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDczNWRiYzgtNTI3Ni02YjQ0LWE0ZWYtZGI5ODVjZjBkNmE4IiBzdEV2dDp3aGVuPSIyMDIwLTA2LTE5VDEzOjExOjA5KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOmQ4ZmRhMzY2LTU5N2ItNzY0Ny1iMGUxLTk0N2QxZjI5MjFhMyIgc3RFdnQ6d2hlbj0iMjAyMC0wNy0zMFQxODowMTowNyswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06SW5ncmVkaWVudHM+IDxyZGY6QmFnPiA8cmRmOmxpIHN0UmVmOmxpbmtGb3JtPSJSZWZlcmVuY2VTdHJlYW0iIHN0UmVmOmZpbGVQYXRoPSJmaWxlOi8vL0M6L1VzZXJzL0xhdXJhL0Rlc2t0b3AvUmVzZXJ2YXJlL1BJTi9QaW4vUGluX1BhcmtpbmdfUmVkLnBuZyIvPiA8L3JkZjpCYWc+IDwveG1wTU06SW5ncmVkaWVudHM+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+u3HZmQAA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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABKCAYAAADnhzeuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHy2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0xOVQxMzoxMTowOSswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDctMzBUMTg6MDI6MjUrMDI6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDctMzBUMTg6MDI6MjUrMDI6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjhkM2JmMzJlLTA1N2EtYjA0NC04ZDExLTk4YTRlM2JmMzhhOSIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmZkNTVlMzE0LTQxZmItZDk0Yi04Mjg0LTViZGZiZWM2YzhjMiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjVmOGM4NmRjLTNkNzYtMTg0Yi04Yjk1LWEwOWFiZjFiYzg3ZSI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NWY4Yzg2ZGMtM2Q3Ni0xODRiLThiOTUtYTA5YWJmMWJjODdlIiBzdEV2dDp3aGVuPSIyMDIwLTA2LTE5VDEzOjExOjA5KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjhkM2JmMzJlLTA1N2EtYjA0NC04ZDExLTk4YTRlM2JmMzhhOSIgc3RFdnQ6d2hlbj0iMjAyMC0wNy0zMFQxODowMjoyNSswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06SW5ncmVkaWVudHM+IDxyZGY6QmFnPiA8cmRmOmxpIHN0UmVmOmxpbmtGb3JtPSJSZWZlcmVuY2VTdHJlYW0iIHN0UmVmOmZpbGVQYXRoPSJmaWxlOi8vL0M6L1VzZXJzL0xhdXJhL0Rlc2t0b3AvUmVzZXJ2YXJlL1BJTi9QaW4vUGluX1BhcmtpbmdfUmVkLnBuZyIvPiA8cmRmOmxpIHN0UmVmOmxpbmtGb3JtPSJSZWZlcmVuY2VTdHJlYW0iIHN0UmVmOmZpbGVQYXRoPSJmaWxlOi8vL0M6L1VzZXJzL0xhdXJhL0Rlc2t0b3AvUmVzZXJ2YXJlL1BJ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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABKCAYAAADnhzeuAAAACXBIWXMAAAsTAAALEwEAmpwYAAAHR2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1sbnM6cGhvdG9zaG9wPSJodHRwOi8vbnMuYWRvYmUuY29tL3Bob3Rvc2hvcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RFdnQ9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZUV2ZW50IyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNi0xOVQxMzoxMTowOSswMjowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDctMzBUMTg6MDE6NTkrMDI6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjAtMDctMzBUMTg6MDE6NTkrMDI6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2NzQ1ZjU2LWY3M2MtMWU0NS1hNGMzLTM4Yzg4OWYyMDhiMyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjY0YmZlMjEyLTlkMGYtOTQ0OC05MzkwLTAyNmIxZmZlOWZlMSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmU3ZWUzZGUxLTI3MWEtZTY0NS1iNmY2LWNkZGEwYWMxZDZiNCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6ZTdlZTNkZTEtMjcxYS1lNjQ1LWI2ZjYtY2RkYTBhYzFkNmI0IiBzdEV2dDp3aGVuPSIyMDIwLTA2LTE5VDEzOjExOjA5KzAyOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ2NzQ1ZjU2LWY3M2MtMWU0NS1hNGMzLTM4Yzg4OWYyMDhiMyIgc3RFdnQ6d2hlbj0iMjAyMC0wNy0zMFQxODowMTo1OSswMjowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDIxLjIgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDwvcmRmOlNlcT4gPC94bXBNTTpIaXN0b3J5PiA8eG1wTU06SW5ncmVkaWVudHM+IDxyZGY6QmFnPiA8cmRmOmxpIHN0UmVmOmxpbmtGb3JtPSJSZWZlcmVuY2VTdHJlYW0iIHN0UmVmOmZpbGVQYXRoPSJmaWxlOi8vL0M6L1VzZXJzL0xhdXJhL0Rlc2t0b3AvUmVzZXJ2YXJlL1BJTi9QaW4vUGluX1BhcmtpbmdfUmVkLnBuZyIvPiA8cmRmOmxpIHN0UmVmOmxpbmtGb3JtPSJSZWZlcmVuY2VTdHJlYW0iIHN0UmVmOmZpbGVQYXRoPSJmaWxlOi8vL0M6L1VzZXJzL0xhdXJhL0Rlc2t0b3AvUmVzZXJ2YXJlL1BJ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\"","module.exports = __webpack_public_path__ + \"static/media/userph.362a1d76.jpg\";","import {\r\n ON_ERROR,\r\n ON_SUCCESS,\r\n ON_WARNING,\r\n ON_INFO,\r\n LOADING_START,\r\n LOADING_END,\r\n CLEAR_NOTIFICATION,\r\n} from \"./Shared.types\";\r\n\r\nconst initialState = {\r\n loading: null,\r\n messageType: null,\r\n messageText: null,\r\n};\r\n\r\nexport const SharedReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case ON_SUCCESS:\r\n return {\r\n ...state,\r\n messageType: action.type,\r\n showModal: true,\r\n messageText: action.payload,\r\n };\r\n case ON_ERROR:\r\n return {\r\n ...state,\r\n messageType: action.type,\r\n messageText: action.payload,\r\n loading: false,\r\n };\r\n case ON_WARNING:\r\n return {\r\n ...state,\r\n messageType: action.type,\r\n messageText: action.payload,\r\n };\r\n case ON_INFO:\r\n return {\r\n ...state,\r\n messageType: action.type,\r\n messageText: action.payload,\r\n };\r\n case LOADING_START:\r\n return {\r\n ...state,\r\n loading: true,\r\n messageText: action.payload,\r\n };\r\n case LOADING_END:\r\n return {\r\n ...state,\r\n loading: false,\r\n messageText: action.payload,\r\n };\r\n case CLEAR_NOTIFICATION:\r\n return {\r\n ...state,\r\n messageType: null,\r\n messageText: null,\r\n loading: null,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n SUCCESS_HR_LOGIN,\r\n SUCCESS_LOGOUT,\r\n SUCCESS_GOOGLE_LOGIN,\r\n SUCCESS_LOGIN,\r\n ERROR_HR_LOGIN,\r\n SUCCESS_GOOGLE_LOGOUT,\r\n SUCCESS_TAAL_LOGIN,\r\n ERROR_TAAL_LOGIN,\r\n ERROR_LOGIN,\r\n SUCCESS_ROLES,\r\n ERROR_ROLES,\r\n SUCCESS_REGISTER,\r\n SUCCESS_PASSWORD_RECOVERY,\r\n ERROR_PASSWORD_RECOVERY,\r\n SUCCESS_CHANGE_PASSWORD,\r\n ERROR_CHANGE_PASSWORD,\r\n} from \"./Auth.types\";\r\n\r\nconst initialState = {\r\n user: null,\r\n roles: null,\r\n loggedIn: false,\r\n};\r\n\r\nexport const AuthReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SUCCESS_GOOGLE_LOGIN:\r\n return {\r\n ...state,\r\n type: SUCCESS_GOOGLE_LOGIN,\r\n googleUser: action.payload,\r\n };\r\n case SUCCESS_GOOGLE_LOGOUT:\r\n return {\r\n ...state,\r\n type: SUCCESS_GOOGLE_LOGOUT,\r\n googleUser: null,\r\n loggedIn: false,\r\n hrUser: null,\r\n taalUser: null,\r\n };\r\n case SUCCESS_TAAL_LOGIN:\r\n return {\r\n ...state,\r\n type: SUCCESS_TAAL_LOGIN,\r\n user: action.payload,\r\n };\r\n case ERROR_TAAL_LOGIN:\r\n return {\r\n ...state,\r\n type: ERROR_TAAL_LOGIN,\r\n message: action.payload,\r\n };\r\n case SUCCESS_LOGIN:\r\n return {\r\n ...state,\r\n type: SUCCESS_LOGIN,\r\n loggedIn: true,\r\n };\r\n case ERROR_LOGIN:\r\n return {\r\n ...state,\r\n type: ERROR_LOGIN,\r\n message: action.payload,\r\n };\r\n case SUCCESS_ROLES:\r\n return {\r\n ...state,\r\n type: SUCCESS_ROLES,\r\n roles: action.payload,\r\n };\r\n case ERROR_ROLES:\r\n return {\r\n ...state,\r\n type: ERROR_ROLES,\r\n roles: null,\r\n };\r\n case SUCCESS_REGISTER:\r\n return {\r\n ...state,\r\n type: SUCCESS_REGISTER,\r\n register: action.payload,\r\n };\r\n\r\n case SUCCESS_LOGOUT:\r\n return initialState;\r\n\r\n case SUCCESS_PASSWORD_RECOVERY:\r\n return {\r\n ...state,\r\n type:SUCCESS_PASSWORD_RECOVERY\r\n }\r\n case ERROR_PASSWORD_RECOVERY:\r\n return {\r\n ...state,\r\n type:ERROR_PASSWORD_RECOVERY,\r\n message:action.payload\r\n }\r\n case SUCCESS_CHANGE_PASSWORD:\r\n return {\r\n ...state,\r\n type:SUCCESS_CHANGE_PASSWORD\r\n }\r\n case ERROR_CHANGE_PASSWORD:\r\n return {\r\n ...state,\r\n type:ERROR_CHANGE_PASSWORD,\r\n message:action.payload\r\n }\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n ON_ERROR,\r\n ON_SUCCESS,\r\n ON_WARNING,\r\n ON_INFO,\r\n LOADING_START,\r\n LOADING_END,\r\n CLEAR_NOTIFICATION,\r\n} from \"./Shared.types\";\r\n\r\nexport const clearNotification = () => {\r\n return {\r\n type: CLEAR_NOTIFICATION,\r\n };\r\n};\r\n\r\nexport const onError = (error) => {\r\n return {\r\n type: ON_ERROR,\r\n payload: error,\r\n };\r\n};\r\n\r\nexport const onSuccess = (param) => {\r\n return {\r\n type: ON_SUCCESS,\r\n payload: param,\r\n };\r\n};\r\n\r\nexport const onWarning = (param) => {\r\n return {\r\n type: ON_WARNING,\r\n payload: param,\r\n };\r\n};\r\n\r\nexport const onInfo = (param) => {\r\n return {\r\n type: ON_INFO,\r\n payload: param,\r\n };\r\n};\r\n\r\nexport const startLoading = (param) => {\r\n return {\r\n type: LOADING_START,\r\n payload: param,\r\n };\r\n};\r\n\r\nexport const endLoading = (param) => {\r\n return {\r\n type: LOADING_END,\r\n payload: param,\r\n };\r\n};\r\n","export const ON_ERROR = \"ON_EXCEPTION\";\r\nexport const ON_SUCCESS = \"ON_SUCCESS\";\r\nexport const ON_WARNING = \"ON_WARNING\";\r\nexport const ON_INFO = \"ON_INFO\";\r\nexport const LOADING_START = \"LOADING_START\";\r\nexport const LOADING_END = \"LOADING_END\";\r\nexport const CLEAR_NOTIFICATION = \"CLEAR_NOTIFICATION\";\r\nexport const ON_SUCCESS_INSERT_PRENOTAZIONE = \"ON_SUCCESS_INSERT_PRENOTAZIONE\";\r\n","import {\r\n ON_GOOGLE_LOGIN,\r\n ON_HR_LOGIN,\r\n SUCCESS_HR_LOGIN,\r\n ERROR_HR_LOGIN,\r\n SUCCESS_GOOGLE_LOGIN,\r\n SUCCESS_LOGIN,\r\n ON_GOOGLE_LOGOUT,\r\n ON_TAAL_LOGIN,\r\n SUCCESS_TAAL_LOGIN,\r\n ERROR_TAAL_LOGIN,\r\n ERROR_LOGIN,\r\n SUCCESS_ROLES,\r\n ERROR_ROLES,\r\n TRIGGER_REGISTER,\r\n SUCCESS_REGISTER,\r\n ERROR_REGISTER,\r\n TRIGGER_OTP,\r\n SUCCESS_OTP,\r\n ERROR_OTP,\r\n TRIGGER_SEND_OTP,\r\n TRIGGER_LOGOUT,\r\n TRIGGER_PASSWORD_RECOVERY,\r\n TRIGGER_CHANGE_PASSWORD,\r\n TRIGGER_REGISTER_VARCO,\r\n SUCCESS_PASSWORD_RECOVERY,\r\n ERROR_PASSWORD_RECOVERY,\r\n SUCCESS_CHANGE_PASSWORD,\r\n ERROR_CHANGE_PASSWORD,\r\n TRIGGER_CHANGE_PASSWORD_SAFE,\r\n TRIGGER_LOGOUT_NO_LOGIN,\r\n} from \"./Auth.types\";\r\n\r\nexport const onGoogleLogin = (googleData) => {\r\n return {\r\n type: ON_GOOGLE_LOGIN,\r\n payload: googleData,\r\n };\r\n};\r\n\r\nexport const onGoogleLogout = () => {\r\n return {\r\n type: ON_GOOGLE_LOGOUT,\r\n };\r\n};\r\n\r\nexport const successGoogleLogin = (googleData) => {\r\n return {\r\n type: SUCCESS_GOOGLE_LOGIN,\r\n payload: googleData,\r\n };\r\n};\r\n\r\nexport const onLoginTaal = (username, password) => {\r\n return {\r\n type: ON_TAAL_LOGIN,\r\n payload: { username: username, password: password },\r\n };\r\n};\r\n\r\nexport const successLoginTaal = (userData) => {\r\n return {\r\n type: SUCCESS_TAAL_LOGIN,\r\n payload: userData,\r\n };\r\n};\r\n\r\nexport const errorLoginTaal = (errorData) => {\r\n return {\r\n type: ERROR_TAAL_LOGIN,\r\n payload: errorData,\r\n };\r\n};\r\n\r\nexport const successLogin = () => {\r\n return {\r\n type: SUCCESS_LOGIN,\r\n };\r\n};\r\n\r\nexport const errorLogin = (errorData) => {\r\n return {\r\n type: ERROR_LOGIN,\r\n payload: errorData,\r\n };\r\n};\r\n\r\nexport const successRoles = (successData) => {\r\n return {\r\n type: SUCCESS_ROLES,\r\n payload: successData,\r\n };\r\n};\r\n\r\nexport const errorRoles = (errorData) => {\r\n return {\r\n type: ERROR_ROLES,\r\n payload: errorData,\r\n };\r\n};\r\n\r\nexport const triggerRegister = (registerData) => {\r\n return {\r\n type: TRIGGER_REGISTER,\r\n payload: registerData,\r\n };\r\n};\r\n\r\nexport const successRegister = (registerData) => {\r\n return {\r\n type: SUCCESS_REGISTER,\r\n payload: registerData,\r\n };\r\n};\r\n\r\nexport const errorRegister = (registerData) => {\r\n return {\r\n type: ERROR_REGISTER,\r\n payload: registerData,\r\n };\r\n};\r\n\r\nexport const triggerOtp = (idUtente, otp, token) => {\r\n return {\r\n type: TRIGGER_OTP,\r\n payload: { idUtente: idUtente, otp: otp, token: token },\r\n };\r\n};\r\n\r\nexport const successOtp = (otpData) => {\r\n return {\r\n type: SUCCESS_OTP,\r\n payload: otpData,\r\n };\r\n};\r\n\r\nexport const errorOtp = (otpError) => {\r\n return {\r\n type: ERROR_OTP,\r\n payload: otpError,\r\n };\r\n};\r\n\r\nexport const triggerSendOtp = (idUtente, username, token) => {\r\n return {\r\n type: TRIGGER_SEND_OTP,\r\n payload: { idUtente: idUtente, username: username, token: token },\r\n };\r\n};\r\n\r\nexport const triggerLogout = () => {\r\n return {\r\n type: TRIGGER_LOGOUT,\r\n };\r\n};\r\n\r\nexport const triggerLogoutNoLogin = () => {\r\n return {\r\n type: TRIGGER_LOGOUT_NO_LOGIN,\r\n };\r\n};\r\n\r\nexport const triggerPasswordRecovery = (username) => {\r\n return {\r\n type: TRIGGER_PASSWORD_RECOVERY,\r\n payload: username,\r\n };\r\n};\r\n\r\nexport const successPasswordRecovery = () => {\r\n return {\r\n type: SUCCESS_PASSWORD_RECOVERY,\r\n };\r\n};\r\n\r\nexport const errorPasswordRecovery = (otpError) => {\r\n return {\r\n type: ERROR_PASSWORD_RECOVERY,\r\n payload: otpError,\r\n };\r\n};\r\n\r\nexport const triggerChangePassword = (username, password, otp) => {\r\n return {\r\n type: TRIGGER_CHANGE_PASSWORD,\r\n payload: { username: username, password: password, otp: otp },\r\n };\r\n};\r\n\r\nexport const triggerChangePasswordSafe = (username, password, otp) => {\r\n return {\r\n type: TRIGGER_CHANGE_PASSWORD_SAFE,\r\n payload: { username: username, password: password, otp: otp },\r\n };\r\n};\r\n\r\nexport const successChangePassword = () => {\r\n return {\r\n type: SUCCESS_CHANGE_PASSWORD,\r\n };\r\n};\r\n\r\nexport const errorChangePassword = (otpError) => {\r\n return {\r\n type: ERROR_CHANGE_PASSWORD,\r\n payload: otpError,\r\n };\r\n};\r\n\r\nexport const triggerRegisterVarco = (registerData) => {\r\n return {\r\n type: TRIGGER_REGISTER_VARCO,\r\n payload: registerData,\r\n };\r\n};\r\n","export const ON_GOOGLE_LOGIN = \"ON_GOOGLE_LOGIN\";\r\nexport const SUCCESS_GOOGLE_LOGIN = \"SUCCESS_GOOGLE_LOGIN\";\r\nexport const ON_GOOGLE_LOGOUT = \"ON_GOOGLE_LOGOUT\";\r\nexport const SUCCESS_GOOGLE_LOGOUT = \"SUCCESS_GOOGLE_LOGOUT\";\r\n\r\nexport const ON_HR_LOGIN = \"ON_HR_LOGIN\";\r\nexport const SUCCESS_HR_LOGIN = \"SUCCESS_HR_LOGIN\";\r\nexport const ERROR_HR_LOGIN = \"ERROR_HR_LOGIN\";\r\nexport const ON_HR_LOGOUT = \"ON_HR_LOGIN\";\r\n\r\nexport const ON_TAAL_LOGIN = \"ON_TAAL_LOGIN\";\r\nexport const SUCCESS_TAAL_LOGIN = \"SUCCESS_TAAL_LOGIN\";\r\nexport const ERROR_TAAL_LOGIN = \"ERROR_TAAL_LOGIN\";\r\nexport const ON_TAAL_LOGOUT = \"ON_TAAL_LOGOUT\";\r\nexport const TRIGGER_LOGOUT_NO_LOGIN = \"TRIGGER_LOGOUT_NO_LOGIN\";\r\n\r\nexport const SUCCESS_LOGIN = \"SUCCESS_LOGIN\";\r\nexport const ERROR_LOGIN = \"ERROR_LOGIN\";\r\n\r\nexport const READ_ROLES = \"READ_ROLES\";\r\nexport const SUCCESS_ROLES = \"SUCCESS_ROLES\";\r\nexport const ERROR_ROLES = \"ERROR_ROLES\";\r\n\r\nexport const TRIGGER_REGISTER = \"TRIGGER_REGISTER\";\r\nexport const SUCCESS_REGISTER = \"SUCCESS_REGISTER\";\r\nexport const ERROR_REGISTER = \"ERROR_REGISTER\";\r\n\r\nexport const TRIGGER_OTP = \"TRIGGER_OTP\";\r\nexport const SUCCESS_OTP = \"SUCCESS_OTP\";\r\nexport const ERROR_OTP = \"ERROR_OTP\";\r\n\r\nexport const TRIGGER_SEND_OTP = \"TRIGGER_SEND_OTP\";\r\nexport const TRIGGER_LOGOUT = \"TRIGGER_LOGOUT\";\r\nexport const SUCCESS_LOGOUT = \"SUCCESS_LOGOUT\";\r\n\r\nexport const TRIGGER_PASSWORD_RECOVERY = \"TRIGGER_PASSWORD_RECOVERY\";\r\nexport const SUCCESS_PASSWORD_RECOVERY = \"SUCCESS_PASSWORD_RECOVERY\";\r\nexport const ERROR_PASSWORD_RECOVERY = \"ERROR_PASSWORD_RECOVERY\";\r\n\r\nexport const TRIGGER_CHANGE_PASSWORD = \"TRIGGER_CHANGE_PASSWORD\";\r\nexport const SUCCESS_CHANGE_PASSWORD = \"SUCCESS_CHANGE_PASSWORD\";\r\nexport const ERROR_CHANGE_PASSWORD = \"ERROR_CHANGE_PASSWORD\";\r\nexport const TRIGGER_CHANGE_PASSWORD_SAFE = \"TRIGGER_CHANGE_PASSWORD_SAFE\";\r\n\r\nexport const TRIGGER_REGISTER_VARCO = \"TRIGGER_REGISTER_VARCO\";\r\n","export const ITEMS_PER_PAGE = 10;\r\nexport const BASE_URL_TAAL = process.env.REACT_APP_REST_ENDPOINT;\r\nexport const GOOGLE_CLIENT_ID = process.env.REACT_APP_GOOGLE_CLIENT_ID;\r\nexport const ENABLE_SECURITY = process.env.REACT_APP_ENABLE_SECURITY;\r\nexport const ERROR_BOUNDARY = process.env.REACT_APP_ERROR_BOUNDARY;\r\nexport const REDIRECT_ON_UNAUTHORIZED = process.env.REACT_APP_REDIRECT_ON_UNAUTHORIZED;\r\n","import axios from \"axios\";\r\nimport { rxStore } from \"../App\";\r\nimport { startLoading, endLoading } from \"../redux/Shared/Shared.actions\";\r\nimport { triggerLogout } from \"../redux/Auth/Auth.actions\";\r\nimport { BASE_URL_TAAL, REDIRECT_ON_UNAUTHORIZED } from \"../constants/Settings\";\r\nimport FileSaver from \"file-saver\";\r\nimport _ from \"lodash\";\r\n\r\nexport default class HttprepoTAAL {\r\n API = axios.create({\r\n baseURL: BASE_URL_TAAL,\r\n });\r\n\r\n constructor() {\r\n this.API.interceptors.request.use(\r\n (config) => {\r\n //to gesture all request\r\n if (!config.headers) config.headers = {};\r\n\r\n config.headers[\"Pragma\"] = \"no-cache\";\r\n config.headers[\"Cache-Control\"] = \"no-cache\";\r\n config.headers[\"Content-Type\"] = \"application/json\";\r\n if (\r\n rxStore.getState().Auth.loggedIn &&\r\n !config.headers[\"Authorization\"]\r\n ) {\r\n config.headers[\"Authorization\"] =\r\n \"Bearer \" + rxStore.getState().Auth.user.token;\r\n }\r\n rxStore.dispatch(startLoading(\"test\"));\r\n return config;\r\n },\r\n (error) => {\r\n console.log(\"error in request\", error);\r\n rxStore.dispatch(endLoading());\r\n }\r\n );\r\n this.API.interceptors.response.use(\r\n (response) => {\r\n //to gesture all response\r\n rxStore.dispatch(endLoading());\r\n return response;\r\n },\r\n (error) => {\r\n const status = error.response.status;\r\n if (\r\n REDIRECT_ON_UNAUTHORIZED === \"true\" &&\r\n (status === 401 || status === 403)\r\n ) {\r\n rxStore.dispatch(triggerLogout());\r\n }\r\n rxStore.dispatch(endLoading());\r\n }\r\n );\r\n }\r\n\r\n getTable() {}\r\n\r\n add(newObject, customTable) {\r\n let params = {};\r\n if (_.isArray(newObject)) {\r\n params.entities = [...newObject];\r\n } else {\r\n params.entity = { ...newObject };\r\n }\r\n return this.API.post(\r\n `/Generic/add/${customTable || this.getTable()}`,\r\n params\r\n );\r\n }\r\n\r\n del(newObject, customTable) {\r\n let params = {};\r\n if (_.isArray(newObject)) {\r\n params.entities = [...newObject];\r\n } else {\r\n params.entity = { ...newObject };\r\n }\r\n return this.API.post(\r\n `/Generic/del/${customTable || this.getTable()}`,\r\n params\r\n );\r\n }\r\n\r\n update(newObject, customTable) {\r\n let params = {};\r\n if (_.isArray(newObject)) {\r\n params.entities = [...newObject];\r\n } else {\r\n params.entity = { ...newObject };\r\n }\r\n return this.API.post(\r\n `/Generic/update/${customTable || this.getTable()}`,\r\n params\r\n );\r\n }\r\n\r\n updateflds(newObject, filter) {\r\n let params = {};\r\n params.filter = filter;\r\n if (_.isArray(newObject)) {\r\n params.entities = [...newObject];\r\n } else {\r\n params.entity = { ...newObject };\r\n }\r\n return this.API.post(`/Generic/updateflds/${this.getTable()}`, params);\r\n }\r\n\r\n exec(procName, parameters, pageNum, pageSize, conf, orders) {\r\n let params = {\r\n par: parameters,\r\n };\r\n if (pageNum) {\r\n params.pageNum = pageNum;\r\n } else {\r\n params.pageNum = 0\r\n }\r\n if (pageSize) {\r\n params.pageSize = pageSize;\r\n }\r\n if (orders) {\r\n params.order = [...orders]\r\n } else {\r\n params.order = []\r\n }\r\n return this.API.post(`/Generic/exec/${procName}`, params, conf);\r\n }\r\n\r\n sendMail(procName, parameters, conf) {\r\n let params = {\r\n par: parameters,\r\n };\r\n return this.API.post(`/Generic/sendmail/${procName}`, params, conf);\r\n }\r\n\r\n sendSms(procName, parameters, conf) {\r\n let params = {\r\n par: parameters,\r\n };\r\n return this.API.post(`/Generic/sendsms/${procName}`, params, conf);\r\n }\r\n\r\n find(id) {\r\n return this.API.get(`/Generic/find/${this.getTable()}/${id}`);\r\n }\r\n\r\n tabledef(customTable) {\r\n return this.API.get(`/Generic/tabledef/${customTable || this.getTable()}`);\r\n }\r\n\r\n search(pageNum, pageSize, filter, orders, customTable) {\r\n let params = {\r\n filter: filter,\r\n pageNum: pageNum,\r\n pageSize: pageSize,\r\n };\r\n if (orders) params.orders = [...orders];\r\n return this.API.post(\r\n `/Generic/search/${customTable || this.getTable()}`,\r\n params\r\n );\r\n }\r\n\r\n search2(pageNum, pageSize, filter, orders, includes, customTable) {\r\n let params = {\r\n filter: filter,\r\n pageNum: pageNum,\r\n pageSize: pageSize,\r\n Includes: includes,\r\n };\r\n if (orders) params.orders = [...orders];\r\n return this.API.post(\r\n `/Generic/search2/${customTable || this.getTable()}`,\r\n params\r\n );\r\n }\r\n\r\n download(url, params, headers, filename) {\r\n return this.API({\r\n url: url,\r\n method: \"GET\",\r\n responseType: \"blob\",\r\n params: params,\r\n headers: headers, // important\r\n }).then((response) => {\r\n FileSaver.saveAs(new Blob([response.data]), filename);\r\n });\r\n }\r\n\r\n downloadBlob(url, params, headers, filename) {\r\n return this.API({\r\n url: url,\r\n method: \"GET\",\r\n responseType: \"blob\",\r\n params: params,\r\n headers: headers, // important\r\n }).then((response) => {\r\n return response.data;\r\n });\r\n }\r\n\r\n upload(url, params, headers, file, fileKey) {\r\n var formData = new FormData();\r\n if (params && _.isObject(params)) {\r\n Object.keys(params).forEach((key) => {\r\n formData.append(key, params[key]);\r\n });\r\n }\r\n formData.append(fileKey, file);\r\n return this.API.post(url, formData, {\r\n headers: _.merge(headers, {\r\n \"Content-Type\": \"multipart/form-data\",\r\n }),\r\n });\r\n }\r\n\r\n static testConnection() {\r\n rxStore.dispatch(startLoading(\"test\"));\r\n return axios\r\n .get(BASE_URL_TAAL + \"/Generic/TestAuth\", { timeout: 2000 })\r\n .finally(() => rxStore.dispatch(endLoading()));\r\n }\r\n}\r\n","import HttprepoTAAL from \"./HttpRepoTaal\";\r\n\r\nexport default class StubRepo {\r\n\r\n static getName() {\r\n return \"REPO\";\r\n }\r\n\r\n static getService() {\r\n }\r\n\r\n static getLocal() {\r\n }\r\n\r\n static getInstanceTaal() {\r\n return new Promise((resolve, reject) => {\r\n //return http service if is production\r\n return resolve(this.getService());\r\n if(process.env.NODE_ENV === 'production') return resolve(this.getService());\r\n\r\n console.log(`choosing repo for: ${this.getName()}`);\r\n HttprepoTAAL.testConnection().then((res)=>{\r\n resolve(this.getService());\r\n console.log(` ${this.getName()} is online`);\r\n }).catch(error => {\r\n if (error.message.toLowerCase() === \"network error\" || error.message.toLowerCase().indexOf('timeout of') >= 0) {\r\n resolve(this.getLocal());\r\n console.log(` ${this.getName()} is mocked`);\r\n } else {\r\n resolve(this.getService());\r\n console.log(` ${this.getName()} is online`);\r\n }\r\n });\r\n });\r\n\r\n }\r\n\r\n\r\n}","import { rxStore } from '../App';\r\nimport { startLoading,endLoading } from '../redux/Shared/Shared.actions';\r\n\r\nexport default class LocalStorageRepo {\r\n\r\n \r\n\r\n getList(...p) { };\r\n\r\n\r\n get(...key) {\r\n rxStore.dispatch(startLoading('test'));\r\n return new Promise((resolve, reject) => {\r\n try {\r\n setTimeout(()=>{\r\n rxStore.dispatch(endLoading());\r\n resolve(this.getList(...key));\r\n },1000);\r\n } catch (error) {\r\n reject(error.toString());\r\n }\r\n });\r\n\r\n }\r\n\r\n insert(key, value) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n resolve(true);\r\n } catch (error) {\r\n reject(error.toString());\r\n }\r\n });\r\n }\r\n\r\n update(key, value) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n resolve(true);\r\n } catch (error) {\r\n reject(error.toString());\r\n }\r\n });\r\n\r\n }\r\n\r\n delete(key) {\r\n return new Promise((resolve, reject) => {\r\n try {\r\n resolve(true);\r\n } catch (error) {\r\n reject(error.toString());\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","import MockRepo from '../../../repos/MockRepo';\r\n\r\nexport default class LoginRepoMock extends MockRepo {\r\n \r\n loginHr(googleToken){\r\n if(googleToken==='1111')\r\n return Promise.resolve({error:'not valid'});\r\n return Promise.resolve({\"user\":{\"id\":1,\"username\":\"kalos\",\"email\":\"cmiraglia@taal.it\",\"created_at\":null,\"updated_at\":null},\"access_token\":{\"type\":\"bearer\",\"token\":\"7cfe3d8c4d892b199c1860fbfea3a2adTq+Yul14lGourD1qPCJc53+oLh03OJHsDv4tfh7c69th1IGXO1kAJdsWlc5LKSbF\"}});\r\n }\r\n}","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst LOGIN = \"/login\";\r\nconst REGISTER = \"sp_RegisterUtente\";\r\nconst FASTREGISTER = \"sp_FastRegisterUtente\";\r\nconst CHECK_OTP = \"sp_VerificaOTP\";\r\nconst SEND_OTP = \"/Generic/sendotp/\";\r\nconst SEND_SMS = \"/Generic/sendsms/fn_GetCodiceOtp\";\r\nconst SEND_SMS_TEST = \"/Generic/sendsms/fn_GetSMSParameters\";\r\nconst SEND_EMAIL_TEST = \"/Generic/search/fn_GetEmailParameters\";\r\nconst READ_ROLES = \"/Generic/search2/ProfiloImpiegato\";\r\nconst READ_USER = \"/Generic/search2/Utente\";\r\nconst CHANGE_PASSWORD = \"sp_ChangePasswordOTP\";\r\nconst READ_USER_FN = \"fn_ReadUserData\";\r\nconst READ_USER_BAN_FN = \"fn_ReadUserData_BanList\";\r\nconst GET_COMUNE_NASCITA_REGISTER = \"generic/search3/register/comunenascita\";\r\n\r\nexport default class LoginRepoTaalHttp extends HttprepoTAAL {\r\n loginTaal(username, password) {\r\n return this.API.post(\r\n LOGIN,\r\n {\r\n utente: username,\r\n password: password,\r\n },\r\n {\r\n headers: {\r\n Authorization: \"\",\r\n },\r\n }\r\n );\r\n }\r\n\r\n register(data) {\r\n return this.exec(REGISTER, data);\r\n }\r\n\r\n registerFast(data) {\r\n return this.exec(FASTREGISTER, data);\r\n }\r\n\r\n checkOtp(idUtente, otp, token) {\r\n return this.exec(CHECK_OTP, { IDUTENTE: idUtente, OTP: otp }, null, null, {\r\n headers: { Authorization: \"Bearer \" + token },\r\n });\r\n }\r\n\r\n sendOtp(idUtente, token) {\r\n /* return this.API.get(SEND_OTP+idUtente,\r\n {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }); */\r\n return this.API.post(\r\n SEND_SMS,\r\n {\r\n par: {\r\n idutente: idUtente,\r\n ISRECUPEROPASSWORD: 0,\r\n },\r\n },\r\n {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }\r\n );\r\n }\r\n\r\n sendSms(idUtente, token) {\r\n return this.API.post(SEND_SMS_TEST, {\r\n par: {\r\n idutente: idUtente,\r\n ISRECUPEROPASSWORD: 0,\r\n },\r\n });\r\n }\r\n\r\n sendEmail(idPrenotazione, token) {\r\n return this.API.post(SEND_EMAIL_TEST, {\r\n par: {\r\n idprenotazione: idPrenotazione,\r\n },\r\n });\r\n }\r\n\r\n readRoles(idUser, token) {\r\n return this.API.post(\r\n READ_ROLES,\r\n {\r\n pageNum: 0,\r\n pageSize: -1,\r\n Includes: [\"Profilo.ProfiloRisorsaLogica_List\"],\r\n filter: {\r\n Expression: \"fkidimpiegato == @0 && flagAttivo\",\r\n ExpressionValues: [{ value: idUser }],\r\n },\r\n },\r\n {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }\r\n );\r\n }\r\n\r\n /*readUserData(idUser, token) {\r\n return this.API.post(\r\n READ_USER,\r\n {\r\n pageNum: 0,\r\n order: [],\r\n pageSize: -1,\r\n Includes: [\"Comune\", \"Lingua\", \"TipologiaProfilo\", \"ListaBan_List\"],\r\n filter: {\r\n Expression: \"idUtente == @0\",\r\n ExpressionValues: [{ value: idUser }],\r\n },\r\n },\r\n {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }\r\n );\r\n }*/\r\n\r\n readUserData(idUser, token) {\r\n return this.exec(READ_USER_FN, null, null, null, {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }).then((res1) => {\r\n return this.exec(READ_USER_BAN_FN, null, null, null, {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }).then((res2) => {\r\n let res1temp = { ...res1 };\r\n res1 = res1.data.result[0];\r\n res2 = res2.data.result;\r\n let ret = {\r\n //idUtente: null,\r\n fkIdTipologiaProfilo: res1.IDTIPOLOGIAPROFILO,\r\n fkIdLingua: res1.IDLINGUA,\r\n fkIdComune: res1.IDCOMUNE,\r\n username: res1.USERNAME,\r\n //password: null,\r\n dataCreazione: res1.DATACREAZIONE,\r\n dataUltimaModifica: res1.DATAULTIMAMODIFICA,\r\n flgAttivo: res1.FLGATTIVO,\r\n flgEliminato: res1.FLGELIMINATO,\r\n /*AnagraficaUtente_List: null,\r\n CensoreArea_List: null,\r\n CensoreParcheggio_List: null,\r\n GestoreArea_List: null,\r\n ListaBan_List: [],\r\n NotificaCentraleOperativa_List: null,\r\n OtpRegistrazione_List: null,\r\n PersonaleArea_List: null,\r\n Prenotazione_List: null,\r\n RegistroTransitoVarco_List: null,\r\n RuoloComune_List: null,\r\n TurnazioneParcheggio_List: null,\r\n TurnazioneVarco_List: null,\r\n */\r\n FLGPASSWORDSAFE: res1.FLGPASSWORDSAFE,\r\n Comune: {\r\n descrizione: res1.DESCRIZIONE,\r\n fkIdProvincia: res1.IDPROVINCIA,\r\n flgAbilitato: res1.FLGABILITATO,\r\n giorniBlocco: res1.GIORNIBLOCCO,\r\n giorniPrenotazione: res1.GIORNIPRENOTAZIONE,\r\n idComune: res1.IDCOMUNE,\r\n latitudine: res1.LATITUDINE,\r\n longitudine: res1.LONGITUDINE,\r\n maxOccupanti: res1.MAXOCCUPANTI,\r\n minutiRitardoMassimo: res1.MINUTIRITARDOMASSIMO,\r\n parkGiornalieri: res1.PARKGIORNALIERI,\r\n settings: res1.SETTINGS,\r\n },\r\n Lingua: {\r\n idLingua: res1.IDLINGUA,\r\n codiceLingua: res1.CODICELINGUA,\r\n descLocalizzata: res1.LINGUA_DESCLOCALIZZATA,\r\n //Localizzazione_List: null,\r\n //Utente_List: null,\r\n },\r\n TipologiaProfilo: {\r\n idTipologiaProfilo: res1.IDTIPOLOGIAPROFILO,\r\n codiceProfilo: res1.CODICEPROFILO,\r\n descLocalizzata: res1.TIPOPROF_DESCLOCALIZZATA,\r\n flgComunale: res1.FLGCOMUNALE,\r\n //RelProfiloRisorsa_List: null,\r\n //Utente_List: null,\r\n },\r\n };\r\n\r\n res2 = res2.map((el) => {\r\n return {\r\n fkIdComune: el.FKIDCOMUNE,\r\n dataInizioBan: el.DATAINIZIOBAN,\r\n dataFineBan: el.DATAFINEBAN,\r\n flgBanAttivo: el.FLGBANATTIVO,\r\n fkIdUtenteBannato: el.FKIDUTENTEBANNATO,\r\n idListaBan: el.IDLISTABAN,\r\n };\r\n });\r\n\r\n ret.ListaBan_List = res2;\r\n\r\n res1temp.data.result[0] = ret;\r\n\r\n return res1temp;\r\n });\r\n });\r\n }\r\n\r\n changePasswordByOtp(username, password, otp) {\r\n return this.exec(CHANGE_PASSWORD, {\r\n USERNAME: username,\r\n PASSWORD: password,\r\n OTP: otp,\r\n });\r\n }\r\n\r\n getComuneNascita(descrizione) {\r\n return this.API.post(GET_COMUNE_NASCITA_REGISTER, {\r\n descrizione: descrizione,\r\n });\r\n }\r\n}\r\n","import StubRepo from '../../repos/StubRepo';\r\nimport LoginRepoMock from './repositories/Login.mock';\r\nimport LoginRepoTaalHttp from './repositories/Login.httptaal';\r\n\r\nexport default class LoginRepo extends StubRepo{\r\n \r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n static _serviceTaalInstance = null;\r\n\r\n static getName() {\r\n return \"Login repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (LoginRepo._localInstance == null) {\r\n LoginRepo._localInstance = new LoginRepoMock();\r\n }\r\n return LoginRepo._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (LoginRepo._serviceTaalInstance == null) {\r\n LoginRepo._serviceTaalInstance = new LoginRepoTaalHttp();\r\n }\r\n return LoginRepo._serviceTaalInstance;\r\n }\r\n}","/**\r\n * Italian translation for bootstrap-datepicker\r\n * Enrico Rubboli \r\n */\r\nimport jQuery from 'jquery';\r\n\r\n;(function($){\r\n\t$.fn.datepicker.dates['it'] = {\r\n\t\tdays: [\"Domenica\", \"Lunedì\", \"Martedì\", \"Mercoledì\", \"Giovedì\", \"Venerdì\", \"Sabato\"],\r\n\t\tdaysShort: [\"Dom\", \"Lun\", \"Mar\", \"Mer\", \"Gio\", \"Ven\", \"Sab\"],\r\n\t\tdaysMin: [\"Do\", \"Lu\", \"Ma\", \"Me\", \"Gi\", \"Ve\", \"Sa\"],\r\n\t\tmonths: [\"Gennaio\", \"Febbraio\", \"Marzo\", \"Aprile\", \"Maggio\", \"Giugno\", \"Luglio\", \"Agosto\", \"Settembre\", \"Ottobre\", \"Novembre\", \"Dicembre\"],\r\n\t\tmonthsShort: [\"Gen\", \"Feb\", \"Mar\", \"Apr\", \"Mag\", \"Giu\", \"Lug\", \"Ago\", \"Set\", \"Ott\", \"Nov\", \"Dic\"],\r\n\t\ttoday: \"Oggi\",\r\n\t\tmonthsTitle: \"Mesi\",\r\n\t\tclear: \"Cancella\",\r\n\t\tweekStart: 1,\r\n\t\tformat: \"dd/mm/yyyy\"\r\n\t};\r\n}(jQuery));","import React from \"react\";\r\nimport Select, { components } from \"react-select\";\r\nimport _ from \"lodash\";\r\nimport { withTranslation } from \"react-i18next\";\r\n\r\nconst MyValueContainer = ({ children, ...props }) => {\r\n if (_.isArray(children) && children[0] && children[0].length) {\r\n const newChilds = children[0].map((child) =>\r\n React.cloneElement(child, {\r\n key:\r\n child.props.data.value && child.props.data.value.id\r\n ? child.props.data.value.id\r\n : child.props.children,\r\n })\r\n );\r\n newChilds.forEach((newChild, index) => {\r\n children[0][index] = newChild;\r\n });\r\n // children[0] = newChilds; wont work. children[0] is readonly\r\n }\r\n return (\r\n {children}\r\n );\r\n};\r\n\r\nclass SelectPickerC extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.values = _.cloneDeep(props.values) || [];\r\n this.state = {\r\n update: 0,\r\n };\r\n this._setOptions(props);\r\n this.defaultValues =\r\n props.values && props.values.length > 0\r\n ? props.values.map((elm) => {\r\n return {\r\n value: elm,\r\n label: props.t(_.get(elm, props.displayValue)),\r\n };\r\n })\r\n : [];\r\n }\r\n\r\n onChange(values, action) {\r\n if (this.props.multiple) {\r\n if (values && values.length > 0) {\r\n this.values = values.map((elm) => elm.value);\r\n } else {\r\n this.values = [];\r\n }\r\n } else {\r\n this.values = !values.value ? [] : [values.value];\r\n }\r\n this.notifyChange(values, action);\r\n }\r\n\r\n filterOption = (option, inputValue) =>\r\n (\r\n (option.label &&\r\n option.label\r\n .toString()\r\n .toLowerCase()\r\n .match(inputValue.toLowerCase())) ||\r\n []\r\n ).length > 0;\r\n\r\n notifyChange = (values, action) => {\r\n if (this.props.onChange && _.isFunction(this.props.onChange))\r\n this.props.onChange(this.values, action);\r\n };\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n if (this.values !== nextProps.values) {\r\n if (!_.isNull(nextProps.values) && !_.isUndefined(nextProps.values)) {\r\n if (_.isArray(nextProps.values)) this.values = nextProps.values;\r\n else this.values = [nextProps.values];\r\n } else {\r\n this.values = [];\r\n }\r\n nextState.update = this.state.update + 1;\r\n }\r\n if (this.options !== nextProps.options) {\r\n this._setOptions(nextProps);\r\n nextState.update = this.state.update + 1;\r\n }\r\n }\r\n\r\n _setOptions(nextProps) {\r\n const options =\r\n nextProps.options && nextProps.options.length > 0\r\n ? nextProps.options.map((elm) => {\r\n return {\r\n value: elm,\r\n label: this.props.t(_.get(elm, this.props.displayValue)),\r\n };\r\n })\r\n : [];\r\n if (!this.props.multiple && this.props.emptyField) {\r\n this.options = [\r\n {\r\n value: {},\r\n label: \"---\",\r\n },\r\n ...options,\r\n ];\r\n } else {\r\n this.options = options;\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n this.onChange(value, action)}\r\n filterOption={this.filterOption}\r\n isMulti={this.props.multiple}\r\n hideSelectedOptions={true}\r\n isDisabled={this.props.readOnly}\r\n //value={this.values}\r\n defaultValue={this.defaultValues}\r\n />\r\n );\r\n }\r\n}\r\n\r\nexport const SelectPicker = withTranslation()(SelectPickerC);\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport $ from \"jquery\";\r\nimport \"../../template/dashboard/js/bootstrap-datepicker\";\r\nimport \"../../template/dashboard/js/bootstrap-datepicker.it\";\r\nimport moment from \"moment\";\r\nimport { SelectPicker } from \"../Content/SelectPicker\";\r\nimport { Trans } from \"react-i18next\";\r\n\r\nexport const FILTER_TEXT = \"text\";\r\nexport const FILTER_NUMBER = \"number\";\r\nexport const FILTER_LIST = \"select\";\r\nexport const FILTER_RANGE = \"range\";\r\nexport const FILTER_MULTIPLE = \"multiple\";\r\nexport const FILTER_NOT_NULL = \"not_null\";\r\nexport const FILTER_NULL = \"null\";\r\nexport const FILTER_TEXT_EQUALS = \"text_equals\";\r\n\r\nexport default class FilterItem extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n label: \"\",\r\n type: \"\",\r\n values: [],\r\n data: \"\",\r\n options: [],\r\n multipleValues: [],\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let changed = {};\r\n if (this.state.label !== this.props.label) {\r\n changed.label = this.props.label;\r\n }\r\n if (this.state.type !== this.props.type) {\r\n changed.type = this.props.type;\r\n }\r\n if (this.props.values && this.state.values !== this.props.values) {\r\n changed.values = this.props.values;\r\n }\r\n if (this.state.data !== this.props.data) {\r\n changed.data = this.props.data;\r\n }\r\n if (this.state.options !== this.props.options) {\r\n changed.options = this.props.options;\r\n }\r\n if (!_.isEmpty(changed)) this.setState(changed);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let changed = {};\r\n if (this.state.label !== this.props.label) {\r\n changed.label = this.props.label;\r\n }\r\n if (this.state.type !== this.props.type) {\r\n changed.type = this.props.type;\r\n }\r\n if (this.props.values && this.state.values !== this.props.values) {\r\n changed.values = this.props.values;\r\n }\r\n if (this.state.data !== this.props.data) {\r\n changed.data = this.props.data;\r\n }\r\n if (this.state.options !== this.props.options) {\r\n changed.options = this.props.options;\r\n }\r\n if (!_.isEmpty(changed)) this.setState(changed);\r\n }\r\n\r\n textInput(label, data, value) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n numberInput(label, data, value) {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n multipleInput(label, data, options, values) {\r\n return (\r\n \r\n \r\n {\r\n this.onChangeMultiple(ev);\r\n }}\r\n />\r\n \r\n );\r\n }\r\n\r\n listInput(label, data, options, values) {\r\n return (\r\n \r\n \r\n \r\n {\r\n //!values || !values.length?\r\n \r\n //\r\n }\r\n {options && options.length\r\n ? options.map((o) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n );\r\n }\r\n\r\n rangeInput(label, data, da, a) {\r\n return (\r\n
\r\n \r\n {label}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n\r\n onChange() {\r\n if (this.props.onChangeFilter && _.isFunction(this.props.onChangeFilter)) {\r\n this.props.onChangeFilter(\r\n `${this.state.type}&&&${this.state.data}`,\r\n this.state.values\r\n );\r\n }\r\n }\r\n\r\n onChangeInput(event) {\r\n let value = event.target.value;\r\n if (!value || !value.length) {\r\n value = null;\r\n }\r\n if (!_.isArray(value)) {\r\n value = [value];\r\n }\r\n this.setState(\r\n {\r\n values: [...value],\r\n },\r\n this.onChange.bind(this)\r\n );\r\n }\r\n\r\n onChangeDate = (cc, index) => {\r\n let date = moment(cc);\r\n let dates = [this.state.values[0], this.state.values[1]];\r\n if (\r\n index === 1 &&\r\n this.state.values[0] &&\r\n moment(this.state.values[0], \"DD/MM/YYYY\").isAfter(date)\r\n ) {\r\n dates = [date.format(\"DD/MM/YYYY\"), date.format(\"DD/MM/YYYY\")];\r\n $(\".input-group.date.da\").datepicker(\"setDate\", dates[0]);\r\n dates[0] = date.format(\"DD/MM/YYYY\");\r\n } else if (\r\n index === 0 &&\r\n this.state.values[1] &&\r\n date.isAfter(moment(this.state.values[1], \"DD/MM/YYYY\"))\r\n ) {\r\n dates = [date.format(\"DD/MM/YYYY\"), date.format(\"DD/MM/YYYY\")];\r\n $(\".input-group.date.a\").datepicker(\"setDate\", dates[1]);\r\n dates[1] = date.format(\"DD/MM/YYYY\");\r\n }\r\n //if(dates[index]!==moment(date).format('DD/MM/YYYY')){\r\n dates[index] = moment(date).format(\"DD/MM/YYYY\");\r\n this.setState(\r\n {\r\n values: dates,\r\n },\r\n _.debounce(this.onChange.bind(this), 200)\r\n );\r\n // }\r\n };\r\n\r\n onChangeMultiple(ev) {\r\n this.setState(\r\n { multipleValues: ev, values: ev.map((e) => e.key) },\r\n this.onChange.bind(this)\r\n );\r\n }\r\n\r\n getItem = () => {\r\n let ret = null;\r\n switch (this.state.type) {\r\n case FILTER_TEXT:\r\n ret = this.textInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.values[0]\r\n );\r\n break;\r\n case FILTER_NUMBER:\r\n ret = this.numberInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.values[0]\r\n );\r\n break;\r\n case FILTER_LIST:\r\n ret = this.listInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.options,\r\n this.state.values[0]\r\n );\r\n break;\r\n case FILTER_MULTIPLE:\r\n ret = this.multipleInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.options,\r\n this.state.values[0]\r\n );\r\n break;\r\n case FILTER_RANGE:\r\n ret = this.rangeInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.values[0],\r\n this.state.values.length > 1 ? this.state.values[1] : \"\"\r\n );\r\n setTimeout(() => {\r\n $(\".input-group.date\").datepicker(\"destroy\");\r\n $(\".input-group.date\").off(\"changeDate\");\r\n $(\".input-group.date\")\r\n .datepicker({\r\n format: \"dd/mm/yyyy\",\r\n maxViewMode: 2,\r\n language: \"it\",\r\n orientation: \"auto right\",\r\n keyboardNavigation: false,\r\n forceParse: false,\r\n autoclose: true,\r\n todayHighlight: true,\r\n showOnFocus: false,\r\n templates: {\r\n leftArrow: '',\r\n rightArrow: '',\r\n },\r\n })\r\n .on(\"changeDate\", (ev) => {\r\n let c = $(ev.target).hasClass(\"da\") ? 0 : 1;\r\n this.onChangeDate(ev.date, c);\r\n });\r\n /*$('.input-group.date-to').datepicker({\r\n format: 'dd/mm/yyyy',\r\n maxViewMode: 2,\r\n language: 'it',\r\n orientation: 'auto right',\r\n keyboardNavigation: false,\r\n forceParse: false,\r\n autoclose: true,\r\n todayHighlight: true,\r\n showOnFocus: false,\r\n templates: {\r\n leftArrow: '',\r\n rightArrow: ''\r\n }\r\n }).on('changeDate', (ev) =>{\r\n this.onChangeDate(ev.date,1);\r\n });*/\r\n }, 200);\r\n break;\r\n default:\r\n ret = this.textInput(\r\n this.state.label,\r\n this.state.data,\r\n this.state.values[0]\r\n );\r\n break;\r\n }\r\n return ret;\r\n };\r\n\r\n render() {\r\n return this.getItem();\r\n }\r\n}\r\n","import {\r\n FILTER_TEXT,\r\n FILTER_MULTIPLE,\r\n FILTER_NUMBER,\r\n FILTER_NOT_NULL,\r\n FILTER_NULL,\r\n FILTER_LIST,\r\n FILTER_TEXT_EQUALS,\r\n} from \"../components/TableServer/FilterItem\";\r\nimport HttpRepoTAAL from \"../repos/HttpRepoTaal\";\r\nimport _ from \"lodash\";\r\n\r\nexport default class BaseServiceTaal {\r\n counterParams = 0;\r\n values = [];\r\n\r\n _resetCounter() {\r\n this.counterParams = 0;\r\n }\r\n\r\n _getIncrementCounter(v) {\r\n this.values.push({ value: v });\r\n return this.counterParams++;\r\n }\r\n\r\n _createTextFilter(key, val) {\r\n if (val && val[0] && val[0].length) {\r\n return `${key}.Contains(@${this._getIncrementCounter(val[0])})`;\r\n }\r\n return null;\r\n }\r\n\r\n _createTextFilterEquals(key, val) {\r\n if (val && val[0] && val[0].length) {\r\n return `${key}.Equals(@${this._getIncrementCounter(val[0])})`;\r\n }\r\n return null;\r\n }\r\n\r\n _createNumericFilter(key, val) {\r\n if (val && val[0]) {\r\n let valt = parseInt(val[0]);\r\n if (val[0] === \"true\") {\r\n valt = true;\r\n } else if (val[0] === \"false\") {\r\n valt = false;\r\n }\r\n\r\n return `${key}==@${this._getIncrementCounter(valt)}`;\r\n }\r\n return null;\r\n }\r\n\r\n _createMultipleFilter(key, val) {\r\n if (val && val.length) {\r\n return (\r\n ` (` +\r\n val\r\n .map((el) => `${key} == @${this._getIncrementCounter(el)}`)\r\n .join(` || `) +\r\n ` )`\r\n );\r\n }\r\n return null;\r\n }\r\n\r\n _createNotInFilter(key, val) {\r\n if (val && val.length) {\r\n return val\r\n .map((o) => `${key} != @${this._getIncrementCounter(o)}`)\r\n .join(\" && \");\r\n }\r\n return null;\r\n }\r\n\r\n _createNotNullOrEmpty(key) {\r\n if (key.indexOf(\"_List\") > 0)\r\n return ` ${key}.Count > @${this._getIncrementCounter(0)}`;\r\n else return `${key} != @${this._getIncrementCounter(null)}`;\r\n }\r\n\r\n _createNullOrEmpty(key) {\r\n if (key.indexOf(\"_List\") > 0)\r\n return ` ${key}.Count == @${this._getIncrementCounter(0)}`;\r\n else return `${key} == @${this._getIncrementCounter(null)}`;\r\n }\r\n\r\n transformFilterToServer(filters) {\r\n let ret = [];\r\n this._resetCounter();\r\n this.values = [];\r\n if (filters && Object.keys(filters).length) {\r\n Object.keys(filters).forEach((keyFilter) => {\r\n if (filters[keyFilter]) {\r\n const splitted = keyFilter.split(\"&&&\");\r\n const type = splitted[0];\r\n const key = splitted[1];\r\n const correctValue = filters[keyFilter].filter((cv) => cv != null);\r\n\r\n let currentFilter = null;\r\n\r\n switch (type) {\r\n case \"notIn\":\r\n currentFilter = this._createNotInFilter(key, correctValue);\r\n break;\r\n case FILTER_TEXT:\r\n currentFilter = this._createTextFilter(key, correctValue);\r\n break;\r\n case FILTER_TEXT_EQUALS:\r\n currentFilter = this._createTextFilterEquals(key, correctValue);\r\n break;\r\n case FILTER_MULTIPLE:\r\n currentFilter = this._createMultipleFilter(key, correctValue);\r\n break;\r\n case FILTER_NUMBER:\r\n currentFilter = this._createNumericFilter(key, correctValue);\r\n break;\r\n case FILTER_NOT_NULL:\r\n currentFilter = this._createNotNullOrEmpty(key, correctValue);\r\n break;\r\n case FILTER_NULL:\r\n currentFilter = this._createNullOrEmpty(key);\r\n break;\r\n case FILTER_LIST:\r\n currentFilter = currentFilter = this._createNumericFilter(\r\n key,\r\n correctValue\r\n );\r\n break;\r\n default:\r\n currentFilter = this._createTextFilter(key);\r\n break;\r\n }\r\n\r\n if (currentFilter) ret.push(currentFilter);\r\n }\r\n });\r\n }\r\n return { expression: ret.join(\" && \"), expressionValues: this.values };\r\n }\r\n\r\n transformOrdersToServer(orders) {\r\n if (_.isArray(orders) && orders.length > 0) {\r\n return orders.map((order) => order.data + \" \" + order.direction);\r\n }\r\n }\r\n\r\n //This method must return a promise wich a repo stub instance\r\n getRepo() {\r\n return Promise.resolve(new HttpRepoTAAL());\r\n }\r\n\r\n getAll = (customTable) =>\r\n this.getRepo().then((repo) => repo.search(0, -1, null, null, customTable));\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search(page - 1, size, this.transformFilterToServer(filters), orders)\r\n );\r\n\r\n create = (objNew) => this.getRepo().then((repo) => repo.add(objNew));\r\n\r\n remove = (objRem) => this.getRepo().then((repo) => repo.del(objRem));\r\n\r\n edit = (objUpd) => this.getRepo().then((repo) => repo.update(objUpd));\r\n\r\n getById = (id) => this.getRepo().then((repo) => repo.find(id));\r\n\r\n tableDefinition = () => this.getRepo().then((repo) => repo.tabledef());\r\n}\r\n","import LoginRepo from \"./Login.repo\";\r\nimport BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport { FILTER_TEXT } from \"../../components/TableServer/FilterItem\";\r\n\r\nconst FORGET_PASSWORD = \"sp_SendOTPEmail\";\r\n\r\nexport default class LoginService extends BaseServiceTaal {\r\n loginTaal(username, password) {\r\n return LoginRepo.getService().loginTaal(username, password);\r\n }\r\n\r\n readRoles(idUser, token) {\r\n return LoginRepo.getService().readRoles(idUser, token);\r\n }\r\n\r\n readUserData(idUser, token) {\r\n return LoginRepo.getService().readUserData(idUser, token);\r\n }\r\n\r\n register(registerData) {\r\n return LoginRepo.getService().register(registerData);\r\n }\r\n registerFast(registerData) {\r\n return LoginRepo.getService().registerFast(registerData);\r\n }\r\n\r\n contactUs = (data) =>\r\n this.getRepo().then((repo) => repo.sendMail(\"fn_GetEmailContactUs\", data));\r\n\r\n getComune = (filters) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n 1,\r\n -1,\r\n this.transformFilterToServer(filters),\r\n null,\r\n [],\r\n \"ComuneNascita\"\r\n )\r\n );\r\n\r\n getComuneNascita = (descrizione) =>\r\n LoginRepo.getService().getComuneNascita(descrizione);\r\n\r\n checkOtp(idUtente, otp, token) {\r\n return LoginRepo.getService().checkOtp(idUtente, otp, token);\r\n }\r\n sendOtp(idUtente, username, token) {\r\n return LoginRepo.getService().sendOtp(idUtente, token);\r\n //return LoginRepo.getService().sendMail(FORGET_PASSWORD, {\r\n // username: username,\r\n // ISRECUPEROPASSWORD: 0,\r\n //});\r\n }\r\n\r\n forgetPassword(username) {\r\n return LoginRepo.getService().sendMail(FORGET_PASSWORD, {\r\n username: username,\r\n ISRECUPEROPASSWORD: 1,\r\n });\r\n }\r\n changePasswordByOtp(username, password, otp) {\r\n return LoginRepo.getService().changePasswordByOtp(username, password, otp);\r\n }\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class GestoreAreaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\nconst GET_GESTORE = \"/Generic/search2/GestoreArea\";\r\n\r\nexport default class GestoreAreaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"GestoreArea\";\r\n }\r\n getRecordInLogin(idUser, token) {\r\n return this.API.post(\r\n GET_GESTORE,\r\n {\r\n pageNum: 0,\r\n pageSize: -1,\r\n Includes: [\"Area.Comune\"],\r\n filter: {\r\n Expression: \"fkIdUtente == @0\",\r\n ExpressionValues: [{ value: idUser }],\r\n },\r\n },\r\n {\r\n headers: { Authorization: \"Bearer \" + token },\r\n }\r\n );\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport GestoreAreaMockRepo from \"./repositories/AssegnaGestoreArea.mock\";\r\nimport GestoreAreaHttpRepo from \"./repositories/AssegnaGestoreArea.http\";\r\n\r\nexport default class GestoreArea extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Comune repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (GestoreArea._localInstance == null) {\r\n GestoreArea._localInstance = new GestoreAreaMockRepo();\r\n }\r\n return GestoreArea._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (GestoreArea._serviceInstance == null) {\r\n GestoreArea._serviceInstance = new GestoreAreaHttpRepo();\r\n }\r\n return GestoreArea._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport GestoreArea from \"./AssegnaGestoreArea.repo\";\r\nimport { FILTER_NUMBER } from \"../../components/TableServer/FilterItem\";\r\n\r\nexport default class GestoreAreaService extends BaseServiceTaal {\r\n getRepo = () => GestoreArea.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\r\n \"Area.Comune\",\r\n \"Area.TipologiaArea\",\r\n \"Utente.TipologiaProfilo\",\r\n \"Utente.AnagraficaUtente_List.Documento\",\r\n ]\r\n )\r\n );\r\n\r\n getRecordInLogin = (idUser, token) => {\r\n return GestoreArea.getService().getRecordInLogin(idUser, token);\r\n };\r\n\r\n setGestoreArea = (data) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_SetGestoreArea\", data));\r\n\r\n removeGestoreArea = (data) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_RemoveGestoreArea\", data));\r\n\r\n getByIdUser = (idUser) =>\r\n this.getRepo().then((repo) => {\r\n let filter = {\r\n [`${FILTER_NUMBER}&&&fkIdUtente`]: [idUser],\r\n };\r\n let page = 1;\r\n let size = 1;\r\n return repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filter),\r\n null\r\n );\r\n });\r\n\r\n GetUserByNameSurnameTipoDocNumDoc = (objToPass) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"fn_GetUserByNameSurnameTipoDocNumDoc\", objToPass)\r\n );\r\n\r\n deleteGestore = (par) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_RemoveGestoreArea\", par));\r\n}\r\n","export const ROLES = {\r\n SUPER_ADMIN: \"SA\",\r\n ADMIN_COMUNE: \"AC\",\r\n UTENTE_GENERICO: \"U\",\r\n GESTORE_AREA: \"GA\",\r\n CENSORE_AREA: \"CA\",\r\n CENSORE_PARCHEGGI: \"CP\",\r\n ADDETTO_SICUREZZA: \"AS\",\r\n CENTRALE_OPERATIVA_SICUREZZA: \"COS\",\r\n RESPONSABILE_VARCHI_STRADALI: \"RVS\",\r\n RESPONSABILI_VARCHI_AREE: \"RVA\",\r\n DIPENDENTE_AREA: \"DP\",\r\n ADDETTO_INFOPOINT: \"AI\",\r\n AUSILIARE_TRAFFICO: \"AT\",\r\n};\r\n","import { put, call, takeLatest, take } from \"redux-saga/effects\";\r\nimport LoginService from \"../../pages/Login/Login.service\";\r\nimport GestoreAreaService from \"../../modules/AssegnaGestoreArea/AssegnaGestoreArea.service\";\r\nimport {\r\n successLogin,\r\n successLoginTaal,\r\n errorLoginTaal,\r\n errorLogin,\r\n successRoles,\r\n errorRoles,\r\n successRegister,\r\n errorRegister,\r\n successOtp,\r\n onLoginTaal,\r\n successPasswordRecovery,\r\n errorPasswordRecovery,\r\n successChangePassword,\r\n errorChangePassword,\r\n} from \"./Auth.actions\";\r\nimport {\r\n SUCCESS_GOOGLE_LOGOUT,\r\n ON_TAAL_LOGIN,\r\n ON_TAAL_LOGOUT,\r\n TRIGGER_REGISTER,\r\n TRIGGER_OTP,\r\n TRIGGER_SEND_OTP,\r\n SUCCESS_LOGOUT,\r\n TRIGGER_LOGOUT,\r\n TRIGGER_PASSWORD_RECOVERY,\r\n TRIGGER_CHANGE_PASSWORD,\r\n TRIGGER_REGISTER_VARCO,\r\n TRIGGER_CHANGE_PASSWORD_SAFE,\r\n TRIGGER_LOGOUT_NO_LOGIN,\r\n} from \"./Auth.types\";\r\nimport { hist } from \"../../App\";\r\nimport { onError, onSuccess } from \"../Shared/Shared.actions\";\r\nimport { ROLES } from \"../../constants/Roles\";\r\n\r\nconst service = new LoginService();\r\nconst gestoreAreaService = new GestoreAreaService();\r\n\r\nfunction* loginSaga(action) {\r\n const loggedTaal = yield* loginTaal(\r\n action.payload.username,\r\n action.payload.password\r\n );\r\n\r\n if (loggedTaal && !loggedTaal.flgEliminato) {\r\n if (loggedTaal.flgAttivo) {\r\n yield put(successLogin());\r\n if (loggedTaal.TipologiaProfilo.codiceProfilo === ROLES.UTENTE_GENERICO) {\r\n window.location.replace(\"/site/home\");\r\n //hist.push(\"/site/home\");\r\n } else {\r\n window.location.replace(\r\n \"/dashboard/home\"\r\n ); /*hist.push(\"/dashboard/home\");*/\r\n }\r\n } else {\r\n yield* sendOtpSaga({\r\n payload: {\r\n idUtente: loggedTaal.idUtente,\r\n username: loggedTaal.username,\r\n token: loggedTaal.token,\r\n },\r\n });\r\n hist.push(\"/otp\");\r\n }\r\n } else {\r\n yield put(errorLogin(\"BAD_CREDENTIAL\"));\r\n yield put(onError(\"BAD_CREDENTIAL\"));\r\n }\r\n}\r\n\r\nfunction* loginTaal(username, password) {\r\n try {\r\n const loginTaalData = yield call(() =>\r\n service.loginTaal(username, password).then((resp) => resp.data)\r\n );\r\n //const loginHrData= await service.loginHr(googleToken);\r\n if (loginTaalData.error) {\r\n throw new Error(loginTaalData.error);\r\n }\r\n\r\n // qui una volta chiamato pulsante reset pwd new\r\n const userData = yield call(() =>\r\n service\r\n .readUserData(loginTaalData.idUtente, loginTaalData.token)\r\n .then((resp) => resp.data)\r\n );\r\n if (!userData.result[0].FLGPASSWORDSAFE) {\r\n yield put(successLoginTaal({ ...loginTaalData, ...null }));\r\n hist.push(\"/passwordrecovery\", { safe: true });\r\n return;\r\n } // se userdata ha il flag di fede redirect ad altra pagina)\r\n // poi una volta fatto il reset pwd se sono loggato...\r\n\r\n if (\r\n userData.result[0].TipologiaProfilo.codiceProfilo === ROLES.GESTORE_AREA\r\n ) {\r\n const gestoreCompleto = yield call(() =>\r\n gestoreAreaService.getRecordInLogin(\r\n loginTaalData.idUtente,\r\n loginTaalData.token\r\n )\r\n );\r\n\r\n userData.result[0].fkIdComune =\r\n gestoreCompleto.data.result[0].Area.Comune.idComune;\r\n }\r\n yield put(successLoginTaal({ ...loginTaalData, ...userData.result[0] }));\r\n return { ...loginTaalData, ...userData.result[0] };\r\n } catch (ex) {\r\n yield put(errorLoginTaal(ex.message));\r\n return false;\r\n }\r\n}\r\n\r\nfunction* readRoles(idUser, token) {\r\n try {\r\n const readRolesData = yield call(() =>\r\n service.readRoles(idUser, token).then((resp) => resp.data.result)\r\n );\r\n if (readRolesData.error) {\r\n throw new Error(readRolesData.error);\r\n }\r\n yield put(successRoles(readRolesData));\r\n return readRolesData;\r\n } catch (ex) {\r\n yield put(errorRoles(ex.message));\r\n return false;\r\n }\r\n}\r\n\r\nfunction* logoutGoogle() {\r\n yield put({ type: SUCCESS_GOOGLE_LOGOUT });\r\n //add other logout\r\n}\r\n\r\nfunction* registerSaga(registerData) {\r\n try {\r\n const registerRes = yield call(() =>\r\n service.register(registerData.payload).then((resp) => resp.data)\r\n );\r\n\r\n if (!registerRes.error) {\r\n if (\r\n registerRes.result[0].idOtp === 0 &&\r\n registerRes.result[0].idUtente === 0\r\n ) {\r\n yield put(onError(\"NUMBER_OR_DOC_ALREADY_EXIST\"));\r\n } else {\r\n yield put(successRegister(registerRes.result));\r\n yield put(\r\n onLoginTaal(\r\n registerData.payload.USERNAME,\r\n registerData.payload.PASSWORD\r\n )\r\n );\r\n }\r\n } else {\r\n throw new Error(\"ERROR ON REGISTER\");\r\n }\r\n } catch (ex) {\r\n yield put(errorRegister(ex.message));\r\n yield put(onError(ex.message));\r\n }\r\n}\r\n\r\nfunction* registerVarcoSaga(registerData) {\r\n try {\r\n const registerRes = yield call(() => {\r\n if (registerData.payload.fast) {\r\n return service.registerFast(registerData.payload.data).then((resp) => {\r\n return resp.data;\r\n });\r\n }\r\n return service.register(registerData.payload).then((resp) => {\r\n return resp.data;\r\n });\r\n });\r\n //\"result\":[{\"idUtente\":0,\"errorMessage\":\"50001\"}]\r\n if (!registerRes.error) {\r\n if (\r\n registerRes.result[0].idOtp === 0 &&\r\n registerRes.result[0].idUtente === 0\r\n ) {\r\n yield put(onError(\"NUMBER_OR_DOC_ALREADY_EXIST\"));\r\n } else if (registerRes.result[0].idUtente === 0) {\r\n yield put(onError(\"NUMBER_OR_DOC_ALREADY_EXIST\"));\r\n } else {\r\n yield put(successRegister(registerRes.result));\r\n yield put(onSuccess(\"REGISTRAZIONE_OK\"));\r\n }\r\n } else {\r\n throw new Error(\"ERROR ON REGISTER\");\r\n }\r\n } catch (ex) {\r\n yield put(errorRegister(ex.message));\r\n yield put(onError(ex.message));\r\n }\r\n}\r\n\r\nfunction* otpSaga(data) {\r\n const idUtente = data.payload.idUtente;\r\n const otp = data.payload.otp;\r\n const token = data.payload.token;\r\n const otpRes = yield call(() =>\r\n service.checkOtp(idUtente, otp, token).then((resp) => resp.data)\r\n );\r\n if (!otpRes.error && otpRes.result[0].esito) {\r\n yield put(successOtp());\r\n yield put(successLogin());\r\n yield put(onSuccess(\"REGISTRAZIONE_OK\"));\r\n window.location.replace(\"/site/home\"); //hist.push(\"/site/home\");\r\n } else {\r\n yield put(errorRegister(otpRes.error || otpRes.result[0].errorMessage));\r\n yield put(onError(otpRes.error || otpRes.result[0].errorMessage));\r\n }\r\n}\r\n\r\nfunction* sendOtpSaga(action) {\r\n const idUtente = action.payload.idUtente;\r\n const username = action.payload.username;\r\n const token = action.payload.token;\r\n const otpRes = yield call(() =>\r\n service.sendOtp(idUtente, username, token).then((resp) => {\r\n return resp.data;\r\n })\r\n );\r\n if (!otpRes.error) {\r\n yield put(onSuccess(\"OTP_SEND\"));\r\n } else {\r\n yield put(onError(otpRes.error || otpRes.result[0].errorMessage));\r\n }\r\n}\r\n\r\nfunction* logoutSaga() {\r\n yield put({ type: SUCCESS_LOGOUT });\r\n setTimeout(() => window.location.replace(\"/login\"), 500);\r\n}\r\n\r\nfunction* logoutWithoutLoginSaga() {\r\n yield put({ type: SUCCESS_LOGOUT });\r\n}\r\n\r\nfunction* passwordRecoverySaga(action) {\r\n const serverResponse = yield call(() =>\r\n service.forgetPassword(action.payload)\r\n );\r\n\r\n if (!serverResponse.error) {\r\n yield put(successPasswordRecovery());\r\n yield takeLatest(TRIGGER_CHANGE_PASSWORD, changePasswordSaga);\r\n } else {\r\n yield put(\r\n errorPasswordRecovery(\r\n serverResponse.error || serverResponse.result[0].errorMessage\r\n )\r\n );\r\n yield put(\r\n onError(serverResponse.error || serverResponse.result[0].errorMessage)\r\n );\r\n }\r\n}\r\n\r\nfunction* changePasswordSafeSaga(action) {\r\n const username = action.payload.username;\r\n const password = action.payload.password;\r\n const otp = action.payload.otp;\r\n try {\r\n const changePasswordRes = yield call(() =>\r\n service\r\n .changePasswordByOtp(username, password, otp)\r\n .then((resp) => resp.data)\r\n );\r\n if (!changePasswordRes.error && changePasswordRes.result[0].esito) {\r\n yield put(successChangePassword());\r\n yield put(onSuccess(\"PASSWORD_CHANGED\"));\r\n window.location.replace(\"/login\");\r\n } else {\r\n throw new Error(\r\n changePasswordRes.error || changePasswordRes.result[0].errorMessage\r\n );\r\n }\r\n } catch (ex) {\r\n yield put(errorChangePassword(ex.message));\r\n yield put(onError(ex.message));\r\n }\r\n}\r\n\r\n//\r\n// nuova saga di resetpwd\r\n// invece di fare il replace con login, visto che sono già loggato\r\n//\r\n\r\nfunction* changePasswordSaga(action) {\r\n const username = action.payload.username;\r\n const password = action.payload.password;\r\n const otp = action.payload.otp;\r\n\r\n try {\r\n const changePasswordRes = yield call(() =>\r\n service\r\n .changePasswordByOtp(username, password, otp)\r\n .then((resp) => resp.data)\r\n );\r\n if (!changePasswordRes.error && changePasswordRes.result[0].esito) {\r\n yield put(successChangePassword());\r\n yield put(onSuccess(\"PASSWORD_CHANGED\"));\r\n window.location.replace(\"/login\");\r\n } else {\r\n throw new Error(\r\n changePasswordRes.error || changePasswordRes.result[0].errorMessage\r\n );\r\n }\r\n } catch (ex) {\r\n yield put(errorChangePassword(ex.message));\r\n yield put(onError(ex.message));\r\n }\r\n}\r\n\r\nexport function* googlelogin() {\r\n //wait for login\r\n yield takeLatest(ON_TAAL_LOGIN, loginSaga);\r\n\r\n //wait for logout\r\n yield takeLatest(ON_TAAL_LOGOUT, logoutGoogle);\r\n\r\n //wait for register\r\n yield takeLatest(TRIGGER_REGISTER, registerSaga);\r\n\r\n //wait for registerVarco\r\n yield takeLatest(TRIGGER_REGISTER_VARCO, registerVarcoSaga);\r\n\r\n //wait for otp\r\n yield takeLatest(TRIGGER_OTP, otpSaga);\r\n\r\n //wait for send otp\r\n yield takeLatest(TRIGGER_SEND_OTP, sendOtpSaga);\r\n\r\n yield takeLatest(TRIGGER_LOGOUT, logoutSaga);\r\n\r\n yield takeLatest(TRIGGER_PASSWORD_RECOVERY, passwordRecoverySaga);\r\n\r\n yield takeLatest(TRIGGER_CHANGE_PASSWORD_SAFE, changePasswordSafeSaga);\r\n\r\n yield takeLatest(TRIGGER_LOGOUT_NO_LOGIN, logoutWithoutLoginSaga);\r\n}\r\n","export const TRIGGER_SEARCH = \"TRIGGER_SEARCH\";\r\n\r\nexport const SUCCESS_VALIDATE = \"SUCCESS_VALIDATE\";\r\nexport const ERROR_VALIDATE = \"ERROR_VALIDATE\";\r\n\r\nexport const SUCCESS_SEARCH = \"SUCCESS_SEARCH\";\r\nexport const ERROR_SEARCH = \"ERROR_SEARCH\";\r\nexport const SUCCESS_TIPOLOGIA_AREA_SEARCH = \"SUCCESS_TIPOLOGIA_AREA_SEARCH\";\r\n\r\nexport const TRIGGER_SELECT_AREA = \"TRIGGER_SELECT_AREA\";\r\nexport const SELECT_AREA = \"SELECT_AREA\";\r\nexport const TRIGGER_INSERT_PRENOTAZIONE = \"TRIGGER_INSERT_PRENOTAZIONE\";\r\nexport const ON_SUCCESS_INSERT_PRENOTAZIONE = \"ON_SUCCESS_INSERT_PRENOTAZIONE\";\r\n\r\nexport const TRIGGER_GET_PRENOTAZIONE = \"TRIGGER_GET_PRENOTAZIONE\";\r\nexport const TRIGGER_UPDATE_PRENOTAZIONE = \"TRIGGER_UPDATE_PRENOTAZIONE\";\r\nexport const ON_SUCCESS_UPDATE_PRENOTAZIONE = \"ON_SUCCESS_UPDATE_PRENOTAZIONE\";\r\n\r\nexport const TRIGGER_SCAN_BARCODE_PRENOTAZIONE =\r\n \"TRIGGER_SCAN_BARCODE_PRENOTAZIONE\";\r\n\r\nexport const TRIGGER_TARGA = \"TRIGGER_TARGA\";\r\nexport const ON_SUCCESS_TARGA_PRENOTAZIONE = \"ON_SUCCESS_TARGA_PRENOTAZIONE\";\r\n\r\nexport const TRIGGER_SEARCH_USER_BY_DOC = \"TRIGGER_SEARCH_USER_BY_DOC\";\r\nexport const SUCCESS_SEARCH_USER_BY_DOC = \"SUCCESS_SEARCH_USER_BY_DOC\";\r\n\r\nexport const ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE =\r\n \"ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE\";\r\nexport const ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE =\r\n \"ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE\"\r\nexport const PRENOTAZIONE_NON_TROVATA = \"PRENOTAZIONE_NON_TROVATA\";\r\n\r\nexport const ON_CHANGE_FASCIA_ORARIA = \"ON_CHANGE_FASCIA_ORARIA\";\r\n\r\nexport const ON_FILTER_TIPOLOGIA_AREA = \"ON_FILTER_TIPOLOGIA_AREA\";\r\nexport const NOT_FILTER_TIPOLOGIA_AREA = \"NOT_FILTER_TIPOLOGIA_AREA\";\r\nexport const ON_SUCCESS_CHANGE_AREA_STATUS = \"ON_SUCCESS_CHANGE_AREA_STATUS\";\r\nexport const TRIGGER_SEARCH_USER_BY_DOC_GESTORE =\r\n \"TRIGGER_SEARCH_USER_BY_DOC_GESTORE\";\r\n\r\nexport const ON_SUCCESS_PARCHEGGI_SEARCH = \"SUCCESS_PARCHEGGI_SEARCH\";\r\n","import {\r\n SUCCESS_SEARCH,\r\n ERROR_SEARCH,\r\n ERROR_VALIDATE,\r\n TRIGGER_SEARCH,\r\n SUCCESS_TIPOLOGIA_AREA_SEARCH,\r\n SELECT_AREA,\r\n TRIGGER_SELECT_AREA,\r\n TRIGGER_INSERT_PRENOTAZIONE,\r\n ON_SUCCESS_INSERT_PRENOTAZIONE,\r\n TRIGGER_GET_PRENOTAZIONE,\r\n TRIGGER_UPDATE_PRENOTAZIONE,\r\n ON_SUCCESS_UPDATE_PRENOTAZIONE,\r\n TRIGGER_SCAN_BARCODE_PRENOTAZIONE,\r\n ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE,\r\n ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE,\r\n TRIGGER_TARGA,\r\n ON_SUCCESS_TARGA_PRENOTAZIONE,\r\n SUCCESS_SEARCH_USER_BY_DOC,\r\n TRIGGER_SEARCH_USER_BY_DOC,\r\n ON_CHANGE_FASCIA_ORARIA,\r\n ON_FILTER_TIPOLOGIA_AREA,\r\n ON_SUCCESS_CHANGE_AREA_STATUS,\r\n TRIGGER_SEARCH_USER_BY_DOC_GESTORE,\r\n ON_SUCCESS_PARCHEGGI_SEARCH, PRENOTAZIONE_NON_TROVATA,\r\n} from \"./Prenotazione.types\";\r\n\r\nexport const successSearch = (results, filters) => {\r\n return {\r\n type: SUCCESS_SEARCH,\r\n payload: { results: results, selectedFields: filters },\r\n };\r\n};\r\n\r\nexport const successUserByDocSearch = (results) => {\r\n return {\r\n type: SUCCESS_SEARCH_USER_BY_DOC,\r\n payload: results,\r\n };\r\n};\r\n\r\nexport const searchUtenteByDocFromVarco = (data) => {\r\n return {\r\n type: TRIGGER_SEARCH_USER_BY_DOC,\r\n payload: data,\r\n };\r\n};\r\n\r\nexport const searchUtenteByDocFromGestore = (data) => {\r\n return {\r\n type: TRIGGER_SEARCH_USER_BY_DOC_GESTORE,\r\n payload: data,\r\n };\r\n};\r\n\r\nexport const successTipologieAreaSearch = (results) => {\r\n return {\r\n type: SUCCESS_TIPOLOGIA_AREA_SEARCH,\r\n payload: results,\r\n };\r\n};\r\nexport const successParcheggiSearch = (results) => {\r\n return {\r\n type: ON_SUCCESS_PARCHEGGI_SEARCH,\r\n payload: results,\r\n };\r\n};\r\n\r\nexport const errorSearch = (error) => {\r\n return {\r\n type: ERROR_SEARCH,\r\n payload: error,\r\n };\r\n};\r\n\r\nexport const errorValidate = (error) => {\r\n return {\r\n type: ERROR_VALIDATE,\r\n payload: error,\r\n };\r\n};\r\n\r\nexport const triggerCercaDisponibilita = (formData) => {\r\n return {\r\n type: TRIGGER_SEARCH,\r\n payload: formData,\r\n };\r\n};\r\n\r\nexport const triggerSelectArea = (area) => {\r\n return {\r\n type: TRIGGER_SELECT_AREA,\r\n payload: area,\r\n };\r\n};\r\n\r\nexport const selectArea = (area) => {\r\n return {\r\n type: SELECT_AREA,\r\n payload: area,\r\n };\r\n};\r\n\r\nexport const triggerInsertPrenotazione = (prenotazione) => {\r\n return {\r\n type: TRIGGER_INSERT_PRENOTAZIONE,\r\n payload: prenotazione,\r\n };\r\n};\r\nexport const onSuccessInsertPrenotazione = (prenotazione) => {\r\n return {\r\n type: ON_SUCCESS_INSERT_PRENOTAZIONE,\r\n payload: prenotazione,\r\n };\r\n};\r\n\r\nexport const triggerUpdatePrenotazione = (prenotazione) => {\r\n return {\r\n type: TRIGGER_UPDATE_PRENOTAZIONE,\r\n payload: prenotazione,\r\n };\r\n};\r\n\r\nexport const onSuccessUpdatePrenotazione = (prenotazione) => {\r\n return {\r\n type: ON_SUCCESS_UPDATE_PRENOTAZIONE,\r\n payload: prenotazione,\r\n };\r\n};\r\n\r\nexport const onSuccessChangeAreaStatus = (area) => {\r\n return {\r\n type: ON_SUCCESS_CHANGE_AREA_STATUS,\r\n payload: area,\r\n };\r\n};\r\n\r\nexport const triggerGetPrenotazione = (pnr) => {\r\n return {\r\n type: TRIGGER_GET_PRENOTAZIONE,\r\n payload: pnr,\r\n };\r\n};\r\nexport const triggerScanBarCodePrenotazione = (barcode) => {\r\n return {\r\n type: TRIGGER_SCAN_BARCODE_PRENOTAZIONE,\r\n payload: barcode,\r\n };\r\n};\r\n\r\nexport const successScanBarCodePrenotazione = (pnr) => {\r\n return {\r\n type: ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE,\r\n payload: pnr,\r\n };\r\n};\r\n\r\nexport const successScanBarCodePrenotazioneMultiple = (pnr) => {\r\n return {\r\n type: ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE,\r\n payload: pnr,\r\n };\r\n};\r\n\r\nexport const prenotazioneNonTrovata = () => {\r\n return {\r\n type: PRENOTAZIONE_NON_TROVATA\r\n }\r\n}\r\n\r\nexport const triggerTarga = (targa) => {\r\n return {\r\n type: TRIGGER_TARGA,\r\n payload: targa,\r\n };\r\n};\r\n\r\nexport const successTargaPrenotazione = (pnr) => {\r\n return {\r\n type: ON_SUCCESS_TARGA_PRENOTAZIONE,\r\n payload: pnr,\r\n };\r\n};\r\nexport const onChangeFasciaOraria = (idFasciaOraria) => {\r\n return {\r\n type: ON_CHANGE_FASCIA_ORARIA,\r\n payload: idFasciaOraria,\r\n };\r\n};\r\n\r\nexport const onFilterTipologiaArea = (listArea, isToUpdate) => {\r\n return {\r\n type: ON_FILTER_TIPOLOGIA_AREA,\r\n payload: { listArea: listArea, isToUpdate: isToUpdate },\r\n };\r\n};\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class PrenotazioneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_PRENOTAZIONE_BY_PNR = \"generic/search3/prenotazione/pnr\";\r\nexport default class PrenotazioneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Prenotazione\";\r\n }\r\n\r\n getPrenotazionePnrNewApi(pnr) {\r\n return this.API.post(GET_PRENOTAZIONE_BY_PNR, { pnr: pnr });\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport PrenotazioneMockRepo from \"./repositories/Prenotazione.mock\";\r\nimport PrenotazioneHttpRepo from \"./repositories/Prenotazione.http\";\r\n\r\nexport default class Prenotazione extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Prenotazione repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Prenotazione._localInstance == null) {\r\n Prenotazione._localInstance = new PrenotazioneMockRepo();\r\n }\r\n return Prenotazione._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Prenotazione._serviceInstance == null) {\r\n Prenotazione._serviceInstance = new PrenotazioneHttpRepo();\r\n }\r\n return Prenotazione._serviceInstance;\r\n }\r\n}\r\n","export const STATUSES = {\r\n CREATED: \"CR\",\r\n CONFIRMED: \"CONF\",\r\n DELETED: \"DEL\",\r\n EXPIRED: \"SCAD\",\r\n USED: \"UTIL\",\r\n};\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Prenotazione from \"./Prenotazione.repo\";\r\nimport moment from \"moment\";\r\nimport {\r\n FILTER_TEXT,\r\n FILTER_TEXT_EQUALS,\r\n} from \"../../components/TableServer/FilterItem\";\r\nimport { STATUSES } from \"../../constants/PrenotazioneStatuses\";\r\n\r\nconst SEND_SMS = \"fn_GetSMSParameters\";\r\nconst SEND_MAIL_GESTORE = \"fn_GetEmailInfo\";\r\n\r\nexport default class PrenotazioneService extends BaseServiceTaal {\r\n getRepo = () => Prenotazione.getInstanceTaal();\r\n\r\n validateDisponibilitaForm(formField) {\r\n let errors = [];\r\n /* if (!formField.tipologiaPrenotazione) {\r\n errors.push(\"Seleziona una tipologia di prenotazione\");\r\n }\r\n if (!formField.area) {\r\n errors.push(\"Seleziona un'area\");\r\n }*/\r\n if (!formField.idComune) {\r\n errors.push(\"INVALID_MUNICIPALITY\");\r\n }\r\n /* if (!formField.numeroOccupanti || formField.numeroOccupanti <= 0) {\r\n errors.push(\"il numero di occupanti deve essere maggiore di zero\");\r\n }*/\r\n if (!moment(formField.dataPrenotazione).isValid()) {\r\n errors.push(\"INVALID_PREN_DATE\");\r\n }\r\n if (errors.length) {\r\n return {\r\n error: errors,\r\n };\r\n }\r\n return {\r\n error: null,\r\n };\r\n }\r\n\r\n getStringaOspiti = (listaOspiti) => {\r\n let stringaDef = \"\";\r\n let listApp = listaOspiti.map((el) => {\r\n let a = el.tipologiaDocumento.idTipologiaDocumento.toString().concat(\",\");\r\n a = a.concat(el.numeroDocumento);\r\n a = a.concat(\",\");\r\n a = a.concat(el.nome);\r\n a = a.concat(\",\");\r\n a = a.concat(el.cognome);\r\n return a;\r\n });\r\n let str = listApp.join(\";\");\r\n stringaDef = str;\r\n return stringaDef;\r\n };\r\n\r\n getObjForPrenotazioneInsert = (prenotazione) => {\r\n let stringaOspiti = this.getStringaOspiti(prenotazione.anagrafiche);\r\n let og = {\r\n ISEVENTO:prenotazione.isEvento,\r\n IDUTENTEPRENOTATO: prenotazione.IDUTENTEPRENOTATO,\r\n IDAREA: prenotazione.idArea,\r\n IDTIPOLOGIAPRENOTAZIONE: prenotazione.selectedTipologiaPrenotazioneId || 0,\r\n IDFASCIAORARIA: prenotazione.selectedFasciaOrariaId || 0,\r\n DATAINIZIO: prenotazione.selectedDataInizio,\r\n DATAFINE: prenotazione.selectedDataFine,\r\n NUMEROOCCUPANTI: prenotazione.numeroOccupanti,\r\n IDTIPOLOGIAVEICOLO: prenotazione.selectedTipoVeicoloId,\r\n IDPARCHEGGIO: prenotazione.idParcheggio,\r\n TARGA: prenotazione.targaVeicolo,\r\n MARCA: null,\r\n MODELLO: null,\r\n COLORE: null,\r\n ARRAYOSPITI: stringaOspiti ? stringaOspiti : null,\r\n };\r\n return og;\r\n };\r\n\r\n getObjForPrenotazioneUpdate = (prenotazione) => {\r\n let stringaOspiti = this.getStringaOspiti(prenotazione.anagrafiche);\r\n let og = {\r\n IDUTENTE: prenotazione.idUtente,\r\n IDPRENOTAZIONE: prenotazione.idPrenotazione,\r\n NUMEROOCCUPANTI: prenotazione.numeroOccupanti,\r\n DATAINIZIO: prenotazione.dataInizioCompleta,\r\n IDVEICOLO: prenotazione.idVeicolo,\r\n IDTIPOLOGIAVEICOLO: prenotazione.selectedTipoVeicoloId,\r\n IDPARCHEGGIO: prenotazione.idParcheggio,\r\n TARGA: prenotazione.targaVeicolo,\r\n MARCA: null,\r\n MODELLO: null,\r\n COLORE: null,\r\n ARRAYOSPITI: stringaOspiti ? stringaOspiti : null,\r\n };\r\n return og;\r\n };\r\n\r\n validateParameterForPrenotazioneInsert = (prenotazione) => {\r\n let errors = [];\r\n /*if (!prenotazione.IDUTENTE) {\r\n errors.push(\" is null\");\r\n }*/\r\n if (!prenotazione.IDAREA) {\r\n errors.push(\"IDAREA is null\");\r\n }\r\n if(!prenotazione.ISEVENTO) {\r\n if (!prenotazione.IDTIPOLOGIAPRENOTAZIONE) {\r\n errors.push(\"IDTIPOLOGIAPRENOTAZIONE is null\");\r\n }\r\n if (!prenotazione.IDFASCIAORARIA) {\r\n errors.push(\"IDFASCIAORARIA is null\");\r\n }\r\n }\r\n\r\n if (!prenotazione.DATAINIZIO) {\r\n errors.push(\"DATAINIZIO is null\");\r\n }\r\n if (!prenotazione.DATAFINE) {\r\n errors.push(\" is null\");\r\n }\r\n if (!prenotazione.NUMEROOCCUPANTI) {\r\n errors.push(\"NUMEROOCCUPANTI is null\");\r\n }\r\n /*if (!prenotazione.IDTIPOLOGIAVEICOLO) {\r\n errors.push(\"IDTIPOLOGIAVEICOLO is null\");\r\n }*/\r\n if (prenotazione.IDTIPOLOGIAVEICOLO) {\r\n if (\r\n !prenotazione.TARGA &&\r\n (prenotazione.IDTIPOLOGIAVEICOLO === 1 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 6 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 7)\r\n ) {\r\n errors.push(\"TARGA is null\");\r\n }\r\n }\r\n /*if (!prenotazione.MARCA) {\r\n errors.push(\"MARCA is null\"); }\r\n if (!prenotazione.MODELLO) {\r\n errors.push(\"MODELLO is null\"); }\r\n if (!prenotazione.COLORE) {\r\n errors.push(\"COLORE is null\"); }\r\n if (!prenotazione.IDPARCHEGGIO) {\r\n errors.push(\"IDPARCHEGGIO is null\"); }*/\r\n /*if (!prenotazione.ARRAYOSPITI) {\r\n errors.push(\"ARRAYOSPITI is null\");\r\n }*/\r\n\r\n return errors;\r\n };\r\n\r\n validateParameterForPrenotazioneUpdate = (prenotazione) => {\r\n let errors = [];\r\n if (!prenotazione.IDUTENTE) {\r\n errors.push(\"IDUTENTE is null\");\r\n }\r\n if (!prenotazione.NUMEROOCCUPANTI) {\r\n errors.push(\"NUMEROOCCUPANTI is null\");\r\n }\r\n\r\n if (!prenotazione.IDPRENOTAZIONE) {\r\n errors.push(\"IDPRENOTAZIONE is null\");\r\n }\r\n\r\n /*if (!prenotazione.IDVEICOLO) {\r\n errors.push(\"IDVEICOLO is null\");\r\n }\r\n if (\r\n !prenotazione.TARGA &&\r\n (prenotazione.IDTIPOLOGIAVEICOLO === 1 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 6 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 7)\r\n ) {\r\n errors.push(\"TARGA is null\");\r\n }*/\r\n\r\n if (prenotazione.IDVEICOLO && prenotazione.IDTIPOLOGIAVEICOLO) {\r\n if (\r\n !prenotazione.TARGA &&\r\n (prenotazione.IDTIPOLOGIAVEICOLO === 1 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 6 ||\r\n prenotazione.IDTIPOLOGIAVEICOLO === 7)\r\n ) {\r\n errors.push(\"TARGA is null\");\r\n }\r\n }\r\n /*if (!prenotazione.MARCA) {\r\n errors.push(\"MARCA is null\"); }\r\n if (!prenotazione.MODELLO) {\r\n errors.push(\"MODELLO is null\"); }\r\n if (!prenotazione.COLORE) {\r\n errors.push(\"COLORE is null\"); }\r\n if (!prenotazione.IDPARCHEGGIO) {\r\n errors.push(\"IDPARCHEGGIO is null\"); }*/\r\n /*if (!prenotazione.ARRAYOSPITI) {\r\n errors.push(\"ARRAYOSPITI is null\");\r\n }*/\r\n\r\n return errors;\r\n };\r\n\r\n insertPrenotazionSP = (formField) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"sp_CreatePrenotazione\", formField)\r\n );\r\n\r\n insertPrenotazionSPBO = (formField) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"sp_CreatePrenotazioneBO\", formField)\r\n );\r\n\r\n updatePrenotazionSP = (formField) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"sp_UpdatePrenotazione\", formField)\r\n );\r\n\r\n searchDisponibilita = (formField) => {\r\n if (formField.IDUTENTE) {\r\n return this.getRepo().then((repo) => repo.exec(\"fn_GetAreeComuneBO\", formField));\r\n }\r\n formField = {...formField, checkUtente: 1}\r\n return this.getRepo().then((repo) => repo.exec(\"fn_GetAreeComune\", formField));\r\n }\r\n\r\n searchTipologieArea = (formField) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"fn_GetTipologieComune\", formField)\r\n );\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\r\n \"Area\",\r\n \"FasciaOraria\",\r\n \"Veicolo\",\r\n \"Parcheggio\",\r\n \"TipologiaPrenotazione.RelTipoPrenotazioneTipoDurata_List.TipologiaDurata.RelTipoDurataFasciaOraria_List.FasciaOraria\",\r\n \"StatoPrenotazione\",\r\n \"Veicolo.TipologiaVeicolo\",\r\n \"OspitePrenotazione_List.Documento.TipologiaDocumento\",\r\n \"StatoPagamento\",\r\n ]\r\n )\r\n );\r\n\r\n /*\r\n [fn_GetPrenotazioniUtente]\r\n(\r\n\t@IDUTENTE\t\t\t\t\t\t\tINT\r\n)\r\nRETURNS @ReturnTable TABLE (\r\n\tDESCLOCSTATOPRENOTAZIONE\t\t\tVARCHAR(200),\r\n\tDESCAREA\t\t\t\t\t\t\tVARCHAR(200),\r\n\tDESCLOCTIPOLOGIAPRENOTAZIONE\t\tVARCHAR(200),\r\n\tDATAINIZIO\t\t\t\t\t\t\tDATETIME,\r\n\tDESCLOCFASCIAORARIA\t\t\t\t\tVARCHAR(200),\r\n\tPNR\t\t\t\t\t\t\t\t\tVARCHAR(30)\r\n)\r\n\r\n */\r\n\r\n getPrenotazioniUtente(idUtente, pageNum, itemsPerPage, ff, sort) {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\r\n \"fn_GetPrenotazioniUtente\",\r\n { IDUTENTE: idUtente },\r\n pageNum - 1,\r\n itemsPerPage,\r\n null,\r\n this.transformOrdersToServer(sort)\r\n )\r\n );\r\n }\r\n // getPrenotazioniUtente(idUtente,sort) {\r\n // return this.getRepo().then(repo =>\r\n // repo.search(1,-1,null, null,'fn_GetPrenotazioni'))\r\n // }\r\n\r\n getMatchBetweenComunePnr(idComune, pnr) {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\"fn_ValidatePnrTable\", { IDCOMUNE: idComune, PNR: pnr })\r\n );\r\n }\r\n\r\n getPrenotazionePnrNewApi = (pnr) =>\r\n this.getRepo().then((repo) => repo.getPrenotazionePnrNewApi(pnr));\r\n\r\n getPrenotazioneByPnr(pnr) {\r\n return this.getPrenotazionePnrNewApi(pnr).then((res) => {\r\n if (res.data.result && res.data.result.length) {\r\n let data = res.data.result;\r\n let rex = {\r\n filter: {\r\n dataPrenotazione: moment(data[0].dataInizio).format(\"YYYYMMDD\"),\r\n pnr: data[0].pnr,\r\n idParcheggio: data[0].Parcheggio\r\n ? data[0].Parcheggio.idParcheggio\r\n : null,\r\n descParcheggio: data[0].Parcheggio\r\n ? data[0].Parcheggio.descrizione\r\n : null,\r\n dataFine: data[0].dataFine,\r\n dataInizio: data[0].dataInizio,\r\n idComune: data[0].Area.fkIdComune,\r\n statoPagamento: data[0].StatoPagamento,\r\n numeroOccupanti: data[0].numeroOccupanti,\r\n tipologiaPrenotazione: [data[0].TipologiaPrenotazione],\r\n fasciaOraria: [data[0].FasciaOraria],\r\n veicolo: data[0].Veicolo,\r\n listaPasseggeri: data[0].OspitePrenotazione_List.map((el) => {\r\n return {\r\n nome: el.nome,\r\n cognome: el.cognome,\r\n numeroDocumento: el.Documento.numeroDocumento,\r\n tipologiaDocumento: el.Documento.TipologiaDocumento,\r\n };\r\n }),\r\n statoPrenotazione: data[0].StatoPrenotazione,\r\n idPrenotazione: data[0].idPrenotazione,\r\n },\r\n area: {\r\n ACCESSOANIMALI: data[0].Area.flgAnimaliAmmessi,\r\n ACCESSODISABILI: data[0].Area.flgAccessoDisabili,\r\n DESCRIZIONE: data[0].Area.descrizione,\r\n FORMATO: data[0].Area.formato,\r\n FOTO: null,\r\n IDAREA: data[0].Area.idArea,\r\n IDTIPOLOGIAAREA: data[0].Area.fkIdTipologiaArea,\r\n IDCOMUNE: data[0].Area.fkIdComune,\r\n },\r\n };\r\n res.data.result = rex;\r\n }\r\n return res.data;\r\n });\r\n }\r\n\r\n // getPnrByBarcode(barcode) {\r\n // return this.getRepo().then((repo) =>\r\n // repo.exec(\"fn_GetPNRVarco\", {\r\n // numeroDocumento: barcode,\r\n // idTipoDocumento: null,\r\n // targa: null,\r\n // })\r\n // );\r\n // }\r\n\r\n getPnrByBarcode(barcode) {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\"sp_GetAllPrenotazioniPnrVarco\", {\r\n data: moment().format(\"YYYYMMDD\"),\r\n numeroDocumento: barcode,\r\n idTipoDocumento: null,\r\n targa: null,\r\n })\r\n );\r\n }\r\n\r\n getPnrByTarga(payload) {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\"fn_GetPNRVarco\", {\r\n //data: moment().format(\"YYYYMMDD\"),\r\n numeroDocumento: null,\r\n targa: payload,\r\n idTipoDocumento: null,\r\n })\r\n );\r\n /*return new Promise((resolve, reject) => {\r\n resolve({\r\n data: {\r\n output: {\r\n return_value: \"95462008192760\",\r\n },\r\n rowCount: null,\r\n error: null,\r\n errorCode: null,\r\n message: \"Ok\",\r\n result: [],\r\n hash: \"7deefa3c-1de2-420d-9af1-573a1a3e506\",\r\n },\r\n });\r\n });*/\r\n }\r\n\r\n setFlgPrenotazione = (id, flag, flagSms) => {\r\n return this.getRepo()\r\n .then((repo) => {\r\n return repo.exec(\"sp_UpdateStatoPrenotazione\", {\r\n IDPRENOTAZIONE: id,\r\n CODICESTATOPRENOTAZIONE: flag,\r\n });\r\n })\r\n .then(() => flag === \"DEL\" && flagSms && this.sendSms(id, \"D\"));\r\n };\r\n\r\n searchUserAssegnatoByCF(par) {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\"fn_GetIdUtenteFromDoc\", par)\r\n );\r\n }\r\n\r\n sendSms(idPrenotazione, flagAction) {\r\n let params = { IDPRENOTAZIONE: idPrenotazione, FLAGSTATO: flagAction };\r\n //commento questa parte in attesa di gestione migliore da parte dei comuni\r\n\r\n //return this.getRepo().then((repo) => repo.sendSms(SEND_SMS, params));\r\n }\r\n\r\n //fn_GetEmailInfo\r\n sendEmailGestore(idPrenotazione) {\r\n return this.getRepo().then((repo) =>\r\n repo.sendMail(SEND_MAIL_GESTORE, { idPrenotazione })\r\n );\r\n }\r\n\r\n loadArea = (par) => {\r\n return this.getRepo().then((repo) => repo.exec(\"fn_GetAreaInfo\", par));\r\n };\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class UtenteMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class UtenteHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Utente\";\r\n }\r\n\r\n // search(pageNum, pageSize, filter, orders, customTable) {\r\n // let params = {\r\n // filter: filter,\r\n // pageNum: pageNum,\r\n // pageSize: pageSize,\r\n // };\r\n // if (orders) params.orders = [...orders];\r\n // return this.API.post(\r\n // `/Generic/search/${customTable || this.getTable()}`,\r\n // params\r\n // ).then(res => {\r\n // if (customTable === 'TipologiaProfilo') {\r\n // res.data.result = res.data.result.filter(tipoP => tipoP.flgComunale === true)\r\n // return res\r\n // } else {\r\n // return res\r\n // }\r\n // });\r\n // }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport UtenteMockRepo from \"./repositories/Utente.mock\";\r\nimport UtenteHttpRepo from \"./repositories/Utente.http\";\r\n\r\nexport default class Utente extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Utente repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Utente._localInstance == null) {\r\n Utente._localInstance = new UtenteMockRepo();\r\n }\r\n return Utente._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Utente._serviceInstance == null) {\r\n Utente._serviceInstance = new UtenteHttpRepo();\r\n }\r\n return Utente._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Utente from \"./Utente.repo\";\r\nimport { FILTER_TEXT } from \"../../components/TableServer/FilterItem\";\r\n\r\nexport default class UtenteService extends BaseServiceTaal {\r\n getRepo = () => Utente.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\r\n \"Comune\",\r\n \"TipologiaProfilo\",\r\n \"Lingua\",\r\n \"AnagraficaUtente_List.Documento.TipologiaDocumento\",\r\n ]\r\n )\r\n );\r\n\r\n\r\n searchByCF = (par) =>\r\n this.getRepo().then((repo) => repo.exec(\"fn_GetIdUtenteFromDoc\", par));\r\n\r\n tableDefinition = (fieldToHide) =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n res.data.result.columns = res.data.result.columns.filter(\r\n (c) =>\r\n c.name !== \"dataCreazione\" &&\r\n c.name !== \"dataUltimaModifica\" &&\r\n c.name !== \"fkIdComune\" &&\r\n c.name !== \"fkIdComune\" &&\r\n c.name !== \"flgAttivo\" &&\r\n c.name !== \"flgEliminato\" &&\r\n c.name !== fieldToHide\r\n );\r\n /* res.data.result.columns.map(\r\n (el) => (el.type = el.name === \"password\" ? \"Password\" : el.type)\r\n );*/\r\n }\r\n return res;\r\n });\r\n\r\n create = (par) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_CreateUtenteBackOffice\", par));\r\n\r\n edit = (par) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_UpdateUtenteBackOffice\", par));\r\n\r\n setFlgAbilitazioneUtente = (utente) => {\r\n return this.getRepo().then((repo) => {\r\n return repo.exec(\"sp_UpdateUtenteBackOffice\", utente);\r\n });\r\n };\r\n\r\n changePassword = (idUtente, password) => {\r\n return this.getRepo().then((repo) => {\r\n let par = { idUtente: idUtente, password: password };\r\n return repo.exec(\"sp_UpdatePasswordUtente\", par);\r\n });\r\n };\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class ComuneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_COMUNI_PRENOTAZIONE = \"generic/search3/prenotazione/comune\";\r\nexport default class ComuneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Comune\";\r\n }\r\n\r\n searchComuniPrenotazione(flgAbilitato) {\r\n return this.API.post(GET_COMUNI_PRENOTAZIONE, {\r\n flgAbilitato: flgAbilitato,\r\n });\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport ComuneMockRepo from \"./repositories/Comune.mock\";\r\nimport ComuneHttpRepo from \"./repositories/Comune.http\";\r\n\r\nexport default class Comune extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Comune repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Comune._localInstance == null) {\r\n Comune._localInstance = new ComuneMockRepo();\r\n }\r\n return Comune._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Comune._serviceInstance == null) {\r\n Comune._serviceInstance = new ComuneHttpRepo();\r\n }\r\n return Comune._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Comune from \"./Comune.repo\";\r\nimport { FILTER_NUMBER } from \"../../components/TableServer/FilterItem\";\r\nimport { data } from \"jquery\";\r\n\r\nexport default class ComuneService extends BaseServiceTaal {\r\n getRepo = () => Comune.getInstanceTaal();\r\n\r\n updateSettings = (newSettings, idComune) =>\r\n this.getRepo().then((repo) => {\r\n const filter = {\r\n [`${FILTER_NUMBER}&&&idComune`]: [idComune],\r\n };\r\n return repo.updateflds(\r\n { settings: newSettings },\r\n this.transformFilterToServer(filter)\r\n );\r\n });\r\n\r\n getDatesForUser = (idComune, idUser, date) =>\r\n this.getRepo().then((repo) => {\r\n return repo.exec(\"fn_GetDateAbilitatePrenotazione\", {\r\n IDCOMUNE: idComune,\r\n IDUTENTE: idUser,\r\n DATAINIZIO: date,\r\n });\r\n });\r\n\r\n getDatesForUserBO = (idComune, idUser, date) =>\r\n this.getRepo().then((repo) => {\r\n return repo.exec(\"fn_GetDateAbilitatePrenotazioneBO\", {\r\n IDCOMUNE: idComune,\r\n IDUTENTE: idUser,\r\n DATAINIZIO: date,\r\n });\r\n });\r\n\r\n searchComuniPrenotazione = (flagAbilitato) =>\r\n this.getRepo().then((repo) => repo.searchComuniPrenotazione(flagAbilitato));\r\n\r\n getParcheggiAttivi = (par) =>\r\n this.getRepo().then((repo) => {\r\n return repo.exec(\"fn_GetParcheggiComune\", par);\r\n });\r\n}\r\n","import { put, call, takeLatest, take } from \"redux-saga/effects\";\r\nimport {\r\n successSearch,\r\n errorSearch,\r\n errorValidate,\r\n successTipologieAreaSearch,\r\n selectArea,\r\n triggerInsertPrenotazione,\r\n triggerSelectArea,\r\n onSuccessInsertPrenotazione,\r\n onSuccessUpdatePrenotazione,\r\n successScanBarCodePrenotazione,\r\n successTargaPrenotazione,\r\n successUserByDocSearch,\r\n successParcheggiSearch, successScanBarCodePrenotazioneMultiple, prenotazioneNonTrovata,\r\n} from \"./Prenotazione.actions\";\r\nimport { onError, onSuccess, onInfo } from \"../Shared/Shared.actions\";\r\nimport {\r\n TRIGGER_SEARCH,\r\n TRIGGER_SELECT_AREA,\r\n TRIGGER_INSERT_PRENOTAZIONE,\r\n TRIGGER_GET_PRENOTAZIONE,\r\n TRIGGER_UPDATE_PRENOTAZIONE,\r\n TRIGGER_SCAN_BARCODE_PRENOTAZIONE,\r\n TRIGGER_TARGA,\r\n TRIGGER_SEARCH_USER_BY_DOC,\r\n TRIGGER_SEARCH_USER_BY_DOC_GESTORE,\r\n} from \"./Prenotazione.types\";\r\nimport PrenotazioneService from \"../../modules/Prenotazione/Prenotazione.service\";\r\nimport UtenteService from \"../../modules/Utente/Utente.service\";\r\nimport { hist } from \"../../App\";\r\nimport _ from \"lodash\";\r\nimport ComuneService from \"../../modules/Comune/Comune.service\";\r\nimport { ROLES } from \"../../constants/Roles\";\r\n\r\nconst service = new PrenotazioneService();\r\nconst utenteService = new UtenteService();\r\nconst comuneService = new ComuneService();\r\n\r\nfunction* validateSearch(paramAction) {\r\n const formField = paramAction.payload;\r\n //chiamo metodo del service che controlla il form\r\n const validationResult = yield call(() =>\r\n service.validateDisponibilitaForm(formField)\r\n );\r\n\r\n //se la validazione è ok\r\n if (!validationResult.error) {\r\n // ricerco le aree disponibili\r\n const searchResult = yield call(() => {\r\n let formFieldToPass = {\r\n IDUTENTE: formField.IDUTENTE,\r\n idComune: formField.idComune,\r\n data: formField.dataPrenotazione,\r\n numeroOccupanti: formField.numeroOccupanti,\r\n };\r\n return service.searchDisponibilita(formFieldToPass);\r\n });\r\n //ricerco i parcheggi disponibili\r\n const parcheggiResult = yield call(() => {\r\n let formFieldToPass = {\r\n idComune: formField.idComune,\r\n data: formField.dataPrenotazione,\r\n };\r\n return comuneService.getParcheggiAttivi(formFieldToPass);\r\n });\r\n\r\n // ricerco le tipologie di aree\r\n const TipologieAreaResult = yield call(() =>\r\n service.searchTipologieArea(formField)\r\n );\r\n // se l'utenza è di tiipo gestoreArea si salta la scelta dell'area e si procede direttamente al dettaglio ( l'area è già stata selezionata nella prima form )\r\n if (formField.fromGestoreArea) {\r\n let payload = {\r\n idArea: formField.idArea,\r\n data: formField.dataPrenotazione,\r\n numeroOccupanti: formField.numeroOccupanti,\r\n };\r\n const area = yield call(() =>\r\n service.loadArea(payload).then((res) => res.data.result)\r\n );\r\n if (!area.error) {\r\n yield put(successSearch(area, formField));\r\n yield put(successParcheggiSearch(parcheggiResult.data.result));\r\n yield put(successTipologieAreaSearch(TipologieAreaResult.data.result));\r\n yield put(triggerSelectArea(area));\r\n //hist.push(\"/dashboard/insertDetailFromDashboard\");\r\n } else {\r\n yield put(errorSearch(area.error));\r\n yield put(onError(\"ERROR_LOADIN_AREA_DETAILS\"));\r\n }\r\n } else {\r\n if (!searchResult.error) {\r\n yield put(successSearch(searchResult.data.result, formField));\r\n if (!parcheggiResult.error)\r\n yield put(successParcheggiSearch(parcheggiResult.data.result));\r\n if (!TipologieAreaResult.error)\r\n yield put(\r\n successTipologieAreaSearch(TipologieAreaResult.data.result)\r\n );\r\n if (paramAction.payload.fromDashboard) {\r\n hist.push(\"/dashboard/resultSearch\");\r\n } else {\r\n hist.push(\"/site/resultSearch\");\r\n }\r\n } else {\r\n yield put(errorSearch(searchResult.error));\r\n yield put(onError(\"ERROR_DURING_SEARCH_AVAILABLE_TURN\"));\r\n }\r\n }\r\n } else {\r\n yield put(errorValidate(validationResult.error));\r\n yield put(onError(validationResult.error.join(\"\\n\")));\r\n }\r\n}\r\n\r\nfunction* searchUtenteByDocFromVarcoSaga(cf) {\r\n const searchResult = yield call(() =>\r\n service.searchUserAssegnatoByCF(cf.payload)\r\n );\r\n if (\r\n !searchResult.error &&\r\n searchResult.data.output &&\r\n searchResult.data.output.return_value &&\r\n searchResult.data.output.return_value > 0\r\n ) {\r\n yield put(successUserByDocSearch(searchResult.data.output.return_value));\r\n hist.push(\"/dashboard/prenotazioneFromVarco\");\r\n } else {\r\n yield put(onError(\"NUMBER_NOT_FOUND\"));\r\n }\r\n}\r\n\r\nfunction* searchUtenteByDocFromGestoreSaga(cf) {\r\n const searchResult = yield call(() =>\r\n service.searchUserAssegnatoByCF(cf.payload)\r\n );\r\n if (\r\n !searchResult.error &&\r\n searchResult.data.output &&\r\n searchResult.data.output.return_value &&\r\n searchResult.data.output.return_value > 0\r\n ) {\r\n yield put(successUserByDocSearch(searchResult.data.output.return_value));\r\n hist.push(\"/dashboard/prenotazioneFromGestore\");\r\n } else {\r\n yield put(onError(\"NUMBER_NOT_FOUND\"));\r\n }\r\n}\r\n\r\nfunction* selectAreaSaga(area) {\r\n yield put(selectArea(area.payload));\r\n if (area.payload.fromDashboard) {\r\n hist.push(\"/dashboard/insertDetailFromDashboard\");\r\n } else {\r\n hist.push(\"/site/insertdetail\");\r\n }\r\n}\r\n\r\nfunction* insertPrenotazioneSaga(prenotazione) {\r\n const objToPass = yield call(() =>\r\n service.getObjForPrenotazioneInsert(prenotazione.payload)\r\n );\r\n\r\n const errors = yield call(() =>\r\n service.validateParameterForPrenotazioneInsert(objToPass)\r\n );\r\n if (errors && errors.length > 0) {\r\n yield put(onError(\"ERROR_DURING_PRENOTAZIONE_INSERT_VALIDATION\"));\r\n } else if (objToPass) {\r\n const res = objToPass.IDUTENTEPRENOTATO\r\n ? yield call(() => service.insertPrenotazionSPBO(objToPass))\r\n : yield call(() => service.insertPrenotazionSP(objToPass));\r\n if (res.data.result[0].idPrenotazione && !res.data.result[0].errorMessage) {\r\n const settings = yield call(() =>\r\n comuneService\r\n .getById(prenotazione.payload.idComune)\r\n .then((res) => JSON.parse(res.data.result.settings))\r\n );\r\n\r\n if (settings.sendNotification) {\r\n yield call(() =>\r\n service.sendSms(res.data.result[0].idPrenotazione, \"I\")\r\n );\r\n\r\n if (\r\n prenotazione.payload.emailArea &&\r\n prenotazione.payload.emailArea.length\r\n )\r\n yield call(() =>\r\n service.sendEmailGestore(res.data.result[0].idPrenotazione)\r\n );\r\n }\r\n\r\n yield put(onSuccessInsertPrenotazione());\r\n yield put(onSuccess(\"PRENOTAZIONE_INSERT_SUCCESS\"));\r\n if (res.data.result[0].statoVincita === 2) {\r\n yield put(onInfo(\"PRENOTAZIONE_WIN_PARKING\"));\r\n }\r\n if (res.data.result[0].statoVincita === 1) {\r\n yield put(onInfo(\"PRENOTAZIONE_NOTWIN_PARKING\"));\r\n }\r\n hist.push(\"/site/prenotazioni\");\r\n } else {\r\n if (res.data.result[0].errorMessage) {\r\n yield put(onError(res.data.result[0].errorMessage));\r\n } else {\r\n yield put(onError(\"ERROR_DURING_PRENOTAZIONE_INSERT\"));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction* updatePrenotazioneSaga(prenotazione) {\r\n const objToPass = yield call(() =>\r\n service.getObjForPrenotazioneUpdate(prenotazione.payload)\r\n );\r\n const errors = yield call(() =>\r\n service.validateParameterForPrenotazioneUpdate(objToPass)\r\n );\r\n if (errors && errors.length > 0) {\r\n yield put(onError(\"ERROR_DURING_PRENOTAZIONE_UPDATE_VALIDATION\"));\r\n } else if (objToPass) {\r\n const res = yield call(() => service.updatePrenotazionSP(objToPass));\r\n if (!res.data.error && !res.data.result[0].errorMessage) {\r\n const settings = yield call(() =>\r\n comuneService\r\n .getById(prenotazione.payload.idComune)\r\n .then((res) => JSON.parse(res.data.result.settings))\r\n );\r\n\r\n if (settings.sendNotification) {\r\n yield call(() => service.sendSms(objToPass.IDPRENOTAZIONE, \"U\"));\r\n }\r\n\r\n yield put(onSuccessUpdatePrenotazione());\r\n yield put(onSuccess(\"PRENOTAZIONE_UPDATE_SUCCESS\"));\r\n //\r\n } else {\r\n if (res.data.result[0].errorMessage) {\r\n yield put(onError(res.data.result[0].errorMessage));\r\n } else {\r\n yield put(onError(\"ERROR_DURING_PRENOTAZIONE_UPDATE\"));\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction* getPrenotazioneSaga(action) {\r\n const res = yield call(() => service.getPrenotazioneByPnr(action.payload));\r\n if (!res.error && _.isObject(res.result) && !_.isEmpty(res.result)) {\r\n yield put(successSearch(null, res.result.filter));\r\n yield put(selectArea(res.result.area));\r\n } else {\r\n yield put(onError(\"PRENOTAZIONE_NOT_FOUND\"));\r\n }\r\n\r\n //\r\n}\r\n\r\nfunction* scanBarCodePrenotazioneSaga(action) {\r\n const res = yield call(() => service.getPnrByBarcode(action.payload));\r\n\r\n if (!res.error && res.data.result.length === 1) {\r\n yield put(successScanBarCodePrenotazione(res.data.result[0].PNR));\r\n } else if (!res.error && res.data.result.length > 1) {\r\n yield put(successScanBarCodePrenotazioneMultiple(res.data.result));\r\n } else if (!res.error && res.data.result.length === 0) {\r\n yield put(prenotazioneNonTrovata())\r\n yield put(onError(\"PRENOTAZIONE_NOT_FOUND\"));\r\n } else {\r\n yield put(onError(\"INVALID_BARCODE\"));\r\n }\r\n}\r\n\r\nfunction* handleTargaSaga(action) {\r\n const res = yield call(() => service.getPnrByTarga(action.payload));\r\n if (!res.error && res.data.result.length === 1) {\r\n yield put(successTargaPrenotazione(res.data.result[0].PNR));\r\n\r\n const results = yield call(() =>\r\n service.getPrenotazioneByPnr(res.data.result[0].PNR)\r\n );\r\n if (\r\n !results.error &&\r\n _.isObject(results.result) &&\r\n !_.isEmpty(results.result)\r\n ) {\r\n yield put(successSearch(null, results.result.filter));\r\n yield put(selectArea(results.result.area));\r\n } else {\r\n yield put(prenotazioneNonTrovata())\r\n yield put(onError(\"PRENOTAZIONE_NOT_FOUND\"));\r\n }\r\n } else {\r\n yield put(onError(\"INVALID_TARGA\"));\r\n }\r\n}\r\n\r\nexport function* prenotazioneSaga() {\r\n //wait for search\r\n yield takeLatest(TRIGGER_SEARCH, validateSearch);\r\n\r\n yield takeLatest(TRIGGER_SELECT_AREA, selectAreaSaga);\r\n\r\n yield takeLatest(TRIGGER_INSERT_PRENOTAZIONE, insertPrenotazioneSaga);\r\n\r\n yield takeLatest(TRIGGER_GET_PRENOTAZIONE, getPrenotazioneSaga);\r\n\r\n yield takeLatest(TRIGGER_UPDATE_PRENOTAZIONE, updatePrenotazioneSaga);\r\n\r\n yield takeLatest(\r\n TRIGGER_SCAN_BARCODE_PRENOTAZIONE,\r\n scanBarCodePrenotazioneSaga\r\n );\r\n\r\n yield takeLatest(TRIGGER_TARGA, handleTargaSaga);\r\n\r\n yield takeLatest(TRIGGER_SEARCH_USER_BY_DOC, searchUtenteByDocFromVarcoSaga);\r\n yield takeLatest(\r\n TRIGGER_SEARCH_USER_BY_DOC_GESTORE,\r\n searchUtenteByDocFromGestoreSaga\r\n );\r\n}\r\n","import { googlelogin } from \"./Auth/Auth.saga\";\r\nimport { prenotazioneSaga } from \"./Prenotazione/Prenotazione.saga\";\r\n\r\nexport function* rootSaga(){\r\n yield* googlelogin();\r\n yield* prenotazioneSaga();\r\n}","import {\r\n SUCCESS_SEARCH,\r\n ERROR_SEARCH,\r\n ERROR_VALIDATE,\r\n SUCCESS_TIPOLOGIA_AREA_SEARCH,\r\n SELECT_AREA,\r\n ON_SUCCESS_INSERT_PRENOTAZIONE,\r\n ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE,\r\n ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE,\r\n SUCCESS_SEARCH_USER_BY_DOC,\r\n ON_CHANGE_FASCIA_ORARIA,\r\n ON_FILTER_TIPOLOGIA_AREA,\r\n NOT_FILTER_TIPOLOGIA_AREA,\r\n ON_SUCCESS_CHANGE_AREA_STATUS,\r\n ON_SUCCESS_PARCHEGGI_SEARCH,\r\n PRENOTAZIONE_NON_TROVATA\r\n} from \"./Prenotazione.types\";\r\n\r\nconst initialState = {\r\n list: null,\r\n type: null,\r\n data: null,\r\n error: null,\r\n message: null,\r\n};\r\n\r\nexport const PrenotazioneReducer = (state = initialState, action) => {\r\n switch (action.type) {\r\n case SUCCESS_SEARCH:\r\n return {\r\n ...state,\r\n type: SUCCESS_SEARCH,\r\n list: action.payload.results,\r\n selectedFields: action.payload.selectedFields,\r\n error: null,\r\n message: \"Search completed\",\r\n };\r\n case SUCCESS_SEARCH_USER_BY_DOC:\r\n return {\r\n ...state,\r\n type: SUCCESS_SEARCH_USER_BY_DOC,\r\n userAssegnato: action.payload,\r\n error: null,\r\n message: \"Search user by doc completed\",\r\n };\r\n case SUCCESS_TIPOLOGIA_AREA_SEARCH:\r\n return {\r\n ...state,\r\n type: SUCCESS_TIPOLOGIA_AREA_SEARCH,\r\n listTipologie: action.payload,\r\n error: null,\r\n message: \"Search completed\",\r\n };\r\n case ON_SUCCESS_PARCHEGGI_SEARCH:\r\n return {\r\n ...state,\r\n type: ON_SUCCESS_PARCHEGGI_SEARCH,\r\n listParcheggi: action.payload,\r\n error: null,\r\n message: \"Search completed\",\r\n };\r\n\r\n case ERROR_SEARCH:\r\n return {\r\n ...state,\r\n type: ERROR_SEARCH,\r\n data: null,\r\n error: true,\r\n message: action.payload.message,\r\n };\r\n case ERROR_VALIDATE:\r\n return {\r\n ...state,\r\n type: ERROR_VALIDATE,\r\n data: null,\r\n error: true,\r\n message: action.payload.message,\r\n };\r\n case SELECT_AREA:\r\n return {\r\n ...state,\r\n type: SELECT_AREA,\r\n selectedArea: action.payload,\r\n };\r\n case ON_SUCCESS_INSERT_PRENOTAZIONE:\r\n return {\r\n ...state,\r\n type: ON_SUCCESS_INSERT_PRENOTAZIONE,\r\n };\r\n\r\n case ON_SUCCESS_CHANGE_AREA_STATUS:\r\n return {\r\n ...state,\r\n type: ON_SUCCESS_CHANGE_AREA_STATUS,\r\n };\r\n case ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE:\r\n return {\r\n ...state,\r\n type: ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE,\r\n pnr: action.payload,\r\n };\r\n case ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE:\r\n return {\r\n ...state,\r\n type: ON_SUCCESS_SCAN_BARCODE_PRENOTAZIONE_MULTIPLE,\r\n arrayPnr: action.payload,\r\n };\r\n case PRENOTAZIONE_NON_TROVATA:\r\n return {\r\n ...state,\r\n type:PRENOTAZIONE_NON_TROVATA\r\n }\r\n case ON_CHANGE_FASCIA_ORARIA:\r\n return {\r\n ...state,\r\n type: ON_CHANGE_FASCIA_ORARIA,\r\n selectedFasciaOraria: action.payload,\r\n };\r\n\r\n case ON_FILTER_TIPOLOGIA_AREA:\r\n return {\r\n ...state,\r\n type: action.payload.isToUpdate\r\n ? ON_FILTER_TIPOLOGIA_AREA\r\n : NOT_FILTER_TIPOLOGIA_AREA,\r\n isToUpdateFilterList: action.payload.isToUpdate,\r\n fileteredAreaList: action.payload.listArea,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { combineReducers, createStore, applyMiddleware } from \"redux\";\r\nimport thunk from \"redux-thunk\";\r\nimport logger from \"redux-logger\";\r\nimport { SharedReducer } from \"./Shared/Shared.reducer\";\r\nimport { AuthReducer } from \"./Auth/Auth.reducers\";\r\nimport createSagaMiddleware from \"redux-saga\";\r\nimport { rootSaga } from \"./RxSaga\";\r\nimport { persistReducer } from \"redux-persist\";\r\nimport storage from \"redux-persist/lib/storage\";\r\nimport { PrenotazioneReducer } from \"./Prenotazione/Prenotazione.reducer\";\r\nimport createEncryptor from \"redux-persist-transform-encrypt\";\r\n\r\nconst RootReducer = combineReducers({\r\n Shared: SharedReducer,\r\n Auth: AuthReducer,\r\n Prenotazione: PrenotazioneReducer,\r\n});\r\n\r\nconst encryptor = createEncryptor({\r\n secretKey: 'taalLambda'\r\n})\r\n\r\nconst persistConfig = {\r\n key: \"root\",\r\n storage,\r\n transforms: [encryptor],\r\n whitelist: [\"Auth\", \"Prenotazione\"], // only reducer to persist\r\n};\r\n\r\nconst persistedReducer = persistReducer(persistConfig, RootReducer);\r\n\r\nexport const configureStore = () => {\r\n const sagaMiddleware = createSagaMiddleware();\r\n let store = null;\r\n if (process.env.NODE_ENV === \"production\")\r\n store = createStore(\r\n persistedReducer,\r\n applyMiddleware(thunk, sagaMiddleware)\r\n );\r\n else\r\n store = createStore(\r\n persistedReducer,\r\n applyMiddleware(thunk, logger, sagaMiddleware)\r\n );\r\n sagaMiddleware.run(rootSaga);\r\n return store;\r\n};\r\n","import { connect } from 'react-redux';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nconst mapStateToProps = state => {\r\n\tlet ret = {};\r\n\tif (state) {\r\n\t\tObject.keys(state).forEach(element => {\r\n\t\t\tret[element] = state[element];\r\n\t\t\t//Object.keys(state[element]).forEach(el => {\r\n\t\t\t//ret[el] = state[element][el];\r\n\t\t\t// });\r\n\t\t});\r\n\t}\r\n\treturn ret;\r\n};\r\n\r\nconst RxComponent = arrayOfActions => {\r\n\t\r\n\t/*let mapDispatchToProps = dispatch => {\r\n\t\tlet ret = {};\r\n\t\tarrayOfActions.forEach(element => {\r\n\t\t\tret[element.name] = (...args) => {\r\n\t\t\t\tdispatch(element(...args));\r\n\t\t\t};\r\n\t\t});\r\n\t\treturn ret;\r\n\t};*/\r\n\r\n\t/*function mapDispatchToProps(dispatch){\r\n\t\treturn bindActionCreators({...arrayOfActions},dispatch)\r\n\t}*/\r\n\r\n\treturn (comp)=>connect(\r\n\t\tmapStateToProps,\r\n\t\t{...arrayOfActions}\r\n\t)(withTranslation()(comp));\r\n};\r\n\r\nexport default RxComponent;","import React from \"react\";\r\nimport {\r\n ON_ERROR,\r\n ON_SUCCESS,\r\n ON_INFO,\r\n ON_WARNING,\r\n} from \"../../redux/Shared/Shared.types\";\r\nimport RxComponent from \"../../redux/RxComponent\";\r\nimport { clearNotification } from \"../../redux/Shared/Shared.actions\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport _ from \"lodash\";\r\nimport { Trans } from \"react-i18next\";\r\nimport { ERROR_BOUNDARY } from \"../../constants/Settings\";\r\n\r\nclass Comp extends React.Component {\r\n state = { error: null, errorInfo: null };\r\n\r\n componentDidCatch(error, errorInfo) {\r\n this.setState({\r\n error: error,\r\n errorInfo: errorInfo,\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (this.props.Shared.messageType) {\r\n let textM = this.props.Shared.messageText;\r\n if (_.isObject(textM) && React.isValidElement(textM)) {\r\n console.log(\"++++++++++++++++++++++++++++++\", textM);\r\n } else {\r\n if (_.isError(textM)) textM = textM.message;\r\n if (_.isObject(textM) && !React.isValidElement(textM))\r\n textM = JSON.stringify(textM);\r\n textM = this.props.t(textM);\r\n }\r\n\r\n if (this.props.Shared.messageType === ON_ERROR) {\r\n toast(textM, { type: \"error\" });\r\n //NotificationManager.error(this.props.Shared.messageText,\"Errore\");\r\n } else if (this.props.Shared.messageType === ON_WARNING) {\r\n toast(textM, { type: \"warning\" });\r\n //NotificationManager.warning(this.props.Shared.messageText,\"Attenzione\");\r\n } else if (this.props.Shared.messageType === ON_SUCCESS) {\r\n toast(textM, { type: \"success\" });\r\n //NotificationManager.success(this.props.Shared.messageText,\"Ok\");\r\n } else if (this.props.Shared.messageType === ON_INFO) {\r\n toast.info(textM, {\r\n position: \"top-center\",\r\n autoClose: false,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: true,\r\n progress: undefined,\r\n });\r\n\r\n //toast(,{type:\"info\"});\r\n //NotificationManager.info(this.props.Shared.messageText,\"Informazione\");\r\n }\r\n this.props.clearNotification();\r\n }\r\n }\r\n\r\n /*logError(){\r\n console.log('error boundary ->', this.state.errorInfo.componentStack);\r\n }*/\r\n\r\n render() {\r\n if (this.state.errorInfo && ERROR_BOUNDARY == \"true\") {\r\n return (\r\n
\r\n

\r\n .\r\n

\r\n
\r\n {this.state.error && this.state.error.toString()}\r\n
\r\n {this.state.errorInfo.componentStack}\r\n
\r\n
\r\n );\r\n }\r\n\r\n return (\r\n \r\n {this.props.children}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst ErrorBoundary = RxComponent({ clearNotification })(Comp);\r\nexport default ErrorBoundary;\r\n","import React from 'react';\r\nimport '../../template/dashboard/css/spinner.css';\r\nimport RxComponent from '../../redux/RxComponent';\r\nimport _ from 'lodash';\r\nimport { clearNotification } from '../../redux/Shared/Shared.actions';\r\nimport { Trans } from \"react-i18next\";\r\n\r\nclass Comp extends React.Component{\r\n\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n loader:false\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps,prevState){\r\n if(_.isBoolean(this.props.Shared.loading) && this.state.loader!==this.props.Shared.loading){\r\n this.setState({\r\n loader:this.props.Shared.loading\r\n },()=>{\r\n if(!this.state.loader)\r\n this.props.clearNotification();\r\n });\r\n }\r\n }\r\n\r\n render(){\r\n if(!this.props.Shared.loading)\r\n return null;\r\n return (\r\n
\r\n );\r\n }\r\n\r\n}\r\n\r\nconst Loader = RxComponent({clearNotification})(Comp);\r\nexport default Loader;","export const enLabels = {\r\n locIT: \"Italian\",\r\n locEN: \"English\",\r\n locSA: \"Super Admin\",\r\n locAC: \"Council Admin\",\r\n locUser: \"User\",\r\n locGestoreArea: \"Area Manager\",\r\n locCensoreArea: \"Area Censor\",\r\n locCensorePark: \"Parking Censor\",\r\n locAddetto: \"Security Officer\",\r\n locCentrale: \"Security Headquarter\",\r\n locRVS: \"Road Gates Manager\",\r\n locRVA: \"Area Gates Manager\",\r\n locDA: \"Area Employee\",\r\n locAddettoInfo: \"Information Point Employee\",\r\n locVS: \"Road Gates\",\r\n locVA: \"Area Gates\",\r\n locCF: \"Fiscal Code\",\r\n locCI: \"Identity Document\",\r\n locPassport: \"Passaport\",\r\n locAutoPrivata: \"Private Car\",\r\n locAutoServizio: \"Service Car\",\r\n locNavetta: \"Public Van\",\r\n locPullman: \"Public Bus\",\r\n locVan: \"Private Van\",\r\n locMoto: \"Motorbike\",\r\n locAmbulanza: \"Ambulance\",\r\n locVigiliFuoco: \"Firefighters\",\r\n locPolizia: \"Police\",\r\n locTaxi: \"Taxi\",\r\n locCarabinieri: \"Carabinieri\",\r\n locEsercito: \"Esercito Italiano\",\r\n locFinanza: \"Guardia di Finanza\",\r\n locPrenSpiaggiaMattina: \"Morning (8-13)\",\r\n locPrenSpiaggiaPomeriggio: \"Afternoon (14-19)\",\r\n locPrenSpiaggiaDay: \"Whole day (8-19)\",\r\n locPrenRistorante: \"Restaurant Access\",\r\n locPrenHotel: \"Hotel Access\",\r\n locPrenAbbonamento: \"Monthly Subscription\",\r\n locPrenLavorativa: \"Working Access\",\r\n locPrenEvento: \"Event Access\",\r\n locPrenAbitazione: \"Private Household Access\",\r\n locPrenPassaggio: \"Transit Access (No stop allowed)\",\r\n locPrenShopping: \"Shopping Area Access\",\r\n locDur5H: \"5 hours\",\r\n locDur11H: \"11 hours\",\r\n locDurPranzo: \"Lunch\",\r\n locDurVariabileD: \"Variable (days)\",\r\n locDurMensile: \"Monthly (30 days)\",\r\n locSpiaggiaAttrezzata: \"Managed Beach\",\r\n locSpiaggiaLibera: \"Free Beach\",\r\n locBattigia: \"Shoreline\",\r\n locStradaLit: \"Shore Road\",\r\n locRistorante: \"Restaurant\",\r\n locHotel: \"Hotel\",\r\n locAbitazione: \"Private Household\",\r\n locEvento: \"Event\",\r\n locAttivitaLavorativa: \"Commercial Activity\",\r\n locAreaShopping: \"Shopping Area\",\r\n locStatoPrenCreata: \"Created\",\r\n locStatoPrenConfermata: \"Confirmed\",\r\n locStatoPrenEliminata: \"Deleted\",\r\n locStatoPrenScaduta: \"Expired\",\r\n locStatoPrenUtilizzata: \"Used\",\r\n locStatoAssegnata: \"Assigned\",\r\n locStatoLiberata: \"Freed\",\r\n locStatoPrenotata: \"Booked\",\r\n locStatoEliminata: \"Deleted\",\r\n locDurCena: \"Dinner\",\r\n locDur1H: \"1 Hour\",\r\n locFasciaMattina: \"Morning\",\r\n locFasciaMensile: \"Month\",\r\n locFasciaPranzo: \"Lunch\",\r\n locFasciaPomeriggio: \"Afternoon\",\r\n locFasciaCena: \"Dinner\",\r\n locFasciaSera: \"Evening\",\r\n locFasciaDay: \"Whole Day\",\r\n locNotCreata: \"Created\",\r\n locNotRead: \"Read\",\r\n locNotDeleted: \"Deleted\",\r\n locNotSent: \"Sent\",\r\n locNotEvasa: \"Despatched\",\r\n locPrenMezzaGiornata: \"Half Day\",\r\n Login: \"Login\",\r\n User: \"User\",\r\n Password: \"Password\",\r\n ClearFilter: \"Clear Filters\",\r\n SomethingWentWrong: \"Warning! Something happened, please retry.\",\r\n SelectLeastFile: \"Choose at least one file\",\r\n SelectFile: \"Choose a file\",\r\n Ok: \"OK\",\r\n Province: \"District\",\r\n City: \"City\",\r\n ForgotPassword: \"Forgot Password\",\r\n OTPDescription: \"Insert the OTP in the field below\",\r\n RequestNewCode: \"Resend OTP\",\r\n Send: \"Send\",\r\n Registration: \"Register\",\r\n NumberPhone: \"Phone Number\",\r\n isForeign: \"Are you a foreign?\",\r\n Yes: \"Yes\",\r\n No: \"No\",\r\n TypeDocument: \"Document Type\",\r\n NumberDocument: \"Document Number\",\r\n RegistrationProblem: \"Registration issues?\",\r\n BookNow: \"Book now\",\r\n Loading: \"Loading\",\r\n Select: \"Select\",\r\n Month: \"Month\",\r\n NotAuthorizedLookPage: \"Unauthorized, please contact an Admin\",\r\n BackHome: \"Go to Home Page\",\r\n Year: \"Year\",\r\n AreYouSureRemoveElement: \"Are you sure you want to delete this?\",\r\n Confirm: \"Confirm\",\r\n Save: \"Save\",\r\n Logout: \"Logout\",\r\n Week: \"Week\",\r\n Total: \"Totale\",\r\n SeeMoreDetails: \"More Details\",\r\n EditData: \"Edit data\",\r\n DeleteData: \"Delete data\",\r\n FormatDateGG: \"format (gg/mm/aaaa)\",\r\n From: \"Totale\",\r\n To: \"Totale\",\r\n Filters: \"Totale\",\r\n ApplyFilters: \"Apply Filters\",\r\n ExportExcel: \"Excel export\",\r\n ExportPDF: \"PDF export\",\r\n TotalElements: \"No. of elements\",\r\n Search: \"Search\",\r\n SearchFor: \"Search by...\",\r\n ActivityLog: \"Activity Log\",\r\n Profile: \"Profile\",\r\n Settings: \"Settings\",\r\n REGISTER: \"Register\",\r\n descrizione: \"Description\",\r\n locPatente: \"Driving License\",\r\n ENTER_YOUR_BOOKING_DETAILS: \"Enter your booking details\",\r\n NUMERO_OCCUPANTI: \"No. of People\",\r\n PRENOTAZIONE_WIN_PARKING: \"Congratulations! You won a parking spot\",\r\n PRENOTAZIONE_NOTWIN_PARKING:\r\n \"We're sorry but you didn't book in the first 100 spots! You didn't won a parking spot\",\r\n SUBMIT: \"Search\",\r\n SEARCH_TITLE: \"Available Areas\",\r\n BOOK_NOW: \"BOOK NOW\",\r\n NUMERO_SPAZI_TOTALI: \"Total Capacity\",\r\n NUMERO_SPAZI_LIBERI: \"Available spots\",\r\n NUMERO_PERSONE_PRESENTI_IN_AREA: \"Area occupants\",\r\n \"ENTER_DETAILS_FOR_PASSENGER_N°\": \"Guest No. \",\r\n WHO_COMES_WITH_YOU: \"Who comes with you ?\",\r\n BOOK_ON_TIME: \"Book in time\",\r\n CHOISE_MUNICIPALITIES_SECURE_RESERVATION:\r\n \"the Councils choice for safe booking\",\r\n \"404\": \"404 Page Not Found\",\r\n Welcome: \"Welcome\",\r\n Email: \"Email\",\r\n Name: \"Name\",\r\n Surname: \"Surname\",\r\n Gender: \"Gender\",\r\n BirthDate: \"Birth Date\",\r\n BirthPlace: \"Birth Place\",\r\n TypeMunicipality: \"Enter your District\",\r\n Language: \"Language\",\r\n Italiano: \"Italian\",\r\n Inglese: \"English\",\r\n \"Codice Fiscale\": \"Fiscal code\",\r\n \"Carta d'Identità\": \"Identity Document\",\r\n Passaporto: \"Passport\",\r\n Patente: \"Driving License\",\r\n WrongDocNumber: \"Your ID number is wrong\",\r\n RequireInsertFields: \"Please insert the following fields:\",\r\n AuthorizePrivacy:\r\n \"Autorizzo il trattamento dei miei dati personali ai sensi del Decreto Legislativo 30 giugno 2003, n. 196 “Codice in materia di protezione dei dati personali” e del GDPR (Regolamento UE 2016/679).\\n\" +\r\n \"Dichiaro, altresì che per i dati personali inseriti dal sottoscritto relativi ad altri soggetti, ho ricevuto apposita e specifica autorizzazione sollevando l’Amministrazione Comunale e la ditta erogatrice del servizio telematico da qualsivoglia responsabilità\",\r\n FieldRequired: \"Questo campo è obbligatorio\",\r\n EnterCodeMobile: \"Insert the code sent to your mobile in the fields below!\",\r\n SentedCodeEmail:\r\n \"we've sent you an email with the code (please check in the spam folder)\",\r\n ControllPassword: \"Password confirmation\",\r\n PasswordDontMatch: \"Password not identical\",\r\n ChooseAree: \"Choose areas\",\r\n AreaAssignment: \"Assign area\",\r\n Description: \"Description\",\r\n DoorType: \"Gate type\",\r\n Municipality: \"Town\",\r\n Latitude: \"Latitude\",\r\n Longitude: \"Longitude\",\r\n State: \"State\",\r\n Door: \"Gate\",\r\n Cancel: \"Cancel\",\r\n Actions: \"Actions\",\r\n TimeSlot: \"Time slot\",\r\n Area: \"Area\",\r\n Date: \"Date\",\r\n Tipology: \"Type\",\r\n EnterBookingDetails: \"Insert the booking details\",\r\n BookTipology: \"Booking type\",\r\n NumberOccupants: \"Occupants no.\",\r\n ORARIO_ARRIVO: \"Arrival time\",\r\n LicensePlateRequired: \"License Plate Required\",\r\n Payed: \"Payed\",\r\n TotalSlot: \"Total Slot\",\r\n SuccessedOperation: \"Successful operation\",\r\n ParkingArea: \"Parking\",\r\n Lookups: \"Lookups\",\r\n Lookup: \"Lookup\",\r\n ChooseLookup: \"Choose lookup\",\r\n Entrance: \"Entrance\",\r\n Exit: \"Exit\",\r\n Notes: \"Note\",\r\n ControlOk: \"Check Ok\",\r\n ControlKo: \"Check Ko\",\r\n ControlLicensePlate: \"Check License Plate\",\r\n NotificationCentral: \"Headquarter notification\",\r\n NotAuthorized: \"Unauthorized\",\r\n TOTALE_PRENOTATI: \"Total booked spots\",\r\n TOTALE_POSTI: \"Total spots\",\r\n TOTALE_OCCUPATI: \"Total occupied spots\",\r\n TOTALE_DISPONIBILI: \"Total free spots\",\r\n DISPLAY_TEXT_INFO_F:\r\n \"Warning! The Available spots is shown for the searched area\",\r\n DISPLAY_TEXT_INFO_L:\r\n \"The availability for the time span may vary depending during the booking phase.\",\r\n REQUEST_SUPPORT: \"Support request\",\r\n SUBJECT: \"Object\",\r\n EXPORT_DATA: \"Export Data\",\r\n ENTER_DOCUMENT_NUMBER: \"Enter your ID number\",\r\n MUNICIPALITY: \"Town\",\r\n SEND_NOTIFICATION: \"Send notification\",\r\n BANNER_TYPE: \"Banner type\",\r\n BANNER_IMAGE: \"Banner image\",\r\n PRENOTAZIONE_BLOCK: \"Booking blocks\",\r\n DETAIL: \"Details\",\r\n OTP_MANDATORY: \"OTP mandatory\",\r\n USERNAME_MANDATORY: \"USERNAME mandatory\",\r\n USER_NOT_ASSIGNED: \"User not assigned\",\r\n BARCODE_REQUIRED: \"Barcode Required\",\r\n EXCEEDED_PAX_LIMIT: \"Exceed max number of occupants\",\r\n BAD_CREDENTIAL: \"Wrong Credentials\",\r\n ERROR_DURING_SEARCH_AVAILABLE_TURN:\r\n \"There was an error while looking for an Available Time Span\",\r\n NUMBER_NOT_FOUND: \"ID Number not Found\",\r\n ERROR_DURING_PRENOTAZIONE_INSERT_VALIDATION:\r\n \"There was an error while validating the insertion\",\r\n ERROR_DURING_PRENOTAZIONE_INSERT:\r\n \"There was an error while creating your booking\",\r\n ERROR_DURING_PRENOTAZIONE_UPDATE_VALIDATION:\r\n \"There was an error while trying to validate your booking\",\r\n ERROR_DURING_PRENOTAZIONE_UPDATE:\r\n \" There was an error while trying to update your booking \",\r\n PRENOTAZIONE_NOT_FOUND: \"Booking not found\",\r\n INVALID_BARCODE: \"Invalid barcode\",\r\n INVALID_TARGA: \"Invalid plate\",\r\n VARCO_CONFIRMED: \"Gate transit confirmed\",\r\n VARCO_DENIED: \"Anomaly reported\",\r\n REGISTRAZIONE_OK: \"Registration complete\",\r\n OTP_SEND: \"OTP sent\",\r\n PASSWORD_CHANGED: \"Password changed\",\r\n PRENOTAZIONE_INSERT_SUCCESS: \"Booking creation complete\",\r\n PRENOTAZIONE_UPDATE_SUCCESS: \"Booking update complete\",\r\n FORGETPASSWORD: \"Forgot password\",\r\n DETTAGLIO_AREA: \"Area detail\",\r\n dettaglioArea: \"Area detail\",\r\n DETTAGLIO_PRENOTAZIONE: \"Booking detail\",\r\n dettaglioPrenotazione: \" Booking detail \",\r\n DETTAGLIO_VEICOLO: \"Vehicle detail\",\r\n dettaglioVeicolo: \" Vehicle detail \",\r\n DETTAGLIO_ANAGRAFICA: \"Registry detail\",\r\n dettaglioAnagrafica: \"Registry detail\",\r\n TIPOLOGIA_PRENOTAZIONE: \"Booking type\",\r\n FASCIA_ORARIA: \"Time slot\",\r\n TIPO_VEICOLO: \"Vehicle type\",\r\n PARCHEGGIO: \"Parking\",\r\n NUMERO_DOCUMENTO: \"Document number\",\r\n TIPOLOGIA_DOCUMENTO: \"Document type\",\r\n LABEL_WRONG_COMUNE: \"Invalid booking\",\r\n LEGEND: \"Legend\",\r\n NOTIFICATION_DETAIL: \"Notification detail\",\r\n PRENOTAZIONI: \"Booking\",\r\n DELETE_MESSAGE: \"Are you sure you want to delete your booking?\",\r\n USER_BANNED: \"User banned\",\r\n EDIT: \"Edit\",\r\n ORA_DI_INIZIO_PRENOTAZIONE: \"Booking hour start\",\r\n DURATA_PRENOTAZIONE: \"Booking duration\",\r\n TARGA: \"Plate number\",\r\n FORGOTPASSWORD: \"Forgot password\",\r\n NEWPASSWORD: \"New password\",\r\n RESERVATION: \"Booking\",\r\n \"Fk id tipologia profilo\": \"Profile type\",\r\n \"Fk id lingua\": \"Language\",\r\n Username: \"Username\",\r\n \"Data creazione\": \"Creation date\",\r\n \"Data ultima modifica\": \"Last modified date\",\r\n \"Flg attivo\": \"Enabled\",\r\n \"Flg eliminato\": \"Deleted\",\r\n \"Fk id comune\": \"Town\",\r\n EVADI_NOTIFICA: \"Process notification\",\r\n GENERAL_SETTINGS: \"General settings\",\r\n image: \"Image\",\r\n map: \"Map\",\r\n SELEZIONA_PARCHEGGI: \"Parking selection\",\r\n SELEZIONA_FASCE_ORARIE: \"Time slot selection\",\r\n SELEZIONA_VARCHI: \"Gate selection\",\r\n DATI_AREA: \"Area details\",\r\n ASSEGNAZIONE_PARCHEGGI: \"Parking assignment\",\r\n ASSEGNAZIONE_FASCE_ORARIE: \"Time slot assignment\",\r\n ASSEGNAZIONE_VARCO: \"Gate assignment\",\r\n DATI_VARCO: \"Gate details\",\r\n \"Fk id tipologia varco\": \"Gate Type\",\r\n BARCODE_DOC: \"Document barcode\",\r\n SCAN: \"Scan\",\r\n READING: \"Reading...\",\r\n \"Register From Varco\": \"Gate registration\",\r\n \"Book From Varco\": \"Gate booking\",\r\n \"Nuova prenotazione\": \"New booking\",\r\n Varco: \"Gate\",\r\n \"Controllo Varco\": \"Gate check\",\r\n \"Controllo Targa\": \"Plate check\",\r\n Parcheggio: \"Parking\",\r\n Utenti: \"Users\",\r\n Configurazione: \"Settings\",\r\n CentraleOperativa: \"Operations center\",\r\n Notifiche: \"Notifications\",\r\n ResultSearch: \"Search results\",\r\n \"Area Details\": \"Area details\",\r\n \"Slot totali\": \"Total capacity\",\r\n \"Flg privato\": \"Private\",\r\n SELECT_FROM_MAPS: \"Select using Maps\",\r\n \"Fk id tipologia area\": \"Area type\",\r\n \"Flg accesso disabili\": \"Disabled access\",\r\n \"Flg animali ammessi\": \"Animals admitted\",\r\n StatoAssegnazione: \"Assignment status\",\r\n StatoPrenotazione: \"Booking status\",\r\n TipologiaArea: \"Area type\",\r\n TipologiaDocumento: \"Document type\",\r\n TipologiaPrenotazione: \"Booking type\",\r\n TipologiaProfilo: \"Profile type\",\r\n TipologiaVarco: \"Gate type\",\r\n TipologiaVeicolo: \"Vehicle type\",\r\n Comune: \"Town\",\r\n Lingua: \"Language\",\r\n RisorsaLogica: \"Logic resource\",\r\n RelTipoDurataFasciaOraria: \"Duration type time slot\",\r\n RelTipoPrenotazioneTipoDurata: \"Booking type duration type\",\r\n RelTipoAreaTipoPrenotazione: \"Area type booking type\",\r\n \"Id stato assegnazione\": \"Assignment status ID \",\r\n \"Codice stato assegnazione\": \"Assignment status code\",\r\n \"Desc localizzata\": \"Localized description\",\r\n Azioni: \"Actions\",\r\n \"Id stato prenotazione\": \"Booking status ID \",\r\n \"Codice stato prenotazione\": \"Booking status code\",\r\n \"Id tipologia area\": \"Area type ID\",\r\n \"Codice tipologia area\": \"Area type code\",\r\n \"Id tipologia documento\": \"Document type ID \",\r\n \"Codice tipologia documento\": \"Document type code\",\r\n \"Id tipologia prenotazione\": \"Booking type ID \",\r\n \"Codice tipologia prenotazione\": \"Booking type code\",\r\n \"Flg abilitata utente\": \"Enabled for user\",\r\n \"Id tipologia profilo\": \"Profile type ID \",\r\n \"Codice profilo\": \"Profile code\",\r\n \"Flg comunale\": \"Municipal\",\r\n \"Id tipologia varco\": \"Gate type ID \",\r\n \"Codice tipologia varco\": \"Gate type code\",\r\n \"Id tipologia veicolo\": \"Vehicle type ID \",\r\n \"Codice tipologia veicolo\": \"Vehicle type code\",\r\n \"Flg veicolo privato\": \"Private vehicle\",\r\n \"Id comune\": \"Town ID\",\r\n \"Fk id provincia\": \"Province ID\",\r\n Descrizione: \"Description\",\r\n \"Giorni prenotazione\": \"Booking days\",\r\n \"Giorni blocco\": \"Ban days\",\r\n \"Minuti ritardo massimo\": \"Minutes of maximum delay \",\r\n \"Flg abilitato\": \"Enabled\",\r\n \"Max occupanti\": \"Maximum occupants\",\r\n Impostazioni: \"Settings\",\r\n \"Park giornalieri\": \"Daily parkings\",\r\n Latitudine: \"Latitude\",\r\n Longitudine: \"Longitude\",\r\n \"Id lingua\": \"Language ID\",\r\n \"Codice lingua\": \"Language code\",\r\n \"Id risorsa logica\": \"Logic resource ID\",\r\n \"Codice risorsa logica\": \"Logic resource code\",\r\n \"Id rel tipo durata fascia oraria\": \"Duration type time slot ID\",\r\n \"Tipologia durata.desc localizzata\": \"Localized duration type\",\r\n \"Fascia oraria.desc localizzata\": \"Localized time slot\",\r\n \"Id rel tipo prenotazione tipo durata\": \"Booking type time slot ID\",\r\n \"Tipologia Durata Localizzata\": \"Localized duration type\",\r\n \"Tipologia prenotazione.desc localizzata\": \"Localized booking type\",\r\n \"Id rel tipo area tipo prenotazione\": \"Area type booking type ID\",\r\n \"Tipologia area.desc localizzata\": \"Localized area type\",\r\n \"Tipologia Prenotazione Localizzata\": \"Localized booking type\",\r\n locDipendenteArea: \"Area employee\",\r\n locAusiliareTraffico: \"Traffic auxiliary\",\r\n Add: \"Add\",\r\n \"notValidPassengerN°\": \" invalid for passenger n° \",\r\n field: \"the field \",\r\n isNotValid: \" is invalid\",\r\n NO_ID_PRENOTAZIONE:\r\n \"System error. Please try again later, if the error persists contact support.\",\r\n NO_VEHICLE_TYPE: \"No vehicle type selected\",\r\n NO_PARCHEGGIO_SELEZIONATO: \"No parking selected\",\r\n INSERT_PERSONAL_DATA: \"Insert occupants details\",\r\n DATA_NOT_AVAILABLE_FOR_USER:\r\n \"Not available date selected, you may already have another booking in this date\",\r\n VALIDATE_NOTE_ERROR: \"Warning! Notes are mandatory to report an anomaly\",\r\n VALIDATE_INGRESSO_ERROR: \"Warning! Please select IN or OUT\",\r\n NUMBER_OR_DOC_ALREADY_EXIST:\r\n \" Phone number or document number already registered, please contact support for more info\",\r\n insert_password: \"Insert new password\",\r\n confirm_password: \"Confirm password\",\r\n CHANGE_PASSWORD: \"CHANGE PASSWORD\",\r\n FULL: \"FULL\",\r\n SELEZIONA_AREA: \"Select an area\",\r\n CODICE_FISCALE: \"Fiscal code\",\r\n RICONTROLLA_DATI:\r\n \"Please check again the provided data. If the error persist contact support.\",\r\n \"Close Area From Varco\": \"Close area from gate\",\r\n confirm_operation: \"PLEASE CONFIRM SELECTED ACTION\",\r\n Close_Area: \"Close area\",\r\n Open_Area: \"Open area\",\r\n REGISTRAZIONE: \"Registration\",\r\n REGISTRAZIONE_RAPIDA: \"Fast registration\",\r\n SELECT_TIPOLOGIA_DOC: \"Select document type\",\r\n GESTORE_AREA: \"Area manager\",\r\n \"Fk id utente\": \"User\",\r\n \"Fk id area\": \"Area\",\r\n ERROR_LOADIN_AREA_DETAILS: \"Error loading area details\",\r\n LoginProblem: \"Are you having problems logging in?\",\r\n ERROR_DURING_HELPDESK:\r\n \"There was an error in your report, please try again in a few minutes\",\r\n HelpdeskSucces:\r\n \"Your report has been received, we’ll answer as soon as possible\",\r\n PASSWORD_PATTERN:\r\n \"Password must be between 8 and 20 chars, it must contain at least 1 letter, 1 number, 1 special char (!@#$%^&*()_+) and it can’t start with a special char\",\r\n PASSWORD_NOT_VALID: \"Invalid password\",\r\n DATE_INVALID:\r\n \"Invalid birthdate, you must be at least 14 years old to register\",\r\n INVALID_PREN_DATE:\r\n \"Invalid booking date, please check if you already have a booking in this date\",\r\n INVALID_MUNICIPALITY: \"Invalid town\",\r\n PLACEHOLDER_DATE: \"DD/MM/YYYY\",\r\n REGISTRO_PRESENZE: \"Attendance register\",\r\n RESETPASSWORD: \"Change password\",\r\n USER_NOT_FOUND: \"User not found\",\r\n SELECT_AREA: \"Select an area\",\r\n DELETE_MESSAGE_GESTORE: \"Are you sure you want to delete this?\",\r\n AREA_NOT_FOUND: \"Area not found\",\r\n MODIFICA_DATI_PRENOTAZIONE: \"Change booking details\",\r\n LOCKED: \"Locked\",\r\n UNLOCKED: \"Unlocked\",\r\n THESE_FIELDS_ARE_REQUIRED: \"Fields marked with (*) are required\",\r\n INSERT_PNR_OR_DOC: \"Insert PNR or document number\",\r\n locFasciaEvento: \"Event\",\r\n locFasciaOrariaEvento: \"Event\",\r\n numeroPersone: \"Max person number\",\r\n MODAL_CONTROLLO_LABEL: \"Select booking:\"\r\n};\r\n","export const itLabels = {\r\n locIT: \"Italiano\",\r\n locEN: \"Inglese\",\r\n locSA: \"Super Admin\",\r\n locAC: \"Admin Comunale\",\r\n locUser: \"Utente\",\r\n locGestoreArea: \"Gestore Area\",\r\n locCensoreArea: \"Censore Area\",\r\n locCensorePark: \"Censore Parcheggio\",\r\n locAddetto: \"Addetto Sicurezza\",\r\n locCentrale: \"Centrale Operativa Sicurezza\",\r\n locRVS: \"Responsabile Varchi Stradali\",\r\n locRVA: \"Responsabile Varchi Aree\",\r\n locDA: \"Dipendente Area\",\r\n locAddettoInfo: \"Addetto Infopoint\",\r\n locVS: \"Varco Stradale\",\r\n locVA: \"Varco Area\",\r\n locCF: \"Codice Fiscale\",\r\n locCI: \"Carta d'Identità\",\r\n locPassport: \"Passaporto\",\r\n locAutoPrivata: \"Automobile Privata\",\r\n locAutoServizio: \"Automobile di Servizio\",\r\n locNavetta: \"Navetta Pubblica\",\r\n locPullman: \"Pullman Privato\",\r\n locVan: \"Van Privato\",\r\n locMoto: \"Motoveicolo\",\r\n locAmbulanza: \"Ambulanza\",\r\n locVigiliFuoco: \"Vigili del Fuoco\",\r\n locPolizia: \"Polizia\",\r\n locTaxi: \"Taxi\",\r\n locCarabinieri: \"Carabinieri\",\r\n locEsercito: \"Esercito Italiano\",\r\n locFinanza: \"Guardia di Finanza\",\r\n locPrenSpiaggiaMattina: \"Mattina (8-13)\",\r\n locPrenSpiaggiaPomeriggio: \"Pomeriggio (14-19)\",\r\n locPrenSpiaggiaDay: \"Tutto il giorno (8-19)\",\r\n locPrenRistorante: \"Accesso Ristorante\",\r\n locPrenHotel: \"Accesso Hotel\",\r\n locPrenAbbonamento: \"Abbonamento Mensile\",\r\n locPrenLavorativa: \"Accesso Lavorativo\",\r\n locPrenEvento: \"Accesso Evento\",\r\n locPrenAbitazione: \"Accesso Abitazione Privata\",\r\n locPrenPassaggio: \"Accesso di Passaggio (sosta non prevista)\",\r\n locPrenShopping: \"Accesso Area Shopping\",\r\n locDur5H: \"5 ore\",\r\n locDur11H: \"11 ore\",\r\n locDurPranzo: \"Pranzo\",\r\n locDurVariabileD: \"Variabile (giorni)\",\r\n locDurMensile: \"Mensile (30 giorni)\",\r\n locSpiaggiaAttrezzata: \"Spiaggia Attrezzata\",\r\n locSpiaggiaLibera: \"Spiaggia Libera\",\r\n locBattigia: \"Battigia\",\r\n locStradaLit: \"Strada Litoranea\",\r\n locRistorante: \"Ristorante\",\r\n locHotel: \"Hotel\",\r\n locAbitazione: \"Abitazione Privata\",\r\n locEvento: \"Evento\",\r\n locAttivitaLavorativa: \"Attività CommercialeLavorativa\",\r\n locAreaShopping: \"Area Shopping\",\r\n locStatoPrenCreata: \"Creata\",\r\n locStatoPrenConfermata: \"Confermata\",\r\n locStatoPrenEliminata: \"Cancellata\",\r\n locStatoPrenScaduta: \"Scaduta\",\r\n locStatoPrenUtilizzata: \"Utilizzata\",\r\n locStatoAssegnata: \"Assegnata\",\r\n locStatoLiberata: \"Liberata\",\r\n locStatoPrenotata: \"Prenotata\",\r\n locStatoEliminata: \"Eliminata\",\r\n locDurCena: \"Cena\",\r\n locDur1H: \"1 ora\",\r\n locFasciaMattina: \"Mattina\",\r\n locFasciaMensile: \"Mese\",\r\n locFasciaPranzo: \"Pranzo\",\r\n locFasciaPomeriggio: \"Pomeriggio\",\r\n locFasciaCena: \"Cena\",\r\n locFasciaSera: \"Sera\",\r\n locFasciaDay: \"Tutto il giorno\",\r\n locNotCreata: \"Creata\",\r\n locNotRead: \"Letta\",\r\n locNotDeleted: \"Cancellata\",\r\n locNotSent: \"Inviata\",\r\n locNotEvasa: \"Evasa\",\r\n locPrenMezzaGiornata: \"Mezza Giornata\",\r\n Login: \"Accedi\",\r\n User: \"Utente\",\r\n Password: \"Password\",\r\n ClearFilter: \"Pulisci Filtri\",\r\n SomethingWentWrong:\r\n \"Attenzione! Qualcosa non ha funzionato correttamente riprovare\",\r\n SelectLeastFile: \"Selezionare almeno un file\",\r\n SelectFile: \"Seleziona un file\",\r\n Ok: \"OK\",\r\n Province: \"Provincia\",\r\n City: \"Città\",\r\n ForgotPassword: \"Password Dimenticata?\",\r\n OTPDescription:\r\n \"Inserisci il codice OTP inviato sul telefono qui sotto per accedere\",\r\n RequestNewCode: \"Richiedi un nuovo codice OTP\",\r\n Send: \"Invia\",\r\n Registration: \"Registrazione\",\r\n NumberPhone: \"Numero di telefono\",\r\n isForeign: \"Sei straniero?\",\r\n Yes: \"Si\",\r\n No: \"No\",\r\n TypeDocument: \"Tipo Documento\",\r\n NumberDocument: \"Numero di documento\",\r\n RegistrationProblem: \"Problemi con la registrazione?\",\r\n BookNow: \"Prenota ora\",\r\n Loading: \"Caricamento\",\r\n Select: \"Seleziona\",\r\n Month: \"Mese\",\r\n NotAuthorizedLookPage:\r\n \"Sembra tu non sia autorizzato ad accedere a questa pagina, contatta un Amministratore\",\r\n BackHome: \"Torna alla pagina iniziale\",\r\n Year: \"Anno\",\r\n AreYouSureRemoveElement: \"Sei sicuro di voler rimuovere l'elemento?\",\r\n Confirm: \"Conferma\",\r\n Save: \"Salva\",\r\n Logout: \"Esci\",\r\n Week: \"Settimana\",\r\n Total: \"Totale\",\r\n SeeMoreDetails: \"Ulteriori dettagli\",\r\n EditData: \"Modifica i dati\",\r\n DeleteData: \"Elimina i dati\",\r\n FormatDateGG: \"in formato (gg/mm/aaaa)\",\r\n From: \"Totale\",\r\n To: \"Totale\",\r\n Filters: \"Totale\",\r\n ApplyFilters: \"Applica i filtri\",\r\n ExportExcel: \"Esporta in Excel\",\r\n ExportPDF: \"Esporta in PDF\",\r\n TotalElements: \"Numero totale di elementi\",\r\n Search: \"Cerca\",\r\n SearchFor: \"Cerca per...\",\r\n ActivityLog: \"Log attività\",\r\n Profile: \"Profilo\",\r\n Settings: \"Impostazioni\",\r\n REGISTER: \"Registrati\",\r\n descrizione: \"descrizione\",\r\n locPatente: \"Patente\",\r\n ENTER_YOUR_BOOKING_DETAILS: \"Inserisci i dettagli della prenotazione\",\r\n NUMERO_OCCUPANTI: \"Numero di persone\",\r\n PRENOTAZIONE_WIN_PARKING: \"Congratulazioni! hai vinto il parcheggio\",\r\n PRENOTAZIONE_NOTWIN_PARKING:\r\n \"Ci dispiace non hai prenotato tra i primi 100! Non hai vinto il parcheggio\",\r\n SUBMIT: \"Cerca\",\r\n SEARCH_TITLE: \"Aree disponibili\",\r\n BOOK_NOW: \"PRENOTA\",\r\n NUMERO_SPAZI_TOTALI: \"Capienza totale\",\r\n NUMERO_SPAZI_LIBERI: \"Spazi disponibili\",\r\n NUMERO_PERSONE_PRESENTI_IN_AREA: \"Occupanti nell'area\",\r\n \"ENTER_DETAILS_FOR_PASSENGER_N°\": \"Ospite n° \",\r\n WHO_COMES_WITH_YOU: \"Chi viene con te ?\",\r\n BOOK_ON_TIME: \"Prenota in tempo\",\r\n CHOISE_MUNICIPALITIES_SECURE_RESERVATION:\r\n \"la scelta dei comuni per le prenotazioni sicure\",\r\n \"404\": \"404 Pagina non trovata\",\r\n Welcome: \"Benvenuto\",\r\n Email: \"Email\",\r\n Name: \"Nome\",\r\n Surname: \"Cognome\",\r\n Gender: \"Sesso\",\r\n BirthDate: \"Data di Nascita\",\r\n BirthPlace: \"Luogo di Nascita\",\r\n TypeMunicipality: \"Digita il Comune\",\r\n Language: \"Lingua\",\r\n Italiano: \"Italiano\",\r\n Inglese: \"Inglese\",\r\n \"Codice Fiscale\": \"Codice Fiscale\",\r\n \"Carta d'Identità\": \"Carta d'Identità\",\r\n Passaporto: \"Passaporto\",\r\n Patente: \"Patente\",\r\n WrongDocNumber: \"Il Numero Documento è errato\",\r\n RequireInsertFields: \"Si richiede l'inserimento del/dei campi:\",\r\n AuthorizePrivacy:\r\n \"Autorizzo il trattamento dei miei dati personali ai sensi del Decreto Legislativo 30 giugno 2003, n. 196 “Codice in materia di protezione dei dati personali” e del GDPR (Regolamento UE 2016/679).\\n\" +\r\n \"Dichiaro, altresì che per i dati personali inseriti dal sottoscritto relativi ad altri soggetti, ho ricevuto apposita e specifica autorizzazione sollevando l’Amministrazione Comunale e la ditta erogatrice del servizio telematico da qualsivoglia responsabilità\",\r\n FieldRequired: \"Questo campo è obbligatorio\",\r\n EnterCodeMobile:\r\n \"Inserisci il codice inviato al tuo telefono quì sotto per accedere!\",\r\n SentedCodeEmail:\r\n \"ti è stato inviato un codice presso la mail collegata all'utente inserito (controlla anche la cartella di spam)\",\r\n ControllPassword: \"Conferma Password\",\r\n PasswordDontMatch: \"Le password non coincidono\",\r\n ChooseAree: \"Seleziona Aree\",\r\n AreaAssignment: \"Assegnazione Area\",\r\n Description: \"Descrizione\",\r\n DoorType: \"Tipologia Varco\",\r\n Municipality: \"Comune\",\r\n Latitude: \"Latitudine\",\r\n Longitude: \"Longitudine\",\r\n State: \"Stato\",\r\n Door: \"Varco\",\r\n Cancel: \"Annulla\",\r\n Actions: \"Azioni\",\r\n TimeSlot: \"Fascia Oraria\",\r\n Area: \"Area\",\r\n Date: \"Data\",\r\n Tipology: \"Tipologia\",\r\n EnterBookingDetails: \"Inserisci i dettagli della prenotazione\",\r\n BookTipology: \"Tipologia Prenotazione\",\r\n NumberOccupants: \"Numero Occupanti\",\r\n ORARIO_ARRIVO: \"Orario di Arrivo\",\r\n LicensePlateRequired: \"Targa richiesta\",\r\n Payed: \"Pagato\",\r\n TotalSlot: \"Slot totali\",\r\n SuccessedOperation: \"Operazione effettuata con successo\",\r\n ParkingArea: \"Parcheggio\",\r\n Lookups: \"Lookups\",\r\n Lookup: \"Lookup\",\r\n ChooseLookup: \"Seleziona un lookup\",\r\n Entrance: \"Ingresso\",\r\n Exit: \"Uscita\",\r\n Notes: \"Note\",\r\n ControlOk: \"Controllo Ok\",\r\n ControlKo: \"Controllo Ko\",\r\n ControlLicensePlate: \"Controllo Targa\",\r\n NotificationCentral: \"Notifiche alla centrale\",\r\n NotAuthorized: \"Non Autorizzato\",\r\n TOTALE_PRENOTATI: \"Totale Posti Prenotati\",\r\n TOTALE_POSTI: \"Posti Totali\",\r\n TOTALE_OCCUPATI: \"Totale Posti Occupati\",\r\n TOTALE_DISPONIBILI: \"Totale Posti disponibili\",\r\n DISPLAY_TEXT_INFO_F:\r\n \"Attenzione! Viene mostrata la maggiore disponibilità di posti per le aree ricercate.\",\r\n DISPLAY_TEXT_INFO_L:\r\n \"La disponibilità potrebbe variare in base alla fascia oraria selezionata nelle fasi successive della prenotazione.\",\r\n REQUEST_SUPPORT: \"Richiesta di supporto\",\r\n SUBJECT: \"Oggetto\",\r\n EXPORT_DATA: \"Esporta dati\",\r\n ENTER_DOCUMENT_NUMBER: \"Inserisci Numero Documento\",\r\n MUNICIPALITY: \"Comune di appartenenza\",\r\n SEND_NOTIFICATION: \"Invio di notifiche\",\r\n BANNER_TYPE: \"Tipo di banner\",\r\n BANNER_IMAGE: \"Immagine banner\",\r\n PRENOTAZIONE_BLOCK: \"Blocchi Prenotazione\",\r\n DETAIL: \"Dettaglio\",\r\n OTP_MANDATORY: \"OTP obbligatorio\",\r\n USERNAME_MANDATORY: \"USERNAME obbligatorio\",\r\n USER_NOT_ASSIGNED: \"Utente non assegnato\",\r\n BARCODE_REQUIRED: \"Barcode richiesto\",\r\n EXCEEDED_PAX_LIMIT: \"Superato limite persone\",\r\n BAD_CREDENTIAL: \"Credenziali errate\",\r\n ERROR_DURING_SEARCH_AVAILABLE_TURN:\r\n \"Errore durante la ricerca di un turno disponibile\",\r\n NUMBER_NOT_FOUND: \"Numero documento non trovato\",\r\n ERROR_DURING_PRENOTAZIONE_INSERT_VALIDATION:\r\n \"Errore durante la convalida dell' inserimento di prenotazione\",\r\n ERROR_DURING_PRENOTAZIONE_INSERT:\r\n \"Errore durante l'inserimento della prenotazione\",\r\n ERROR_DURING_PRENOTAZIONE_UPDATE_VALIDATION:\r\n \"Errore durante la convalida aggiornamento di prenotazione\",\r\n ERROR_DURING_PRENOTAZIONE_UPDATE:\r\n \"Errore durante l'aggiornamento della prenotazione\",\r\n PRENOTAZIONE_NOT_FOUND: \"Prenotazione non trovata\",\r\n INVALID_BARCODE: \"Barcode non valido\",\r\n INVALID_TARGA: \"Targa non valida\",\r\n VARCO_CONFIRMED: \"Varco confermato\",\r\n VARCO_DENIED: \"Anomalia segnalata\",\r\n REGISTRAZIONE_OK: \"Registrazione andata a buon fine\",\r\n OTP_SEND: \"OTP inviato\",\r\n PASSWORD_CHANGED: \"Password cambiata\",\r\n PRENOTAZIONE_INSERT_SUCCESS: \"Prenotazione inserita con successo\",\r\n PRENOTAZIONE_UPDATE_SUCCESS: \"Prenotazione aggiornata con successo\",\r\n FORGETPASSWORD: \"Password dimenticata\",\r\n DETTAGLIO_AREA: \"Dettaglio Area\",\r\n dettaglioArea: \"Dettaglio Area\",\r\n DETTAGLIO_PRENOTAZIONE: \"Dettaglio Prenotazione\",\r\n dettaglioPrenotazione: \"Dettaglio Prenotazione\",\r\n DETTAGLIO_VEICOLO: \"Dettaglio Veicolo\",\r\n dettaglioVeicolo: \"Dettaglio Veicolo\",\r\n DETTAGLIO_ANAGRAFICA: \"Dettaglio Anagrafica\",\r\n dettaglioAnagrafica: \"Dettaglio Anagrafica\",\r\n TIPOLOGIA_PRENOTAZIONE: \"Tipologia prenotazione\",\r\n FASCIA_ORARIA: \"Fascia oraria\",\r\n TIPO_VEICOLO: \"Tipo veicolo\",\r\n PARCHEGGIO: \"Parcheggio\",\r\n NUMERO_DOCUMENTO: \"Numero Documento\",\r\n TIPOLOGIA_DOCUMENTO: \"Tipologia documento\",\r\n LABEL_WRONG_COMUNE: \"Prenotazione non valida\",\r\n LEGEND: \"Legenda\",\r\n NOTIFICATION_DETAIL: \"Dettaglio Notifica\",\r\n PRENOTAZIONI: \"Prenotazioni\",\r\n DELETE_MESSAGE: \"Sei sicuro di voler cancellare la tua prenotazione?\",\r\n USER_BANNED: \"Utente bannato\",\r\n EDIT: \"Modifica\",\r\n ORA_DI_INIZIO_PRENOTAZIONE: \"Ora di inizio prenotazione\",\r\n DURATA_PRENOTAZIONE: \"Durata prenotazione\",\r\n TARGA: \"Targa\",\r\n FORGOTPASSWORD: \"Password Dimenticata\",\r\n NEWPASSWORD: \"Nuova Password\",\r\n RESERVATION: \"Prenotazione\",\r\n \"Fk id tipologia profilo\": \"Tipologia profilo\",\r\n \"Fk id lingua\": \"Lingua\",\r\n Username: \"Username\",\r\n \"Data creazione\": \"Data creazione\",\r\n \"Data ultima modifica\": \"Data ultima modifica\",\r\n \"Flg attivo\": \"Attivo\",\r\n \"Flg eliminato\": \"Eliminato\",\r\n \"Fk id comune\": \"Comune\",\r\n EVADI_NOTIFICA: \"Evadi notifica\",\r\n GENERAL_SETTINGS: \"Impostazioni generali\",\r\n image: \"Immagine\",\r\n map: \"Mappa\",\r\n SELEZIONA_PARCHEGGI: \"Seleziona Parcheggi\",\r\n SELEZIONA_FASCE_ORARIE: \"Seleziona Fasce Orarie\",\r\n SELEZIONA_VARCHI: \"Seleziona Varchi\",\r\n DATI_AREA: \"Dati Area\",\r\n ASSEGNAZIONE_PARCHEGGI: \"Assegnazione Parcheggi\",\r\n ASSEGNAZIONE_FASCE_ORARIE: \"Assegnazione Fasce Orarie\",\r\n ASSEGNAZIONE_VARCO: \"Assegnazione Varco\",\r\n DATI_VARCO: \"Dati Varco\",\r\n \"Fk id tipologia varco\": \"Tipologia Varco\",\r\n BARCODE_DOC: \"Codice a barre documento\",\r\n SCAN: \"Scansiona\",\r\n READING: \"In lettura...\",\r\n \"Register From Varco\": \"Registrazione al Varco\",\r\n \"Book From Varco\": \"Prenota al Varco\",\r\n \"Nuova prenotazione\": \"Nuova prenotazione\",\r\n Varco: \"Varco\",\r\n \"Controllo Varco\": \"Controllo Varco\",\r\n \"Controllo Targa\": \"Controllo Targa\",\r\n Parcheggio: \"Parcheggio\",\r\n Utenti: \"Utenti\",\r\n Configurazione: \"Configurazione\",\r\n CentraleOperativa: \"Centrale Operativa\",\r\n Notifiche: \"Notifiche\",\r\n ResultSearch: \"Risultati ricerca\",\r\n \"Area Details\": \"Dettagli Area\",\r\n \"Slot totali\": \"Slot totali\",\r\n \"Flg privato\": \"Privato\",\r\n SELECT_FROM_MAPS: \"Seleziona tramite maps\",\r\n \"Fk id tipologia area\": \"Tipologia area\",\r\n \"Flg accesso disabili\": \"Accesso disabili\",\r\n \"Flg animali ammessi\": \"Animali ammessi\",\r\n StatoAssegnazione: \"Stato Assegnazione\",\r\n StatoPrenotazione: \"Stato Prenotazione\",\r\n TipologiaArea: \"Tipologia Area\",\r\n TipologiaDocumento: \"Tipologia Documento\",\r\n TipologiaPrenotazione: \"Tipologia Prenotazione\",\r\n TipologiaProfilo: \"Tipologia Profilo\",\r\n TipologiaVarco: \"Tipologia Varco\",\r\n TipologiaVeicolo: \"Tipologia Veicolo\",\r\n Comune: \"Comune\",\r\n Lingua: \"Lingua\",\r\n RisorsaLogica: \"Risorsa Logica\",\r\n RelTipoDurataFasciaOraria: \"Tipo Durata Fascia Oraria\",\r\n RelTipoPrenotazioneTipoDurata: \"Tipo Prenotazione Tipo Durata\",\r\n RelTipoAreaTipoPrenotazione: \"Tipo Area Tipo Prenotazione\",\r\n \"Id stato assegnazione\": \"ID Stato Assegnazione\",\r\n \"Codice stato assegnazione\": \"Codice Stato Assegnazione\",\r\n \"Desc localizzata\": \"Descrizione Localizzata\",\r\n Azioni: \"Azioni\",\r\n \"Id stato prenotazione\": \"ID Stato Prenotazione\",\r\n \"Codice stato prenotazione\": \"Codice Stato Prenotazione\",\r\n \"Id tipologia area\": \"ID Tipologia Area\",\r\n \"Codice tipologia area\": \"Codice Tipologia Area\",\r\n \"Id tipologia documento\": \"ID Tipologia Documento\",\r\n \"Codice tipologia documento\": \"Codice Tipologia Documento\",\r\n \"Id tipologia prenotazione\": \"ID Tipologia Prenotazione\",\r\n \"Codice tipologia prenotazione\": \"Codice Tipologia Prenotazione\",\r\n \"Flg abilitata utente\": \"Abilitata all'utente\",\r\n \"Id tipologia profilo\": \"ID Tipologia Profilo\",\r\n \"Codice profilo\": \"Codice profilo\",\r\n \"Flg comunale\": \"Comunale\",\r\n \"Id tipologia varco\": \"ID Tipologia Varco\",\r\n \"Codice tipologia varco\": \"Codice Tipologia Varco\",\r\n \"Id tipologia veicolo\": \"ID Tipologia Veicolo\",\r\n \"Codice tipologia veicolo\": \"Codice Tipologia Veicolo\",\r\n \"Flg veicolo privato\": \"Veicolo Privato\",\r\n \"Id comune\": \"ID Comune\",\r\n \"Fk id provincia\": \"ID provincia\",\r\n Descrizione: \"Descrizione\",\r\n \"Giorni prenotazione\": \"Giorni Prenotazione\",\r\n \"Giorni blocco\": \"Giorni Blocco\",\r\n \"Minuti ritardo massimo\": \"Minuti Ritardo Massimo\",\r\n \"Flg abilitato\": \"Abilitato\",\r\n \"Max occupanti\": \"Max Occupanti\",\r\n Impostazioni: \"Impostazioni\",\r\n \"Park giornalieri\": \"Park Giornalieri\",\r\n Latitudine: \"Latitudine\",\r\n Longitudine: \"Longitudine\",\r\n \"Id lingua\": \"ID Lingua\",\r\n \"Codice lingua\": \"Codice Lingua\",\r\n \"Id risorsa logica\": \"ID Risorsa Logica\",\r\n \"Codice risorsa logica\": \"Codice Risorsa Logica\",\r\n \"Id rel tipo durata fascia oraria\": \"ID Tipo Durata Fascia Oraria\",\r\n \"Tipologia durata.desc localizzata\": \"Tipologia Durata Localizzata\",\r\n \"Fascia oraria.desc localizzata\": \"Fascia Oraria Localizzata\",\r\n \"Id rel tipo prenotazione tipo durata\": \"ID Tipo Prenotazione Tipo Durata\",\r\n \"Tipologia Durata Localizzata\": \"Tipologia Durata Localizzata\",\r\n \"Tipologia prenotazione.desc localizzata\":\r\n \"Tipologia Prenotazione Localizzata\",\r\n \"Id rel tipo area tipo prenotazione\": \"ID Tipo Area Tipo Prenotazione\",\r\n \"Tipologia area.desc localizzata\": \"Tipologia Area Localizzata\",\r\n \"Tipologia Prenotazione Localizzata\": \"Tipologia Prenotazione Localizzata\",\r\n locDipendenteArea: \"Dipendente Area\",\r\n locAusiliareTraffico: \"Ausiliario Traffico\",\r\n Add: \"Aggiungi\",\r\n \"notValidPassengerN°\": \" non valido per passeggero N° \",\r\n field: \"il campo \",\r\n isNotValid: \" non è valido\",\r\n NO_ID_PRENOTAZIONE:\r\n \"errore di sistema, riprovare più tardi, se persiste contattare l'assistenza\",\r\n NO_VEHICLE_TYPE: \"Nessun tipo veicolo selezionato\",\r\n NO_PARCHEGGIO_SELEZIONATO: \"Nessun parcheggio selezionato\",\r\n INSERT_PERSONAL_DATA: \"Inserisci i dati dei passeggero/i\",\r\n DATA_NOT_AVAILABLE_FOR_USER: \"Data non disponibile per l'utente, potresti già avere una prenotazione per questo giorno\",\r\n VALIDATE_NOTE_ERROR:\r\n \"Attenzione! Le note sono obbligatorie per segnalare un Transito non conforme\",\r\n VALIDATE_INGRESSO_ERROR: \"Attenzione! Selezionare entrata o uscita\",\r\n NUMBER_OR_DOC_ALREADY_EXIST:\r\n \"Numero di telefono o numero documento già presente nel sistema, contatta l'assistenza per maggiori informazioni\",\r\n insert_password: \"inserisci la nuova password\",\r\n confirm_password: \"conferma la password\",\r\n CHANGE_PASSWORD: \"CAMBIA LA PASSWORD\",\r\n FULL: \"PIENO\",\r\n SELEZIONA_AREA: \"Seleziona un'area\",\r\n CODICE_FISCALE: \"Codice Fiscale\",\r\n RICONTROLLA_DATI:\r\n \"Ti preghiamo di controllare i dati inseriti, se l'errore dovesse persistere contattare l'assistenza.\",\r\n \"Close Area From Varco\": \"Chiudi Area da Varco\",\r\n confirm_operation:\r\n \"CONFERMI DI VOLER PROCEDERE CON L'OPERAZIONE SELEZIONATA?\",\r\n Close_Area: \"Chiudi Area\",\r\n Open_Area: \"Apri Area\",\r\n REGISTRAZIONE: \"Registrazione\",\r\n REGISTRAZIONE_RAPIDA: \"Registrazione Rapida\",\r\n SELECT_TIPOLOGIA_DOC: \"Seleziona un tipologia di documento\",\r\n GESTORE_AREA: \"Gestore Area\",\r\n \"Fk id utente\": \"Utente\",\r\n \"Fk id area\": \"Area\",\r\n ERROR_LOADIN_AREA_DETAILS:\r\n \"Errore durante il caricamento dei dettagli dell'aera\",\r\n LoginProblem: \"Problemi con il login?\",\r\n ERROR_DURING_HELPDESK: \"Errore durante la segnalazione\",\r\n HelpdeskSucces:\r\n \"La tua segnalazione è stata presa in carico, ti risponderemo appena possibile\",\r\n PASSWORD_PATTERN:\r\n \"La password deve essere compresa tra 8-20 caratteri, contenere almeno 1 lettera, 1 numero e 1 carattere speciale e non iniziare con un carattere speciale (!@#$%^&*()_+)\",\r\n PASSWORD_NOT_VALID: \"Password non valida\",\r\n DATE_INVALID: \"Data non valida, per registarsi bisogna avere almeno 14 anni di età\",\r\n INVALID_PREN_DATE:\r\n \"Data di prenotazione non valida, verifica se hai già delle prenotazioni per la data corrente\",\r\n INVALID_MUNICIPALITY: \"Comune non valido\",\r\n PLACEHOLDER_DATE: \"GG/MM/AAAA\",\r\n REGISTRO_PRESENZE: \"Registro Presenze\",\r\n RESETPASSWORD: \"Reimposta Password\",\r\n USER_NOT_FOUND: \"Utente non trovato\",\r\n SELECT_AREA: \"Seleziona un'Area\",\r\n DELETE_MESSAGE_GESTORE:\r\n \"Sei Sicuro Di Voler Cancellare L'Elemento Selezionato ?\",\r\n AREA_NOT_FOUND: \"Area Non Trovata\",\r\n MODIFICA_DATI_PRENOTAZIONE:\"Modifica i dati della prenotazione\",\r\n LOCKED:\"Bloccato\",\r\n UNLOCKED:\"Sbloccato\",\r\n THESE_FIELDS_ARE_REQUIRED: \"I campi contrassegnati con (*) sono obbligatori\",\r\n INSERT_PNR_OR_DOC:\"Inserisci PNR o numero di documento\",\r\n locFasciaEvento: \"Evento\",\r\n locFasciaOrariaEvento: \"Evento\",\r\n numeroPersone: \"Numero Persone\",\r\n MODAL_CONTROLLO_LABEL: \"Seleziona la prenotazione:\"\r\n};\r\n","import i18n from 'i18next';\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport LanguageDetector from 'i18next-browser-languagedetector';\r\nimport { enLabels } from './languages/en';\r\nimport { itLabels } from './languages/it';\r\nimport HttprepoTAAL from '../repos/HttpRepoTaal';\r\nimport _ from 'lodash';\r\n\r\n\r\nexport const getTranslate= new Promise((ok,ko) =>{\r\n \r\n i18n\r\n .use(initReactI18next)\r\n .use(LanguageDetector)\r\n .init({\r\n // we init with resources\r\n resources: {\r\n en: {\r\n translations: enLabels\r\n },\r\n it: {\r\n translations: itLabels\r\n }\r\n },\r\n fallbackLng: 'it',\r\n debug: false,\r\n // have a common namespace used around the full app\r\n ns: ['translations'],\r\n defaultNS: 'translations',\r\n keySeparator: false, // we use content as keys\r\n interpolation: {\r\n escapeValue: false, // not needed for react!!\r\n formatSeparator: ','\r\n },\r\n react: {\r\n wait: true\r\n }\r\n });\r\n\r\n //for local translation\r\n ok(i18n)\r\n\r\n //for remote translation\r\n /*const remoteHTTPClient= new HttprepoTAAL();\r\n const feResource={\r\n it:itLabels,\r\n en:enLabels\r\n }\r\n\r\n\r\n remoteHTTPClient.search2(0, -1, {}, null, [\"Lingua\"], \"Localizzazione\").then((res)=>{\r\n const results=res.data.result.filter(p=>p.Lingua).map(p=>({\r\n codiceLingua:p.Lingua.codiceLingua,\r\n key:p.descLocalizzata,\r\n val:p.descrizione\r\n }));\r\n const grouped=_.groupBy(results,\"codiceLingua\");\r\n let resource={};\r\n Object.keys(grouped).forEach(lang=>{\r\n resource={};\r\n grouped[lang].forEach(el=>{\r\n resource[el.key]=el.val;\r\n });\r\n //resource={...resource,...feResource[lang]};\r\n i18n.addResourceBundle(lang,'translations',resource);\r\n });\r\n ok(i18n)\r\n });*/\r\n})\r\n\r\n\r\n","function initTheme($) {\r\n \r\n function toogleSidebar(){\r\n $(\"body\").toggleClass(\"sidebar-toggled\");\r\n $(\".sidebar\").toggleClass(\"toggled\");\r\n if ($(\".sidebar\").hasClass(\"toggled\")) {\r\n $('.sidebar .collapse').collapse('hide');\r\n };\r\n }\r\n\r\n // Toggle the side navigation\r\n $(\"#sidebarToggle, #sidebarToggleTop\").on('click', function(e) {\r\n toogleSidebar();\r\n });\r\n \r\n if (/iPad|iPhone|iPod|Android/.test(navigator.userAgent) || $( window ).width() < 768) {\r\n toogleSidebar();\r\n $(\"#accordionSidebar .nav-link\").on('click',function(e){\r\n if($(e.currentTarget).attr('data-toggle')!='collapse')\r\n toogleSidebar();\r\n });\r\n $('#accordionSidebar .collapse-item').on('click',function(e){\r\n toogleSidebar();\r\n });\r\n }\r\n\r\n // Close any open menu accordions when window is resized below 768px\r\n $(window).resize(function() {\r\n if ($(window).width() < 768) {\r\n $('.sidebar .collapse').collapse('hide');\r\n };\r\n });\r\n \r\n // Prevent the content wrapper from scrolling when the fixed side navigation hovered over\r\n $('body.fixed-nav .sidebar').on('mousewheel DOMMouseScroll wheel', function(e) {\r\n if ($(window).width() > 768) {\r\n var e0 = e.originalEvent,\r\n delta = e0.wheelDelta || -e0.detail;\r\n this.scrollTop += (delta < 0 ? 1 : -1) * 30;\r\n e.preventDefault();\r\n }\r\n });\r\n \r\n // Scroll to top button appear\r\n $(document).on('scroll', function() {\r\n var scrollDistance = $(this).scrollTop();\r\n if (scrollDistance > 100) {\r\n $('.scroll-to-top').fadeIn();\r\n } else {\r\n $('.scroll-to-top').fadeOut();\r\n }\r\n });\r\n \r\n // Smooth scrolling using jQuery easing\r\n $(document).on('click', 'a.scroll-to-top', function(e) {\r\n var $anchor = $(this);\r\n $('html, body').stop().animate({\r\n scrollTop: ($($anchor.attr('href')).offset().top)\r\n }, 1000, 'easeInOutExpo');\r\n e.preventDefault();\r\n });\r\n\r\n\r\n \r\n };\r\n export default initTheme;","import React from 'react';\r\nimport { Card as BCard,CardHeader,CardBody,CardFooter } from 'reactstrap';\r\n\r\nexport default class Card extends React.Component{\r\n\r\n\r\n componentDidMount(){\r\n }\r\n\r\n render(){\r\n return (\r\n \r\n {this.props.header &&\r\n \r\n {this.props.header}\r\n \r\n }\r\n \r\n {this.props.children}\r\n \r\n {this.props.footer &&\r\n \r\n {this.props.footer}\r\n \r\n }\r\n \r\n );\r\n }\r\n\r\n}\r\n","import React from \"react\";\r\nimport $ from \"jquery\";\r\nimport \"../../template/dashboard/js/bootstrap-datepicker\";\r\nimport \"../../template/dashboard/js/bootstrap-datepicker.it\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\n\r\nexport default class DatePicker extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n format: \"dd/mm/yyyy\",\r\n maxViewMode: 2,\r\n defaultDate: new Date(),\r\n language: \"it\",\r\n orientation: \"auto right\",\r\n keyboardNavigation: false,\r\n keepEmptyValues: true,\r\n forceParse: true,\r\n autoclose: true,\r\n todayHighlight: true,\r\n showOnFocus: false,\r\n startDate: props.startDate,\r\n endDate: props.endDate,\r\n templates: {\r\n leftArrow: '',\r\n rightArrow: '',\r\n },\r\n id: props.id ? props.id + \"-\" + new Date().getTime() : this._generateId(),\r\n label: \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._mergePropsInState();\r\n this._initCalendar();\r\n this._setValue();\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n //this._mergePropsInState();\r\n let changes = {};\r\n if (this.props.endDate != this.state.endDate) {\r\n changes.endDate = this.props.endDate;\r\n }\r\n if (this.props.startDate != this.state.startDate) {\r\n changes.startDate = this.props.startDate;\r\n }\r\n\r\n if (Object.keys(changes).length) {\r\n this.setState(changes, () => {\r\n this._destroyCalendar();\r\n this._initCalendar();\r\n });\r\n } else {\r\n if (prevProps.id !== this.props.id) {\r\n this._destroyCalendar();\r\n this._initCalendar();\r\n }\r\n }\r\n\r\n /*if(prevProps.value != this.props.value){\r\n this._setValue();\r\n }*/\r\n }\r\n\r\n componentWillUnmount() {\r\n this._destroyCalendar();\r\n }\r\n\r\n _mergePropsInState = () => {\r\n this.setState({ ...this.state, ...this.props });\r\n };\r\n\r\n _generateId() {\r\n let ts = document.getElementsByClassName(\"datapicker-custom\");\r\n let num = 0;\r\n if (ts.length > 0) {\r\n let max = 0;\r\n for (let i = 0; i < ts.length; i++) {\r\n let id = ts[i].getAttribute(\"id\");\r\n if (id !== null) {\r\n num = _.toNumber(id.replace(\"datepicker-\", \"\"));\r\n if (!_.isNaN(num) && num > max) {\r\n max = num;\r\n }\r\n }\r\n }\r\n return \"datepicker-\" + (max + 1) + \"-\" + new Date().getTime();\r\n }\r\n return \"datepicker-1-\" + new Date().getTime();\r\n }\r\n\r\n _initCalendar = () => {\r\n $(\"#\" + this.state.id)\r\n .closest(\".input-group.date\")\r\n .datepicker(this.state)\r\n .on(\"changeDate\", (ev) => {\r\n this._dataChanged(ev);\r\n });\r\n };\r\n\r\n _destroyCalendar = () => {\r\n $(\"#\" + this.state.id)\r\n .closest(\".input-group.date\")\r\n .datepicker(\"destroy\");\r\n $(\"#\" + this.state.id)\r\n .closest(\".input-group.date\")\r\n .off(\"changeDate\");\r\n };\r\n\r\n _dataChanged = (ev) => {\r\n const inputVal = $(`#${this.state.id}`).val();\r\n if (\r\n !inputVal ||\r\n !inputVal.length ||\r\n !moment(inputVal, \"DD/MM/YYYY\").isValid()\r\n ) {\r\n ev.date = null;\r\n }\r\n if (this.props.onChange && _.isFunction(this.props.onChange))\r\n this.props.onChange(ev);\r\n };\r\n\r\n _setValue = (valr) => {\r\n //const df=moment(val).format(this.state.format);\r\n let val = valr || this.props.value;\r\n $(\"#\" + this.state.id)\r\n .closest(\".input-group.date\")\r\n .datepicker(\"setDate\", val);\r\n };\r\n\r\n _onBlur() {\r\n const inputVal = $(`#${this.state.id}`);\r\n if (\r\n !inputVal.val() ||\r\n !inputVal.val().length ||\r\n !moment(inputVal.val(), \"DD/MM/YYYY\").isValid()\r\n ) {\r\n inputVal.val(null);\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n this._onBlur()}\r\n />\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","export const AREE = {\r\n SPIAGGIA_ATTREZZATA: \"SPP\",\r\n SPIAGGIA_LIBERA: \"SPL\",\r\n BATTIGIA: \"BAT\",\r\n STRADA_LIT: \"LIT\",\r\n RISTORANTE: \"RIST\",\r\n HOTEL: \"HOT\",\r\n ABITAZIONE: \"ABP\",\r\n EVENTO: \"EVE\",\r\n ATTIVITA_LAVORATIVA: \"ATL\",\r\n AREA_SHOPPING: \"SHOP\",\r\n};\r\n","import { AREE } from \"./Aree\";\r\nimport pinRistoranteGiallo from \"../template/site/pngs/mapsPins/pinRistoranteGiallo.png\";\r\nimport pinRistoranteRosso from \"../template/site/pngs/mapsPins/pinRistoranteRosso.png\";\r\nimport pinRistoranteVerde from \"../template/site/pngs/mapsPins/pinRistoranteVerde.png\";\r\nimport pinSpiaggiaLiberaRosso from \"../template/site/pngs/mapsPins/pinSpiaggiaLiberaRosso.png\";\r\nimport pinSpiaggiaLiberaGiallo from \"../template/site/pngs/mapsPins/pinSpiaggiaLiberaGiallo.png\";\r\nimport pinSpiaggiaLiberaVerde from \"../template/site/pngs/mapsPins/pinSpiaggiaLiberaVerde.png\";\r\nimport pinSpiaggiaPrivataRosso from \"../template/site/pngs/mapsPins/pinSpiaggiaPrivataRosso.png\";\r\nimport pinSpiaggiaPrivataGiallo from \"../template/site/pngs/mapsPins/pinSpiaggiaPrivataGiallo.png\";\r\nimport pinSpiaggiaPrivataVerde from \"../template/site/pngs/mapsPins/pinSpiaggiaPrivataVerde.png\";\r\nimport pinEventoRosso from \"../template/site/pngs/mapsPins/pinEventoRosso.png\";\r\nimport pinEventGiallo from \"../template/site/pngs/mapsPins/pinEventoGiallo.png\";\r\nimport pinEventoVerde from \"../template/site/pngs/mapsPins/pinEventoVerde.png\";\r\n\r\nexport const PINS = {\r\n SPIAGGIA_LIBERA_ROSSO: {\r\n pin: pinSpiaggiaLiberaRosso,\r\n areaCod: AREE.SPIAGGIA_LIBERA,\r\n stato: -1,\r\n },\r\n SPIAGGIA_LIBERA_GIALLO: {\r\n pin: pinSpiaggiaLiberaGiallo,\r\n areaCod: AREE.SPIAGGIA_LIBERA,\r\n stato: 0,\r\n },\r\n SPIAGGIA_LIBERA_VERDE: {\r\n pin: pinSpiaggiaLiberaVerde,\r\n areaCod: AREE.SPIAGGIA_LIBERA,\r\n stato: 1,\r\n },\r\n SPIAGGIA_ATTREZZATA_ROSSO: {\r\n pin: pinSpiaggiaPrivataRosso,\r\n areaCod: AREE.SPIAGGIA_ATTREZZATA,\r\n stato: -1,\r\n },\r\n SPIAGGIA_ATTREZZATA_GIALLO: {\r\n pin: pinSpiaggiaPrivataGiallo,\r\n areaCod: AREE.SPIAGGIA_ATTREZZATA,\r\n stato: 0,\r\n },\r\n SPIAGGIA_ATTREZZATA_VERDE: {\r\n pin: pinSpiaggiaPrivataVerde,\r\n areaCod: AREE.SPIAGGIA_ATTREZZATA,\r\n stato: 1,\r\n },\r\n RISTORANTE_ROSSO: {\r\n pin: pinRistoranteRosso,\r\n areaCod: AREE.RISTORANTE,\r\n stato: -1,\r\n },\r\n RISTORANTE_GIALLO: {\r\n pin: pinRistoranteGiallo,\r\n areaCod: AREE.RISTORANTE,\r\n stato: 0,\r\n },\r\n RISTORANTE_VERDE: {\r\n pin: pinRistoranteVerde,\r\n areaCod: AREE.RISTORANTE,\r\n stato: 1,\r\n },\r\n EVENTO_ROSSO: {\r\n pin: pinEventoRosso,\r\n areaCod: AREE.EVENTO,\r\n stato: -1,\r\n },\r\n EVENTO_GIALLO: {\r\n pin: pinEventGiallo,\r\n areaCod: AREE.EVENTO,\r\n stato: 0,\r\n },\r\n EVENTO_VERDE: {\r\n pin: pinEventoVerde,\r\n areaCod: AREE.EVENTO,\r\n stato: 1,\r\n },\r\n};\r\n","import pinParcheggioRosso from \"../template/site/pngs/mapsPins/pinParcheggioRosso.png\";\r\nimport pinParcheggioGiallo from \"../template/site/pngs/mapsPins/pinParcheggioGiallo.png\";\r\nimport pinParcheggioVerde from \"../template/site/pngs/mapsPins/pinParcheggioVerde.png\";\r\n//const PARCHEGGIO =\r\n\r\nexport const PINSPARK = {\r\n PARCHEGGIO_ROSSO: {\r\n pin: pinParcheggioRosso,\r\n stato: -1,\r\n },\r\n PARCHEGGIO_GIALLO: {\r\n pin: pinParcheggioGiallo,\r\n stato: 0,\r\n },\r\n PARCHEGGIO_VERDE: {\r\n pin: pinParcheggioVerde,\r\n stato: 1,\r\n },\r\n};\r\n","export const AREASTATUSES = {\r\n OPEN: \"OPEN\",\r\n MEDIUM: \"MEDIUM\",\r\n CLOSED: \"CLOSED\",\r\n};\r\n","import React, { Component } from \"react\";\r\nimport {\r\n GoogleMap,\r\n LoadScript,\r\n Marker,\r\n InfoWindow,\r\n} from \"@react-google-maps/api\";\r\nimport RxComponent from \"../../redux/RxComponent\";\r\nimport pinUmbrella from \"../../template/site/pngs/pin.png\";\r\nimport { PINS } from \"./../../constants/pins\";\r\nimport { PINSPARK } from \"./../../constants/pinsParcheggi\";\r\nimport { triggerSelectArea } from \"../../redux/Prenotazione/Prenotazione.actions\";\r\nimport { ROLES } from \"../../constants/Roles\";\r\nimport { AREE } from \"./../../constants/Aree\";\r\nimport { AREASTATUSES } from \"../../constants/AreaStatus\";\r\n\r\nconst containerStyle = {\r\n width: \"100%\",\r\n minHeight: \"400px\",\r\n height: \"100%\",\r\n};\r\n\r\nconst center = {\r\n lat: -3.745,\r\n lng: -38.523,\r\n};\r\n\r\nconst mapStyles = require(\"../../template/site/jsonStyle/mapsStyle.json\");\r\n\r\nclass Comp extends React.PureComponent {\r\n currentMap = null;\r\n\r\n state = {\r\n isOpen: false,\r\n markers: [],\r\n };\r\n\r\n pin = {\r\n url: PINS.RISTORANTE_GIALLO.pin,\r\n };\r\n\r\n pin2 = pinUmbrella;\r\n\r\n componentDidMount() {\r\n let initialCenter = this.findCenter();\r\n this.setState({\r\n center: initialCenter,\r\n });\r\n }\r\n\r\n setPin(point) {\r\n let pinToRet = [];\r\n\r\n var pins = Object.values(PINS);\r\n var pinsPark = Object.values(PINSPARK);\r\n let perc = 0;\r\n if (point.area) {\r\n perc =\r\n ((point.area.POSTI_TOTALI - point.area.POSTI_LIBERI) * 100) /\r\n point.area.POSTI_TOTALI;\r\n } else if (point.parcheggio) {\r\n perc =\r\n ((point.parcheggio.POSTI_TOTALI - point.parcheggio.POSTI_LIBERI) *\r\n 100) /\r\n point.parcheggio.POSTI_TOTALI;\r\n }\r\n let percToCompare = perc > 69 ? -1 : perc > 35 ? 0 : 1;\r\n\r\n if (point.area) {\r\n pinToRet = pins.filter((el) => {\r\n return (\r\n el.areaCod === point.area.CODICETIPOLOGIAAREA &&\r\n percToCompare === el.stato\r\n );\r\n });\r\n } else if (point.parcheggio) {\r\n pinToRet = pinsPark.filter((el) => {\r\n return percToCompare === el.stato;\r\n });\r\n }\r\n\r\n if (!pinToRet[0]) {\r\n pinToRet = pins.filter((el) => {\r\n return (\r\n el.areaCod === AREE.SPIAGGIA_ATTREZZATA && percToCompare === el.stato\r\n );\r\n });\r\n }\r\n\r\n return pinToRet[0] ? pinToRet[0].pin : null;\r\n }\r\n\r\n findCenter(lat, lng) {\r\n if (lat && lng) {\r\n return {\r\n lat: lat,\r\n lng: lng,\r\n };\r\n }\r\n\r\n if (this.props.points && this.props.points.length) {\r\n const lats = this.props.points.map(function (point, index) {\r\n if(point) return point.lat;\r\n });\r\n const lons = this.props.points.map(function (point, index) {\r\n if(point) return point.lon;\r\n });\r\n\r\n const latMax = Math.max.apply(Math, lats);\r\n const latMin = Math.min.apply(Math, lats);\r\n const lonMax = Math.max.apply(Math, lons);\r\n const lonMin = Math.min.apply(Math, lons);\r\n\r\n const latDef = (latMax + latMin) / 2;\r\n const lonDef = (lonMax + lonMin) / 2;\r\n\r\n return { lat: latDef, lng: lonDef };\r\n } else {\r\n return {\r\n lat:\r\n this.props.Auth.user.Comune && this.props.Auth.user.Comune.latitudine\r\n ? this.props.Auth.user.Comune.latitudine\r\n : 41.4676,\r\n lng:\r\n this.props.Auth.user.Comune && this.props.Auth.user.Comune.longitudine\r\n ? this.props.Auth.user.Comune.longitudine\r\n : 12.9036,\r\n };\r\n }\r\n }\r\n\r\n onToggleOpen(point, index) {\r\n /*let center = {\r\n lat: point.lat,\r\n lng: point.lon,\r\n };*/\r\n\r\n this.setState({\r\n openedMarker: index === this.state.openedMarker ? null : index,\r\n //center: center,\r\n });\r\n }\r\n\r\n onAreaSelect(area) {\r\n if (window.location.href.indexOf(\"/dashboard\") >= 0) {\r\n area.fromDashboard = true;\r\n }\r\n this.setState(\r\n {\r\n openedMarker: null,\r\n center: null,\r\n },\r\n () => this.props.triggerSelectArea(area)\r\n );\r\n }\r\n\r\n infoBoxGenerator(record) {\r\n return (\r\n \r\n \r\n {record.area\r\n ? record.area.DESCRIZIONE\r\n : record.parcheggio\r\n ? record.parcheggio.DESCRIZIONE\r\n : null}\r\n {record.parcheggio ? (\r\n
\r\n {this.props.t(\"POSTI_LIBERI\") +\r\n \": \" +\r\n record.parcheggio.POSTI_LIBERI}{\" \"}\r\n
\r\n ) : null}\r\n \r\n {record.area &&\r\n record.area.POSTI_LIBERI > 0 &&\r\n record.area.CODICESTATO !== AREASTATUSES.CLOSED && (\r\n {\r\n if (record.area) {\r\n this.onAreaSelect(record.area);\r\n }\r\n }}\r\n >\r\n {this.props.t(\"BOOK_NOW\")}\r\n \r\n )}\r\n \r\n );\r\n }\r\n\r\n addPin(e) {\r\n const markers = [];\r\n if (\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo ===\r\n ROLES.CENSORE_AREA ||\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo ===\r\n ROLES.SUPER_ADMIN ||\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo ===\r\n ROLES.ADMIN_COMUNE ||\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo === ROLES.GESTORE_AREA\r\n ) {\r\n const mark = {\r\n lat: e.latLng.lat(),\r\n lng: e.latLng.lng(),\r\n };\r\n markers.push(mark);\r\n this.setState({\r\n markers,\r\n });\r\n\r\n this.props.onSelectPin(mark);\r\n }\r\n }\r\n\r\n onConfirmPin(marker) {}\r\n\r\n render() {\r\n const iconBase = \"https://maps.google.com/mapfiles/kml/shapes/\";\r\n const styl = mapStyles;\r\n const center = this.findCenter();\r\n return (\r\n this.setState({ showMap: true })}\r\n googleMapsApiKey=\"AIzaSyAC7a4_2inuCBH660_VWpUlYFnAt4jQdxg\"\r\n >\r\n {this.state.showMap && (\r\n {\r\n this.currentMap = map;\r\n this.setState({\r\n showInfo: true,\r\n });\r\n }}\r\n onClick={(e) => this.addPin(e)}\r\n options={{ styles: mapStyles }}\r\n >\r\n {this.state.showInfo && (\r\n <>\r\n {this.props.points &&\r\n this.props.points.map((point, index) => {\r\n if (point) {\r\n let pinn = this.setPin(point);\r\n return (\r\n this.onToggleOpen(point, index)}\r\n //onMouseOut={() => this.onToggleOpen(point, index)}\r\n onClick={() => this.onToggleOpen(point, index)}\r\n >\r\n {this.state.openedMarker === index && (\r\n \r\n this.onToggleOpen(point, index)\r\n }\r\n options={{\r\n closeBoxURL: ``,\r\n enableEventPropagation: true,\r\n }}\r\n >\r\n {point.area || point.parcheggio\r\n ? this.infoBoxGenerator(point)\r\n : null}\r\n \r\n )}\r\n \r\n );\r\n }\r\n })}\r\n\r\n {this.state.markers.map((marker, index) => (\r\n \r\n \r\n \r\n latidudine: {marker.lat}
\r\n longitudine: {marker.lng}\r\n \r\n \r\n \r\n ))}\r\n \r\n )}\r\n \r\n )}\r\n \r\n );\r\n }\r\n}\r\nconst MapComponent = RxComponent({ triggerSelectArea })(Comp);\r\nexport default MapComponent;\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport DatePicker from \"../Content/DatePicker\";\r\nimport { SelectPicker } from \"../Content/SelectPicker\";\r\nimport { Trans, Translation } from \"react-i18next\";\r\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button } from \"reactstrap\";\r\nimport MapComponent from \"../Content/MapsComp\";\r\nimport { SelectPickerOld } from \"../Content/SelectPickerOld\";\r\n\r\nexport const FIELD_TEXT = \"FIELD_TEXT\";\r\nexport const FIELD_DATE = \"FIELD_DATE\";\r\nexport const FIELD_INTEGER = \"FIELD_INTEGER\";\r\nexport const FIELD_DECIMAL = \"FIELD_DECIMAL\";\r\nexport const FIELD_LONGTEXT = \"FIELD_LONGTEXT\";\r\nexport const FIELD_SELECT = \"FIELD_SELECT\";\r\nexport const FIELD_BOOLEAN = \"FIELD_BOOLEAN\";\r\nexport const FIELD_SELECT_MULTIPLE = \"FIELD_SELECT_MULTIPLE\";\r\nexport const FIELD_FILE = \"FIELD_FILE\";\r\nexport const FIELD_MAPS = \"FIELD_MAPS\";\r\nexport const FIELD_PASSWORD = \"FIELD_PASSWORD\";\r\n\r\nclass DynamicFormField extends React.PureComponent {\r\n state = {\r\n type: null,\r\n id: null,\r\n label: null,\r\n required: false,\r\n precision: 999,\r\n value: null,\r\n readOnly: null,\r\n options: [],\r\n multiple: false,\r\n displayValue: null,\r\n };\r\n\r\n componentDidMount() {\r\n this._initState();\r\n }\r\n\r\n componentDidUpdate() {\r\n this._initState();\r\n }\r\n\r\n _initState() {\r\n this.setState({\r\n type: this.props.type,\r\n id: this.props.id,\r\n label: this.props.label,\r\n required: this.props.required,\r\n precision: this.props.precision,\r\n value: this.props.value,\r\n readOnly: this.props.readOnly,\r\n options: this.props.options,\r\n multiple: this.props.multiple,\r\n displayValue: this.props.displayValue,\r\n customName: this.props.customName\r\n });\r\n }\r\n\r\n _onSubmit = (e) => {\r\n e.preventDefault();\r\n };\r\n\r\n _handleChange(val) {\r\n if (this.props.onChange && _.isFunction(this.props.onChange)) {\r\n this.props.onChange(val);\r\n }\r\n }\r\n\r\n _inputText = () => (\r\n
\r\n \r\n this._handleChange(event.target.value)}\r\n type=\"text\"\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n\r\n _inputPassword = () => {\r\n return (\r\n
\r\n \r\n this._handleChange(event.target.value)}\r\n type=\"password\"\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n };\r\n\r\n _inputInteger = () => (\r\n
\r\n \r\n this._handleChange(event.target.value)}\r\n size={this.state.precision}\r\n type=\"number\"\r\n step={1}\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n\r\n _inputDecimal = () => (\r\n
\r\n \r\n this._handleChange(event.target.value)}\r\n size={this.state.precision}\r\n type=\"number\"\r\n step={0.01}\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n\r\n _inputLongText = () => (\r\n
\r\n \r\n this._handleChange(event.target.value)}\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n\r\n _inputFile = () => (\r\n
\r\n \r\n {\r\n if (e.target.files && e.target.files.item(0)) {\r\n this._handleChange(e.target.files[0])\r\n // const reader = new FileReader();\r\n // reader.onloadend = () => {\r\n // // Since it contains the Data URI, we should remove the prefix and keep only Base64 string\r\n // var b64 = reader.result; //.replace(/^data:.+;base64,/, '');\r\n // this._handleChange(b64);\r\n // };\r\n // reader.readAsDataURL(e.target.files.item(0));\r\n }\r\n }}\r\n type=\"file\"\r\n className=\"form-control\"\r\n name={this.state.id}\r\n id={this.state.id}\r\n />\r\n
\r\n );\r\n\r\n _inputMap = () => (\r\n <>\r\n
\r\n \r\n \r\n this.setState(\r\n {\r\n value: {\r\n latitudine: event.target.value,\r\n longitudine: this.state.value?.longitudine,\r\n },\r\n },\r\n this._handleChange({\r\n latitudine: event.target.value,\r\n longitudine: this.state.value?.longitudine,\r\n })\r\n )\r\n }\r\n size={this.state.precision}\r\n type=\"number\"\r\n step={0.0001}\r\n className=\"form-control\"\r\n name={\"latitudine\"}\r\n id={this.state.id}\r\n />\r\n
\r\n
\r\n \r\n \r\n this.setState(\r\n {\r\n value: {\r\n latitudine: this.state.value?.latitudine,\r\n longitudine: event.target.value,\r\n },\r\n },\r\n this._handleChange({\r\n latitudine: this.state.value?.latitudine,\r\n longitudine: event.target.value,\r\n })\r\n )\r\n }\r\n size={this.state.precision}\r\n type=\"number\"\r\n className=\"form-control\"\r\n name={\"longitudine\"}\r\n id={this.state.id}\r\n />\r\n
\r\n
\r\n \r\n this.setState({ showMapModal: true })}\r\n >\r\n \r\n  \r\n \r\n \r\n\r\n \r\n this.setState({ showMapModal: false, lat: null, lng: null })\r\n }\r\n size=\"md\"\r\n >\r\n this.setState({ showMapModal: false })}\r\n >\r\n \r\n \r\n {this.state.showMapModal && (\r\n {\r\n this.setState({\r\n latTemp: parseFloat(marker.lat),\r\n lngTemp: parseFloat(marker.lng),\r\n });\r\n }}\r\n />\r\n )}\r\n
\r\n \r\n \r\n \r\n this.setState(\r\n {\r\n showMapModal: false,\r\n value: {\r\n latitudine: this.state.latTemp,\r\n longitudine: this.state.lngTemp,\r\n },\r\n latTemp: \"\",\r\n lngTemp: \"\",\r\n },\r\n () =>\r\n this._handleChange({\r\n latitudine: parseFloat(this.state.value.latitudine),\r\n longitudine: parseFloat(this.state.value.longitudine),\r\n })\r\n )\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n\r\n _inputDate = () => (\r\n
\r\n this._handleChange(ev.date)}\r\n readOnly={this.state.readOnly}\r\n format=\"DD/MM/YYYY\"\r\n />\r\n
\r\n );\r\n\r\n _inputSelect = () => (\r\n
\r\n \r\n this._handleChange(ev)}\r\n />\r\n
\r\n );\r\n\r\n _inputSelectMultiple = () => (\r\n
\r\n \r\n this._handleChange(ev)}\r\n />\r\n
\r\n );\r\n\r\n _inputBoolean = () => {\r\n return (\r\n
\r\n \r\n \r\n {(t) => (\r\n {\r\n if (ev && ev.length) this._handleChange(!!ev[0].id);\r\n }}\r\n />\r\n )}\r\n \r\n
\r\n );\r\n };\r\n\r\n _inputFromType() {\r\n switch (this.state.type) {\r\n case FIELD_TEXT:\r\n return this._inputText();\r\n case FIELD_INTEGER:\r\n return this._inputInteger();\r\n case FIELD_DECIMAL:\r\n return this._inputDecimal();\r\n case FIELD_LONGTEXT:\r\n return this._inputLongText();\r\n case FIELD_DATE:\r\n return this._inputDate();\r\n case FIELD_SELECT:\r\n return this._inputSelect();\r\n case FIELD_BOOLEAN:\r\n return this._inputBoolean();\r\n case FIELD_SELECT_MULTIPLE:\r\n return this._inputSelectMultiple();\r\n case FIELD_FILE:\r\n return this._inputFile();\r\n case FIELD_MAPS:\r\n return this._inputMap();\r\n case FIELD_PASSWORD:\r\n return this._inputPassword();\r\n default:\r\n return (\r\n

\r\n \r\n ...\r\n

\r\n );\r\n }\r\n }\r\n\r\n render = () => this._inputFromType();\r\n}\r\n\r\nexport default DynamicFormField;\r\n","import React from \"react\";\r\nimport { Multiselect } from \"multiselect-react-dropdown\";\r\nimport _ from \"lodash\";\r\n\r\nexport class SelectPickerOld extends React.Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.values = _.cloneDeep(props.values) || [];\r\n this.state = {\r\n update: 0\r\n };\r\n }\r\n\r\n onSelect(optionsList, selectedItem) {\r\n if (this.props.multiple) this.values.push(selectedItem);\r\n else this.values = [selectedItem];\r\n this.notifyChange();\r\n }\r\n\r\n onRemove(optionList, removedItem) {\r\n this.values = this.values.filter(\r\n j => j[this.props.displayValue] !== removedItem[this.props.displayValue]\r\n );\r\n this.notifyChange();\r\n }\r\n\r\n notifyChange = () => {\r\n if (this.props.onChange && _.isFunction(this.props.onChange))\r\n this.props.onChange(this.values);\r\n };\r\n\r\n componentWillUpdate(nextProps, nextState) {\r\n if (this.values !== nextProps.values) {\r\n if (!_.isNull(nextProps.values) && !_.isUndefined(nextProps.values)) {\r\n if (_.isArray(nextProps.values)) this.values = nextProps.values;\r\n else this.values = [nextProps.values];\r\n } else {\r\n this.values = [];\r\n }\r\n nextState.update = this.state.update + 1;\r\n }\r\n }\r\n\r\n render() {\r\n let style = this.props.multiple\r\n ? { chips: { background: \"#5a5c69\" } }\r\n : {\r\n searchBox: { height: \"38px\" },\r\n chips: {\r\n background: \"white\",\r\n borderRadius: 0,\r\n color: \"#5a5c69\"}\r\n };\r\n if(this.props.readOnly){\r\n style.multiselectContainer= { // To change css for multiselect (Width,height,etc..)\r\n background:'#eaecf4',\r\n pointerEvents:'none'\r\n }\r\n }\r\n return (\r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport RxComponent from '../../redux/RxComponent';\r\n\r\nclass Comp extends React.PureComponent {\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n\r\n _gooogleProfile() {\r\n const profilePhotoContainer = {\r\n width: \"150px\",\r\n height: \"150px\",\r\n border: \"2px solid\",\r\n background: \"linear-gradient(60deg, #ffa726, #fb8c00)\",\r\n color: \"#fff\",\r\n fontWeight: \"bold\",\r\n fontSize: \"22px\",\r\n overflow: \"hidden\"\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \r\n {this.props.Auth.googleUser.Ad}\r\n
\r\n
\r\n
\r\n

{this.props.Auth.googleUser.Ad}

\r\n
\r\n
\r\n

{this.props.Auth.googleUser.yu}

\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n this.props.Auth.loggedIn &&\r\n this._gooogleProfile()\r\n )\r\n }\r\n\r\n\r\n}\r\n\r\nconst GoogleProfile = RxComponent()(Comp)\r\nexport default GoogleProfile;","import React from 'react';\r\nimport moment, { relativeTimeThreshold } from 'moment';\r\nimport _ from 'lodash';\r\nimport LoginService from \"../../pages/Login/Login.service\";\r\nimport { Trans, Translation } from \"react-i18next\";\r\n\r\nexport default class MonthlyScheduler extends React.PureComponent {\r\n\r\n pages=null;\r\n state={\r\n workDate:moment(),\r\n resources: [],\r\n currentPage:0,\r\n groups:[]\r\n };\r\n\r\n constructor(props){\r\n super(props);\r\n this._init(props);\r\n }\r\n\r\n _init(props){\r\n this.setState({\r\n workDate:props.workDate || moment(),\r\n resources: props.resources?[...props.resources]:[],\r\n currentPage:1,\r\n groups:props.groups\r\n },()=>{\r\n this.pages=this.getMonthPage().map(p=>{\r\n p.daysOfWeek=this.getWeekPages(p.pageNum);\r\n return p;\r\n });\r\n });\r\n\r\n }\r\n\r\n componentDidUpdate(){\r\n if(!this.pages || JSON.stringify(this.props.resources)!==JSON.stringify(this.state.resources)\r\n || this.state.workDate.format(\"DDMMYYYY\")!==this.props.workDate.format(\"DDMMYYYY\"))\r\n this._init(this.props);\r\n }\r\n\r\n\r\n\r\n getWeekPages(weekNumber){\r\n const firstDayOfMonth=this.state.workDate.clone().startOf('month');\r\n const lastDayOfMonth=this.state.workDate.clone().endOf('month');\r\n let currentDate=firstDayOfMonth.clone().startOf('week').add((weekNumber-1)*7,'d');\r\n const lastDayOfWeek=currentDate.clone().endOf('week');\r\n let ret=[];\r\n while(currentDate.isSameOrBefore(lastDayOfWeek)){\r\n\r\n /*if(currentDate.isSameOrAfter(firstDayOfMonth))\r\n {\r\n ret.push({\r\n type:'date',\r\n date:currentDate.clone(),\r\n day:currentDate.format('DD')\r\n });\r\n }*/\r\n\r\n ret.push({\r\n type:'date',\r\n date:currentDate.clone(),\r\n day:currentDate.format('DD'),\r\n disabled: currentDate.isBefore(firstDayOfMonth) || currentDate.isAfter(lastDayOfMonth)\r\n });\r\n currentDate.add(1,'day');\r\n }\r\n if(this.props.renderTotalResource && _.isFunction(this.props.renderTotalResource)){\r\n ret.push({\r\n type:'total',\r\n render:this.props.renderTotalResource\r\n });\r\n }\r\n return ret;\r\n }\r\n\r\n getMonthPage(){\r\n\r\n const firstDayOfMonth=this.state.workDate.clone().startOf('month');\r\n const lastDayOfMonth=this.state.workDate.clone().endOf('month');\r\n let counter=0;\r\n let currentDate=firstDayOfMonth.clone().startOf('week').subtract(1,'d');\r\n let ret=[];\r\n while(currentDate.isSameOrBefore(lastDayOfMonth)){\r\n currentDate.add(1,'d');\r\n if(currentDate.weekday()===1){\r\n counter++;\r\n ret.push({\r\n pageNum:counter\r\n });\r\n }\r\n }\r\n return ret;\r\n }\r\n\r\n getCurrentPage = () => this.pages.find( p => p.pageNum === this.state.currentPage );\r\n\r\n renderPaginator = () => (\r\n
\r\n \r\n {this.state.currentPage}\r\n \r\n
\r\n )\r\n\r\n goToWeek(week){\r\n this.setState({currentPage:week});\r\n }\r\n\r\n renderResource(resource){\r\n if(this.props.renderResource && _.isFunction(this.props.renderResource)){\r\n return this.props.renderResource(resource);\r\n }\r\n return

{resource.toString()}

\r\n }\r\n\r\n renderCell(resource,date){\r\n if(this.props.renderCell && _.isFunction(this.props.renderCell)){\r\n return this.props.renderCell(resource,date);\r\n }\r\n return

Test

\r\n }\r\n\r\n renderTotalDays(){\r\n if(this.props.renderTotalDays && _.isFunction(this.props.renderTotalDays)){\r\n\r\n return \r\n \r\n {this.getCurrentPage().daysOfWeek.map(p=>\r\n p.type===\"date\"?\r\n {this.props.renderTotalDays(p,this.getCurrentPage().daysOfWeek)}\r\n :{this.props.renderTotalDays(p,this.getCurrentPage().daysOfWeek.filter(s=>s.type==='date' && !s.disabled ))}\r\n )}\r\n \r\n\r\n }\r\n return null;\r\n }\r\n\r\n toogleGroup(group){\r\n if(group){\r\n const groups=this.state.groups.map(g=>{\r\n if(g.id===group.id){\r\n g.expanded=!g.expanded\r\n }\r\n return g;\r\n })\r\n this.setState({groups:groups});\r\n }\r\n }\r\n\r\n render = () => {\r\n if(this.state.currentPage===0 || !this.pages)\r\n return \"\";\r\n return (\r\n \r\n {this.renderPaginator()}\r\n\r\n \r\n \r\n \r\n \r\n {\r\n this.getCurrentPage().daysOfWeek.map(p=>p.type===\"date\"?\r\n :\r\n )\r\n }\r\n \r\n \r\n \r\n\r\n {\r\n !this.props.SAL && this.state.groups.map(group=>{\r\n return (\r\n \r\n \r\n \r\n \r\n {\r\n group.expanded &&\r\n\r\n this.state.resources.filter(r=> _.get(r,group.resourceField)===group.id)\r\n .map(resource=>(\r\n \r\n \r\n {this.getCurrentPage().daysOfWeek.map(p=>\r\n p.type===\"date\"?\r\n \r\n :\r\n )}\r\n \r\n )\r\n )\r\n\r\n\r\n }\r\n \r\n )\r\n })\r\n }\r\n\r\n { this.props.SAL && this.state.resources\r\n .map(resource=>(\r\n \r\n \r\n \r\n {this.getCurrentPage().daysOfWeek.map(p=>\r\n p.type===\"date\"?\r\n \r\n :\r\n )}\r\n \r\n \r\n )\r\n )}\r\n\r\n\r\n {\r\n this.renderTotalDays()\r\n }\r\n\r\n \r\n
{p.date.format(\"dddd DD\")}
\r\n \r\n {group.label}\r\n
{this.renderResource(resource)}{this.renderCell(resource,p,group)}{p.render(resource,this.getCurrentPage().daysOfWeek.filter(s=>s.type==='date' && !s.disabled))}
{this.renderResource(resource)}{this.renderCell(resource,p)}{p.render(resource,this.getCurrentPage().daysOfWeek.filter(s=>s.type==='date' && !s.disabled))}
\r\n\r\n
\r\n )\r\n }\r\n\r\n\r\n}\r\n","import React from \"react\";\r\nimport Card from \"../components/Content/Card\";\r\nimport {\r\n FIELD_TEXT,\r\n FIELD_DATE,\r\n FIELD_SELECT,\r\n} from \"../components/DynamicForm/DynamicFormField\";\r\nimport MonthlyScheduler from \"../components/Schedulers/MonthlyScheduler\";\r\nimport GoogleProfile from \"../components/Login/GoogleProfile\";\r\nimport RxComponent from \"../redux/RxComponent\";\r\n\r\nclass Comp extends React.Component {\r\n fields = [\r\n {\r\n id: \"nome\",\r\n label: \"Nome\",\r\n required: true,\r\n type: FIELD_TEXT,\r\n precision: 20,\r\n },\r\n {\r\n id: \"data\",\r\n label: \"Data\",\r\n required: true,\r\n type: FIELD_DATE,\r\n },\r\n {\r\n id: \"list\",\r\n label: \"List\",\r\n required: true,\r\n type: FIELD_SELECT,\r\n multiple: true,\r\n value: [\r\n {\r\n id: 1,\r\n code: \"pippo\",\r\n description: \"Pippo\",\r\n },\r\n ],\r\n options: [\r\n {\r\n id: 1,\r\n code: \"pippo\",\r\n description: \"Pippo\",\r\n },\r\n {\r\n id: 2,\r\n code: \"pluto\",\r\n description: \"Pluto\",\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n render() {\r\n return (\r\n \r\n

{this.props.t(\"Welcome\")}:
{this.props.Auth.user && this.props.Auth.user.username}

\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport const Home = RxComponent()(Comp);","import React from 'react';\r\nimport _ from 'lodash';\r\nimport { Button } from 'reactstrap';\r\n\r\nexport default class SortIndicator extends React.Component{\r\n\r\n DIRECTION_ASC = 'ASC';\r\n DIRECTION_DESC = 'DESC';\r\n\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n direction:null\r\n } \r\n }\r\n\r\n onSort(){\r\n let nextDirection=this.DIRECTION_ASC;\r\n if(this.state.direction===this.DIRECTION_ASC)\r\n nextDirection=this.DIRECTION_DESC;\r\n if(this.state.direction===this.DIRECTION_DESC)\r\n nextDirection=null;\r\n\r\n this.setState({\r\n direction:nextDirection\r\n },()=>{\r\n if(this.props.onSortChange && _.isFunction(this.props.onSortChange)){\r\n this.props.onSortChange(this.state.direction);\r\n }\r\n });\r\n\r\n }\r\n\r\n render(){\r\n if(!this.state.direction){\r\n return (\r\n \r\n );\r\n }\r\n return(\r\n \r\n );\r\n }\r\n\r\n\r\n}","import React from 'react';\r\nimport _ from 'lodash';\r\nimport SortIndicator from './SortIndicator';\r\nimport { withTranslation } from 'react-i18next';\r\n\r\nclass ColumnHeader extends React.Component {\r\n\r\n constructor(props){\r\n super(props);\r\n this.state={\r\n icon:null,\r\n label:'',\r\n type:'string',\r\n sortable:false,\r\n filterable:false\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps,prevState){\r\n let newState={};\r\n\r\n if(this.state.icon !== this.props.icon){\r\n newState.icon=this.props.icon;\r\n }\r\n if(this.state.label !== this.props.label){\r\n newState.label=this.props.label;\r\n }\r\n if(this.state.type !== this.props.type){\r\n newState.type=this.props.type;\r\n }\r\n if(this.state.sortable !== this.props.sortable){\r\n newState.sortable=this.props.sortable;\r\n }\r\n if(this.state.filterable !== this.props.filterable){\r\n newState.filterable=this.props.filterable;\r\n }\r\n\r\n if(!_.isEmpty(newState))\r\n this.setState(newState);\r\n }\r\n\r\n contentByType = (type,label) => {\r\n switch(type){//add case to manage other types\r\n case 'string':\r\n return {label};\r\n case 'view':\r\n return {label};\r\n default:\r\n return {label};\r\n\r\n }\r\n }\r\n\r\n onSortChange(direction){\r\n if(this.props.onSortChange && _.isFunction(this.props.onSortChange)){\r\n this.props.onSortChange(direction);\r\n }\r\n }\r\n\r\n render(){\r\n let content=this.contentByType(this.state.type,this.props.t(this.state.label));\r\n return (\r\n \r\n {\r\n this.state.icon && this.icon.lenght &&\r\n \r\n }\r\n {content}\r\n {this.state.sortable?:null}\r\n \r\n );\r\n }\r\n\r\n}\r\nexport default withTranslation()(ColumnHeader);\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport { Trans, Translation, withTranslation } from \"react-i18next\";\r\n\r\nclass ColumnData extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n data: \"\",\r\n type: \"string\",\r\n row: {},\r\n modalComponent: () =>

no component

,\r\n modalHeader: () =>

no title

,\r\n actions: [\"view\"],\r\n };\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n /*let newState={};\r\n\r\n if(this.state.data != this.props.data){\r\n newState.data=this.props.data;\r\n }\r\n if(this.state.type != this.props.type){\r\n newState.type=this.props.type;\r\n }\r\n if(this.state.row != this.props.row){\r\n newState.row=this.props.row;\r\n }\r\n\r\n if(!_.isEmpty(newState))\r\n this.setState(newState);*/\r\n }\r\n\r\n componentDidMount() {\r\n this.setState(this.props);\r\n }\r\n\r\n contentByType = (type, row, data) => {\r\n switch (\r\n type //add case to manage other types\r\n ) {\r\n case \"expand\":\r\n return (\r\n this.onExpand(row)}\r\n title={\"Espandi ulteriori dettagli ...\"}\r\n >\r\n {row.expanded ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n case \"custom\":\r\n return this.state.render(_.get(row, data), row, this.state.rowIndex);\r\n case \"actions\":\r\n return (\r\n \r\n {!this.state.actions || this.state.actions.indexOf(\"view\") >= 0 ? (\r\n this.sendShowModal(row, \"view\")}\r\n title={\"Consulta ulteriori dettagli ...\"}\r\n >\r\n \r\n \r\n ...\r\n \r\n \r\n ) : null}\r\n {this.state.actions && this.state.actions.indexOf(\"edit\") >= 0 ? (\r\n this.sendShowModal(row, \"edit\")}\r\n title={\"Modifica i dati ...\"}\r\n >\r\n \r\n \r\n ...\r\n \r\n \r\n ) : null}\r\n {this.state.actions && this.state.actions.indexOf(\"delete\") >= 0 ? (\r\n this.sendShowModal(row, \"delete\")}\r\n title={\"Elimina i dati ...\"}\r\n >\r\n \r\n \r\n ...\r\n \r\n \r\n ) : null}\r\n \r\n );\r\n default:\r\n return {this.props.t(_.get(row, data))};\r\n }\r\n };\r\n\r\n sendShowModal(row, viewModal) {\r\n if (this.props.OnModal && _.isFunction(this.props.OnModal)) {\r\n let header = this.state.modalHeader(row, viewModal);\r\n let paramas = _.cloneDeep(row);\r\n paramas.viewMode = viewModal;\r\n paramas.closeModal = this.state.closeModal;\r\n let component = this.state.modalComponent(paramas);\r\n this.props.OnModal(row, header, component);\r\n }\r\n }\r\n\r\n onExpand(row) {\r\n if (this.props.onExpand && _.isFunction(this.props.onExpand)) {\r\n this.props.onExpand(row);\r\n }\r\n }\r\n\r\n render() {\r\n let content = this.contentByType(\r\n this.state.type,\r\n this.state.row,\r\n this.state.data\r\n );\r\n return (\r\n \r\n {this.state.type === \"actions\" ? (\r\n \r\n {content}\r\n \r\n ) : (\r\n \r\n
\r\n {content}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default withTranslation()(ColumnData);\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport FilterItem, { FILTER_RANGE } from \"./FilterItem\";\r\nimport { Trans } from \"react-i18next\";\r\n\r\nexport default class Filters extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n id: \"filter-id\",\r\n list: [],\r\n filters: {},\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let changed = {};\r\n if (this.state.id !== this.props.tableid) {\r\n changed.id = this.props.tableid;\r\n }\r\n /*if(this.state.list!==this.props.filterlist){\r\n if(!this.props.filterlist)\r\n changed.list=[];\r\n else\r\n changed.list=this.props.filterlist;\r\n }*/\r\n if (!_.isEmpty(changed)) this.setState(changed);\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let changed = {};\r\n if (this.state.id !== this.props.tableid) {\r\n changed.id = this.props.tableid;\r\n }\r\n if (this.props.filterlist && this.state.list !== this.props.filterlist) {\r\n changed.list = this.props.filterlist;\r\n }\r\n if (!_.isEmpty(changed)) this.setState(changed);\r\n }\r\n\r\n onFilterReceived(data, values) {\r\n let newFilters = this.state.filters;\r\n if (!values || !values.length) {\r\n delete newFilters[data];\r\n } else {\r\n newFilters[data] = values;\r\n }\r\n this.setState({\r\n filters: newFilters,\r\n });\r\n }\r\n\r\n sendFilter() {\r\n if (\r\n this.props.onFilterChanged &&\r\n _.isFunction(this.props.onFilterChanged)\r\n ) {\r\n this.props.onFilterChanged(this.state.filters);\r\n }\r\n }\r\n\r\n render() {\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
\r\n
\r\n
\r\n {this.state.list.map((filter) => {\r\n if (filter.type === FILTER_RANGE) {\r\n return (\r\n \r\n \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 \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n );\r\n }\r\n}\r\n","import React from 'react';\r\nimport _ from 'lodash';\r\nimport { Pagination, PaginationItem, PaginationLink } from 'reactstrap';\r\n\r\nexport default class Paginator extends React.Component {\r\n\r\n fromComponent = false;\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n currentPage: 1,\r\n itemsPerPage: 10,\r\n totalRecords: 0,\r\n pages: []\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n let changed = {};\r\n if (this.state.currentPage !== this.props.currentPage) {\r\n changed.currentPage = this.props.currentPage;\r\n }\r\n if (this.props.itemsPerPage && this.state.itemsPerPage !== this.props.itemsPerPage) {\r\n changed.itemsPerPage = this.props.itemsPerPage;\r\n }\r\n if (this.props.totalRecords && this.state.totalRecords !== this.props.totalRecords) {\r\n changed.totalRecords = this.props.totalRecords;\r\n }\r\n if (!_.isEmpty(changed))\r\n this.setState(changed, this.getPages.bind(this));\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let changed = {};\r\n if (this.state.currentPage !== this.props.currentPage && prevProps.currentPage !== this.props.currentPage) {\r\n changed.currentPage = this.props.currentPage;\r\n }\r\n if (this.props.itemsPerPage && this.state.itemsPerPage !== this.props.itemsPerPage && prevProps.itemsPerPage !== this.props.itemsPerPage) {\r\n changed.itemsPerPage = this.props.itemsPerPage;\r\n }\r\n if (this.props.totalRecords && this.state.totalRecords !== this.props.totalRecords && prevProps.totalRecords !== this.props.totalRecords) {\r\n changed.totalRecords = this.props.totalRecords;\r\n }\r\n\r\n if (!_.isEmpty(changed) && !this.fromComponent) {\r\n this.setState(changed, this.getPages.bind(this));\r\n } else if (this.fromComponent) {\r\n this.getPages();\r\n this.fromComponent = false;\r\n }\r\n\r\n }\r\n\r\n getPages() {\r\n if (this.state.currentPage > this.state.totalRecords) {\r\n this.fromComponent = true;\r\n this.setState({\r\n currentPage: this.state.totalRecords\r\n });\r\n return;\r\n }\r\n let addedPage = (this.state.totalRecords % this.state.itemsPerPage) > 0 ? 1 : 0;\r\n let totalPages = parseInt((this.state.totalRecords / this.state.itemsPerPage) + addedPage);\r\n let ret = [\r\n {\r\n skipPage: (this.state.currentPage - 1) * -1,\r\n label: '<<'\r\n },\r\n {\r\n skipPage: -1,\r\n label: '<'\r\n }\r\n ];\r\n\r\n let startIndex = 1;\r\n let endIndex = 5;\r\n let toAdd = null;\r\n if (this.state.currentPage >= 5) {\r\n ret.push({\r\n skipPage: -4,\r\n label: '...'\r\n });\r\n startIndex = this.state.currentPage - 2;\r\n }\r\n if ((totalPages - this.state.currentPage) >= 5) {\r\n toAdd = [{\r\n skipPage: 4,\r\n label: '...'\r\n }];\r\n endIndex = this.state.currentPage >= 4 ? this.state.currentPage + 2 : 5;\r\n } else {\r\n let diff = totalPages - this.state.currentPage;\r\n endIndex = this.state.currentPage + diff;\r\n if(totalPages - 4 !== 0){\r\n startIndex = totalPages - 4;\r\n }\r\n }\r\n if (this.state.currentPage <= 3) {\r\n startIndex = 1;\r\n }\r\n\r\n for (let i = startIndex; i <= endIndex; i++) {\r\n //let abs = i>this.state.currentPage?1:-1;\r\n let step = i - this.state.currentPage;\r\n ret.push({\r\n skipPage: step,\r\n label: `${i}`\r\n });\r\n }\r\n\r\n if (toAdd) {\r\n ret = ret.concat(toAdd);\r\n }\r\n ret = ret.concat([\r\n {\r\n skipPage: 1,\r\n label: '>'\r\n },\r\n {\r\n skipPage: (this.state.currentPage - totalPages) * -1,\r\n label: '>>'\r\n }\r\n ]);\r\n this.setState({\r\n totalPages: totalPages,\r\n pages: ret\r\n });\r\n }\r\n\r\n jumpPage(skipPage) {\r\n if(this.state.currentPage + skipPage > this.state.totalPages || this.state.currentPage + skipPage < 1){\r\n return\r\n }\r\n this.fromComponent = true;\r\n this.setState({\r\n currentPage: this.state.currentPage + skipPage\r\n }, () => {\r\n if (this.props.onPageChanged && _.isFunction(this.props.onPageChanged)) {\r\n this.props.onPageChanged(this.state.currentPage);\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {\r\n this.state.pages.map((page, index) => {\r\n return ( { this.jumpPage(page.skipPage) }}\r\n active={page.label === this.state.currentPage.toString()}\r\n >\r\n \r\n {page.label}\r\n \r\n );\r\n })\r\n }\r\n \r\n );\r\n }\r\n\r\n}","import React from \"react\";\r\nimport { Table, Modal, ModalBody, ModalHeader } from \"reactstrap\";\r\nimport ColumnHeader from \"./ColumnHeader\";\r\nimport ColumnData from \"./ColumnData\";\r\nimport _ from \"lodash\";\r\nimport Filters from \"./Filters\";\r\nimport Paginator from \"./Paginator\";\r\nimport { ITEMS_PER_PAGE } from \"../../constants/Settings\";\r\nimport { Trans, Translation } from \"react-i18next\";\r\n\r\nexport default class Tableserver extends React.PureComponent {\r\n update = false;\r\n sort = [];\r\n selectedFilters = {};\r\n countUpdate = 0;\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n id: this.generateId(),\r\n currentPage: 1,\r\n itemsPerPage: props.itemsPerPage || ITEMS_PER_PAGE,\r\n totalItems: 0,\r\n //updateData: this.defaultUpdate,\r\n columns: [],\r\n rows: [],\r\n filters: [],\r\n modalBody: null,\r\n modalVisible: false,\r\n exportExcel: null,\r\n exportPdf: null,\r\n };\r\n }\r\n\r\n generateId() {\r\n let ts = document.getElementsByTagName(\"table\");\r\n let num = 0;\r\n if (ts.length > 0) {\r\n let max = 0;\r\n for (let i = 0; i < ts.length; i++) {\r\n let id = ts[i].getAttribute(\"id\");\r\n if (id !== null) {\r\n num = _.toNumber(id.replace(\"table-\", \"\"));\r\n if (!_.isNaN(num) && num > max) {\r\n max = num;\r\n }\r\n }\r\n }\r\n return \"table-\" + (max + 1) + \"-\" + new Date().getTime();\r\n }\r\n return \"table-1-\" + new Date().getTime();\r\n }\r\n\r\n defaultUpdate = (pageNum, filter, sort) => {\r\n return Promise.resolve([]);\r\n };\r\n\r\n onSort = (data, direction) => {\r\n let sort = this.sort.filter((s) => s.data !== data);\r\n if (direction) {\r\n sort.push({\r\n data: data,\r\n direction: direction,\r\n });\r\n }\r\n this.sort = sort;\r\n this.updateTable();\r\n };\r\n\r\n onFilter = (filters) => {\r\n this.selectedFilters = filters;\r\n this.updateTable();\r\n };\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n let newState = {};\r\n if (\r\n this.props.currentPage &&\r\n this.props.currentPage !== this.state.currentPage\r\n ) {\r\n newState.currentPage = this.props.currentPage;\r\n this.update = true;\r\n }\r\n if (\r\n this.props.itemsPerPage &&\r\n this.props.itemsPerPage !== this.state.itemsPerPage\r\n ) {\r\n newState.itemsPerPage = this.props.itemsPerPage;\r\n this.update = true;\r\n }\r\n if (this.props.columns && this.props.columns !== this.state.columns) {\r\n newState.columns = this.props.columns;\r\n newState.columnExpandable = this.props.columns.find(\r\n (c) => c.type === \"expand\"\r\n );\r\n this.update = true;\r\n }\r\n /*if (this.props.updateData && this.props.updateData !== this.state.updateData) {\r\n newState.updateData = this.props.updateData;\r\n this.update = true;\r\n }*/\r\n if (this.props.filters && this.props.filters !== this.state.filters) {\r\n newState.filters = this.props.filters;\r\n this.update = true;\r\n }\r\n if (\r\n this.props.totalItems &&\r\n this.props.totalItems !== this.state.totalItems\r\n ) {\r\n newState.totalItems = this.props.totalItems;\r\n this.update = true;\r\n }\r\n if (this.props.exportExcel && _.isFunction(this.props.exportExcel)) {\r\n if (\r\n !this.state.exportExcel ||\r\n this.props.exportExcel.toString() !== this.state.exportExcel.toString()\r\n ) {\r\n newState.exportExcel = this.props.exportExcel;\r\n this.update = true;\r\n }\r\n } else {\r\n newState.exportExcel = null;\r\n if (this.state.exportExcel) this.update = true;\r\n }\r\n\r\n if (this.props.exportPdf && _.isFunction(this.props.exportPdf)) {\r\n if (\r\n !this.state.exportPdf ||\r\n this.props.exportPdf.toString() !== this.state.exportPdf.toString()\r\n ) {\r\n newState.exportPdf = this.props.exportPdf;\r\n this.update = true;\r\n }\r\n } else {\r\n newState.exportPdf = null;\r\n if (this.state.exportPdf) this.update = true;\r\n }\r\n if (this.update) {\r\n this.update = false;\r\n this.setState(newState, () => {\r\n this.updateTable();\r\n //this.setState(newState,this.updateTable.bind(this));\r\n });\r\n }\r\n }\r\n\r\n waitUpdate = _.debounce(this.updateTable, 300);\r\n\r\n updateTable() {\r\n this.countUpdate++;\r\n this.props\r\n .updateData(\r\n this.state.currentPage,\r\n this.selectedFilters,\r\n this.sort,\r\n this.state.itemsPerPage\r\n )\r\n .then((tableData) => {\r\n let changes = {\r\n totalItems: tableData.totalItems,\r\n rows: tableData.rows.map((p, index) => {\r\n p.row_id = `${this.state.id}-tr-${index}-${this.countUpdate}`;\r\n return p;\r\n }),\r\n };\r\n this.setState(changes);\r\n });\r\n }\r\n\r\n OnModal(row, headerComp, bodyComponent) {\r\n this.setState({\r\n modalHeader: headerComp,\r\n modalBody: bodyComponent,\r\n modalVisible: true,\r\n });\r\n }\r\n\r\n OnExpand(row) {\r\n const rowsNew = this.state.rows.map((r) => {\r\n if (r.row_id === row.row_id) {\r\n r.expanded = !r.expanded;\r\n }\r\n return r;\r\n });\r\n this.setState({\r\n rows: rowsNew,\r\n });\r\n }\r\n\r\n componentDidMount() {\r\n //this.updateTable();\r\n this.setState({});\r\n }\r\n\r\n closeModal() {\r\n this.setState(\r\n {\r\n modalVisible: false,\r\n },\r\n () => {\r\n this.updateTable();\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.state.filters && this.state.filters.length ? (\r\n \r\n ) : null}\r\n\r\n \r\n \r\n \r\n {this.state.columns.map((column) => {\r\n return (\r\n \r\n {\r\n t =>\r\n {\r\n this.onSort(column.data, direction);\r\n }}\r\n />\r\n }\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n {this.state.rows &&\r\n this.state.rows.map((row, index) => {\r\n return (\r\n \r\n \r\n {this.state.columns.map((column) => {\r\n return (\r\n \r\n {\r\n t =>\r\n \r\n }\r\n \r\n );\r\n })}\r\n \r\n {this.state.columnExpandable && row.expanded && (\r\n \r\n \r\n {this.state.columnExpandable.render(row)}\r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n \r\n
\r\n
\r\n
\r\n {_.isFunction(this.state.exportExcel) && (\r\n \r\n \r\n \r\n )}\r\n {_.isFunction(this.state.exportPdf) && (\r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n {!this.state.itemsPerPage || this.props.disablePaginate ? null : (\r\n \r\n
\r\n

: {this.state.totalItems}

\r\n
\r\n
\r\n {\r\n this.update = true;\r\n this.setState({\r\n currentPage: newPage,\r\n });\r\n }}\r\n />\r\n
\r\n
\r\n )}\r\n
\r\n \r\n \r\n {this.state.modalHeader}\r\n \r\n {this.state.modalBody}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Tableserver from \"../components/TableServer/Tableserver\";\r\n\r\nexport class Users extends React.Component {\r\n columns = [\r\n {\r\n label: \"Nome\",\r\n data: \"nome\",\r\n type: \"string\"\r\n },\r\n {\r\n label: \"Cognome\",\r\n data: \"cognome\",\r\n type: \"string\"\r\n }\r\n ];\r\n\r\n getData = (pageNum, filter, sort) => {\r\n return Promise.resolve({\r\n totalItems: 2,\r\n rows: [\r\n {\r\n nome: \"Calogero\",\r\n cognome: \"Miraglia\"\r\n },\r\n {\r\n nome: \"Tonino\",\r\n cognome: \"Belli\"\r\n }\r\n ]\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n \r\n

Users Page

\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport DynamicFormField, {\r\n FIELD_DATE,\r\n FIELD_BOOLEAN,\r\n FIELD_MAPS,\r\n} from \"./DynamicFormField\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\nimport { Translation } from \"react-i18next\";\r\n\r\nexport default class DynamicForm extends React.PureComponent {\r\n state = {\r\n fields: [],\r\n };\r\n\r\n componentDidMount() {\r\n this.setState({\r\n fields: this.props.fields,\r\n });\r\n }\r\n\r\n /*componentDidUpdate(){\r\n this.setState({\r\n fields:this.props.fields\r\n });\r\n }*/\r\n\r\n _onSubmit = (e) => {\r\n e.preventDefault();\r\n if (this.props.onSubmit && _.isFunction(this.props.onSubmit)) {\r\n this.props.onSubmit(this._validate());\r\n }\r\n };\r\n\r\n _validate = () => {\r\n return this.state.fields\r\n .filter((f) => !f.hideMe || !f.hideMe(this.state.fields))\r\n .map((f) => {\r\n let ret = {\r\n ...f,\r\n error: false,\r\n validationsMessage: [],\r\n };\r\n\r\n if (f.required) {\r\n if (f.type === FIELD_DATE && !moment(f.value).isValid()) {\r\n ret.error = true;\r\n ret.validationsMessage.push(\r\n \"Il campo \" + f.label + \" è obbigatorio\"\r\n );\r\n } else if (f.type === FIELD_BOOLEAN) {\r\n if (_.isNull(f.value) || _.isUndefined(f.value)) {\r\n ret.error = true;\r\n ret.validationsMessage.push(\r\n \"Il campo \" + f.label + \" è obbigatorio\"\r\n );\r\n }\r\n } else if (f.type === FIELD_MAPS) {\r\n if (\r\n _.isNull(f.value) ||\r\n _.isUndefined(f.value) ||\r\n _.isNull(f.value.latitudine) ||\r\n _.isUndefined(f.value.latitudine) ||\r\n f.value.latitudine < 0 ||\r\n _.isNull(f.value.longitudine) ||\r\n _.isUndefined(f.value.longitudine) ||\r\n f.value.longitudine < 0\r\n ) {\r\n ret.error = true;\r\n ret.validationsMessage.push(\r\n \"Latitudine e Longitudine sono campi obbligatori\"\r\n );\r\n }\r\n } else if (!f.value || !f.value.toString().length) {\r\n ret.error = true;\r\n ret.validationsMessage.push(\r\n \"Il campo \" + f.label + \" è obbigatorio\"\r\n );\r\n }\r\n }\r\n if (\r\n f.precision &&\r\n f.precision > 0 &&\r\n f.value &&\r\n f.value.length > f.precision\r\n ) {\r\n ret.error = true;\r\n ret.validationsMessage.push(\r\n \"Il campo \" +\r\n f.label +\r\n \" deve essere lungo massimo \" +\r\n f.precision +\r\n \" caratteri\"\r\n );\r\n }\r\n\r\n return ret;\r\n });\r\n };\r\n\r\n _setValToState = (field, newVal) => {\r\n let newState = this.state.fields.map((f) => {\r\n if (f.id === field.id) f.value = newVal;\r\n\r\n return f;\r\n });\r\n this.setState({\r\n fields: newState,\r\n });\r\n };\r\n\r\n render() {\r\n return (\r\n
\r\n {this.state.fields &&\r\n this.state.fields\r\n .filter((f) => !f.hideMe || !f.hideMe(this.state.fields))\r\n .map((f) => (\r\n this._setValToState(f, newVal)}\r\n />\r\n ))}\r\n {!this.props.readOnly && (\r\n
\r\n \r\n {(t) => (\r\n \r\n \r\n {t(\"Save\")}\r\n \r\n )}\r\n \r\n
\r\n )}\r\n \r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport {\r\n FIELD_TEXT,\r\n FIELD_INTEGER,\r\n FIELD_DECIMAL,\r\n FIELD_DATE,\r\n FIELD_SELECT,\r\n FIELD_BOOLEAN,\r\n FIELD_SELECT_MULTIPLE,\r\n FIELD_FILE,\r\n FIELD_MAPS,\r\n FIELD_PASSWORD,\r\n} from \"../DynamicForm/DynamicFormField\";\r\nimport DynamicForm from \"../DynamicForm/DynamicForm\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment-timezone\";\r\nimport { onSuccess, onError } from \"../../redux/Shared/Shared.actions\";\r\nimport { rxStore } from \"../../App\";\r\nimport { Trans } from \"react-i18next\";\r\n\r\nexport default class CrudNetForm extends React.PureComponent {\r\n state = {\r\n loading: true,\r\n fields: null,\r\n externalFields: null,\r\n service: new BaseServiceTaal(),\r\n };\r\n\r\n tableName = \"\";\r\n\r\n componentDidMount() {\r\n this._init();\r\n }\r\n\r\n componentDidUpdate() {\r\n if (\r\n this.props.viewMode !== this.state.viewMode ||\r\n JSON.stringify(this.props.defaultValues) !==\r\n JSON.stringify(this.state.defaultValues)\r\n )\r\n this._init();\r\n }\r\n\r\n _init() {\r\n this.setState(\r\n {\r\n service: this.props.service,\r\n loading: true,\r\n viewMode: this.props.viewMode,\r\n externalFields: this.props.externalFields,\r\n defaultValues: this.props.defaultValues,\r\n },\r\n () => {\r\n this.getCurrentTableName()\r\n .then((tableName) => {\r\n this.tableName = tableName;\r\n console.log(\r\n \"initializing crud form of \" +\r\n tableName +\r\n \" in \" +\r\n this.state.viewMode\r\n );\r\n return this._getFormFields();\r\n })\r\n .then((formFields) => this._loadOptions(formFields))\r\n .then((formFields) => this._selectValueDefault(formFields))\r\n .then((formFields) => this._selectValueEdit(formFields))\r\n .then((formFields) => {\r\n this.setState({\r\n fields: formFields,\r\n loading: false,\r\n });\r\n });\r\n }\r\n );\r\n }\r\n\r\n _getFormFields() {\r\n let fieldToHide = null;\r\n if (this.props.hideField) {\r\n fieldToHide = this.props.hideField[this.props.viewMode];\r\n }\r\n return this.state.service.tableDefinition(fieldToHide).then((res) => {\r\n let formField = [];\r\n if (!res.data.error) {\r\n formField = res.data.result.columns\r\n .filter(\r\n (col) =>\r\n col.type.indexOf(\"Boolean\") >= 0 ||\r\n col.type.indexOf(\"String\") >= 0 ||\r\n col.type.indexOf(\"Int\") >= 0 ||\r\n col.type.indexOf(\"Decimal\") >= 0 ||\r\n col.type.indexOf(\"Date\") >= 0 ||\r\n col.type.indexOf(\"Byte\") >= 0 ||\r\n col.type.indexOf(\"Maps\") >= 0 ||\r\n col.name.indexOf(\"fk\") >= 0 ||\r\n col.type.indexOf(\"Password\") >= 0\r\n )\r\n .map((col) => {\r\n let type = FIELD_TEXT;\r\n if (col.name.indexOf(\"fk\") >= 0) {\r\n type = FIELD_SELECT;\r\n } else if (col.type.indexOf(\"Int\") >= 0) {\r\n type = FIELD_INTEGER;\r\n } else if (col.type.indexOf(\"Boolean\") >= 0) {\r\n type = FIELD_BOOLEAN;\r\n } else if (col.type.indexOf(\"Decimal\") >= 0) {\r\n type = FIELD_DECIMAL;\r\n } else if (col.type.indexOf(\"Date\") >= 0) {\r\n type = FIELD_DATE;\r\n } else if (col.type.indexOf(\"Byte\") >= 0) {\r\n type = FIELD_FILE;\r\n } else if (col.type === \"ICollection\") {\r\n type = FIELD_SELECT_MULTIPLE;\r\n } else if (col.type === \"Maps\") {\r\n type = FIELD_MAPS;\r\n } else if (col.type === \"Password\") {\r\n type = FIELD_PASSWORD;\r\n }\r\n\r\n return {\r\n type: type,\r\n id: col.name,\r\n realId: col.realName,\r\n customName: col.customName,\r\n label: this.camelCaseToString(col.name),\r\n required: col.required,\r\n precision: col.precision,\r\n readOnly: this.props.viewMode === \"view\",\r\n multiple: col.type.indexOf(\"ICollection\") >= 0,\r\n hideMe: col.hideMe\r\n ? (fd) =>\r\n col.hideMe(\r\n this.stateToObject(fd),\r\n fd,\r\n this.state.externalFields\r\n )\r\n : null,\r\n };\r\n })\r\n .filter((c) => this.tableName !== this.getTableNameFromField(c.id));\r\n }\r\n return _.orderBy(formField, \"required\", \"desc\");\r\n });\r\n }\r\n\r\n _loadLookup = (tableName) => {\r\n let filter = null;\r\n\r\n if (this.props.lookupFilters && this.props.lookupFilters[tableName]) {\r\n filter = this.state.service.transformFilterToServer(\r\n this.props.lookupFilters[tableName]\r\n );\r\n }\r\n return this.state.service\r\n .getRepo()\r\n .then((repo) => repo.search(0, -1, filter, null, tableName))\r\n .then((res) => res.data.result);\r\n };\r\n\r\n _loadOptions = async (formFields) => {\r\n for (let i = 0; i < formFields.length; i++) {\r\n if (\r\n formFields[i].type === FIELD_SELECT ||\r\n formFields[i].type === FIELD_SELECT_MULTIPLE\r\n ) {\r\n formFields[i].options = await this._loadLookup(\r\n this.getTableNameFromField(formFields[i].realId || formFields[i].id)\r\n );\r\n formFields[i].displayValue = null;\r\n if (this.props.refFieldMap) {\r\n formFields[i].displayValue = this.props.refFieldMap[formFields[i].id];\r\n }\r\n if (_.isFunction(this.state.service.getRefFieldMap)) {\r\n formFields[i].displayValue = this.state.service.getRefFieldMap()[\r\n formFields[i].id\r\n ];\r\n }\r\n }\r\n }\r\n return formFields;\r\n };\r\n\r\n _selectValueEdit = (formFields) => {\r\n if (this.props.viewMode === \"edit\" || this.props.viewMode === \"view\") {\r\n return this.state.service\r\n .getById(this.props[\"id\" + this.tableName])\r\n .then((res) => {\r\n if (!res.data.error) {\r\n const selected = res.data.result;\r\n const formFieldsWithVal = formFields.map((field) => {\r\n if (field.type === FIELD_SELECT) {\r\n field.value = field.options.filter((op) => {\r\n return (\r\n op[\r\n \"id\" +\r\n this.getTableNameFromField(field.realId || field.id)\r\n ] === selected[field.id]\r\n );\r\n });\r\n } else if (field.type === FIELD_DATE) {\r\n const mD = moment(selected[field.id]);\r\n if (mD.isValid()) field.value = mD.toDate();\r\n } else {\r\n field.value = selected[field.realId || field.id];\r\n }\r\n\r\n return field;\r\n });\r\n\r\n return formFieldsWithVal;\r\n }\r\n });\r\n }\r\n return Promise.resolve(formFields);\r\n };\r\n\r\n _selectValueDefault = (formFields) => {\r\n if (\r\n this.props.viewMode === \"insert\" &&\r\n _.isObject(this.state.defaultValues)\r\n ) {\r\n let formFieldsWithVal = [...formFields];\r\n Object.keys(this.state.defaultValues).forEach((key) => {\r\n formFieldsWithVal = formFieldsWithVal.map((field) => {\r\n if (field.id === key) {\r\n if (field.type === FIELD_SELECT) {\r\n field.value = field.options.filter((op) => {\r\n return (\r\n op[\r\n \"id\" + this.getTableNameFromField(field.realId || field.id)\r\n ] === this.state.defaultValues[key]\r\n );\r\n });\r\n } else {\r\n field.value = this.state.defaultValues[key];\r\n }\r\n }\r\n return field;\r\n });\r\n });\r\n return formFieldsWithVal;\r\n }\r\n return Promise.resolve(formFields);\r\n };\r\n\r\n camelCaseToString(s) {\r\n return _.capitalize(s.split(/(?=[A-Z])/).join(\" \"));\r\n }\r\n\r\n getTableNameFromField(field) {\r\n let f = field.replace(\"fk\", \"\");\r\n if (f.indexOf(\"id\") === 0 || f.indexOf(\"Id\") === 0) {\r\n f = f.replace(\"id\", \"\").replace(\"Id\", \"\");\r\n }\r\n return f[0].toUpperCase() + f.slice(1);\r\n }\r\n\r\n getCurrentTableName = () =>\r\n this.state.service.getRepo().then((repo) => repo.getTable());\r\n\r\n onSubmit = (formData) => {\r\n let promise = null;\r\n if (this.props.onSubmit && _.isFunction(this.props.onSubmit)) {\r\n this.validateLookups(formData)\r\n .then(() => {\r\n //this.closeMe();\r\n return this.props.onSubmit(\r\n this.stateToObject(formData),\r\n this.props.viewMode,\r\n this.closeMe.bind(this)\r\n );\r\n })\r\n .catch((ex) => {\r\n rxStore.dispatch(onError(ex));\r\n });\r\n return;\r\n } else if (this.props.viewMode === \"insert\") {\r\n promise = this.validateLookups(formData).then(() =>\r\n this.state.service.create(this.stateToObject(formData))\r\n );\r\n } else if (this.props.viewMode === \"edit\") {\r\n promise = this.validateLookups(formData).then(() =>\r\n this.state.service.edit(this.stateToObject(formData))\r\n );\r\n } else {\r\n promise = this.state.service.remove(this.stateToObject(formData));\r\n }\r\n promise\r\n .then((resp) => {\r\n rxStore.dispatch(onSuccess(\"SuccessedOperation\"));\r\n this.closeMe();\r\n })\r\n .catch((ex) => {\r\n rxStore.dispatch(onError(ex));\r\n });\r\n };\r\n\r\n validateLookups(formData) {\r\n return new Promise((resolve, reject) => {\r\n if (this.props.viewMode === \"delete\") {\r\n resolve();\r\n } else {\r\n let errors = formData\r\n .filter((fd) => fd.error)\r\n .map((fd) => [...fd.validationsMessage]);\r\n if (errors.length) {\r\n reject(\r\n \r\n
Validation errors
\r\n
    \r\n {errors.map((error, index) => (\r\n
  • \r\n {error[0]}\r\n
  • \r\n ))}\r\n
\r\n
\r\n );\r\n }\r\n resolve();\r\n }\r\n });\r\n }\r\n\r\n stateToObject(formData) {\r\n let ret = {};\r\n\r\n if (this.props.viewMode === \"delete\") {\r\n ret[\"id\" + this.tableName] = this.props[\"id\" + this.tableName];\r\n return ret;\r\n }\r\n\r\n if (this.props.viewMode === \"edit\")\r\n ret[\"id\" + this.tableName] = this.props[\"id\" + this.tableName];\r\n\r\n formData.forEach((fd) => {\r\n if (fd.type === FIELD_DATE) {\r\n if (moment(fd.value).isValid())\r\n ret[fd.id] = moment(fd.value).format(\"YYYY-MM-DDTHH:mm:ssZ\");\r\n } else if (fd.type === FIELD_SELECT) {\r\n const fieldName = \"id\" + this.getTableNameFromField(fd.realId || fd.id);\r\n if (fd.value && fd.value.length) {\r\n ret[fd.id] = fd.value.map((op) => op[fieldName])[0];\r\n }\r\n } else if (fd.type === FIELD_SELECT_MULTIPLE) {\r\n const fieldName = \"id\" + this.getTableNameFromField(fd.realId || fd.id);\r\n if (fd.value && fd.value.length) {\r\n let list = \"\";\r\n fd.value.forEach((el) => {\r\n let str =\r\n el === fd.value[fd.value.length - 1]\r\n ? el[fieldName]\r\n : el[fieldName] + \",\";\r\n list = list + str;\r\n });\r\n ret[fd.id] = list;\r\n }\r\n } else if (fd.type === FIELD_INTEGER) {\r\n if (fd.value) ret[fd.id] = parseInt(fd.value);\r\n } else if (fd.type === FIELD_DECIMAL) {\r\n if (fd.value) ret[fd.id] = parseFloat(fd.value);\r\n } else if (fd.type === FIELD_FILE) {\r\n ret[fd.id] = fd.value;\r\n } else if (fd.type === FIELD_MAPS) {\r\n if(fd.value) {\r\n fd.value.latitudine = parseFloat(fd.value.latitudine);\r\n fd.value.longitudine = parseFloat(fd.value.longitudine);\r\n ret[fd.id] = fd.value;\r\n }\r\n } else {\r\n ret[fd.id] = fd.value;\r\n }\r\n });\r\n return ret;\r\n }\r\n\r\n closeMe() {\r\n if (this.props.closeModal && _.isFunction(this.props.closeModal)) {\r\n this.props.closeModal();\r\n }\r\n }\r\n\r\n deleteContent() {\r\n return (\r\n \r\n \r\n
\r\n this.onSubmit(this.state.fields)}\r\n >\r\n \r\n \r\n \r\n {\r\n //\r\n }\r\n
\r\n
\r\n );\r\n }\r\n\r\n render() {\r\n if (this.state.loading)\r\n return (\r\n

\r\n \r\n ...\r\n

\r\n );\r\n\r\n if (this.props.viewMode === \"delete\") return this.deleteContent();\r\n return (\r\n this.state.fields && (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n}\r\n","import React from \"react\";\r\nimport Tableserver from \"../TableServer/Tableserver\";\r\nimport CrudNetForm from \"./CrudNetForm\";\r\nimport _ from \"lodash\";\r\nimport { Button, Modal, ModalHeader, ModalBody } from \"reactstrap\";\r\nimport BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport { Trans } from \"react-i18next\";\r\n\r\nexport default class CrudNetTable extends React.PureComponent {\r\n state = {\r\n loading: true,\r\n columns: [],\r\n fiters: [],\r\n service: new BaseServiceTaal(),\r\n showModal: false,\r\n };\r\n\r\n componentDidMount() {\r\n let col = [];\r\n if (this.props.columns && _.isArray(this.props.columns)) {\r\n col = [...this.props.columns];\r\n if (!this.props.actions || this.props.actions.length)\r\n col.push({\r\n label: \"Azioni\",\r\n type: \"actions\",\r\n actions: this.props.actions || [\"edit\", \"delete\"],\r\n modalHeader: (row, viewModal) => {\r\n let title = `Modifica ${this.props.title}`;\r\n if (viewModal === \"delete\") {\r\n title = `Rimuovi ${this.props.title}`;\r\n }\r\n return {title};\r\n },\r\n modalComponent: (params) => this.getCrud(params.viewMode, params),\r\n });\r\n }\r\n this.setState({\r\n columns: col,\r\n filters: this.props.filters,\r\n service: this.props.service,\r\n loading: false,\r\n prevColProps: this.props.columns,\r\n });\r\n }\r\n\r\n componentDidUpdate() {\r\n if (this.props.columns && this.props.columns !== this.state.prevColProps) {\r\n let col = [];\r\n if (this.props.columns && _.isArray(this.props.columns)) {\r\n col = [\r\n ...this.props.columns,\r\n {\r\n label: \"Azioni\",\r\n type: \"actions\",\r\n actions: this.props.actions || [\"edit\", \"delete\"],\r\n modalHeader: (row, viewModal) => {\r\n let title = `Modifica ${this.props.title}`;\r\n if (viewModal === \"delete\") {\r\n title = `Rimuovi ${this.props.title}`;\r\n }\r\n return {title};\r\n },\r\n modalComponent: (params) => this.getCrud(params.viewMode, params),\r\n },\r\n ];\r\n }\r\n this.setState({\r\n columns: col,\r\n fiters: this.props.fiters,\r\n service: this.props.service,\r\n prevColProps: this.props.columns,\r\n });\r\n }\r\n }\r\n\r\n getData = (pageNum, filter, sort, itemsPerPage) => {\r\n const df = !this.props.defaultFilters ? {} : this.props.defaultFilters;\r\n const ff = { ...df, ...filter };\r\n\r\n if (_.isFunction(this.props.getData)) {\r\n return this.props\r\n .getData(pageNum, itemsPerPage, ff, sort)\r\n .then((records) => {\r\n return {\r\n totalItems: records.data.rowCount,\r\n rows: records.data.result,\r\n };\r\n });\r\n }\r\n return this.state.service\r\n .paginate(pageNum, itemsPerPage, ff, sort)\r\n .then((records) => {\r\n return {\r\n totalItems: records.data.rowCount,\r\n rows: records.data.result,\r\n };\r\n });\r\n };\r\n\r\n getCrud(viewMode, params) {\r\n if (this.props.customComponent) {\r\n return React.cloneElement(this.props.customComponent, {\r\n ...params,\r\n viewMode: viewMode,\r\n service: this.state.service,\r\n refFieldMap: this.props.refFieldMap,\r\n onSubmit: this.props.onSubmit,\r\n });\r\n //const CUSTOMCOMP=this.props.customComponent();\r\n //return \r\n }\r\n if (this.props.children) {\r\n return React.cloneElement(this.props.children, {\r\n ...params,\r\n viewMode: viewMode,\r\n service: this.state.service,\r\n refFieldMap: this.props.refFieldMap,\r\n onSubmit: this.props.onSubmit,\r\n });\r\n }\r\n return (\r\n \r\n );\r\n }\r\n\r\n closeModal() {\r\n this.setState(\r\n {\r\n showModal: false,\r\n },\r\n () => {\r\n this.refs.table.updateTable();\r\n }\r\n );\r\n }\r\n\r\n refreshTable() {\r\n this.refs.table.updateTable();\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.customHeader ? (\r\n this.props.customHeader(() => this.setState({ showModal: true }))\r\n ) : (\r\n

\r\n {this.props.title}\r\n this.setState({ showModal: true })}\r\n >\r\n \r\n \r\n

\r\n )}\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n {this.props.title}\r\n \r\n \r\n {this.getCrud(\"insert\", { closeModal: this.closeModal.bind(this) })}\r\n \r\n {/*\r\n \r\n \r\n \r\n */}\r\n \r\n
\r\n );\r\n }\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class LookupsMockRepo extends MockRepo {\r\n getList(...p) {}\r\n\r\n getAll() {\r\n return new Promise((resolve, reject) => {\r\n let lookupsMockList = [\r\n {\r\n descrizione: \"StatoAssegnazione\",\r\n value: 1,\r\n },\r\n ];\r\n resolve(lookupsMockList);\r\n });\r\n }\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class LookupsHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Lookups\";\r\n }\r\n\r\n getAll() {\r\n return new Promise((resolve, reject) => {\r\n let lookupsMockList = [\r\n {\r\n descrizione: \"StatoAssegnazione\",\r\n value: 1,\r\n },\r\n {\r\n descrizione: \"StatoPrenotazione\",\r\n value: 2,\r\n },\r\n {\r\n descrizione: \"TipologiaArea\",\r\n value: 3,\r\n },\r\n {\r\n descrizione: \"TipologiaDocumento\",\r\n value: 4,\r\n },\r\n {\r\n descrizione: \"TipologiaPrenotazione\",\r\n value: 5,\r\n },\r\n {\r\n descrizione: \"TipologiaProfilo\",\r\n value: 6,\r\n },\r\n {\r\n descrizione: \"TipologiaVarco\",\r\n value: 7,\r\n },\r\n {\r\n descrizione: \"TipologiaVeicolo\",\r\n value: 8,\r\n },\r\n {\r\n descrizione: \"Comune\",\r\n value: 9,\r\n },\r\n {\r\n descrizione: \"Lingua\",\r\n value: 10,\r\n },\r\n {\r\n descrizione: \"RisorsaLogica\",\r\n value: 10,\r\n },\r\n {\r\n descrizione: \"RelTipoDurataFasciaOraria\",\r\n value: 11,\r\n },\r\n {\r\n descrizione: \"RelTipoPrenotazioneTipoDurata\",\r\n value: 12,\r\n },\r\n {\r\n descrizione: \"RelTipoAreaTipoPrenotazione\",\r\n value: 13,\r\n },\r\n ];\r\n resolve(lookupsMockList);\r\n });\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport LookupsMockRepo from \"./repositories/Lookups.mock\";\r\nimport LookupsHttpRepo from \"./repositories/Lookups.http\";\r\n\r\nexport default class LookupsRepo extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Lookups repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (LookupsRepo._localInstance == null) {\r\n LookupsRepo._localInstance = new LookupsMockRepo();\r\n }\r\n return LookupsRepo._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (LookupsRepo._serviceInstance == null) {\r\n LookupsRepo._serviceInstance = new LookupsHttpRepo();\r\n }\r\n return LookupsRepo._serviceInstance;\r\n }\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class StatoAssegnazioneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class StatoAssegnazioneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"StatoAssegnazione\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport StatoAssegnazioneMockRepo from \"./repositories/StatoAssegnazione.mock\";\r\nimport StatoAssegnazioneHttpRepo from \"./repositories/StatoAssegnazione.http\";\r\n\r\nexport default class StatoAssegnazione extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"StatoAssegnazione repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (StatoAssegnazione._localInstance == null) {\r\n StatoAssegnazione._localInstance = new StatoAssegnazioneMockRepo();\r\n }\r\n return StatoAssegnazione._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (StatoAssegnazione._serviceInstance == null) {\r\n StatoAssegnazione._serviceInstance = new StatoAssegnazioneHttpRepo();\r\n }\r\n return StatoAssegnazione._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport StatoAssegnazione from \"./StatoAssegnazione.repo\";\r\n\r\nexport default class StatoAssegnazioneService extends BaseServiceTaal {\r\n getRepo = () => StatoAssegnazione.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class StatoPrenotazioneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class StatoPrenotazioneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"StatoPrenotazione\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport StatoPrenotazioneMockRepo from \"./repositories/StatoPrenotazione.mock\";\r\nimport StatoPrenotazioneHttpRepo from \"./repositories/StatoPrenotazione.http\";\r\n\r\nexport default class StatoPrenotazione extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"StatoPrenotazione repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (StatoPrenotazione._localInstance == null) {\r\n StatoPrenotazione._localInstance = new StatoPrenotazioneMockRepo();\r\n }\r\n return StatoPrenotazione._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (StatoPrenotazione._serviceInstance == null) {\r\n StatoPrenotazione._serviceInstance = new StatoPrenotazioneHttpRepo();\r\n }\r\n return StatoPrenotazione._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport StatoPrenotazione from \"./StatoPrenotazione.repo\";\r\n\r\nexport default class StatoPrenotazioneService extends BaseServiceTaal {\r\n getRepo = () => StatoPrenotazione.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaAreaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class TipologiaAreaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaArea\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaAreaMockRepo from \"./repositories/TipologiaArea.mock\";\r\nimport TipologiaAreaHttpRepo from \"./repositories/TipologiaArea.http\";\r\n\r\nexport default class TipologiaArea extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaArea repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaArea._localInstance == null) {\r\n TipologiaArea._localInstance = new TipologiaAreaMockRepo();\r\n }\r\n return TipologiaArea._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaArea._serviceInstance == null) {\r\n TipologiaArea._serviceInstance = new TipologiaAreaHttpRepo();\r\n }\r\n return TipologiaArea._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaArea from \"./TipologiaArea.repo\";\r\n\r\nexport default class TipologiaAreaService extends BaseServiceTaal {\r\n getRepo = () => TipologiaArea.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaDocumentoMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_ALL_REGISTER = \"generic/search3/register/tipologiadocumento\";\r\nexport default class TipologiaDocumentoHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaDocumento\";\r\n }\r\n\r\n getAllRegister() {\r\n return this.API.post(GET_ALL_REGISTER);\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaDocumentoMockRepo from \"./repositories/TipologiaDocumento.mock\";\r\nimport TipologiaDocumentoHttpRepo from \"./repositories/TipologiaDocumento.http\";\r\n\r\nexport default class TipologiaDocumento extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaDocumento repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaDocumento._localInstance == null) {\r\n TipologiaDocumento._localInstance = new TipologiaDocumentoMockRepo();\r\n }\r\n return TipologiaDocumento._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaDocumento._serviceInstance == null) {\r\n TipologiaDocumento._serviceInstance = new TipologiaDocumentoHttpRepo();\r\n }\r\n return TipologiaDocumento._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaDocumento from \"./TipologiaDocumento.repo\";\r\n\r\nexport default class TipologiaDocumentoService extends BaseServiceTaal {\r\n getRepo = () => TipologiaDocumento.getInstanceTaal();\r\n getAllNewApi = () => this.getRepo().then((repo) => repo.getAllRegister());\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaPrenotazioneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_TIPO_PRENOTAZIONE =\r\n \"generic/search3/prenotazione/tipologiaprenotazione\";\r\nexport default class TipologiaPrenotazioneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaPrenotazione\";\r\n }\r\n\r\n getTipologiaPrenotazioneNewApi(idList) {\r\n return this.API.post(GET_TIPO_PRENOTAZIONE, {\r\n idList: idList,\r\n });\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaPrenotazioneMockRepo from \"./repositories/TipologiaPrenotazione.mock\";\r\nimport TipologiaPrenotazioneHttpRepo from \"./repositories/TipologiaPrenotazione.http\";\r\n\r\nexport default class TipologiaPrenotazione extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaPrenotazione repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaPrenotazione._localInstance == null) {\r\n TipologiaPrenotazione._localInstance = new TipologiaPrenotazioneMockRepo();\r\n }\r\n return TipologiaPrenotazione._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaPrenotazione._serviceInstance == null) {\r\n TipologiaPrenotazione._serviceInstance = new TipologiaPrenotazioneHttpRepo();\r\n }\r\n return TipologiaPrenotazione._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaPrenotazione from \"./TipologiaPrenotazione.repo\";\r\n\r\nexport default class TipologiaPrenotazioneService extends BaseServiceTaal {\r\n getRepo = () => TipologiaPrenotazione.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\r\n \"RelTipoPrenotazioneTipoDurata_List.TipologiaDurata.RelTipoDurataFasciaOraria_List.FasciaOraria\",\r\n ]\r\n )\r\n );\r\n\r\n searchTipologiaPrenotazione = (formField) =>\r\n this.getRepo().then((repo) =>\r\n repo.exec(\"fn_GetTipoPrenotazioniDurata\", formField)\r\n );\r\n\r\n getTipologiaPrenotazioneNewApi = (idList) =>\r\n this.getRepo().then((repo) => repo.getTipologiaPrenotazioneNewApi(idList));\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaProfiloMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class TipologiaProfiloHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaProfilo\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaProfiloMockRepo from \"./repositories/TipologiaProfilo.mock\";\r\nimport TipologiaProfiloHttpRepo from \"./repositories/TipologiaProfilo.http\";\r\n\r\nexport default class TipologiaProfilo extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaProfilo repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaProfilo._localInstance == null) {\r\n TipologiaProfilo._localInstance = new TipologiaProfiloMockRepo();\r\n }\r\n return TipologiaProfilo._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaProfilo._serviceInstance == null) {\r\n TipologiaProfilo._serviceInstance = new TipologiaProfiloHttpRepo();\r\n }\r\n return TipologiaProfilo._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaProfilo from \"./TipologiaProfilo.repo\";\r\n\r\nexport default class TipologiaProfiloService extends BaseServiceTaal {\r\n getRepo = () => TipologiaProfilo.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaVarcoMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class TipologiaVarcoHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaVarco\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaVarcoMockRepo from \"./repositories/TipologiaVarco.mock\";\r\nimport TipologiaVarcoHttpRepo from \"./repositories/TipologiaVarco.http\";\r\n\r\nexport default class TipologiaVarco extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaVarco repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaVarco._localInstance == null) {\r\n TipologiaVarco._localInstance = new TipologiaVarcoMockRepo();\r\n }\r\n return TipologiaVarco._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaVarco._serviceInstance == null) {\r\n TipologiaVarco._serviceInstance = new TipologiaVarcoHttpRepo();\r\n }\r\n return TipologiaVarco._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaVarco from \"./TipologiaVarco.repo\";\r\n\r\nexport default class TipologiaVarcoService extends BaseServiceTaal {\r\n getRepo = () => TipologiaVarco.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class TipologiaVeicoloMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_TIPOLOGIA_VEICOLO_LIST_PRENOTAZIONE =\r\n \"generic/search3/prenotazione/tipologiaveicolo\";\r\nexport default class TipologiaVeicoloHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"TipologiaVeicolo\";\r\n }\r\n\r\n getTipologiaVeicoloListPrenotazione() {\r\n return this.API.post(GET_TIPOLOGIA_VEICOLO_LIST_PRENOTAZIONE);\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport TipologiaVeicoloMockRepo from \"./repositories/TipologiaVeicolo.mock\";\r\nimport TipologiaVeicoloHttpRepo from \"./repositories/TipologiaVeicolo.http\";\r\n\r\nexport default class TipologiaVeicolo extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"TipologiaVeicolo repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (TipologiaVeicolo._localInstance == null) {\r\n TipologiaVeicolo._localInstance = new TipologiaVeicoloMockRepo();\r\n }\r\n return TipologiaVeicolo._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (TipologiaVeicolo._serviceInstance == null) {\r\n TipologiaVeicolo._serviceInstance = new TipologiaVeicoloHttpRepo();\r\n }\r\n return TipologiaVeicolo._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport TipologiaVeicolo from \"./TipologiaVeicolo.repo\";\r\n\r\nexport default class TipologiaVeicoloService extends BaseServiceTaal {\r\n getRepo = () => TipologiaVeicolo.getInstanceTaal();\r\n\r\n getTipologiaVeicoloList = () =>\r\n this.getRepo().then((repo) => repo.search(0, -1));\r\n\r\n getTipologiaVeicoloListPrenotazione = () =>\r\n this.getRepo().then((repo) => repo.getTipologiaVeicoloListPrenotazione());\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class ProvinciaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class ProvinciaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Provincia\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport ProvinciaMockRepo from \"./repositories/Provincia.mock\";\r\nimport ProvinciaHttpRepo from \"./repositories/Provincia.http\";\r\n\r\nexport default class Provincia extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Provincia repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Provincia._localInstance == null) {\r\n Provincia._localInstance = new ProvinciaMockRepo();\r\n }\r\n return Provincia._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Provincia._serviceInstance == null) {\r\n Provincia._serviceInstance = new ProvinciaHttpRepo();\r\n }\r\n return Provincia._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Provincia from \"./Provincia.repo\";\r\n\r\nexport default class ProvinciaService extends BaseServiceTaal {\r\n getRepo = () => Provincia.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class LinguaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_ALL_REGISTER = \"generic/search3/register/lingua\";\r\nexport default class LinguaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Lingua\";\r\n }\r\n\r\n getAllRegister() {\r\n return this.API.post(GET_ALL_REGISTER);\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport LinguaMockRepo from \"./repositories/Lingua.mock\";\r\nimport LinguaHttpRepo from \"./repositories/Lingua.http\";\r\n\r\nexport default class Lingua extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Lingua repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Lingua._localInstance == null) {\r\n Lingua._localInstance = new LinguaMockRepo();\r\n }\r\n return Lingua._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Lingua._serviceInstance == null) {\r\n Lingua._serviceInstance = new LinguaHttpRepo();\r\n }\r\n return Lingua._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Lingua from \"./Lingua.repo\";\r\n\r\nexport default class LinguaService extends BaseServiceTaal {\r\n getRepo = () => Lingua.getInstanceTaal();\r\n\r\n getAllNewApi = () => this.getRepo().then((repo) => repo.getAllRegister());\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class RisorsaLogicaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class RisorsaLogicaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"RisorsaLogica\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport RisorsaLogicaMockRepo from \"./repositories/RisorsaLogica.mock\";\r\nimport RisorsaLogicaHttpRepo from \"./repositories/RisorsaLogica.http\";\r\n\r\nexport default class RisorsaLogica extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"RisorsaLogica repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (RisorsaLogica._localInstance == null) {\r\n RisorsaLogica._localInstance = new RisorsaLogicaMockRepo();\r\n }\r\n return RisorsaLogica._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (RisorsaLogica._serviceInstance == null) {\r\n RisorsaLogica._serviceInstance = new RisorsaLogicaHttpRepo();\r\n }\r\n return RisorsaLogica._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport RisorsaLogica from \"./RisorsaLogica.repo\";\r\n\r\nexport default class RisorsaLogicaService extends BaseServiceTaal {\r\n getRepo = () => RisorsaLogica.getInstanceTaal();\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class RelTipoAreaTipoPrenotazioneMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class RelTipoAreaTipoPrenotazioneHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"RelTipoAreaTipoPrenotazione\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport RelTipoAreaTipoPrenotazioneMockRepo from \"./repositories/RelTipoAreaTipoPrenotazione.mock\";\r\nimport RelTipoAreaTipoPrenotazioneHttpRepo from \"./repositories/RelTipoAreaTipoPrenotazione.http\";\r\n\r\nexport default class RelTipoAreaTipoPrenotazione extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"RelTipoAreaTipoPrenotazione repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (RelTipoAreaTipoPrenotazione._localInstance == null) {\r\n RelTipoAreaTipoPrenotazione._localInstance = new RelTipoAreaTipoPrenotazioneMockRepo();\r\n }\r\n return RelTipoAreaTipoPrenotazione._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (RelTipoAreaTipoPrenotazione._serviceInstance == null) {\r\n RelTipoAreaTipoPrenotazione._serviceInstance = new RelTipoAreaTipoPrenotazioneHttpRepo();\r\n }\r\n return RelTipoAreaTipoPrenotazione._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport RelTipoAreaTipoPrenotazione from \"./RelTipoAreaTipoPrenotazione.repo\";\r\n\r\nexport default class RelTipoAreaTipoPrenotazioneService extends BaseServiceTaal {\r\n getRepo = () => RelTipoAreaTipoPrenotazione.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\"TipologiaPrenotazione\", \"TipologiaArea\"]\r\n )\r\n );\r\n\r\n\r\n \r\n getRefFieldMap = ()=>{\r\n return {\r\n fkIdTipologiaPrenotazione:'descLocalizzata',\r\n fkIdTipologiaArea:'descLocalizzata'\r\n }\r\n }\r\n\r\n tableDefinition = (isTable) =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n if(isTable){\r\n res.data.result.columns=res.data.result.columns.filter(c=>c.name.indexOf('fk')<0);\r\n res.data.result.columns.push(\r\n { \r\n name:'TipologiaArea.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n res.data.result.columns.push(\r\n { \r\n name:'TipologiaPrenotazione.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n }\r\n }\r\n return res;\r\n });\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class RelTipoPrenotazioneTipoDurataMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class RelTipoPrenotazioneTipoDurataHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"RelTipoPrenotazioneTipoDurata\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport RelTipoPrenotazioneTipoDurataMockRepo from \"./repositories/RelTipoPrenotazioneTipoDurata.mock\";\r\nimport RelTipoPrenotazioneTipoDurataHttpRepo from \"./repositories/RelTipoPrenotazioneTipoDurata.http\";\r\n\r\nexport default class RelTipoPrenotazioneTipoDurata extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"RelTipoPrenotazioneTipoDurata repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (RelTipoPrenotazioneTipoDurata._localInstance == null) {\r\n RelTipoPrenotazioneTipoDurata._localInstance = new RelTipoPrenotazioneTipoDurataMockRepo();\r\n }\r\n return RelTipoPrenotazioneTipoDurata._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (RelTipoPrenotazioneTipoDurata._serviceInstance == null) {\r\n RelTipoPrenotazioneTipoDurata._serviceInstance = new RelTipoPrenotazioneTipoDurataHttpRepo();\r\n }\r\n return RelTipoPrenotazioneTipoDurata._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport RelTipoPrenotazioneTipoDurata from \"./RelTipoPrenotazioneTipoDurata.repo\";\r\n\r\nexport default class RelTipoPrenotazioneTipoDurataService extends BaseServiceTaal {\r\n getRepo = () => RelTipoPrenotazioneTipoDurata.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\"TipologiaPrenotazione\", \"TipologiaDurata\"]\r\n )\r\n );\r\n\r\n\r\n getRefFieldMap = ()=>{\r\n return {\r\n fkIdTipologiaDurata:'descLocalizzata',\r\n fkIdTipologiaPrenotazione:'descLocalizzata'\r\n }\r\n }\r\n \r\n\r\n tableDefinition = (isTable) =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n if(isTable){\r\n res.data.result.columns=res.data.result.columns.filter(c=>c.name.indexOf('fk')<0);\r\n res.data.result.columns.push(\r\n { \r\n name:'TipologiaDurata.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n res.data.result.columns.push(\r\n { \r\n name:'TipologiaPrenotazione.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n }\r\n }\r\n return res;\r\n });\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class RelTipoDurataFasciaOrariaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class RelTipoDurataFasciaOrariaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"RelTipoDurataFasciaOraria\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport RelTipoDurataFasciaOrariaMockRepo from \"./repositories/RelTipoDurataFasciaOraria.mock\";\r\nimport RelTipoDurataFasciaOrariaHttpRepo from \"./repositories/RelTipoDurataFasciaOraria.http\";\r\n\r\nexport default class RelTipoDurataFasciaOraria extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"RelTipoDurataFasciaOraria repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (RelTipoDurataFasciaOraria._localInstance == null) {\r\n RelTipoDurataFasciaOraria._localInstance = new RelTipoDurataFasciaOrariaMockRepo();\r\n }\r\n return RelTipoDurataFasciaOraria._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (RelTipoDurataFasciaOraria._serviceInstance == null) {\r\n RelTipoDurataFasciaOraria._serviceInstance = new RelTipoDurataFasciaOrariaHttpRepo();\r\n }\r\n return RelTipoDurataFasciaOraria._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport RelTipoDurataFasciaOraria from \"./RelTipoDurataFasciaOraria.repo\";\r\n\r\nexport default class RelTipoDurataFasciaOrariaService extends BaseServiceTaal {\r\n getRepo = () => RelTipoDurataFasciaOraria.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\"FasciaOraria\", \"TipologiaDurata\"]\r\n )\r\n );\r\n\r\n getRefFieldMap = ()=>{\r\n return {\r\n fkIdTipologiaDurata:'descLocalizzata',\r\n fkIdFasciaOraria:'descLocalizzata'\r\n }\r\n }\r\n\r\n tableDefinition = (isTable) =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n //res.data.result.columns \r\n if(isTable){\r\n res.data.result.columns=res.data.result.columns.filter(c=>c.name.indexOf('fk')<0);\r\n res.data.result.columns.push(\r\n { \r\n name:'TipologiaDurata.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n res.data.result.columns.push(\r\n { \r\n name:'FasciaOraria.descLocalizzata',\r\n type:'String'\r\n }\r\n );\r\n }\r\n }\r\n return res;\r\n });\r\n\r\n\r\n \r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport LookupsRepo from \"./Lookups.repo\";\r\nimport StatoAssegnazioneService from \"../StatoAssegnazione/StatoAssegnazione.service\";\r\nimport StatoPrenotazioneService from \"../StatoPrenotazione/StatoPrenotazione.service\";\r\nimport TipologiaAreaService from \"../TipologiaArea/TipologiaArea.service\";\r\nimport TipologiaDocumentoService from \"../TipologiaDocumento/TipologiaDocumento.sevice\";\r\nimport TipologiaPrenotazioneService from \"../TipologiaPrenotazione/TipologiaPrenotazione.service\";\r\nimport TipologiaProfiloService from \"../TipologiaProfilo/TipologiaProfilo.service\";\r\nimport TipologiaVarcoService from \"../TipologiaVarco/TipologiaVarco.service\";\r\nimport TipologiaVeicoloService from \"../TipologiaVeicolo/TipologiaVeicolo.service\";\r\nimport ComuneService from \"../Comune/Comune.service\";\r\nimport ProvinciaService from \"../Provincia/Provincia.service\";\r\nimport LinguaService from \"../Lingua/Lingua.service\";\r\nimport RisorsaLogicaService from \"../RisorsaLogica/RisorsaLogica.service\";\r\nimport RelTipoAreaTipoPrenotazioneService from \"../RelazioneTipoAreaTipoPrenotazione/RelTipoAreaTipoPrenotazione.service\";\r\nimport RelTipoPrenotazioneTipoDurataService from \"../RelazioneTipoPrenotazioneTipoDurata/RelTipoPrenotazioneTipoDurata.service\";\r\nimport RelTipoDurataFasciaOrariaService from \"../RelazioneTipoDurataTipoFasciaOraria/RelTipoDurataFasciaOraria.service\";\r\n\r\nimport {\r\n FIELD_TEXT,\r\n FIELD_INTEGER,\r\n FIELD_DECIMAL,\r\n FIELD_DATE,\r\n FIELD_SELECT,\r\n FIELD_BOOLEAN,\r\n} from \"../../components/DynamicForm/DynamicFormField\";\r\nimport _ from \"lodash\";\r\n\r\nexport default class LookupsService extends BaseServiceTaal {\r\n getRepo = () => LookupsRepo.getInstanceTaal();\r\n\r\n getAll = () => {\r\n return this.getRepo().then((repo) => repo.getAll());\r\n };\r\n\r\n handleLookupService = (lookup) => {\r\n switch (lookup) {\r\n case \"StatoAssegnazione\":\r\n return new StatoAssegnazioneService();\r\n case \"StatoPrenotazione\":\r\n return new StatoPrenotazioneService();\r\n case \"TipologiaArea\":\r\n return new TipologiaAreaService();\r\n case \"TipologiaDocumento\":\r\n return new TipologiaDocumentoService();\r\n case \"TipologiaPrenotazione\":\r\n return new TipologiaPrenotazioneService();\r\n case \"TipologiaProfilo\":\r\n return new TipologiaProfiloService();\r\n case \"TipologiaVarco\":\r\n return new TipologiaVarcoService();\r\n case \"TipologiaVeicolo\":\r\n return new TipologiaVeicoloService();\r\n case \"Comune\":\r\n return new ComuneService();\r\n case \"Provincia\":\r\n return new ProvinciaService();\r\n case \"Lingua\":\r\n return new LinguaService();\r\n case \"RisorsaLogica\":\r\n return new RisorsaLogicaService();\r\n case \"RelTipoDurataFasciaOraria\":\r\n return new RelTipoDurataFasciaOrariaService();\r\n case \"RelTipoPrenotazioneTipoDurata\":\r\n return new RelTipoPrenotazioneTipoDurataService();\r\n case \"RelTipoAreaTipoPrenotazione\":\r\n return new RelTipoAreaTipoPrenotazioneService();\r\n default:\r\n return undefined;\r\n }\r\n };\r\n\r\n handleLookupColumns = (lookupserv) => {\r\n return new Promise((resolve, reject) => {\r\n lookupserv.tableDefinition(true).then((resp) => {\r\n let cols = this.filterColumns(resp.data.result.columns);\r\n resolve(cols);\r\n });\r\n });\r\n };\r\n\r\n filterColumns(list) {\r\n return list\r\n .filter(\r\n (col) =>\r\n col.type.indexOf(\"Boolean\") >= 0 ||\r\n col.type.indexOf(\"String\") >= 0 ||\r\n col.type.indexOf(\"Int\") >= 0 ||\r\n col.type.indexOf(\"Decimal\") >= 0 ||\r\n col.type.indexOf(\"Date\") >= 0\r\n )\r\n .map((col) => {\r\n let type = FIELD_TEXT;\r\n if (col.type.indexOf(\"Int\") >= 0) {\r\n type = FIELD_INTEGER;\r\n if (col.name.indexOf(\"fk\") >= 0) {\r\n type = FIELD_SELECT;\r\n }\r\n } else if (col.type.indexOf(\"Boolean\") >= 0) {\r\n type = FIELD_BOOLEAN;\r\n } else if (col.type.indexOf(\"Decimal\") >= 0) {\r\n type = FIELD_DECIMAL;\r\n } else if (col.type.indexOf(\"Date\") >= 0) {\r\n type = FIELD_DATE;\r\n }\r\n /*return {\r\n type: type,\r\n id: col.name,\r\n realId: col.+,\r\n label: this.camelCaseToString(col.name),\r\n required: col.required,\r\n precision: col.precision,\r\n readOnly: col.viewMode === \"view\",\r\n hideMe: col.hideMe\r\n ? (fd) =>\r\n col.hideMe(\r\n this.stateToObject(fd),\r\n fd,\r\n this.state.externalFields\r\n )\r\n : null,\r\n };*/\r\n return {\r\n type: type,\r\n label: this.camelCaseToString(col.name),\r\n data: col.name,\r\n };\r\n });\r\n }\r\n\r\n camelCaseToString(s) {\r\n return _.capitalize(s.split(/(?=[A-Z])/).join(\" \"));\r\n }\r\n}\r\n\r\n// fare override di tabledef per decidere quali capmi mostrare, di base omstra tutto tranne l'id\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport LookupsService from \"../Lookups.service\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\n\r\nclass LookupsPickerC extends React.PureComponent {\r\n service = new LookupsService();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n value: props.value,\r\n list: [],\r\n selectedOne: this.props.t(\"ChooseLookup\"),\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.service.getAll().then((resp) => {\r\n this.setState({ list: resp });\r\n });\r\n }\r\n\r\n onChangeInput(ev) {\r\n if (this.props.onChange && _.isFunction(this.props.onChange))\r\n this.setState({ selectedOne: ev.name });\r\n this.props.onChange(ev.target.value);\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {\r\n //!values || !values.length?\r\n \r\n //\r\n }\r\n {this.state.list &&\r\n this.state.list.length &&\r\n this.state.list.map((o) => (\r\n \r\n ))}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst LookupsPicker = RxComponent()(LookupsPickerC);\r\nexport default LookupsPicker;","import React from \"react\";\r\nimport CrudNetTable from \"../../components/CrudNet/CrudNetTable\";\r\nimport moment from \"moment\";\r\nimport { FILTER_TEXT } from \"../../components/TableServer/FilterItem\";\r\nimport LookupsService from \"./Lookups.service\";\r\nimport LookupsCrud from \"./Lookups.crud\";\r\nimport LookupsPicker from \"./components/LookupsPicker\";\r\nimport RxComponent from \"../../redux/RxComponent\";\r\n\r\n class LookupsPageC extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n columns: [],\r\n filter: [],\r\n selectedLookup: null,\r\n LookupsService: new LookupsService(),\r\n selectedService: null,\r\n isLoaded: false,\r\n };\r\n }\r\n\r\n handleLookupChange = (lookup) => {\r\n if(lookup){\r\n let selServ = this.state.LookupsService.handleLookupService(lookup);\r\n this.state.LookupsService.handleLookupColumns(selServ).then((res) => {\r\n this.setState({\r\n selectedService: selServ,\r\n isLoaded: true,\r\n columns: res,\r\n selectedLookup: lookup,\r\n });\r\n });\r\n }else{\r\n this.setState({\r\n columns: [],\r\n filter: [],\r\n selectedLookup: null,\r\n selectedService: null,\r\n isLoaded: false,\r\n });\r\n }\r\n };\r\n\r\n render = () => {\r\n if (!this.state.isLoaded) {\r\n return (\r\n \r\n

\r\n {this.props.t(\"Lookups\")}\r\n

\r\n
\r\n
\r\n this.handleLookupChange(lookup)}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return (\r\n \r\n

\r\n {this.props.t(\"Lookups\")}\r\n

\r\n
\r\n
\r\n this.handleLookupChange(lookup)}\r\n />\r\n
\r\n
\r\n \r\n
\r\n );\r\n }\r\n };\r\n}\r\n\r\nconst LookupsPage = RxComponent()(LookupsPageC);\r\n\r\nexport default LookupsPage;","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class AreaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GET_AREA_DETAIL_PRENOTAZIONE = \"generic/search3/prenotazione/area\";\r\nexport default class AreaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"Area\";\r\n }\r\n\r\n getAreaDetailPrenotazione(idArea) {\r\n return this.API.post(GET_AREA_DETAIL_PRENOTAZIONE, { idArea: idArea });\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport AreaMockRepo from \"./repositories/Area.mock\";\r\nimport AreaHttpRepo from \"./repositories/Area.http\";\r\n\r\nexport default class Area extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Area repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Area._localInstance == null) {\r\n Area._localInstance = new AreaMockRepo();\r\n }\r\n return Area._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Area._serviceInstance == null) {\r\n Area._serviceInstance = new AreaHttpRepo();\r\n }\r\n return Area._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Area from \"./Area.repo\";\r\n\r\nexport default class AreaService extends BaseServiceTaal {\r\n getRepo = () => Area.getInstanceTaal();\r\n\r\n paginate = (page, size, filters, orders) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\"Comune\", \"TipologiaArea\"]\r\n )\r\n );\r\n\r\n getAreaDetailPrenotazione = (idArea) =>\r\n this.getRepo().then((repo) => repo.getAreaDetailPrenotazione(idArea));\r\n\r\n tableDefinition = () =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n res.data.result.columns = res.data.result.columns.filter(\r\n (c) =>\r\n c.name !== \"formato\" &&\r\n c.name !== \"longitudine\" &&\r\n c.name !== \"latitudine\" &&\r\n c.name !== \"fkIdComune\" &&\r\n c.name !== \"fotoOriginale\"\r\n );\r\n }\r\n res.data.result.columns.push({ name: \"maps\", type: \"Maps\" });\r\n return res;\r\n });\r\n\r\n setFlgAbilitazioneArea = (id, flag) => {\r\n return this.getRepo().then((repo) => {\r\n return repo.exec(\"sp_AbilitazioneArea\", {\r\n IDAREA: id,\r\n FLGABILITATO: flag,\r\n });\r\n });\r\n };\r\n\r\n remove = (id) => {\r\n return this.getRepo().then((repo) => {\r\n return repo.exec(\"sp_AbilitazioneArea\", {\r\n IDAREA: id,\r\n FLGABILITATO: 0,\r\n });\r\n });\r\n };\r\n\r\n getById = (id) =>\r\n this.getRepo().then((repo) =>\r\n repo.find(id).then((res) => {\r\n res.data.result.maps = {\r\n latitudine: res.data.result.latitudine,\r\n longitudine: res.data.result.longitudine,\r\n };\r\n return res;\r\n })\r\n );\r\n\r\n relAreaParcheggio = (data) =>\r\n this.getRepo().then((repo) => repo.add(data, \"RELAREAPARCHEGGIO\"));\r\n\r\n clearRealAreaParcheggio = (data) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_ClearParcheggiArea\", data));\r\n\r\n deleteRelAreaParcheggio = (data) =>\r\n this.getRepo().then((repo) => repo.del(data, \"RELAREAPARCHEGGIO\"));\r\n\r\n relAreaFasciaOraria = (data) =>\r\n this.getRepo().then((repo) => repo.add(data, \"relAreaFasciaOraria\"));\r\n\r\n clearRealAreaFasciaOraria = (data) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_ClearFasceArea\", data));\r\n\r\n deleteRelAreaFasciaOraria = (data) =>\r\n this.getRepo().then((repo) => repo.del(data, \"relAreaFasciaOraria\"));\r\n\r\n relVarcoArea = (data) =>\r\n this.getRepo().then((repo) => repo.add(data, \"relVarcoArea\"));\r\n\r\n clearRealVarcoArea = (data) =>\r\n this.getRepo().then((repo) => repo.exec(\"sp_ClearVarcoArea\", data));\r\n\r\n deleteRelVarcoArea = (data) =>\r\n this.getRepo().then((repo) => repo.del(data, \"relVarcoArea\"));\r\n\r\n getAssignedParcheggi = (filter) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n 0,\r\n -1,\r\n this.transformFilterToServer(filter),\r\n null,\r\n [\"Parcheggio\"],\r\n \"RELAREAPARCHEGGIO\"\r\n )\r\n );\r\n\r\n getAssignedFasciaOraria = (filter) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n 0,\r\n -1,\r\n this.transformFilterToServer(filter),\r\n null,\r\n [\"FasciaOraria\"],\r\n \"relAreaFasciaOraria\"\r\n )\r\n );\r\n\r\n getAssignedVarco = (filter) =>\r\n this.getRepo().then((repo) =>\r\n repo.search2(\r\n 0,\r\n -1,\r\n this.transformFilterToServer(filter),\r\n null,\r\n [\"Varco\"],\r\n \"RelVarcoArea\"\r\n )\r\n );\r\n\r\n searchAreeComune = (formField) =>\r\n this.getRepo().then((repo) => repo.exec(\"fn_GetAreeComune\", formField));\r\n\r\n closeAreaFromVarco = (par) => {\r\n return this.getRepo().then((repo) =>\r\n repo.exec(\"sp_UpdateStatoChiusura\", par)\r\n );\r\n };\r\n}\r\n","import React from \"react\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\nimport {FILTER_NUMBER} from \"../../../components/TableServer/FilterItem\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport AreaService from \"../Area.service\";\r\nimport placehlder from \"../../../template/site/img/placeholder.png\";\r\nimport {BASE_URL_TAAL} from \"../../../constants/Settings\";\r\n\r\nclass AreaDetailsC extends React.Component {\r\n state = {\r\n areaService: new AreaService(),\r\n areaToShow: null,\r\n idAreaPassed: this.props.idArea || 0,\r\n loading: true,\r\n imgUrl: null,\r\n };\r\n\r\n componentDidMount() {\r\n this.state.areaService\r\n .getAreaDetailPrenotazione(this.state.idAreaPassed)\r\n .then((res) => {\r\n let area = res.data.result[0];\r\n let imgUrlToSet = null;\r\n if (area.formato) {\r\n const splitted = area.formato.split(\"/\");\r\n imgUrlToSet =\r\n BASE_URL_TAAL +\r\n \"/Generic/image/v_Area/fotoOriginale/\" +\r\n area.idArea +\r\n \"/\" +\r\n splitted[1] +\r\n \"?date=\" +\r\n new Date().getTime();\r\n }\r\n this.setState({\r\n areaToShow: area,\r\n imgUrl: imgUrlToSet,\r\n loading: !this.state.loading,\r\n });\r\n });\r\n }\r\n\r\n render() {\r\n if (this.state.loading) {\r\n return

{this.props.t(\"Loading\")}...

;\r\n }\r\n return (\r\n \r\n
\r\n
\r\n

\r\n {this.props.t(this.state.areaToShow.descrizione)}{\" \"}\r\n
\r\n \r\n {this.props.t(\r\n this.state.areaToShow.TipologiaArea.descLocalizzata\r\n )}\r\n \r\n {\r\n this.state.areaToShow.latitudine && this.state.areaToShow.longitudine\r\n ?\r\n \r\n Google Maps\r\n :\r\n \r\n Google Maps not Avaiable\r\n \r\n }\r\n {this.state.areaToShow.flgAccessoDisabili && (\r\n \r\n )}\r\n {this.state.areaToShow.flgAnimaliAmmessi && (\r\n \r\n )}\r\n
\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst AreaDetails = RxComponent()(AreaDetailsC);\r\nexport default AreaDetails;\r\n\r\n/*\r\n\r\n */\r\n","import React from \"react\";\r\nimport _ from \"lodash\";\r\nimport TimePicker from \"rc-time-picker\";\r\nimport \"rc-time-picker/assets/index.css\";\r\nimport \"./TimeRcPicker.css\";\r\nimport $ from \"jquery\";\r\nimport { Trans } from \"react-i18next\";\r\n\r\nexport default class TimeRcPicker extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n label: \"\",\r\n id: this._generateId(),\r\n selectedHour: null,\r\n maxTime: this.props.maxTime,\r\n minTime: this.props.minTime,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._mergePropsInState();\r\n this._setRequiredInput();\r\n this.setState({ selectedHour: this.props.value.format(\"HH\") });\r\n }\r\n\r\n componentDidUpdate(prevProps) {\r\n //this._mergePropsInState();\r\n if (this.props.value.format(\"HH\") !== this.state.selectedHour) {\r\n this.setState({ selectedHour: this.props.value.format(\"HH\") });\r\n }\r\n if (\r\n this.props.maxTime !== this.state.maxTime ||\r\n this.props.minTime !== this.state.minTime\r\n ) {\r\n this.setState({\r\n maxTime: this.props.maxTime,\r\n minTime: this.props.minTime,\r\n });\r\n }\r\n }\r\n\r\n _generateId() {\r\n return \"trcp-\" + Date.now().toString(36);\r\n }\r\n\r\n _setRequiredInput() {\r\n if (this.props.required) {\r\n $(\"#\" + this.state.id + \" input.rc-time-picker-input\").attr(\r\n \"required\",\r\n \"required\"\r\n );\r\n }\r\n }\r\n\r\n _mergePropsInState = () => {\r\n this.setState({ ...this.state, ...this.props });\r\n };\r\n\r\n _onChange = (ev) => {\r\n if (_.isFunction(this.props.onChange) && ev) {\r\n this.props.onChange(ev);\r\n this.setState({\r\n selectedHour: ev.format(\"HH\"),\r\n selectedMinutes: ev.format(\"mm\"),\r\n });\r\n }\r\n };\r\n\r\n calculateDisabledHours() {\r\n let disH = [];\r\n if (this.state.minTime && this.state.maxTime) {\r\n let hsMin = parseInt(this.state.minTime.substring(0, 2));\r\n let msMin = parseInt(this.state.minTime.substring(2, 4));\r\n let hsMax = parseInt(this.state.maxTime.substring(0, 2));\r\n let msMax = parseInt(this.state.maxTime.substring(2, 4));\r\n if (\r\n parseInt(this.state.minTime.substring(0, 2)) <\r\n parseInt(this.state.maxTime.substring(0, 2))\r\n ) {\r\n for (let i = 0; i < 24; i++) {\r\n if (i < hsMin) disH.push(i);\r\n }\r\n if (parseInt(this.state.selectedMinutes) < msMin) {\r\n disH.push(parseInt(hsMin));\r\n }\r\n\r\n for (let i = 0; i < 24; i++) {\r\n if (i > hsMax) disH.push(i);\r\n }\r\n if (parseInt(this.state.selectedMinutes) > msMax) {\r\n disH.push(parseInt(hsMax));\r\n }\r\n } else if (\r\n parseInt(this.state.minTime.substring(0, 2)) >\r\n parseInt(this.state.maxTime.substring(0, 2))\r\n ) {\r\n for (let i = 0; i < 24; i++) {\r\n if (i < hsMin && i > hsMax) disH.push(i);\r\n }\r\n if (parseInt(this.state.selectedMinutes) < msMin) {\r\n disH.push(parseInt(hsMin));\r\n }\r\n\r\n for (let i = 0; i < 24; i++) {\r\n if (i > hsMax && i < hsMin) disH.push(i);\r\n }\r\n if (parseInt(this.state.selectedMinutes) > msMax) {\r\n disH.push(parseInt(hsMax));\r\n }\r\n }\r\n\r\n if (parseInt(this.state.minTime) === parseInt(this.state.maxTime)) {\r\n disH = [];\r\n for (let i = 0; i < 24; i++) {\r\n disH.push(i);\r\n }\r\n }\r\n }\r\n return disH;\r\n }\r\n\r\n calculateDisabledMinutes() {\r\n let disM = [];\r\n if (this.state.minTime) {\r\n let hsMin = parseInt(this.state.minTime.substring(0, 2));\r\n let msMin = parseInt(this.state.minTime.substring(2, 4));\r\n\r\n if (parseInt(this.state.selectedHour) === hsMin) {\r\n for (let i = 0; i < 60; i++) {\r\n if (i < msMin) disM.push(i);\r\n }\r\n }\r\n }\r\n if (this.state.maxTime) {\r\n let hsMax = parseInt(this.state.maxTime.substring(0, 2));\r\n let msMax = parseInt(this.state.maxTime.substring(2, 4));\r\n\r\n if (parseInt(this.state.selectedHour) === hsMax) {\r\n for (let i = 0; i < 60; i++) {\r\n if (i > msMax) disM.push(i);\r\n }\r\n }\r\n }\r\n if (this.state.minTime && this.state.maxTime) {\r\n if (parseInt(this.state.minTime) === parseInt(this.state.maxTime)) {\r\n disM = [];\r\n for (let i = 0; i < 60; i++) {\r\n disM.push(i);\r\n }\r\n }\r\n }\r\n return disM;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class FasciaOrariaMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nexport default class FasciaOrariaHttpRepo extends HttprepoTAAL {\r\n getTable() {\r\n return \"FasciaOraria\";\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport FasciaOrariaMockRepo from \"./repositories/FasciaOraria.mock\";\r\nimport FasciaOrariaHttpRepo from \"./repositories/FasciaOraria.http\";\r\n\r\nexport default class FasciaOraria extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"FasciaOraria repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (FasciaOraria._localInstance == null) {\r\n FasciaOraria._localInstance = new FasciaOrariaMockRepo();\r\n }\r\n return FasciaOraria._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (FasciaOraria._serviceInstance == null) {\r\n FasciaOraria._serviceInstance = new FasciaOrariaHttpRepo();\r\n }\r\n return FasciaOraria._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport FasciaOraria from \"./FasciaOraria.repo\";\r\n\r\nexport default class FasciaOrariaService extends BaseServiceTaal {\r\n getRepo = () => FasciaOraria.getInstanceTaal();\r\n}\r\n","import React from \"react\";\r\nimport TipologiaPrenotazioneService from \"../../TipologiaPrenotazione/TipologiaPrenotazione.service\";\r\nimport { Row, FormGroup } from \"reactstrap\";\r\nimport { SelectPicker } from \"../../../components/Content/SelectPicker\";\r\nimport TimeRcPicker from \"../../../components/Content/TimeRcPicker/TimeRcPicker\";\r\nimport moment from \"moment\";\r\nimport FasciaOrariaService from \"../../FasciaOraria/FasciaOraria.service\";\r\nimport TimePicker from \"rc-time-picker\";\r\nimport {\r\n FILTER_MULTIPLE,\r\n FILTER_NUMBER,\r\n} from \"../../../components/TableServer/FilterItem\";\r\nimport { onChangeFasciaOraria } from \"../../../redux/Prenotazione/Prenotazione.actions\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\n\r\nclass PrenotazioneTipoPrenotazionep extends React.Component {\r\n tipoPrenotazioneService = new TipologiaPrenotazioneService();\r\n fasciaOrariaService = new FasciaOrariaService();\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n lista: [],\r\n listaTipologie: [],\r\n listaTipologieTot: [],\r\n listaFasceOrarie: [],\r\n dataInizio: moment(),\r\n dataFine: moment(),\r\n oraInizio: moment(),\r\n idArea: this.props.idArea,\r\n data: this.props.data,\r\n numeroOccupanti: this.props.numeroOccupanti,\r\n selectedTipologiaPrenotazione: this.props.tipologiaPrenotazione,\r\n selectedFasciaOraria: this.props.fasciaOraria,\r\n dataInizioCompleta: this.props.dataInizio\r\n ? moment(this.props.dataInizio).format(\"YYYYMMDDHHmm\")\r\n : null,\r\n dataFineCompleta: null,\r\n oraInizioTimePckr:\r\n this.props.fasciaOraria && this.props.fasciaOraria.length\r\n ? this.props.fasciaOraria[0].orarioInizio\r\n : null,\r\n oraFineTimePckr:\r\n this.props.fasciaOraria && this.props.fasciaOraria.length\r\n ? this.props.fasciaOraria[0].orarioFine\r\n : null,\r\n valueTme: this.props.dataInizio\r\n ? moment(this.props.dataInizio)\r\n : moment(),\r\n form_key: 0,\r\n };\r\n }\r\n\r\n /*componentDidMount2() {\r\n this.props.onRef(this);\r\n if (!this.state.idArea || !this.state.data || !this.state.numeroOccupanti)\r\n return;\r\n let filts = {\r\n idArea: this.state.idArea,\r\n data: this.state.data,\r\n numeroOccupanti: this.state.numeroOccupanti,\r\n };\r\n let idList = [];\r\n let listDef;\r\n this.tipoPrenotazioneService\r\n .searchTipologiaPrenotazione(filts)\r\n .then((res) => {\r\n if (res.data.result) {\r\n idList = res.data.result.map((el) => el.IDTIPOLOGIAPRENOTAZIONE);\r\n idList = idList.filter(function (elem, index, self) {\r\n return index === self.indexOf(elem);\r\n });\r\n\r\n listDef = res.data.result.map((rec) => {});\r\n\r\n return res.data.result;\r\n }\r\n })\r\n .then((listaTipologieTot) => {\r\n let filtro = {\r\n [`${FILTER_MULTIPLE}&&&idTipologiaPrenotazione`]: idList,\r\n };\r\n this.tipoPrenotazioneService.paginate(1, -1, filtro).then((elem) => {\r\n this.setState({\r\n listaTipologie: elem.data.result,\r\n listaTipologieTot: listaTipologieTot,\r\n });\r\n });\r\n return true;\r\n })\r\n .then(() => {\r\n if (this.state.selectedTipologiaPrenotazione) {\r\n this.populateFasceOrarie(this.state.selectedTipologiaPrenotazione);\r\n }\r\n });\r\n }*/\r\n\r\n componentDidUpdate() {}\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n if (!this.state.idArea || !this.state.data || !this.state.numeroOccupanti)\r\n return;\r\n let filts = {\r\n idArea: this.state.idArea,\r\n data: this.state.data,\r\n numeroOccupanti: this.state.numeroOccupanti,\r\n };\r\n let idList = [];\r\n let listDef = [];\r\n this.tipoPrenotazioneService\r\n .searchTipologiaPrenotazione(filts)\r\n .then((res) => {\r\n if (res.data.result) {\r\n let resFromsearch = res.data.result;\r\n idList = res.data.result.map((el) => el.IDTIPOLOGIAPRENOTAZIONE);\r\n idList = idList.filter(function (elem, index, self) {\r\n return index === self.indexOf(elem);\r\n });\r\n\r\n idList.forEach((el) => {\r\n let elToPush = {\r\n idTipologiaPrenotazione: el,\r\n descLocalizzata: null,\r\n codiceTipologiaPrenotazione: null,\r\n listaFasceOrarie: [],\r\n };\r\n let temp = resFromsearch.filter(\r\n (obj) => obj.IDTIPOLOGIAPRENOTAZIONE === el\r\n );\r\n temp.forEach((x) => {\r\n elToPush.listaFasceOrarie.push({\r\n idFasciaOraria: x.IDFASCIAORARIA,\r\n descLocalizzata: x.DESCLOCFASCIA,\r\n });\r\n });\r\n listDef.push(elToPush);\r\n });\r\n\r\n return res.data.result;\r\n }\r\n })\r\n .then((listaTipologieTot) => {\r\n this.tipoPrenotazioneService\r\n .getTipologiaPrenotazioneNewApi(idList)\r\n .then((elem) => {\r\n listDef.forEach((x) => {\r\n elem.data.result.forEach((a) => {\r\n if (a.idTipologiaPrenotazione === x.idTipologiaPrenotazione) {\r\n x.descLocalizzata = a.descLocalizzata;\r\n x.codiceTipologiaPrenotazione = a.codiceTipologiaPrenotazione;\r\n }\r\n });\r\n });\r\n })\r\n .then(() => {\r\n this.setState({\r\n listaTipologie: listDef,\r\n });\r\n })\r\n .then(() => {\r\n if (this.state.selectedTipologiaPrenotazione) {\r\n this.populateFasceOrarie(\r\n this.state.selectedTipologiaPrenotazione\r\n );\r\n }\r\n });\r\n });\r\n }\r\n\r\n _formVar(unit) {\r\n return (\r\n <>\r\n \r\n this.setDatesVar(oo, this.state.elapse, unit)}\r\n />\r\n \r\n \r\n \r\n {\r\n const val = ev.target.valueAsNumber;\r\n this.setDatesVar(this.state.oraInizio, val, unit);\r\n }}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n setDatesVar(orainizio, elapse, unit) {\r\n //const val=ev.target.valueAsNumber;\r\n const fdatei = this.state.dataInizio.format(\"DD/MM/YYYY\");\r\n const forai = orainizio.format(\"HH:mm\");\r\n const df = moment(`${fdatei} ${forai}`, \"DD/MM/YYYY HH:mm\").add(\r\n elapse,\r\n unit\r\n );\r\n this.setState({ oraInizio: orainizio, dataFine: df, elapse: elapse });\r\n }\r\n\r\n populateFasceOrarie(ev) {\r\n let listaFasc = ev[0].listaFasceOrarie ? ev[0].listaFasceOrarie : [];\r\n if (!listaFasc) {\r\n listaFasc = [this.props.fasciaOraria];\r\n }\r\n this.setState({\r\n selectedTipologiaPrenotazione: ev[0],\r\n listaFasceOrarie: listaFasc,\r\n });\r\n if (!listaFasc.length) {\r\n this.setState({\r\n showFasciaOraria: this.props.fasciaOraria[0].descLocalizzata,\r\n });\r\n }\r\n if (ev[0].listaFasceOrarie) {\r\n this.resetForm();\r\n }\r\n }\r\n\r\n resetForm() {\r\n let newKey = this.state.form_key;\r\n newKey += 1;\r\n this.setState({ form_key: newKey, selectedFasciaOraria: null });\r\n }\r\n\r\n manageFasciaOraria = (ev) => {\r\n let idFascia = ev[0].idFasciaOraria;\r\n this.fasciaOrariaService.getById(idFascia).then((res) => {\r\n let dataInizio = moment(this.state.data).format(\"YYYYMMDD\");\r\n let OraInizio = moment(res.data.result.orarioInizio, \"HHmm\").format(\r\n \"HHmm\"\r\n );\r\n let OraFine = moment(res.data.result.orarioFine, \"HHmm\").format(\"HHmm\");\r\n let dataInizioCompleta = dataInizio + OraInizio;\r\n let dataFineCompleta = dataInizio + OraFine;\r\n let dat = moment(dataInizioCompleta, \"YYYYMMDDHHmm\");\r\n this.setState({\r\n dataInizioCompleta: dataInizioCompleta,\r\n dataFineCompleta: dataFineCompleta,\r\n selectedFasciaOraria: ev[0],\r\n valueTme: dat,\r\n oraInizioTimePckr: OraInizio,\r\n oraFineTimePckr: OraFine,\r\n });\r\n this.props.onChangeFasciaOraria(idFascia);\r\n });\r\n };\r\n\r\n validate() {\r\n let errors = [];\r\n if (!this.state.selectedTipologiaPrenotazione) {\r\n errors.push(\r\n this.props.t(\"field\") +\r\n this.props.t(\"TIPOLOGIA_PRENOTAZIONE\") +\r\n this.props.t(\"isNotValid\")\r\n );\r\n }\r\n if (!this.state.selectedFasciaOraria) {\r\n errors.push(\r\n this.props.t(\"field\") +\r\n this.props.t(\"FASCIA_ORARIA\") +\r\n this.props.t(\"isNotValid\")\r\n );\r\n }\r\n if (!this.state.dataInizioCompleta) {\r\n errors.push(\r\n this.props.t(\"field\") +\r\n this.props.t(\"dataInizioCompleta\") +\r\n this.props.t(\"isNotValid\")\r\n );\r\n }\r\n if (!this.state.dataFineCompleta) {\r\n errors.push(\r\n this.props.t(\"field\") +\r\n this.props.t(\"dataFineCompleta\") +\r\n this.props.t(\"isNotValid\")\r\n );\r\n }\r\n return errors;\r\n }\r\n validateUpd() {\r\n let errors = [];\r\n if (!this.state.dataInizioCompleta) {\r\n errors.push(\r\n this.props.t(\"field\") +\r\n this.props.t(\"ORARIO_ARRIVO\") +\r\n this.props.t(\"isNotValid\")\r\n );\r\n }\r\n return errors;\r\n }\r\n\r\n getData() {\r\n let obToReturn = {\r\n selectedTipologiaPrenotazione: this.state.selectedTipologiaPrenotazione,\r\n selectedFasciaOraria: this.state.selectedFasciaOraria,\r\n dataInizioCompleta: this.state.dataInizioCompleta,\r\n dataFineCompleta: this.state.dataFineCompleta,\r\n };\r\n return obToReturn;\r\n }\r\n\r\n handleTime(ev) {\r\n if (ev) {\r\n let OraInizio = moment(ev).format(\"HHmm\");\r\n let or = moment(this.state.dataInizioCompleta, \"YYYYMMDDHHmm\")\r\n .hour(moment(ev).format(\"HH\"))\r\n .minutes(moment(ev).format(\"mm\"));\r\n\r\n this.setState({\r\n valueTme: ev,\r\n dataInizioCompleta: or.format(\"YYYYMMDDHHmm\"),\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n \r\n \r\n {\r\n this.populateFasceOrarie(ev);\r\n }}\r\n readOnly={this.props.isEdit || this.props.readOnly}\r\n />\r\n \r\n {this.state.listaFasceOrarie.length > 0 && (\r\n \r\n \r\n this.manageFasciaOraria(ev)}\r\n readOnly={this.props.isEdit || this.props.readOnly}\r\n />\r\n \r\n )}\r\n {this.state.showFasciaOraria && (\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n )}\r\n {this.state.dataInizioCompleta && (\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst PrenotazioneTipoPrenotazione = RxComponent({ onChangeFasciaOraria })(\r\n PrenotazioneTipoPrenotazionep\r\n);\r\nexport default PrenotazioneTipoPrenotazione;\r\n","import MockRepo from \"../../../repos/MockRepo\";\r\n\r\nexport default class ParcheggioMockRepo extends MockRepo {\r\n getList(...p) {}\r\n}\r\n","import HttprepoTAAL from \"../../../repos/HttpRepoTaal\";\r\n\r\nconst GETPARCHEGGIFN = \"fn_GetParcheggiArea\"\r\n\r\nexport default class ParcheggioHttpRepo extends HttprepoTAAL {\r\n \r\n getTable() {\r\n return \"Parcheggio\";\r\n }\r\n getParcheggiPrenotazione(idArea, data, fascia){\r\n return this.exec(GETPARCHEGGIFN, {idArea: idArea, data:data})\r\n }\r\n}\r\n","import StubRepo from \"../../repos/StubRepo\";\r\nimport ParcheggioMockRepo from \"./repositories/Parcheggio.mock\";\r\nimport ParcheggioHttpRepo from \"./repositories/Parcheggio.http\";\r\n\r\nexport default class Parcheggio extends StubRepo {\r\n static _localInstance = null;\r\n static _serviceInstance = null;\r\n\r\n static getName() {\r\n return \"Parcheggio repo\";\r\n }\r\n\r\n static getLocal() {\r\n if (Parcheggio._localInstance == null) {\r\n Parcheggio._localInstance = new ParcheggioMockRepo();\r\n }\r\n return Parcheggio._localInstance;\r\n }\r\n\r\n static getService() {\r\n if (Parcheggio._serviceInstance == null) {\r\n Parcheggio._serviceInstance = new ParcheggioHttpRepo();\r\n }\r\n return Parcheggio._serviceInstance;\r\n }\r\n}\r\n","import BaseServiceTaal from \"../../Service/BaseServiceTaal\";\r\nimport Parcheggio from \"./Parcheggio.repo\";\r\n\r\nexport default class ParcheggioService extends BaseServiceTaal {\r\n\r\n getRepo = () => Parcheggio.getInstanceTaal();\r\n\r\n getParcheggioPrenotazione = (idArea, data, fascia) => this.getRepo().then(\r\n (repo) => repo.getParcheggiPrenotazione(idArea, data, fascia)\r\n )\r\n\r\n paginate = (page, size, filters, orders) => this.getRepo()\r\n .then((repo) => repo.search2(\r\n page - 1,\r\n size,\r\n this.transformFilterToServer(filters),\r\n orders,\r\n [\"Comune\"]\r\n )\r\n );\r\n\r\n tableDefinition = () =>\r\n this.getRepo()\r\n .then((repo) => repo.tabledef())\r\n .then((res) => {\r\n if (!res.data.error) {\r\n res.data.result.columns = res.data.result.columns.filter(\r\n (c) => c.name!=='fkIdComune'\r\n );\r\n }\r\n return res;\r\n });\r\n\r\n setFlgAbilitazioneParcheggio = (id, flag) => {\r\n return this.getRepo().then((repo) => {\r\n return repo.exec(\"sp_AbilitazioneParcheggio\", {\r\n IDPARCHEGGIO: id,\r\n FLGABILITATO: flag,\r\n });\r\n });\r\n };\r\n\r\n remove = (id) => {\r\n return this.getRepo().then((repo) => {\r\n return repo.exec(\"sp_AbilitazioneParcheggio\", {\r\n IDPARCHEGGIO: id,\r\n FLGABILITATO: 0,\r\n });\r\n });\r\n };\r\n\r\n}\r\n","import React from \"react\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"bootstrap/dist/js/bootstrap.bundle\";\r\nimport { Form, FormGroup } from \"reactstrap\";\r\nimport { SelectPicker } from \"../../../components/Content/SelectPicker\";\r\nimport TipologiaVeicoloService from \"../../TipologiaVeicolo/TipologiaVeicolo.service\";\r\nimport { ON_CHANGE_FASCIA_ORARIA } from \"../../../redux/Prenotazione/Prenotazione.types\";\r\nimport ParcheggioService from \"../../Parcheggio/Parcheggio.service\";\r\n\r\nclass Component extends React.Component {\r\n tipoVeicoloservice = new TipologiaVeicoloService();\r\n parcheggioService = new ParcheggioService();\r\n\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n selectedTipoVeicolo: this.props.selectedTipoVeicolo || \"\",\r\n targaVeicolo: this.props.selectedTarga || \"\",\r\n tipoVeicoloList: [],\r\n listParcheggi: [],\r\n selectedFasciaOraria: this.props.Prenotazione.selectedFields.fasciaOraria\r\n ? this.props.Prenotazione.selectedFields.fasciaOraria[0].idFasciaOraria\r\n : \"\",\r\n selectedParcheggio: this.props.selectedParcheggio || \"\",\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n this.tipoVeicoloservice\r\n .getTipologiaVeicoloListPrenotazione()\r\n .then((res) => {\r\n this.setState({\r\n tipoVeicololist: res.data.result,\r\n });\r\n });\r\n if (\r\n this.props.Prenotazione.selectedArea.IDAREA &&\r\n this.props.Prenotazione.selectedFields.dataPrenotazione &&\r\n this.props.Prenotazione.selectedFields.fasciaOraria &&\r\n this.props.Prenotazione.selectedFields.fasciaOraria[0].idFasciaOraria\r\n ) {\r\n this.getParcheggio(\r\n this.props.Prenotazione.selectedFields.idParcheggio,\r\n this.props.Prenotazione.selectedFields.descParcheggio\r\n );\r\n }\r\n }\r\n\r\n componentDidUpdate() {\r\n if (\r\n this.props.Prenotazione.type === ON_CHANGE_FASCIA_ORARIA &&\r\n this.state.selectedFasciaOraria !==\r\n this.props.Prenotazione.selectedFasciaOraria\r\n ) {\r\n this.handleChangeP = true;\r\n this.setState({\r\n selectedFasciaOraria: this.props.Prenotazione.selectedFasciaOraria,\r\n });\r\n }\r\n if (this.handleChangeP) {\r\n this.handleChangeP = false;\r\n this.getParcheggio();\r\n }\r\n }\r\n\r\n getParcheggio(value, desc) {\r\n this.parcheggioService\r\n .getParcheggioPrenotazione(\r\n this.props.Prenotazione.selectedArea.IDAREA,\r\n this.props.Prenotazione.selectedFields.dataPrenotazione,\r\n this.state.selectedFasciaOraria\r\n )\r\n .then((res) => {\r\n this.setState({\r\n listParcheggi: res.data.result,\r\n selectedParcheggio: [{ IDPARCHEGGIO: value, DESCRIZIONE: desc }],\r\n });\r\n });\r\n }\r\n\r\n getData() {\r\n return {\r\n selectedTipoVeicolo: this.state.selectedTipoVeicolo,\r\n targaVeicolo: this.state.targaVeicolo,\r\n selectedParcheggio: this.state.selectedParcheggio,\r\n };\r\n }\r\n\r\n validate() {\r\n let errors = [];\r\n if (\r\n !this.state.selectedTipoVeicolo ||\r\n this.state.selectedTipoVeicolo.length === 0\r\n ) {\r\n errors.push(this.props.t(\"NO_VEHICLE_TYPE\"));\r\n }\r\n if (\r\n this.state.selectedTipoVeicolo &&\r\n this.state.selectedTipoVeicolo.length > 0\r\n ) {\r\n if (\r\n this.state.selectedTipoVeicolo[0].flgVeicoloPrivato &&\r\n this.state.targaVeicolo === \"\"\r\n ) {\r\n errors.push(this.props.t(\"LicensePlateRequired\"));\r\n }\r\n if (\r\n this.state.selectedTipoVeicolo[0].flgVeicoloPrivato &&\r\n this.state.selectedFasciaOraria &&\r\n this.state.listParcheggi.length &&\r\n (!this.state.selectedParcheggio ||\r\n this.state.selectedParcheggio.length === 0)\r\n ) {\r\n errors.push(this.props.t(\"NO_PARCHEGGIO_SELEZIONATO\"));\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {\r\n this.setState({ selectedTipoVeicolo: ev });\r\n }}\r\n required\r\n readOnly={this.props.readOnly}\r\n />\r\n \r\n {this.state.selectedTipoVeicolo &&\r\n this.state.selectedTipoVeicolo.length > 0 &&\r\n this.state.selectedTipoVeicolo[0].flgVeicoloPrivato && (\r\n \r\n \r\n \r\n this.setState({ targaVeicolo: ev.target.value })\r\n }\r\n name=\"targaVeicolo\"\r\n className=\"form-control\"\r\n aria-label=\"Search\"\r\n aria-describedby=\"basic-addon2\"\r\n readOnly={this.props.readOnly}\r\n />\r\n \r\n )}\r\n {this.state.selectedTipoVeicolo &&\r\n this.state.selectedTipoVeicolo.length > 0 &&\r\n this.state.selectedTipoVeicolo[0].flgVeicoloPrivato &&\r\n this.state.selectedFasciaOraria &&\r\n this.state.listParcheggi.length > 0 && (\r\n \r\n
\r\n
\r\n \r\n {\r\n this.setState({ selectedParcheggio: ev });\r\n }}\r\n required\r\n />\r\n
\r\n {this.props.Prenotazione.selectedFields.statoPagamento && (\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n\r\nconst PrenotazioneVeicoloForm = RxComponent({})(Component);\r\nexport default PrenotazioneVeicoloForm;\r\n","import React from \"react\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\nimport { Button, Form, FormGroup, Label, Input, FormText } from \"reactstrap\";\r\nimport { SelectPicker } from \"../../../components/Content/SelectPicker\";\r\nimport TipologiaDocumentoService from \"../../TipologiaDocumento/TipologiaDocumento.sevice\";\r\nimport _ from \"lodash\";\r\nimport { onError, onSuccess } from \"../../../redux/Shared/Shared.actions\";\r\n\r\nclass Component extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n numeroPasseggeri:\r\n (this.props.numeroPasseggeri ? this.props.numeroPasseggeri : 1) - 1,\r\n tipologiaDocumentoService: new TipologiaDocumentoService(),\r\n listTipologiaDocumento: null,\r\n loading: true,\r\n maxOccupanti: this.props.maxOccupanti ? this.props.maxOccupanti : null,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.props.onRef(this);\r\n this.state.tipologiaDocumentoService.getAllNewApi().then((res) => {\r\n this.setState({\r\n listTipologiaDocumento: res.data.result,\r\n loading: !this.state.loading,\r\n listData: this.props.data || [],\r\n });\r\n });\r\n }\r\n\r\n validate() {\r\n let errors = [];\r\n if (\r\n this.state.listData.length &&\r\n this.state.listData.length === this.state.numeroPasseggeri\r\n ) {\r\n this.state.listData.forEach((el, index) => {\r\n // if(!el.nome){\r\n // errors.push(\r\n // this.props.t(this.props.t(\"Name\") + this.props.t(\"notValidPassengerN°\")+ (index + 1))\r\n // );\r\n // }\r\n // if(!el.cognome){\r\n // errors.push(\r\n // this.props.t(this.props.t(\"Surname\") + this.props.t(\"notValidPassengerN°\")+ (index + 1))\r\n // );\r\n // }\r\n if (\r\n !el.tipologiaDocumento ||\r\n !el.tipologiaDocumento.idTipologiaDocumento\r\n ) {\r\n errors.push(\r\n this.props.t(\r\n this.props.t(\"TIPOLOGIA_DOCUMENTO\") +\r\n this.props.t(\"notValidPassengerN°\") +\r\n (index + 1)\r\n )\r\n );\r\n }\r\n if (!el.numeroDocumento) {\r\n errors.push(\r\n this.props.t(\r\n this.props.t(\"NUMERO_DOCUMENTO\") +\r\n this.props.t(\"notValidPassengerN°\") +\r\n (index + 1)\r\n )\r\n );\r\n }\r\n });\r\n } else {\r\n if (this.state.numeroPasseggeri !== 0) {\r\n errors.push(this.props.t(\"INSERT_PERSONAL_DATA\"));\r\n }\r\n }\r\n return errors;\r\n }\r\n\r\n getData = () => {\r\n return {\r\n listPax: this.state.listData,\r\n numeroOccupanti: this.state.numeroPasseggeri + 1,\r\n };\r\n };\r\n\r\n setList(nomeEntity, ev, index) {\r\n let listToPass = this.state.listData;\r\n let ob = {\r\n nome: \"\",\r\n cognome: \"\",\r\n tipologiaDocumento: {},\r\n numeroDocumento: \"\",\r\n };\r\n ob[nomeEntity] = ev;\r\n if (listToPass[index]) {\r\n listToPass[index][nomeEntity] = ob[nomeEntity];\r\n } else {\r\n listToPass[index] = {\r\n nome: \"\",\r\n cognome: \"\",\r\n tipologiaDocumento: \"\",\r\n numeroDocumento: \"\",\r\n };\r\n listToPass[index][nomeEntity] = ob[nomeEntity];\r\n }\r\n\r\n this.setState({\r\n listData: listToPass,\r\n });\r\n }\r\n\r\n addPaxSlot = () => {\r\n if (this.state.numeroPasseggeri + 1 < this.state.maxOccupanti) {\r\n let listToPass = this.state.listData;\r\n let ob = {\r\n nome: \"\",\r\n cognome: \"\",\r\n tipologiaDocumento: {},\r\n numeroDocumento: \"\",\r\n };\r\n listToPass.push(ob);\r\n this.setState({\r\n numeroPasseggeri: this.state.numeroPasseggeri + 1,\r\n listData: listToPass,\r\n });\r\n } else {\r\n this.props.onError(\"EXCEEDED_PAX_LIMIT\");\r\n }\r\n };\r\n\r\n render() {\r\n if (this.state.loading) {\r\n return

{this.props.t(\"Loading\")} ...

;\r\n }\r\n let listToPass = this.state.listData;\r\n return (\r\n \r\n
{this.props.t(\"WHO_COMES_WITH_YOU\")}
\r\n
\r\n
\r\n {_.times(this.state.numeroPasseggeri, (index) => {\r\n let ob = {\r\n nome: \"\",\r\n cognome: \"\",\r\n tipoDocumento: {},\r\n numeroDocumento: \"\",\r\n };\r\n return (\r\n \r\n
\r\n {this.props.t(\"ENTER_DETAILS_FOR_PASSENGER_N°\")}\r\n {index + 1}\r\n
\r\n\r\n
\r\n \r\n \r\n

\r\n {\r\n this.setList(\"nome\", ev.target.value, index);\r\n }}\r\n value={\r\n this.state.listData.length && this.state.listData[index]\r\n ? this.state.listData[index].nome\r\n : \"\"\r\n }\r\n readOnly={this.props.readOnly}\r\n />\r\n
\r\n \r\n \r\n

\r\n {\r\n this.setList(\"cognome\", ev.target.value, index);\r\n }}\r\n value={\r\n this.state.listData.length && this.state.listData[index]\r\n ? this.state.listData[index].cognome\r\n : null\r\n }\r\n readOnly={this.props.readOnly}\r\n />\r\n
\r\n \r\n \r\n {\r\n this.setList(\"tipologiaDocumento\", ev[0], index);\r\n }}\r\n required\r\n values={\r\n this.state.listData.length && this.state.listData[index]\r\n ? [this.state.listData[index].tipologiaDocumento]\r\n : null\r\n }\r\n readOnly={this.props.readOnly}\r\n />\r\n \r\n \r\n \r\n

\r\n {\r\n this.setList(\"numeroDocumento\", ev.target.value, index);\r\n }}\r\n value={\r\n this.state.listData.length && this.state.listData[index]\r\n ? this.state.listData[index].numeroDocumento\r\n : null\r\n }\r\n readOnly={this.props.readOnly}\r\n />\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n );\r\n }\r\n}\r\nconst PrenotazioneInsertAnagrafica = RxComponent({ onError })(Component);\r\nexport default PrenotazioneInsertAnagrafica;\r\n","import React from \"react\";\r\nimport Comune from \"../../modules/Comune/Comune.repo\";\r\nimport _ from \"lodash\";\r\n\r\nexport default class SettingsBlock extends React.PureComponent {\r\n state = {\r\n permittedSections: [],\r\n };\r\n\r\n componentDidMount() {\r\n Comune.getService()\r\n .find(this.props.idComune)\r\n .then((res) => {\r\n if (res.data.result.settings) {\r\n const settings = JSON.parse(res.data.result.settings);\r\n if (_.isObject(settings) && _.isObject(settings.blocks)) {\r\n this.setState({\r\n permittedSections: settings.blocks[this.props.block],\r\n });\r\n }\r\n }\r\n });\r\n }\r\n\r\n render() {\r\n return React.Children.map(this.props.children, (child) => {\r\n if (child && child.props.section) {\r\n if (this.state.permittedSections.indexOf(child.props.section) >= 0)\r\n return child;\r\n return null;\r\n }\r\n return child;\r\n });\r\n }\r\n}\r\n","import React from \"react\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\nimport AreaDetails from \"../../Area/components/Area.details\";\r\nimport PrenotazioneTipoPrenotazione from \"./Prenotazione.tipoprenotazione\";\r\nimport {\r\n triggerInsertPrenotazione,\r\n triggerUpdatePrenotazione,\r\n} from \"../../../redux/Prenotazione/Prenotazione.actions\";\r\n\r\nimport {\r\n Accordion,\r\n AccordionItem,\r\n AccordionItemHeading,\r\n AccordionItemButton,\r\n AccordionItemPanel,\r\n} from \"react-accessible-accordion\";\r\nimport { Trans } from \"react-i18next\";\r\nimport PrenotazioneVeicoloForm from \"./Prenotazione.veicolo.form\";\r\nimport { Row, Col } from \"reactstrap\";\r\nimport PrenotazioneInsertAnagrafica from \"./Prenotazione.insertAnagrafica\";\r\nimport { onError, onSuccess } from \"../../../redux/Shared/Shared.actions\";\r\nimport { ON_SUCCESS_UPDATE_PRENOTAZIONE } from \"../../../redux/Prenotazione/Prenotazione.types\";\r\nimport SettingsBlock from \"../../../components/Settings/SettingsBlock\";\r\nimport { ROLES } from \"../../../constants/Roles\";\r\nimport {AREE} from \"../../../constants/Aree\";\r\n\r\nclass Comp extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n errorsAll: null,\r\n resAll: null,\r\n loading: true,\r\n readOnly: this.props.readOnly,\r\n };\r\n }\r\n\r\n componentDidUpdate() {\r\n if (\r\n this.props.Prenotazione.type === ON_SUCCESS_UPDATE_PRENOTAZIONE &&\r\n this.handleUpdate\r\n ) {\r\n this.handleUpdate = false;\r\n if (this.props.onClose) {\r\n this.props.onClose();\r\n }\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n setTimeout(() => {\r\n this.setState({\r\n loading: false,\r\n });\r\n }, 2000);\r\n }\r\n\r\n validateAll = () => {\r\n let errors = [];\r\n let errorsTipoPrenotzaione = this.prenotazioneTipoPrenotazioneChild ?\r\n this.prenotazioneTipoPrenotazioneChild.validate()\r\n :[];\r\n let errorsVeicolo = this.prenotazioneVeicoloFormChild\r\n ? this.prenotazioneVeicoloFormChild.validate()\r\n : [];\r\n let errorsAnagrafica = this.prenotazioneInsertAnagraficaChild.validate();\r\n errors.push(\r\n ...errorsTipoPrenotzaione,\r\n ...errorsVeicolo,\r\n ...errorsAnagrafica\r\n );\r\n this.setState({\r\n errorsAll: errors,\r\n });\r\n return errors;\r\n };\r\n\r\n validateAllUpdate = () => {\r\n let errors = [];\r\n let errorsVeicolo = this.prenotazioneVeicoloFormChild\r\n ? this.prenotazioneVeicoloFormChild.validate()\r\n : [];\r\n let errorsAnagrafica = this.prenotazioneInsertAnagraficaChild.validate();\r\n let errorsTipoPrenotzaione = this.prenotazioneTipoPrenotazioneChild ?\r\n this.prenotazioneTipoPrenotazioneChild.validateUpd()\r\n\r\n :[];\r\n if (!this.props.Prenotazione.selectedFields.idPrenotazione) {\r\n errors.push(this.props.t(\"NO_ID_PRENOTAZIONE\"));\r\n }\r\n errors.push(\r\n ...errorsVeicolo,\r\n ...errorsAnagrafica,\r\n ...errorsTipoPrenotzaione\r\n );\r\n this.setState({\r\n errorsAll: errors,\r\n });\r\n return errors;\r\n };\r\n\r\n collectAllData = () => {\r\n const err = this.validateAll();\r\n if (err.length) {\r\n this.props.onError(err.join(\"\\n\"));\r\n return;\r\n }\r\n\r\n let res = {\r\n numeroOccupanti:\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo ===\r\n ROLES.GESTORE_AREA\r\n ? this.props.numeroOccupanti\r\n : this.props.Prenotazione.selectedFields.numeroOccupanti,\r\n\r\n //idArea: this.props.Prenotazione.selectedArea.IDAREA,\r\n idArea:\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo !==\r\n ROLES.GESTORE_AREA\r\n ? this.props.Prenotazione.selectedArea.IDAREA\r\n : this.props.idArea,\r\n //emailArea: this.props.Prenotazione.selectedArea.EMAIL,\r\n emailArea:\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo !==\r\n ROLES.GESTORE_AREA\r\n ? this.props.Prenotazione.selectedArea.EMAIL\r\n : this.props.email,\r\n selectedTipologiaPrenotazione: null,\r\n selectedTipologiaPrenotazioneId: null,\r\n selectedFasciaOraria: null,\r\n selectedFasciaOrariaId: null,\r\n selectedDataInizio: null,\r\n selectedDataFine: null,\r\n selectedTipoVeicolo: null,\r\n selectedTipoVeicoloId: null,\r\n targaVeicolo: null,\r\n anagrafiche: [],\r\n isEvento : this.props.Prenotazione.selectedArea.CODICETIPOLOGIAAREA === AREE.EVENTO\r\n };\r\n\r\n let resAnagrafica = this.prenotazioneInsertAnagraficaChild.getData();\r\n\r\n if (this.prenotazioneTipoPrenotazioneChild) {\r\n\r\n let resTipoPrenotzaione = this.prenotazioneTipoPrenotazioneChild.getData();\r\n res.selectedTipologiaPrenotazione =\r\n resTipoPrenotzaione.selectedTipologiaPrenotazione;\r\n res.selectedTipologiaPrenotazioneId =\r\n resTipoPrenotzaione.selectedTipologiaPrenotazione.idTipologiaPrenotazione;\r\n res.selectedFasciaOraria = resTipoPrenotzaione.selectedFasciaOraria;\r\n res.selectedFasciaOrariaId =\r\n resTipoPrenotzaione.selectedFasciaOraria.idFasciaOraria;\r\n res.selectedDataInizio = resTipoPrenotzaione.dataInizioCompleta;\r\n res.selectedDataFine = resTipoPrenotzaione.dataFineCompleta;\r\n } else {\r\n res.selectedDataInizio = this.props.Prenotazione.selectedFields.dataPrenotazione + \"0000\"\r\n res.selectedDataFine = this.props.Prenotazione.selectedFields.dataPrenotazione + \"2359\"\r\n }\r\n\r\n if (this.prenotazioneVeicoloFormChild) {\r\n let resVeicolo = this.prenotazioneVeicoloFormChild.getData();\r\n if (\r\n resVeicolo.selectedTipoVeicolo[0] &&\r\n resVeicolo.selectedTipoVeicolo[0].idTipologiaVeicolo\r\n ) {\r\n res.selectedTipoVeicolo = resVeicolo.selectedTipoVeicolo[0];\r\n res.selectedTipoVeicoloId =\r\n resVeicolo.selectedTipoVeicolo[0].idTipologiaVeicolo;\r\n res.targaVeicolo = resVeicolo.targaVeicolo;\r\n if (\r\n resVeicolo.selectedParcheggio &&\r\n resVeicolo.selectedParcheggio.length &&\r\n resVeicolo.selectedParcheggio[0] &&\r\n resVeicolo.selectedParcheggio[0].IDPARCHEGGIO\r\n ) {\r\n res.idParcheggio = resVeicolo.selectedParcheggio[0].IDPARCHEGGIO;\r\n }\r\n }\r\n }\r\n\r\n res.anagrafiche.push(...resAnagrafica.listPax);\r\n\r\n /*if (\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo === ROLES.GESTORE_AREA\r\n ) {\r\n res.tipologiaDocumento = this.props.tipologiaDocumentoUserAssegnato;\r\n res.numeroDocumento = this.props.numeroDocumentoUserAssegnato;\r\n }*/\r\n\r\n if (window.location.href.indexOf(\"/dashboard\") >= 0) {\r\n res.IDUTENTEPRENOTATO =\r\n this.props.Auth.user.TipologiaProfilo.codiceProfilo ===\r\n ROLES.GESTORE_AREA\r\n ? this.props.idUtenteAssegnato\r\n : this.props.Prenotazione.userAssegnato;\r\n }\r\n\r\n res.idComune = this.props.Prenotazione.selectedFields.idComune;\r\n\r\n this.props.triggerInsertPrenotazione(res);\r\n this.setState({ resAll: res });\r\n };\r\n\r\n collectAllDataForUpdate = () => {\r\n const err = this.validateAllUpdate();\r\n if (err.length) {\r\n this.props.onError(err.join(\"\\n\"));\r\n return;\r\n }\r\n let res = {};\r\n let resAnagrafica = this.prenotazioneInsertAnagraficaChild.getData();\r\n if (this.props.fromVarco) {\r\n res = {\r\n idPrenotazione: this.props.Prenotazione.selectedFields.idPrenotazione,\r\n numeroOccupanti: this.props.Prenotazione.selectedFields.numeroOccupanti,\r\n idVeicolo: this.props.Prenotazione.selectedFields.veicolo\r\n ? this.props.Prenotazione.selectedFields.veicolo.idVeicolo\r\n : null,\r\n idUtente: this.props.Auth.user.idUtente,\r\n selectedTipoVeicolo: null,\r\n selectedTipoVeicoloId: null,\r\n targaVeicolo: null,\r\n anagrafiche: [],\r\n dataInizioCompleta: null,\r\n };\r\n } else {\r\n res = {\r\n idPrenotazione: this.props.prenotazioneId,\r\n numeroOccupanti: this.props.Prenotazione.selectedFields.numeroOccupanti,\r\n idVeicolo: this.props.veicoloId,\r\n idUtente: this.props.Auth.user.idUtente,\r\n selectedTipoVeicolo: null,\r\n selectedTipoVeicoloId: null,\r\n targaVeicolo: null,\r\n anagrafiche: [],\r\n dataInizioCompleta: null,\r\n };\r\n }\r\n if (this.prenotazioneTipoPrenotazioneChild) {\r\n let resTipoPrenotzaione = this.prenotazioneTipoPrenotazioneChild.getData();\r\n res.dataInizioCompleta = resTipoPrenotzaione.dataInizioCompleta;\r\n } else {\r\n res.dataInizioCompleta = this.props.Prenotazione.selectedFields.dataPrenotazione + \"0000\"\r\n }\r\n\r\n if (this.prenotazioneVeicoloFormChild) {\r\n let resVeicolo = this.prenotazioneVeicoloFormChild.getData();\r\n if (\r\n resVeicolo.selectedTipoVeicolo[0] &&\r\n resVeicolo.selectedTipoVeicolo[0].idTipologiaVeicolo\r\n ) {\r\n res.selectedTipoVeicolo = resVeicolo.selectedTipoVeicolo[0];\r\n res.selectedTipoVeicoloId =\r\n resVeicolo.selectedTipoVeicolo[0].idTipologiaVeicolo;\r\n res.targaVeicolo = resVeicolo.targaVeicolo;\r\n if (\r\n resVeicolo.selectedParcheggio &&\r\n resVeicolo.selectedParcheggio.length &&\r\n resVeicolo.selectedParcheggio[0] &&\r\n resVeicolo.selectedParcheggio[0].IDPARCHEGGIO\r\n ) {\r\n res.idParcheggio = resVeicolo.selectedParcheggio[0].IDPARCHEGGIO;\r\n }\r\n } else {\r\n res.idVeicolo = null;\r\n }\r\n }\r\n\r\n /*res.selectedTipoVeicolo = resVeicolo.selectedTipoVeicolo[0];\r\n res.selectedTipoVeicoloId =\r\n resVeicolo.selectedTipoVeicolo[0].idTipologiaVeicolo;\r\n res.targaVeicolo = resVeicolo.targaVeicolo;*/\r\n res.anagrafiche.push(...resAnagrafica.listPax);\r\n res.numeroOccupanti = resAnagrafica.numeroOccupanti;\r\n\r\n res.idComune = this.props.Prenotazione.selectedFields.idComune;\r\n\r\n this.handleUpdate = true;\r\n this.props.triggerUpdatePrenotazione(res);\r\n };\r\n\r\n render() {\r\n console.log(this.props)\r\n const codiceProfilo = this.props.Auth.user.TipologiaProfilo.codiceProfilo;\r\n if (this.state.loading) return

{this.props.t(\"Loading\")} ...

;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {this.props.t(\"THESE_FIELDS_ARE_REQUIRED\")}\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst PrenotazioneDetailForm = RxComponent({\r\n triggerInsertPrenotazione,\r\n onError,\r\n triggerUpdatePrenotazione,\r\n})(Comp);\r\nexport default PrenotazioneDetailForm;\r\n","import React from \"react\";\r\nimport RxComponent from \"../../../redux/RxComponent\";\r\nimport { triggerCercaDisponibilita } from \"../../../redux/Prenotazione/Prenotazione.actions\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"bootstrap/dist/js/bootstrap.bundle\";\r\nimport {\r\n Button,\r\n Form,\r\n FormGroup,\r\n Label,\r\n Input,\r\n FormText,\r\n Alert,\r\n} from \"reactstrap\";\r\nimport { SelectPicker } from \"../../../components/Content/SelectPicker\";\r\nimport DatePicker from \"../../../components/Content/DatePicker\";\r\nimport AreaService from \"../../Area/Area.service\";\r\nimport TipologiaPrenotazioneService from \"../../TipologiaPrenotazione/TipologiaPrenotazione.service\";\r\nimport ComuneService from \"../../Comune/Comune.service\";\r\nimport moment, { relativeTimeThreshold } from \"moment\";\r\nimport {\r\n FILTER_NUMBER,\r\n FILTER_MULTIPLE,\r\n} from \"../../../components/TableServer/FilterItem\";\r\nimport { ROLES } from \"../../../constants/Roles\";\r\nimport GestoreAreaService from \"../../AssegnaGestoreArea/AssegnaGestoreArea.service\";\r\nimport PrenotazioneDetailForm from \"./Prenotazione.insertdetail\";\r\n\r\nclass Component extends React.Component {\r\n areaService = new AreaService();\r\n TipologiaPrenotazioneService = new TipologiaPrenotazioneService();\r\n ComuneService = new ComuneService();\r\n gestoreAreaService = new GestoreAreaService();\r\n\r\n constructor(props) {\r\n super(props);\r\n const codiceProfilo = this.props.Auth.user.TipologiaProfilo.codiceProfilo;\r\n\r\n this.state = {\r\n comuneList: [],\r\n occupantiList: [],\r\n numeroOccupanti: null,\r\n selectedComune:\r\n codiceProfilo === ROLES.RESPONSABILE_VARCHI_STRADALI ||\r\n codiceProfilo === ROLES.ADDETTO_SICUREZZA ||\r\n codiceProfilo === ROLES.RESPONSABILI_VARCHI_AREE ||\r\n codiceProfilo === ROLES.ADMIN_COMUNE\r\n ? [this.props.Auth.user.Comune]\r\n : null,\r\n dataPrenotazione: null,\r\n prenotazioneToBePassed: [],\r\n giorniPrenotazioneComune: null,\r\n form_key: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.ComuneService.searchComuniPrenotazione(true).then((res) => {\r\n let comuneList = res.data.result;\r\n this.setState({\r\n comuneList,\r\n });\r\n });\r\n const codiceProfilo = this.props.Auth.user.TipologiaProfilo.codiceProfilo;\r\n if (window.location.href.indexOf(\"/dashboard\") >= 0) {\r\n this.setValidDatesPrenotazione(this.props.Auth.user.fkIdComune);\r\n }\r\n\r\n if (\r\n codiceProfilo === ROLES.RESPONSABILE_VARCHI_STRADALI ||\r\n codiceProfilo === ROLES.ADDETTO_SICUREZZA ||\r\n codiceProfilo === ROLES.RESPONSABILI_VARCHI_AREE ||\r\n codiceProfilo === ROLES.ADMIN_COMUNE\r\n ) {\r\n this.handleChangePrenotazioneToBePassed(\r\n this.props.Auth.user.Comune,\r\n \"comune\"\r\n );\r\n this.loadNumeroOccupanti(this.props.Auth.user.Comune);\r\n this.setState({\r\n giorniPrenotazioneComune: this.props.Auth.user.Comune\r\n .giorniPrenotazione,\r\n });\r\n } else if (codiceProfilo === ROLES.GESTORE_AREA) {\r\n this.ComuneService.getById(this.props.Auth.user.fkIdComune).then(\r\n (res) => {\r\n let comune = res.data.result;\r\n this.handleChangePrenotazioneToBePassed(comune, \"comune\");\r\n this.loadNumeroOccupanti(comune);\r\n this.setState({\r\n giorniPrenotazioneComune: comune.giorniPrenotazione,\r\n selectedComune: comune,\r\n });\r\n }\r\n );\r\n }\r\n }\r\n\r\n loadNumeroOccupanti(comune) {\r\n let list = [];\r\n if (comune && comune.maxOccupanti) {\r\n for (let i = 1; i <= comune.maxOccupanti; i++) {\r\n list.push({\r\n value: i,\r\n descrizione: i,\r\n });\r\n }\r\n }\r\n this.setState({\r\n occupantiList: list,\r\n });\r\n }\r\n\r\n handleChangePrenotazioneToBePassed(ev, key) {\r\n let prenotazioneToBePassed = this.state.prenotazioneToBePassed;\r\n if (\r\n key === \"comune\" &&\r\n this.state.prenotazioneToBePassed[key] !== ev //&&\r\n //this.state.prenotazioneToBePassed[key]\r\n ) {\r\n prenotazioneToBePassed = [];\r\n prenotazioneToBePassed[key] = ev;\r\n this.setValidDatesPrenotazione(ev.idComune);\r\n this.resetForm();\r\n if (this.props.isFromGestore) {\r\n this.props.onResetForm();\r\n }\r\n } else if (\r\n key === \"dataPrenotazione\" &&\r\n this.state.prenotazioneToBePassed[key] !== ev &&\r\n this.state.dateDisp\r\n ) {\r\n let dat = moment(ev);\r\n dat = dat.format(\"YYYYMMDD\");\r\n\r\n if (\r\n this.state.dateDisp.indexOf(moment(ev).format(\"YYYYMMDD\")) >= 0 ||\r\n this.state.dateDisp.indexOf(dat) >= 0\r\n ) {\r\n prenotazioneToBePassed[key] = ev;\r\n this.setState({\r\n dataPren: moment(ev).format(\"YYYYMMDD\"),\r\n dataNotAvailableForUser: false,\r\n });\r\n } else {\r\n this.setState({\r\n dataNotAvailableForUser: true,\r\n });\r\n }\r\n if (this.props.isFromGestore) {\r\n this.props.onResetForm();\r\n }\r\n } else if (\r\n key === \"numeroOccupanti\" &&\r\n this.state.prenotazioneToBePassed[key] !== ev\r\n ) {\r\n prenotazioneToBePassed[key] = ev;\r\n this.setState({\r\n numeroOccupanti: ev,\r\n });\r\n if (this.props.isFromGestore) {\r\n this.props.onResetForm();\r\n }\r\n }\r\n\r\n this.setState({\r\n prenotazioneToBePassed: prenotazioneToBePassed,\r\n });\r\n }\r\n\r\n handleSubmit = () => {\r\n if (this.validate()) {\r\n let prenotazione = {\r\n idComune: this.state.prenotazioneToBePassed.comune.idComune,\r\n dataPrenotazione: moment(\r\n this.state.prenotazioneToBePassed.dataPrenotazione\r\n ).format(\"YYYYMMDD\"),\r\n numeroOccupanti: this.state.prenotazioneToBePassed.numeroOccupanti\r\n .descrizione,\r\n };\r\n if (window.location.href.indexOf(\"/dashboard\") >= 0) {\r\n prenotazione.fromDashboard = true;\r\n prenotazione.IDUTENTE = this.props.Prenotazione.userAssegnato\r\n }\r\n if (this.props.isFromGestore) {\r\n this.props.onSubmit(prenotazione);\r\n } else {\r\n this.props.triggerCercaDisponibilita(prenotazione);\r\n }\r\n } else {\r\n //TODO manageError\r\n }\r\n };\r\n\r\n _checkBan(date) {\r\n let banned = false;\r\n if (\r\n this.props.Auth.user.ListaBan_List &&\r\n this.props.Auth.user.ListaBan_List.length\r\n ) {\r\n banned =\r\n this.props.Auth.user.ListaBan_List.filter((itemBan) => {\r\n const DI = moment(itemBan.dataInizioBan)\r\n .set(\"h\", 0)\r\n .set(\"m\", 0)\r\n .set(\"s\", 0);\r\n const D = moment(date).set(\"h\", 0).set(\"m\", 0).set(\"s\", 0);\r\n const DE = moment(itemBan.dataFineBan)\r\n .set(\"h\", 23)\r\n .set(\"m\", 59)\r\n .set(\"s\", 59);\r\n return (\r\n itemBan.flgBanAttivo &&\r\n date &&\r\n D.isSameOrAfter(DI) &&\r\n D.isSameOrBefore(DE) &&\r\n itemBan.fkIdComune ===\r\n this.state.prenotazioneToBePassed.comune.idComune\r\n );\r\n }).length > 0;\r\n }\r\n\r\n this.setState({\r\n userBanned: banned,\r\n });\r\n }\r\n\r\n validate() {\r\n if (\r\n this.state.selectedComune &&\r\n this.state.numeroOccupanti &&\r\n this.state.dataPren &&\r\n moment(this.state.dataPren).isValid()\r\n ) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n resetForm() {\r\n let newKey = this.state.form_key;\r\n newKey += 1;\r\n if (this.props.isFromGestore) {\r\n this.props.onResetForm();\r\n }\r\n this.setState({\r\n form_key: newKey,\r\n numeroOccupanti: null,\r\n showDetail: false,\r\n });\r\n }\r\n\r\n setValidDatesPrenotazione(idComune) {\r\n let dateDisp = [];\r\n let idUser =\r\n window.location.href.indexOf(\"/dashboard\") >= 0\r\n ? this.props.Prenotazione.userAssegnato\r\n : this.props.Auth.user.idUtente;\r\n if (window.location.href.indexOf(\"/dashboard\") >= 0) {\r\n this.ComuneService.getDatesForUserBO(\r\n idComune,\r\n idUser,\r\n moment().format(\"YYYYMMDD\")\r\n )\r\n .then((res) => {\r\n dateDisp = res.data.result.map((el) => el.DATAABILITATA);\r\n })\r\n .then(() => {\r\n this.setState({\r\n dateDisp: dateDisp,\r\n });\r\n });\r\n } else {\r\n this.ComuneService.getDatesForUser(\r\n idComune,\r\n idUser,\r\n moment().format(\"YYYYMMDD\")\r\n )\r\n .then((res) => {\r\n dateDisp = res.data.result.map((el) => el.DATAABILITATA);\r\n })\r\n .then(() => {\r\n this.setState({\r\n dateDisp: dateDisp,\r\n });\r\n });\r\n }\r\n }\r\n\r\n render() {\r\n const codiceProfilo = this.props.Auth.user.TipologiaProfilo.codiceProfilo;\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
\r\n {codiceProfilo !== ROLES.GESTORE_AREA && (\r\n
\r\n {this.props.t(\"ENTER_YOUR_BOOKING_DETAILS\")}\r\n
\r\n )}\r\n
\r\n {codiceProfilo !== ROLES.GESTORE_AREA && (\r\n \r\n \r\n {\r\n if (ev.length && ev[0]) {\r\n this.handleChangePrenotazioneToBePassed(ev[0], \"comune\");\r\n this.loadNumeroOccupanti(ev[0]);\r\n this.setState({\r\n selectedComune: ev[0],\r\n giorniPrenotazioneComune: ev[0].giorniPrenotazione,\r\n });\r\n } else {\r\n this.setState({\r\n occupantiList: [],\r\n numeroOccupanti: null,\r\n selectedComune: null,\r\n dataPrenotazione: null,\r\n prenotazioneToBePassed: [],\r\n giorniPrenotazioneComune: null,\r\n });\r\n }\r\n }}\r\n required\r\n />\r\n \r\n )}\r\n\r\n
\r\n