{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./Configuration.js","webpack:///./components/person/AccessRights/assignmentScreen.js","webpack:///./components/common/ConfirmationModal.js","webpack:///./containers/App/RouterMenuGroups.js","webpack:///./components/common/grid/StandardGrid.js","webpack:///./components/common/grid/ImageGridItem.js","webpack:///./components/visitors/Visit.js","webpack:///./components/audit/AuditConfiguration.js","webpack:///./components/userProfile/Preferences.js","webpack:///./components/app/AppSettings.js","webpack:///./components/app/OwinSettings.js","webpack:///./components/app/LngSettings.js","webpack:///./components/widgets/Dashboard.js","webpack:///./components/imageGallerySetup/ImageGallerySetup.js","webpack:///./_infrastructure/dateFormats.js","webpack:///../node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./_infrastructure/TypeMetaValidationGenerator.js","webpack:///./_api/CompaniesHandler.js","webpack:///./_infrastructure/HubManager.js","webpack:///./components/common/forms/formfields sync ^\\.\\/.*$","webpack:///./_infrastructure/react-datetime/DateTime.js","webpack:///./_infrastructure/react-datetime/src/CalendarContainer.js","webpack:///./_infrastructure/react-datetime/src/DaysView.js","webpack:///./_infrastructure/react-datetime/src/MonthsView.js","webpack:///./_infrastructure/react-datetime/src/YearsView.js","webpack:///./_infrastructure/react-datetime/src/TimeView.js","webpack:///./containers/Notifications/actions.js","webpack:///./components/common/ImageEditor.js","webpack:///./components/common/imagegallery/ImageGallery.js","webpack:///./components/common/imagegallery/GallerySelectedImage.js","webpack:///./stores/ImageLibraryStore.js","webpack:///./components/common/forms/FormHeader.js","webpack:///./components/common/forms/FormHelpToggle.js","webpack:///./components/common/tabs/Tab.js","webpack:///./components/common/tabs/TabPanel.js","webpack:///./components/person/personForm/OptionsTab.js","webpack:///./components/person/personForm/Name.js","webpack:///./components/person/personForm/Cards.js","webpack:///./components/person/personForm/Pictures.js","webpack:///./components/person/personForm/AccessRightsTab.js","webpack:///./actions/CardHoldersActions.js","webpack:///./_api/ActivityHandler.js","webpack:///./components/person/personForm/PersonalData.js","webpack:///./components/person/personForm/NotesTab.js","webpack:///./components/person/personForm/biometricsTab.js","webpack:///./_api/CredentialsHandler.js","webpack:///./components/credential/form/CardDetails_FASCN.js","webpack:///./components/credential/form/CardDetails_SR_10_12.js","webpack:///./components/credential/form/CardDetails_SR_15.js","webpack:///./components/credential/form/CardDetails_CMV_U.js","webpack:///./components/credential/form/CardDetails_CMV_F.js","webpack:///./components/credential/form/CardDetails_Legacy.js","webpack:///./components/credential/form/CardDetails.js","webpack:///./components/common/customAttributes/CustomAttributeField.js","webpack:///./components/person/personForm/BelowName.js","webpack:///./components/person/personForm/LocatorTab.js","webpack:///./components/common/query/Query.js","webpack:///./components/common/query/queryView/QueryViewManager.js","webpack:///./components/common/query/queryView/SelectList.js","webpack:///./components/common/query/queryView/SortQuery.js","webpack:///./components/common/forms/formfields/IconInput.js","webpack:///./components/common/query/queryView/GroupByQuery.js","webpack:///./stores/QueryStore.js","webpack:///./_api/QueryHandler.js","webpack:///./components/common/query/queryFilter/FilterManager.js","webpack:///./components/common/query/queryFilter/Filter.js","webpack:///./components/common/multiview/ViewFilter.js","webpack:///./components/common/multiview/QuerySearch.js","webpack:///./components/common/multiview/ViewFooter.js","webpack:///./_infrastructure/Hotkey.js","webpack:///./components/common/grid/GridMixin.js","webpack:///./components/visitors/visitForm/PersonalDataTab.js","webpack:///./components/visitors/visitForm/NotesTab.js","webpack:///./components/visitors/visitForm/Locator.js","webpack:///./components/visitors/visitForm/middleArea/VisitDetailsComponent.js","webpack:///./components/visitors/VisitDetails.js","webpack:///./components/visitors/visitForm/middleArea/VisitDetails.js","webpack:///./components/visitors/components/PersonFinder.js","webpack:///./components/visitors/visitForm/OptionsTab.js","webpack:///./components/visitors/visitForm/Name.js","webpack:///./components/visitors/visitForm/Cards.js","webpack:///./components/visitors/visitForm/Pictures.js","webpack:///./components/visitors/visitForm/AccessRightsTab.js","webpack:///./components/visitors/visitForm/BelowName.js","webpack:///./components/visitors/visitForm/biometricsTab.js","webpack:///./stores/AuditStore.js","webpack:///./components/audit/ConfigurationFormSettings.js","webpack:///./components/app/settings/General.js","webpack:///./components/app/settings/Api.js","webpack:///./components/app/settings/Alarms.js","webpack:///./components/app/settings/Smtp.js","webpack:///./components/common/ShowMessage.js","webpack:///./components/app/settings/Owin.js","webpack:///./components/app/settings/LanguagePacks.js","webpack:///./components/common/ScreensUtils.js","webpack:///./actions/LongRunOperationActions.js","webpack:///./stores/UserProfileStore.js","webpack:///./_api/CardHoldersHandler.js","webpack:///./components/common/query/QueryableMultiView.js","webpack:///./_infrastructure/Logger.js","webpack:///./_infrastructure/PaginationHelpers.js","webpack:///./_api/AuditHandler.js","webpack:///./components/widgets/Cardholders.js","webpack:///./components/widgets/Visitors.js","webpack:///./components/widgets/Alarms.js","webpack:///./containers/Alarms/utils.js","webpack:///./components/widgets/Empty.js","webpack:///./components/widgets/Widget.js","webpack:///./components/widgets/Constants.js","webpack:///./components/widgets/WidgetContainer.js","webpack:///../alt.js","webpack:///./_infrastructure/queryHelper.js","webpack:///./actions/VisitsActions.js","webpack:///./actions/UserProfileActions.js","webpack:///./components/person/AccessRights/table.js","webpack:///./components/common/ClientSelector.js","webpack:///./containers/App/menu/TopMenu.js","webpack:///./containers/alarms/alarmsWidget.js","webpack:///./containers/App/TopNavigation.js","webpack:///./components/common/MaximizeModal.js","webpack:///./containers/Notifications/store.js","webpack:///./containers/Notifications/Notification.js","webpack:///./containers/Notifications/index.js","webpack:///./stores/LongRunOperationStore.js","webpack:///./containers/App/NotifyLongRun.js","webpack:///./containers/Login/index.js","webpack:///./containers/Logout/index.js","webpack:///./components/common/Pagination.js","webpack:///./_infrastructure/displayTypes.js","webpack:///./containers/CardHolders/actions.js","webpack:///./containers/CardHolders/store.js","webpack:///./containers/CardHolders/statics/defaultColumns.js","webpack:///./containers/CardHolders/index.js","webpack:///./components/person/PersonRoute.js","webpack:///./containers/Audit/actions.js","webpack:///./containers/Audit/store.js","webpack:///./containers/Audit/statics/defaultColumns.js","webpack:///./containers/Audit/index.js","webpack:///./components/userProfile/UserProfile.js","webpack:///./containers/Visitors/actions.js","webpack:///./containers/Visitors/statics/storeDescriptor.js","webpack:///./containers/Visitors/store.js","webpack:///./containers/Visitors/statics/defaultColumns.js","webpack:///./containers/Visitors/index.js","webpack:///./_infrastructure/Filter.js","webpack:///./containers/Alarms/actions.js","webpack:///./containers/Alarms/store.js","webpack:///./containers/Alarms/alarm.js","webpack:///./containers/Alarms/index.js","webpack:///./containers/Unauthorized/index.js","webpack:///./_api/AccessCodesHandler.js","webpack:///./actions/AccessCodesActions.js","webpack:///./stores/AccessCodesStore.js","webpack:///./containers/AccessCodes/Form.js","webpack:///./components/Person/AccessRights/table.js","webpack:///./components/Person/AccessRights/assignmentScreen.js","webpack:///./components/Person/AccessRights/details.js","webpack:///./containers/AccessCodes/Card.js","webpack:///./containers/AccessCodes/index.js","webpack:///./containers/App/Routes.js","webpack:///./containers/App/index.js","webpack:///./main.js","webpack:///./components/common/tables/TableImage.js","webpack:///./_infrastructure/imagePromise.js","webpack:///./stores/AppStore.js","webpack:///./_infrastructure/Validate.js","webpack:///./_api/AppHandler.js","webpack:///./components/common/Select.js","webpack:///./actions/PersonActions.js","webpack:///./_infrastructure/AppStorage.js","webpack:///./_infrastructure/Util.js","webpack:///./_api/PersonHandler.js","webpack:///./components/common/AuthenticatedComponent.js","webpack:///./components/common/forms/FormFieldMixin.js","webpack:///./components/common/forms/FormField.js","webpack:///./components/common/forms/formfields/DateTime.js","webpack:///./actions/CompaniesActions.js","webpack:///./components/common/Loading.js","webpack:///./actions/StatisticsActions.js","webpack:///./_api/AuthHandler.js","webpack:///./components/common/tables/Table.js","webpack:///./_infrastructure/Superagent-wrapper.js","webpack:///./components/person/AccessRights/details.js","webpack:///./components/common/forms/formfields/Container.js","webpack:///./components/common/forms/formfields/ButtonRadioGroup.js","webpack:///./components/person/Person.js","webpack:///./stores/AuthStore.js","webpack:///./components/common/forms/formfields/Input.js","webpack:///./components/common/forms/formfields/Fieldset.js","webpack:///./components/common/forms/formfields/FileForm.js","webpack:///./components/common/forms/formfields/FileFormWithoutForm.js","webpack:///./components/common/forms/formfields/Select.js","webpack:///./components/common/forms/formfields/TextArea.js","webpack:///./components/person/PersonStatus.js","webpack:///./actions/CredentialsActions.js","webpack:///./components/common/customAttributes/CustomAttributesMixin.js","webpack:///./components/visitors/components/VisitHistoryTable.js","webpack:///./components/common/tables/TableRow.js","webpack:///./components/common/forms/formfields/FieldWrapper.js","webpack:///./components/common/forms/FormUtils.js","webpack:///./_infrastructure/dateHelper.js","webpack:///./actions/AuthActions.js","webpack:///./_infrastructure/QueryUtils.js","webpack:///./actions/AppActions.js","webpack:///./stores/CompaniesStore.js","webpack:///./_api/UserProfileHandler.js","webpack:///./components/common/LngSelector.js","webpack:///./_infrastructure/Consts.js","webpack:///./components/common/title/ActionButtonsTitle.js","webpack:///./stores/PersonsStore.js","webpack:///./_api/SessionHandler.js","webpack:///./containers/alarms/actions.js","webpack:///./_api/StatisticsHandler.js","webpack:///./components/common/forms/formfields/Array.js","webpack:///./components/common/forms/formfields/Button.js","webpack:///./components/common/forms/formfields/CheckGroup.js","webpack:///./components/common/forms/formfields/Checkbox.js","webpack:///./components/common/forms/formfields/Collapsible.js","webpack:///./components/common/forms/formfields/Combobox.js","webpack:///./components/common/forms/formfields/Dropdown.js","webpack:///./components/common/forms/formfields/HtmlBlock.js","webpack:///./components/common/forms/formfields/ImageCapture.js","webpack:///./components/common/imagegallery/GalleryImageItem.js","webpack:///./components/common/imagegallery/GalleryImageRow.js","webpack:///./actions/ImageLibraryActions.js","webpack:///./_api/ImageLibraryHandler.js","webpack:///./components/common/forms/formfields/ImageGalleryUploadPreview.js","webpack:///./components/common/forms/formfields/LocationAutoComplete.js","webpack:///./components/common/forms/formfields/MultiSelect.js","webpack:///./components/common/forms/formfields/RadioGroup.js","webpack:///./components/common/forms/formfields/Select2.js","webpack:///./components/common/forms/formfields/Sticky.js","webpack:///./components/common/forms/formfields/SummaryPage.js","webpack:///./_api/VisitsHandler.js","webpack:///./components/common/forms/formfields/TextBlock.js","webpack:///./components/common/forms/formfields/WizardPage.js","webpack:///./components/credential/CredentialsTable.js","webpack:///./components/common/QueryMultiviewMixin.js","webpack:///./components/common/tables/TableCard.js","webpack:///./components/credential/BadgeModal.js","webpack:///./actions/QueryActions.js","webpack:///./actions/AuditActions.js","webpack:///./stores/VisitsStore.js","webpack:///./_api/AlarmsHandler.js","webpack:///./components/person/AccessRights/index.js","webpack:///./components/person/AccessRightsField.js","webpack:///./assets/sounds/alert.mp3","webpack:///./_infrastructure/ApiRoutes.js","webpack:///./components/common/forms/Form.js","webpack:///./stores/StatisticsStore.js","webpack:///./components/common/forms/ConfirmModal.js"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","0","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","getDefault","getModuleExports","object","property","p","jsonpArray","window","oldJsonpFunction","slice","logger","require","getHost","_window$location","location","hostname","port","host","protocol","apiRoot","serverRoot","localServiceRoot","appLogger","appErrorHandler","errHandler","err","error","dictionaries","alarmsQuickActions","alarmSoundOptions","homePageOptions","themeOptions","getAppearance","type","Consts","accessTargetsType","doorGroup","Icon","DoorGroupIcon","className","color","AccessCodeIcon","door","DoorIcon","area","AreaIcon","floorGroup","FloorGroup","timeCode","TimeCodeIcon","toggleListElement","item","list","R","ifElse","contains","without","append","getFormattedTimecodes","timeCodes","map","merge","label","Description","$uri","Input","props","react__WEBPACK_IMPORTED_MODULE_0___default","a","createElement","_extends","AssignmentScreen","_classCallCheck","this","_this","_possibleConstructorReturn","__proto__","getPrototypeOf","autoBind","searchChangedDebounced","debounce","descriptionValue","searchAction","_this$props","_this$props$data","undefined","_this$props$assignedC","assignedCodes","_this$props$timeCodes","availableCodes","omit","formattedTimeCodes","state","selectedAvailableCodes","selectedAssignedCodes","accessTarget","asgSearchQuery","avSearchQuery","selectedTimeCode","openedTHFilter","selectedAsyncFilter","React","Component","e","persist","setState","target","nextProps","prevState","filter","f","Type","accesCode","onRequestDetails","_this2","_state","_props","detailsItem","accessTargetsLoaded","availableTimeCodesLoaded","loadedAccessTargetDefinition","filteredByDesc","FilterList","withoutAssignedAccessCodes","equals","find","propEq","i18n","style","border","placeholder","groupClassName","onChange","onSearchAvailable","react_select__WEBPACK_IMPORTED_MODULE_14___default","clearable","options","asyncFilterOptions","onChangeAsyncFilter","height","overflow","padding","react_infinite_scroller__WEBPACK_IMPORTED_MODULE_3___default","id","loadMore","onLoadMore","hasMore","hasMoreData","useWindow","initialLoad","threshold","loader","aria-hidden","ac","idx","renderAvailable","marginTop","searchable","isLoading","onChangeSelectedCode","renderThFilter","marginBottom","react_bootstrap__WEBPACK_IMPORTED_MODULE_1__","bsStyle","bsSize","disabled","onClick","onAssignAccessCodes","onRemoveAccessRight","_table__WEBPACK_IMPORTED_MODULE_16__","onAssignedSelect","columns","_details__WEBPACK_IMPORTED_MODULE_17__","loaded","shouldUpdate","_state2","uniques","sac","TimeCode","currentlyAssigned","concat","updateParentState","_state3","dissoc","_this3","_getAppearance","isSelected","classes","iconClasses","role","onAvailableSelect","title","react_icons_lib_fa_check_circle_o__WEBPACK_IMPORTED_MODULE_13___default","_props2","nextLink","Modal","CloseIcon","ConfirmationModal","createClass","displayName","getDefaultProps","show","submitAndClose","onConfirm","onAbort","render","_props$bodyText","bodyText","_props$confirmText","confirmText","_props$abortText","abortText","onHide","Body","Footer","ref","groupName","groupIcon","groupOnly","StandardGrid","propTypes","PropTypes","array","rows","tableHeightRatio","componentDidMount","addEventListener","_ref","scrollContainer","maxHeight","innerHeight","RowType","row","_","Util","dateHelper","GridMixin","TableCard","default","ImageGridItem","mixins","resolvePathValue","obj","path","split","reverse","current","_typeof","pop","getInitialState","selected","handleClick","clickHandler","renderHighlightText","col","vals","localizeDisplay","val","idxVal","mark","backgroundColor","getLinkParams","queryName","renderList","column","collection","_column$name$split","_column$name$split2","_slicedToArray","number","titleColumn","filterRegex","selectedRow","clientSelector","otherColumns","field_type","fieldTypes","image","prettydate","details","utcDatetime","listColumns","imageColumns","colorColumns","dateColumns","dateTimeColumns","detailsColumns","to","findLink","indexOf","getSelectedRows","borderColor","borderSize","linkClicked","display","href","document","origin","params","renderGridItemSelected","retval","src","format","formatted","getHighlightText","selectAll","boolean","getOwnPropertyNames","paddingLeft","width","top","position","G4SForm","CredentialsTable","VisitActions","personalDataTab","notesTab","locatorTab","VisitHistoryTable","visitDetailsFormComponent","visitDetailsComponent","visitStore","UserProfileStore","Loading","CustomAttributesMixin","optionsTab","nameForm","cardsForm","picturesForm","accessRightsTab","PersonsStore","ScreensUtils","belowNameForm","AuthStore","biometricsTab","DeleteModal","BadgeModal","FormUtils","CompaniesStore","LongRunOperationActions","regeneratorRuntime","fetchTypeMeta","CredentialsActions","withRouter","parseQuery","Visit","contextTypes","history","componentWillReceiveProps","_parseQuery$uid","search","uid","visitorUri","copy","loadVisitor","loadActivity","setTimeout","initializeStoreForPerson","listen","onChangeVisitsStore","componentWillUnmount","unlisten","store","visitorTemplate","isPermissionsInitialized","currentEditedPerson","availableAccessTargets","availableTimeCodes","accessTargetDefinition","VisitorTemplate","setInitialized","_parseQuery2$uid","showModal","Locator","showBadgeConfirmation","showConfirmModalBadgeAccessRightSwap","showBadgeAfterCallback","showBadgeModal","selectedCardRow","detailsFieldsErrors","shouldUseValues","AdvancedAccessRights","valuesloaded","credentialsColumns","Name","VisitorModel","values","ca","generateCustomAttributes","CustomAttributes","filteredCustomAttributes","select","Identifier","assign","model","nameFields","buildFields","belowNameFields","ApprovingOfficial","filterApprovingOfficials","ApprovingOfficialList","BadgeFormatList","readOnly","Credentials","optionsFields","AvailableGroups","accessRightsFields","AssignedAccessTargets","useNewModel","accessRightsComponentUseNewModel","typeMeta","TypeMeta","visible","getVisibleFromTypeMeta","personUri","status","getPersonStatus","notesTabFields","onChangeNotes","picturesFields","PersonStatus","personalFields","fields","biometricsTabFields","metaData","Meta","x","MetaData","cardsFields","Cards","componentToLoad","availableRows","displayColumns","TemplateCredentials","isStopped","Stop","pageTitle","onBadgeClick","facilityCustomerCodes","selectedCompany","CustomerCodes","disableBadgeButton","BadgeFormat","addDisabled","getReadonlyFromTypeMeta","savedCallback","credentialSaved","subcomponentsFieldsChanged","credentialsFieldsChanged","updateChildrenModel","parentResetFlags","resetCredentialFlags","componentType","visit","locatorFields","getLocatorColumns","noDataText","getState","allowedSegments","Visits","Message","templateDepartureDateTime","Date","DepartureDateTime","visiting","visitModel","Status","Visiting","Person","Given","Family","ContactNumber","visitDetails","VisitDetails","visits","historyVisits","OriginalVisitorModel","signInOut","visitPermissions","disableSignIn","JSON","parse","stringify","departureDefaultTime","hour","getHours","minute","getMinutes","visitorTypeMeta","nameFieldsContainer","description","hasContainer","groupHtmlClass","tabsContainer","union","cardsContainer","belowNameFieldsContainer","formFields","buttons","faClass","deleteVisitor","deleteVisitorAction","CanDelete","confirmModalBadgeAccessRightsSwap","swapBadgeAccessRights","abortSwapBadgeAccessRights","confirmModalDeleteVisitor","modalText","showConfirmModalDeleteVisitor","handleSubmit","confirmDeleteVisitor","abort","abortDeleteVisitor","badgeTitle","selectedBadge","Badge","confirmSaveSignIn","closeBadgeModal","badge","showSignInConfirmation","onBadgeSubmit","closeSignInConfirmation","temp","shouldOverwriteCurrentValue","returnUrl","listUrl","closeBadgeConfirmation","dirtyFieldsExceptions","tabHeaderIcon","getInitialNotesIcon","typeMetaCredentials","cancelFunc","sticky","cloneDeep","saveFunc","iconClass","settings","tabSettings","tabStyle","withCompany","formHelp","showAddPerson","Visitor","saveVisitor","cancelVisitorFunc","addPerson","_asyncToGenerator","_callee","customAttributes","fieldName","badgeFormatValue","condition","sameType","wrap","_callee$","_context","prev","next","operationStart","Face","replace","Signature","VisitorEscort","getVisitorEscortSaveFormatValue","getVisitingSaveFormatValue","ArrivalDateTime","toServerFormat","Note","Notes","unixToWindowsNewLine","keys","formatCustomAttributeName","clone","AccessRights","AccessTarget","bypassReadonlyHiddenField","getApprovingOfficialSaveFormatValue","getReadonlyHiddenFields","getBadgeFormatSaveFormatValue","isGuid","removeReadOnlyTypeMetaByPropName","sent","$type","removeReadOnlyTypeMetaProps","then","successful","payload","getReturnPressed","pathname","generateCompanyQuery","handleSaveCallback","newModel","GroupOptions","generateGroupOptions","Access","setBadgeListFormat","loadCredentialBadgeProperty","signInAfterCallback","signInOutCall","signInPayload","stop","copyVisit","userProfile","getCurrentUser","_state$VisitorModel","Value","userPreferences","general","defaultSaveVisitor","accessRights","getVisitorByUri","Data","partition","_ref2","NormalAccessRights","getVisitorTemplate","uri","_this4","getLocatorRowsWithTimeDateColumns","_this5","isModelDirty","SignInData","ActionType","_this6","VisitorName","FormattedName","signInOutDetails","_this7","visitModelCurrent","v","visitModelNew","Groups","field","updateTabHeaderIcon","note","tabName","showIcon","icon","badgeAssignedAccessRigths","getCurrentValue","getSeconds","departureDateTime","setHours","clonedFieldsErrors","errorIndex","findIndex","currentFieldErrors","pick","update","contactNumberMapping","getMappingFromTypeMeta","contactNumberItem","eObj","errors","selectedBadgeFormatUri","badgeAssignedAccessRigthsAccessRightsTabFormatted","card","_this8","selectedItem","has","$ptr","getBadgeFormatList","_this9","credentials","flag","callback","callbackParams","_this10","credentialBadge","res","AuditStore","AuditActions","FormFields","AuditConfiguration","onChangeAuditStore","loadAuditConfiguration","createAuditContent","Payload","categoryItem","createAuditGroupField","renderAuditForm","category","CategoryName","itemHtmlClass","labelClass","htmlClass","Events","EventTypeId","DisplayEventName","Selected","saveConfiguration","config","CategoryId","PreferencesFields","_createClass","lngOptions","companyOptions","overridables","validation","translateOptions","defaultLngIsOverridable","ignoreTranslation","defaultHomePageIsOverridable","getLanguages","allowZero","defaultTimeoutIsOverridable","generalFields","apiFields","alarmsFields","FormFieldMixin","AppActions","AuthActions","AppStore","ShowMessage","MessageActions","UserProfileActions","ActionButtonsTitle","Button","AppHandle","AuthHandle","errorHandler","CertificateManager","resetToDefault","checked","resetToDefaultChanged","refs","certificateThumbprint","getCustomCurrentValue","CustomUpload","_props$field","CustomValidator","_props$field2","isValid","onUpload","parseCertificate","handleFieldChange","uploadCertificate","wizard","file","base64StringCertificate","password","certificateManager","addNotification","message","catch","AppSettings","appStoreState","roles","AppConfiguration","showPrompChanges","dataLoaded","onChangeAppStore","query","selectedRole","rolename","getSettings","selectRole","getDictionaries","unregisterClient","roleField","wizardPages","open","filterFields","supportedLngs","owin","api","alarms","remove","page","translateFields","roleContainer","collapsibleContainer","roleTitle","saveChanges","closeSaveConfirmation","excludeDirtyFields","disableDirtyFields","currentSettings","saveAppSettings","roleName","saveAppSettingsSuccessful","appSettings","roleSettings","loadUserProfile","sendTestEmailFunc","sendTestEmail","G4SFormWizard","getFormData","smtp","nextPageCallback","fromPageName","currentPageName","cb","encodeURIComponent","getRoleSettings","resetClientRegistered","logoutUser","reactBootstrap","owinFields","OwinSettings","verifyHttpsCertificateInstalled","uploader","uploaderType","uploaderHandler","parseCertificateHandler","onChangeHandler","validator","validatorType","owinSettings","saveOwinSettings","owinSettingsForm","owinModel","httpsEnabled","currentModel","modelToSave","thumbprint","languagePackFields","ConfirmModal","downloadDisabled","CustomDownload","LngSettings","allLngs","lang","symbol","fileTypes","languageFileTypes","checkLanguageFile","language","fileTypeOptions","parseFileHandler","parseFile","downloader","downloaderType","downloaderHandler","getLanguageFile","changeHandler","formDisabled","fileTypeField","confirmModal","saveLanguagePack","showConfirmModal","base64StringFile","isJSON","_state$G4SForm$getCur","fileType","uploadLanguageFile","loadAppConfiguration","saveByteArray","save","dragDropContext","DragDropContext","html5Backend","Cardholders","Alarms","Empty","Widget","Dashboard","renderDashboard","dashboard","content","renderRow","generateKey","cols","size","createMatrix","noOfRows","noOfColumn","matrix","findGroups","groups","noOfColumns","groupFinder","g","fg","end","start","colsForGroups","toRet","gr","findGEnd","colNo","findGOverlap","group","gEnd","rowsForGroups","rowNo","generateRow","grToRender","generated","isContent","HasContainer","Settings","Location","generateGuid","rowsGrDelimitators","items","delimator","gEnding","gFinder","generateCol","colsToRender","colsGrDelimitators","sizer","gs","gsSizerFinder","rowSize","rowGroups","gsFinder","colToRender","fixColSize","mainSize","ratio","Math","round","fixSize","widgets","titleIconClass","url","ImageLibraryHandler","ImageGallerySetup","currentFile","reset","accept","_defineProperty","usePhoto","imageGalleryUploaded","base64File","uploadFile","onReset","saveImageLibrary","preview","./af","./af.js","./ar","./ar-dz","./ar-dz.js","./ar-kw","./ar-kw.js","./ar-ly","./ar-ly.js","./ar-ma","./ar-ma.js","./ar-sa","./ar-sa.js","./ar-tn","./ar-tn.js","./ar.js","./az","./az.js","./be","./be.js","./bg","./bg.js","./bm","./bm.js","./bn","./bn.js","./bo","./bo.js","./br","./br.js","./bs","./bs.js","./ca","./ca.js","./cs","./cs.js","./cv","./cv.js","./cy","./cy.js","./da","./da.js","./de","./de-at","./de-at.js","./de-ch","./de-ch.js","./de.js","./dv","./dv.js","./el","./el.js","./en-SG","./en-SG.js","./en-au","./en-au.js","./en-ca","./en-ca.js","./en-gb","./en-gb.js","./en-ie","./en-ie.js","./en-il","./en-il.js","./en-nz","./en-nz.js","./eo","./eo.js","./es","./es-do","./es-do.js","./es-us","./es-us.js","./es.js","./et","./et.js","./eu","./eu.js","./fa","./fa.js","./fi","./fi.js","./fo","./fo.js","./fr","./fr-ca","./fr-ca.js","./fr-ch","./fr-ch.js","./fr.js","./fy","./fy.js","./ga","./ga.js","./gd","./gd.js","./gl","./gl.js","./gom-latn","./gom-latn.js","./gu","./gu.js","./he","./he.js","./hi","./hi.js","./hr","./hr.js","./hu","./hu.js","./hy-am","./hy-am.js","./id","./id.js","./is","./is.js","./it","./it-ch","./it-ch.js","./it.js","./ja","./ja.js","./jv","./jv.js","./ka","./ka.js","./kk","./kk.js","./km","./km.js","./kn","./kn.js","./ko","./ko.js","./ku","./ku.js","./ky","./ky.js","./lb","./lb.js","./lo","./lo.js","./lt","./lt.js","./lv","./lv.js","./me","./me.js","./mi","./mi.js","./mk","./mk.js","./ml","./ml.js","./mn","./mn.js","./mr","./mr.js","./ms","./ms-my","./ms-my.js","./ms.js","./mt","./mt.js","./my","./my.js","./nb","./nb.js","./ne","./ne.js","./nl","./nl-be","./nl-be.js","./nl.js","./nn","./nn.js","./pa-in","./pa-in.js","./pl","./pl.js","./pt","./pt-br","./pt-br.js","./pt.js","./ro","./ro.js","./ru","./ru.js","./sd","./sd.js","./se","./se.js","./si","./si.js","./sk","./sk.js","./sl","./sl.js","./sq","./sq.js","./sr","./sr-cyrl","./sr-cyrl.js","./sr.js","./ss","./ss.js","./sv","./sv.js","./sw","./sw.js","./ta","./ta.js","./te","./te.js","./tet","./tet.js","./tg","./tg.js","./th","./th.js","./tl-ph","./tl-ph.js","./tlh","./tlh.js","./tr","./tr.js","./tzl","./tzl.js","./tzm","./tzm-latn","./tzm-latn.js","./tzm.js","./ug-cn","./ug-cn.js","./uk","./uk.js","./ur","./ur.js","./uz","./uz-latn","./uz-latn.js","./uz.js","./vi","./vi.js","./x-pseudo","./x-pseudo.js","./yo","./yo.js","./zh-cn","./zh-cn.js","./zh-hk","./zh-hk.js","./zh-tw","./zh-tw.js","webpackContext","req","webpackContextResolve","Error","code","webpackContextKeys","resolve","Logger","TypeMetaValidationGenarator","opts","routines","Mandatory","build","typeMetaField","MaxValue","MinValue","MaxLength","MinLength","_getRoutine","warn","buildValidation","Promise","superagent","apiRoutes","CompaniesHandler","getCompanies","companies","baseRoute","onEnd","SessionHandler","StatisticsHandler","HubManager","connectAllHubs","connectToHub","disconnectAllHubs","disconnectFromHub","./Array","./Array.js","./Button","./Button.js","./ButtonRadioGroup","./ButtonRadioGroup.js","./CheckGroup","./CheckGroup.js","./Checkbox","./Checkbox.js","./Collapsible","./Collapsible.js","./Combobox","./Combobox.js","./Container","./Container.js","./DateTime","./DateTime.js","./Dropdown","./Dropdown.js","./FieldWrapper","./FieldWrapper.js","./Fieldset","./Fieldset.js","./FileForm","./FileForm.js","./FileFormWithoutForm","./FileFormWithoutForm.js","./HtmlBlock","./HtmlBlock.js","./IconInput","./IconInput.js","./ImageCapture","./ImageCapture.js","./ImageGalleryUploadPreview","./ImageGalleryUploadPreview.js","./Input","./Input.js","./LocationAutoComplete","./LocationAutoComplete.js","./MultiSelect","./MultiSelect.js","./RadioGroup","./RadioGroup.js","./Select","./Select.js","./Select2","./Select2.js","./Sticky","./Sticky.js","./SummaryPage","./SummaryPage.js","./TextArea","./TextArea.js","./TextBlock","./TextBlock.js","./WizardPage","./WizardPage.js","moment","CalendarContainer","TYPES","Datetime","onFocus","func","onBlur","onViewModeChange","locale","string","utc","bool","input","inputProps","timeConstraints","viewMode","oneOf","isValidDate","strictParsing","closeOnSelect","closeOnTab","nof","defaultValue","timeFormat","dateFormat","getStateFromProps","currentView","updateOn","selectedDate","viewDate","inputValue","formats","getFormats","date","localMoment","datetime","startOf","getUpdateOn","inputFormat","match","time","localeData","longDateFormat","updatedState","updatedViewDate","updatedSelectedDate","local","onInputChange","onInputKey","which","closeCalendar","showView","view","me","setDate","nextViews","month","year","parseInt","getAttribute","addTime","amount","toSelected","updateTime","subtractTime","op","allowedSetTime","setTime","nextType","index","updateSelectedDate","close","modifier","currentDate","hours","minutes","seconds","milliseconds","openCalendar","handleClickOutside","componentProps","fromProps","fromState","fromThis","getComponentProps","forEach","Array","isArray","join","children","onKeyDown","viewProps","onClickOutside","onButtonClick","viewComponents","days","months","years","DateTimePickerDays","tableChildren","footer","renderFooter","colSpan","data-value","getDaysOfWeek","day","renderDays","_weekdaysMin","first","firstDayOfWeek","dow","isDisabled","dayProps","prevMonth","subtract","currentYear","currentMonth","weeks","renderer","renderDay","alwaysValidDate","daysInMonth","lastDay","add","isBefore","isSame","event","DateTimePickerMonths","renderMonths","noOfDaysInMonth","renderMonth","set","endOf","from","updateSelectedMonth","monthStrFixedLength","monthsShort","substring","capitalize","str","charAt","toUpperCase","DateTimePickerYears","renderYears","noOfDaysInYear","renderYear","dayOfYear","updateSelectedYear","DateTimePickerTime","calculateState","counters","toLowerCase","daypart","renderCounter","onMouseDown","onStartClicking","renderDayPart","updateMilli","renderHeader","componentWillMount","min","max","step","milli","action","timer","increaseTimer","setInterval","mouseUpListener","clearTimeout","clearInterval","body","removeEventListener","padValues","toggleDayPart","pad","increase","decrease","NotificationsActions","generateActions","alt","createActions","imageStyle","maxWidth","minWidth","ImageEditor","aspect","crop","zoom","rotation","_isMounted","imageRef","pixelCrop","makeClientCrop","croppedImageUrl","getCroppedImg","canvas","getContext","drawImage","y","toDataURL","imgStyle","transform","react_image_crop__WEBPACK_IMPORTED_MODULE_2___default","onImageLoaded","onComplete","onCropComplete","onCropChange","GalleryImageItem","GalleryImageRow","GallerySelectedImage","ImageLibraryStore","ImageLibraryActions","ImageGallery","onChangeImageLibraryStore","loadImagesUrl","imageid","imageLibrary","routes","images","imageLibraryPath","heroimg","isStoreInitialized","cancel","imagesUrl","hero","img","getBase64ImageFromImgUrl","gallerySelectedImage","selectedImage","errorMessage","bindActions","onLoadImagesUrl","getImagesUrl","onLoadImageByUrl","loadImageByUrl","currentImage","onSaveImageLibrary","createStore","Sticky","FormHeader","cancelAndReturn","saveAlwaysDisabled","afterSubmit","hide","shouldComponentUpdate","nextState","cancelReturn","actionText","handleCancel","handleReturn","stickyHeader","isInModal","returnBtn","cancelBtn","confirmReturn","topOffset","stickyStyle","background","zIndex","borderBottom","outline","margin","noTitle","noClearfix","boxShadow","borderRadius","marginLeft","marginRight","FormHelpToggle","right","handleHelpClick","Validation","TabPanel","G4STabs","buildTabsHeader","tabs","activeTab","tabChangedCallback","navTabClass","linerWidth","tab","tabClass","aria-controls","data-toggle","switchTab","invalid","renderTabContent","initializeTabs","getTabIcon","1","2","3","4","displayText","_toTitleCase","activeTabContent","findWhere","tabHeader","externalCallback","fromTab","checkGroupContains","noLegend","help","additionalOptions","typeMetaFieldName","autofocus","cards","showLabel","credentialsTemplate","pictures","fontSize","imageFormat","accessRightsContainer","AccessRightsFieldCardholderContainer","structure","assignedAccessTargets","CardHoldersHandler","CardHoldersActions","CardHoldersActionsCreator","actions","saveCardholder","cardholder","company","Company","saveCardholderSuccessful","ActivityHandler","sortBy","pageSize","activity","sort","limit","base","companyHeaderFor","withCredentials","notes","CredentialsHandler","loadCredentials","loadDescriptor","SourceTypeName","Fields","Filterable","Sortable","QueryFieldOptions","LinkedQueryFieldDescriptor","Title","LocalizationCode","ParentId","saveCredential","credential","cardHolders","put","deleteCredential","credentialUri","del","loadCredentialTypeMetaAndBadge","credentialTypeMetaAndBadge","loadCredentialTypeMeta","credentialTypeMeta","loadCredentialBadge","consts","cardDetails","zeroToBlank","CDateMax","optionName","optionValue","generateCardUsageRemainingOptions","toString","security","lensByName","compose","lensMatching","pred","toF","entities","entity","securitySelector","lensProp","statusSelector","cardDetailsSelector","pinOnChangeSelector","idsCodeOnClickSelector","pinNumberTypeSelector","cardUsageOnChangeSelector","credentialNumberOnChangeSelector","idsCodeOnChangeSelector","inactiveDateSelectorDefaultTime","isEmpty","warningOnModify","CardDetails","inactiveDefaultTime","pinNumberType","UUIDOnChangeSelector","overrideTypeMetaReadonly","withoutClear","facilityCustomerCodesSelector","facilityCustomerCodesField","pluck","FormField","customAttributeType","CustomAttributeField","fieldValue","customAttribute","customAttributeIdentifier","_nextProps$field","copyField","customAttributesFactory","EntryType","customAttributesField","List","originalName","approvingOfficial","customAttributeFields","personIdentifier","badgeFormatList","badgeFormatListField","isHSE","systemDetails","SystemType","activityHistoryContainer","activityHistoryComponent","QueryUtils","QueryViewManager","QueryStore","QueryActions","FilterManager","ReactSelect","ViewFilter","Breadcrumb","BreadcrumbItem","Query","onChangeQueryStore","onChangeCompaniesStore","loadAvailableQueries","dataDescriptor","router","PathRoutes","CardHolders","viewIsNotConfigured","applyFilter","queries","activateQuery","Id","defaultPageSize","edit","filtersOpen","activeBredcrumb","onChangeSelected","setBreadcrumb","breadcrumb","renderBreadCrumbs","active","renderFilterManager","descriptor","filters","addNewFilter","removeFilter","updateFilter","onEnterEvent","applyOnEnter","renderQueryViewManager","extend","processViewChange","renderQuerySettings","showConfirmSave","closeSaveConfirmDialog","Header","closeButton","hidden","duplicateName","titleValidation","handleChange","IsPublic","IsDefault","PageSize","confirmSave","renderToolBar","showConfirmDelete","cancelEdit","setCurrentQuery","queryValueNotParsed","queryId","queryString","getQuery","applyAction","defaultView","viewableColumns","Viewable","defaultViewable","defaultOrderNr","localizationKey","ApiFilterName","buildRoute","clicked","queryID","getDefaultQueryId","noneSelected","getQueryObject","hasDisplayColumns","hasQueryColumns","selectedColumns","renderPredefinedViewSelected","IsPredefined","filterDataHandler","sortField","sortDir","toggleViewHandler","viewType","onExportClick","closeConfirmDeleteDialog","deleteQuery","pointerEvents","opacity","invalidateFiltersOpen","getValue","isPublic","getChecked","isDefault","handleCompanyChange","uriQuery","groupBy","conditions","guid","newPath","keyCode","charCode","preventDefault","isOk","saveQuery","pushState","getFilterObj","newState","assocPath","findLastIndex","SelectList","SortQuery","Collapse","GroupByQuery","columnsSelected","selectedIndexes","left","sourceTypeName","allFields","fieldsIndexes","columnsSelectedIndexes","diff","difference","in","isMultiple","processSelectListChange","processLeftSelectListChange","selectedIndex","onGroupByChange","processChange","processSortByChange","float","moveOptions","processRightSelectListChange","moveToTop","moveUp","moveDown","moveToBottom","swapMultiplePositions","selectedIndexesAsNumbers","Number","itemsToMove","itemsNotSelected","insertAll","times","identity","arrayMoveUp","arrayMoveDown","source","destination","valuesToMove","sourceIndexes","indexes","labelText","columnsWithDefault","defaultEmpty","multiple","Select","getSortObj","onChangeDirection","direction","sortDirection","renderSortDirection","addonBefore","renderSortFields","__webpack_exports__","react__WEBPACK_IMPORTED_MODULE_0__","IconInput","_ref$width","_ref$placeholder","groupBySelect","GroupBy","keepPlaceHolder","QueryHandler","onSaveQuery","onLoadAvailableQueries","onDeleteQuery","loadAllQueries","cloneQuery","keepQueryOnly","tempQuery","_query","all","post","delete","Filter","Table","striped","hover","fieldFinder","G4SDateTime","propFilter","propField","bt","defaultCondition","_state$filter","fieldType","getStringTemplate","getNumberTemplate","getSelectTemplate","getDateTimeTemplate","linkedSelect","getLinkedSelectTemplate","getBooleanTemplate","stateTrue","onKeyPress","data-radio-name","handleBooleanChange","handleStringChange","handleNumberChange","conditionValue","handleSelectChange","handleLinkedSelectChange","dateFromField","noFrills","dateToField","handleDateTimeChange","textValue","stringCondition","numberValue","numberCondition","selectConditionValue","selectCondition","selectLinkedCondition","selectLinkedConditionValue","parent","dateTimeCondition","QuerySearch","customFilters","displayTypes","filterDateField","filterDateFrom","filterDateTo","filterValue","querySearchAction","orderByOptions","groupStyle","callbackAction","htmlFor","dt","debouncedCallback","quickSearchText","queryText","_components_common_forms_formfields_IconInput__WEBPACK_IMPORTED_MODULE_4__","ViewFooter","buildSelector","clientPager","pageCount","multiselectEnabled","square","allSelected","buildPager","activePage","clientPagerHandler","activePageBatch","pageBatchSize","pages","lastPage","prevPage","nextPage","pageSelected","selectedPages","cursor","aria-label","buildServerPager","serverPager","serverPagerHandler","buildPageSize","handlePageSizeChange","clientPageSize","pageSizeChanged","sticked","SyntheticKeyboardEvent","documentListener","activate","handle","disable","handlers","nativeEvent","getPooled","dispatchEvent","isPropagationStopped","returnValue","stopPropagation","isPersistent","constructor","release","mixin","HotkeyMixin","handlerName","handler","handleSelectClick","customAttributesFields","customAttributesContainer","validationErrors","VisitDetailsForm","PersonFinder","VisitStatus","VisitsStore","getCustomFieldErrors","signIn","signOut","visitHistoryContainer","visitHistoryFields","appSettingsCustomAttributeLinks","customAttributeLinks","arrayModel","VisitModel","parseValue","escortSettings","buttonText","showButton","personType","escort","visitingSettings","minDepartureDate","generateVisitHistory","minArrivalDate","visitHistoryColumns","prettydatetime","visitStatus","setStatus","visitDetailsFields","Escort","escortSelected","person","visitUri","visitingSelected","VisitHistory","ButtonHandlers","deleteVisit","closeVisit","Dates","isVisitorSignedIn","noHeader","ActionDateTime","email","VisitingEmail","SendEmail","ArivalHandleFieldChange","currentSignOut","visitorEscort","counter","unshift","visitingName","visitorEscortName","today","dd","getDate","mm","getMonth","getFullYear","dates","visitingCustomAttributes","escortMessageInformation","escortFinder","visitingFinder","contactNumber","messageInformationText","personSelected","contactNumberError","er","statusField","signInButton","CanSignIn","signOutButton","CanSignOut","CanClose","arrivalError","defaultTime","ReactDOM","people","searchValue","createSearchValue","personFinderContainer","findDOMNode","searchInProgress","updateFormField","getVisitingEscortList","divClassHidden","divClass","personFinder","searchChanged","searchGotFocus","addPersonAction","bottom","renderPersons","renderSaveFreetextButton","saveFreetext","gotData","tabIndex","popupLostFocus","prevPeople","changeSearchPagination","currentPage","nextPeople","_item$Name","Other","getVisitingEscortByUri","searchLostFocus","searchBox","_state4","newPerson","_state5","arguments","loadMoreVisitingEscortList","newCurrentPage","Count","visiting_escort_limit","Next","Prev","createSortQuery","getSortBy","createSearchQuery","reduce","separator","apiFilters","lk","Boolean","eq","getFilter","_state6","count","AccessRightsFieldVisitContainer","AuditHandler","isNotConfigured","onInitStore","onLoadAuditConfiguration","response","onLoadEvents","loadAuditEvents","events","onApplyFilter","dataQuery","emitChange","onSaveConfiguration","AuditConfigurationFields","GeneralFields","ApiFields","SmtpFields","sendEmailHandler","closeMessage","autoHide","showAlways","handleCloseMessage","toastContainer","getToastClass","div","aria-live","OwinFields","LanguagePackFields","approvingOfficials","filtered","isBetween","AuthorityBegins","AuthorityEnds","String","Time","When","templateValue","badgeUri","badgeList","b","rightsList","getNestedProperty","propModel","propNames","propName","nameWOSpace","getQueryForLink","getQueryForLinkPermission","OnVacation","ForceInactive","every","Active","operationIsLongRun","dispatch","operationFinish","defaultState","UserName","on","storage","AppStorage","userName","UserProfileHandler","updateUserProfile","preferences","savePreferences","passwordChangeStatus","apiMessage","changeLanguage","defaultLng","defaultCompany","regenerator_runtime__WEBPACK_IMPORTED_MODULE_4___default","request","Headers","Request","headers","fetch","json","abrupt","_x","app","loadmore","permissions","template","QueryMultiviewMixin","Hotkey","ReactSticky","StickyContainer","QueryableMultiView","clientSortAndFilter","instanceOf","updateFilterField","userLink","clientPagination","clientSelection","handleHotkey","shiftKey","serverFilter","debouncedServerFilter","startSelectionRow","listFilter","sortArray","renderFrozenMessage","isFrozen","openFilters","paginationObject","loadingData","showNetworkError","filterByApiName","quickFilterData","sortData","RegExp","filteredRows","getFilteredRows","tableSorting","getSortedRows","getClientPager","getClientPageRows","getClientSelector","selectRow","ViewTpl","tpl","ItemTpl","itemtpl","ServerPagination","component","offsetTop","setFilterRegexForServerQuickFilter","onSortChange","onListSortChange","tableGroupColumn","filterData","onChangeQuickFilter","quickFilterDataHandler","onChangeQuickFilterServerDataHandler","quickFilterServerDataHandler","onChangeSort","sortDataHandler","openFiltersHandler","renderviewIsNotConfigured","isRowSelected","changeSingleSelectedRow","selectMultiple","_props3","selectedRows","lastRowDeselected","changeSelectedRow","lastIndex","lastRowSelected","selection","console","info","log","level","logLevels","debug","fatal","_buildMsg","messages","msg","_len","_key","_len2","_key2","_len3","_key3","_len4","_key4","_len5","_key5","_len6","_key6","table","ramda__WEBPACK_IMPORTED_MODULE_0__","ramda__WEBPACK_IMPORTED_MODULE_0___default","updateNeighbours","newPage","newList","beforePage","afterPage","hasCurrentPage","pushNewPage","pageNumber","isCurrentPage","currentPageIndex","admin","audit","StatisticsStore","Link","storeState","initializationFailed","statistics","isNetworkDown","onChangeStatisticsStore","renderFullScreen","errorInfo","ActiveCards","InactiveCards","TotalCards","textAlign","Visitors","ActiveVisitorCards","InactiveVisitorCards","TodaysVisitors","TotalVisitorCards","SignedInVisitors","AvailableVisitorCards","todaysVisitorsQuery","unix","signedInVisitorsQuery","HighestPriorityAlarm","NewAlarms","AcknowledgedAlarms","TotalAlarms","AlarmsUtil","getStateAlarmsQuery","getPriorityAlarmsQuery","priority","WidgetContainer","ItemTypes","connectDragSource","isDragging","widget","paddingMargin","paddingRight","WIDGET","CARDHOLDER","lastUpdate","toDate","chromeDebug","qs__WEBPACK_IMPORTED_MODULE_1__","qs__WEBPACK_IMPORTED_MODULE_1___default","qs","head","tail","VisitsHandler","VisitsActions","VisitsActionsCreator","searchVisitor","findVisitor","visitor","updateVisitor","saveVisitSuccessfull","getVisitorPermissions","getAccessTargets","comparator","anyPass","k","propSatisfies","toLower","ks","always","alter","columnName","when","assoc","ARTable","searchQuery","thFilters","newThFilters","currentThFilter","onThClear","onThClick","react_select__WEBPACK_IMPORTED_MODULE_2___default","onSearchAssignedByColumn","_assignmentScreen__WEBPACK_IMPORTED_MODULE_9__","autoFocus","_item$TimeCode","shouldDisplayDetailsIconSelected","itemClasses","onClickEvent","react_icons_lib_fa_check_circle_o__WEBPACK_IMPORTED_MODULE_7___default","react_icons_lib_go_clock__WEBPACK_IMPORTED_MODULE_6___default","fill","styleHeight","styleMaxHeight","filteredByColumn","onSearchAssigned","react_bootstrap__WEBPACK_IMPORTED_MODULE_5__","responsive","condensed","bordered","renderColHeaders","renderAssignedAccessTargets","ClientsDropdown","_props$companies","selectCompany","_props$disabled","componentClass","react_default","react_bootstrap_lib","Toggle","useAnchor","noCaret","Menu","onSelect","ClientSelector","AltContainer_default","CompaniesActions","ClientSelector_ClientsDropdown","groupRoutes","links","toPairs","prop","findActiveGroup","propOr","groupIcons","Operation","Configure","Setup","TopMenu","activeGroup","subMenuLinks","showSubMenu","isCollapsed","locationActiveGroup","toggleMenu","Links","dontShowInMenu","subMenu","link","hideSubmenu","NavLink","showSubmenu","_props$routes","groupedRoutes","AuthenticatedComponent_default","minHeight","renderGroup","renderSubmenu","AlarmNotifications","alarmsWidget_classCallCheck","alarmsWidget_possibleConstructorReturn","statisticsState","settingsState","hasAlarmSound","alarmSound","activeAlarm","getNotificationColor","onToggle","_alarmBell","loop","autoPlay","muted","toggleAlarmSound","TopNavigation","TopNavigation_classCallCheck","TopNavigation_possibleConstructorReturn","mainMenu","version","userAuthenticated","IsUserAuthenticated","companySelectorDisabled","react_sticky_lib","isActive","Button_default","Collapse_default","alarmsWidget","closeSubMenu","common_ClientSelector","Dropdown_default","FirstName","eventKey","LngSelector_default","menu_TopMenu","MenuWithUserData","TopNavigation_TopNavigation","MaximizeModal","closeFunc","times_circle_default","idMaker","idMaker$","_marked","generateId","NotificationsStore","store_classCallCheck","notifications","notification","_ref3","toDeleteId","_ref4","_ref5","Notification","_props$notification","deleteNotification","_notification$type","textMsg","Notifications","Notifications_classCallCheck","Notifications_possibleConstructorReturn","Notifications_Notification","NotificationsContainer","Store","Actions","Notifications_Notifications","LongRunOperationStore","LongRunOperationStore_classCallCheck","isLongRun","running","NotifyLongRun","NotifyLongRun_classCallCheck","NotifyLongRun_possibleConstructorReturn","Modal_default","Loading_default","isImpact","NotifyLongRunContainer","NotifyLongRun_NotifyLongRun","Login","Login_classCallCheck","Login_possibleConstructorReturn","apiAddress","isClientRegistered","submited","loginUser","rowStyle","appState","Input_default","validationLength","redirectUrl","Redirect","onSubmit","doLogin","isModal","renderAPIRegister","LoginContainer","stores","Login_Login","Logout","Logout_classCallCheck","Logout_possibleConstructorReturn","LogoutContainer","Logout_Logout","Pagination","Pagination_classCallCheck","Pagination_possibleConstructorReturn","storedPages","getCurrentPage","goToNewPage","splittedList","splitAt","tailList","getTail","itemIndex","take","takeLast","renderPageNumber","_props3$storedPages","angle_left_default","renderSplitedPageNumbers","angle_right_default","TableRow","Grid","GridItem","actions_classCallCheck","PersonHandler","deletePerson","getPersonPermissions","CardHoldersStore","CardHolders_store_classCallCheck","currentQuery","columnFilters","currentQuickSearchColumnsFilterData","currentPageNumber","currentQuickSearchText","currentQuickSearchFilterText","currentQuickSearchColumnsFilterText","initialState","CanAdd","loadPermissions","setPermissionsInitialized","newFilter","defaultServerPageSize","isConfigureViewWithEmptyFilters","loadCardHolders","reqUrl","waitFor","dispatchToken","storedPage","_getFilterData","getFilterData","createSearchFilter","getInitialData","setListData","_getFilterData2","_getFilterData3","newFilterText","currentFilterText","defaultColumns","CardHolders_classCallCheck","CardHolders_possibleConstructorReturn","selectedCardHolder","initializeStore","resetStore","querySearch","quickFilter","getRowPermissions","removePersonOnClient","CanEdit","CanGet","NotFound","QueryParams","checkDeletePermissions","checkEditPermissions","statusCode","queryOnlyCompany","Delete","Add","buttonClass","addNewPerson","Edit","removeDisabled","route","buildTableActions","ConfirmModal_default","closeConfirmationModal","ActionButtonsTitle_default","QueryableMultiView_default","multiView","hasFullHeight","tableFilter","selectCardHolder","CardholdersContainer","CardHolders_Cardholders","PersonRoute","Person_default","PersonRoute_extends","Audit_actions_classCallCheck","Audit_store_classCallCheck","AuditEvents","Audit_classCallCheck","Audit_possibleConstructorReturn","initStore","setPageSize","AuditEventsContainer","Audit_AuditEvents","UserProfile","UserProfile_classCallCheck","UserProfile_possibleConstructorReturn","hideMessage","AActions","redirectToChangePassword","connectionDetails","LastName","preferencesFields","passwordFields","alternativeName","customValidationFunction","Account","Form_default","form","saveUserPreferences","UserProfileContainer","Profile","App","Auth","UserProfile_extends","UserProfile_UserProfile","VisitListActions","Visitors_actions_classCallCheck","storeDescriptor","VisitorListStore","Visitors_store_classCallCheck","_data$payload","loadVisits","Visitors_classCallCheck","Visitors_possibleConstructorReturn","selectedVisitor","removeVisitorOnClient","addNewVisitor","selectedRowCompare","selectVisitor","VisitorListContainer","Visitors_Visitors","formatFilters","pathOr","lkComparator","curry","is","notLkComparator","complement","extractConditions","cond","gt","gte","lt","lte","T","replaceWildcards","wildcards","currentWildcard","wildcard","replacement","filterBy","allPass","AlarmsActions","Alarms_actions_classCallCheck","doubleDecode","pipe","decodeURIComponent","PagLinkReplace","alarm","trimmedUrl","LastModifiedDate","Connection","hubConnection","hubProxy","filterByStatus","sortByPriorityAndTime","sortNew","sortAcknowledged","sortAlarms","flatten","ap","of","AlarmsStore","Alarms_store_classCallCheck","updated","selectedAlarm","onError","reconnected","onReconnected","disconnected","onDisconnected","createHubProxy","updateAlarmList","resetConnectionLost","isConnectionOpen","logging","transport","done","fail","invoke","AlarmsHandler","selectedAlarmIndex","sortedAlarms","defaultServerPageSizeAlarm","loadAlarms","sortedData","pollingSettings","startPolling","stopPolling","wildcardValue","getHighestPriorityAlarm","_pollingSettings","_ref3$Data","newAlarms","updatedAlarmList","accum","found","AlarmState","mergeDeepRight","longPollingNewAlarm","selectedAlarmFromPolling","last","Alarm","alarm_classCallCheck","alarm_possibleConstructorReturn","getPersonType","Comments","scrollTo","updateAlarm","comment","SourceState","Comment","loadPredefinedComments","complete","updateComment","startsWith","html","__html","AlarmInstructions","What","Where","Who","Instructions","dangerouslySetInnerHTML","insertHtml","Instruction","containerHeight","handleActions","openMaximizeModal","fullscreen_default","Select_default","Async","loadOptions","getPredefinedComments","insertPredefined","Alarms_classCallCheck","Alarms_possibleConstructorReturn","showLeaveModal","nextRoute","currentComment","stopSignalR","nextSelectedRow","selectAlarm","commentMandatory","updateAlarms","closeAfterConfirm","Prompt","Alarms_alarm","ConfirmationModal_default","saveComment","closeModal","hideModal","AlarmsWithRouter","AlarmsContainer","AlarmsProps","Companies","Alarms_extends","Unauthorized","_api_AccessCodesHandler","accessCodes","accessTargets","accessTargetLimit","accessTargetsLoadMore","cardHolderPermissions","lastSegment","accessCodeDefinition","accessCodePermissions","AccessCodesActions","AccessCodesActions_classCallCheck","availableAccessTargetsHasMore","availableAccessTargetsNextLink","accessCodesHasMore","accessCodesTargetsNextLink","accessCodesLoaded","timeCodesLoaded","formModalOpen","editedItem","currentItemPermissions","canAdd","canDelete","AccessCodes","AccessCodesStore_classCallCheck","accessCodeFilter","withoutAccessCodesFilter","neq","doorFilter","areaFilter","doorGroupFilter","floorGroupFilter","descriptionFilter","AccessCodesHandler","getAccesCodes","accessCodesNextLink","loadMoreAccessTargets","accessTimeCodeFilter","generalTimeCodeFilter","getTimeCodes","getAccessTargetDefinition","accode","createAccessCode","updateAccessCode","adjust","deleteAccessCode","loadCollectionPermissions","_this11","loadAccesCodePermissions","canEdit","notFound","validateName","FormModal","Form_classCallCheck","Form_possibleConstructorReturn","assigned","formValid","showLeaveConfirm","at","updateName","saveData","assignmentScreen","Form_extends","updateState","toggleReturnConfirmationModal","table_classCallCheck","table_possibleConstructorReturn","assignmentScreen_Input","check_circle_o_default","clock_default","assignmentScreen_extends","assignmentScreen_classCallCheck","assignmentScreen_possibleConstructorReturn","react_infinite_scroller_default","AccessRights_details","colorStyle","Details","details_classCallCheck","details_possibleConstructorReturn","renderAccesTargetDetail","desc","_props$noTitle","DetailsIcon","renderAccessTargetsDetails","AcCard","Card_classCallCheck","Card_possibleConstructorReturn","opened","showDeleteConfirmModal","deleteAction","prevProps","reloadMasonry","_props$item","getDetails","onEdit","deleteConfirmModal","deleteItem","toggleDeleteConfirmationModal","edit_default","delete_default","toggleDetails","angle_up_default","angle_down_default","AccessCodes_classCallCheck","AccessCodes_possibleConstructorReturn","loadAccessCodes","windowInner","_props$Actions","orientationChanged","companyChanged","loadModalData","_props$Actions2","loadAvailableAccessTargets","loadTimeCodes","toggleFormModal","loadMoreAccessCodes","loadAccessCodePermissions","resetCurrentItemPermission","loadAccessTargetDefinition","mergeAll","masonry","layout","accessTargetsHasMore","assignedCodesForEdited","ar","openModal","react_masonry_component_lib_default","transitionDuration","uniqBy","Card","onRequestEdit","AccessCodes_Form","AccessCodesContainer","Codes","AccessCodesStore","AccessCodes_extends","AccessCodes_AccessCodes","getRootPath","PrivateRoute","defaultUrl","rest","_objectWithoutProperties","Route","Routes_extends","_appState$allowedSegm","allowedRoutes","acum","SessionExpired","HomeRoute","protected","exact","localAdminOnly","LoginPage","LogoutPage","UnauthorizedPage","languageSelector","App_classCallCheck","App_possibleConstructorReturn","menuCollapsed","showChangePasswordModal","IsAppInitialized","loadVersion","passwordExpiryDays","initialize","extendSession","_props$AuthStore","SessionExpiresSoon","ShouldRefreshBrowser","wrongAPIVersion","displayMaximizeModal","closeMaximizeModal","_props$AppStore","defaultHomePage","blurAppClassName","getDefaultUrl","isAllowedToChangePassword","filteredRoutesByPermissions","arr","BrowserRouter","App_TopNavigation","App_extends","closeOverlay","menuUncollapse","menuGroups","displayRouter","Switch","containers_Notifications","cardPresented","closeLoginModal","personId","cardId","extendCurrentSession","goToChangePassword","closeChangePasswordModal","App_NotifyLongRun","common_MaximizeModal","AppContainer","getUserProfileSettingByName","App_App","jQueryDeferred","defaultAjaxHeaders","cache","WebFont","load","google","families","renderApp","react_hot_loader","getElementById","ImageLoader","loadImage","zoomInImage","zoomOutImage","loading","imagePromise","attributes","CancelablePromise","reject","Image","setAttribute","reflected","results","naturalWidth","errored","tagName","promise","fulfill","imgPromise","imageIndex","columnsLength","_imageStyle","elem","elemHeight","containerElem","closest","scrolled","pageYOffset","documentElement","parentNode","scrollTop","offsetLeft","offsetParent","imagePosition","scrollWidth","superAgentWrapper","imageViewer","imgIndex","onMouseOut","onMouseOver","appConfig","onLoadAppConfiguration","loadSettings","loadAppConfigurationSuccessful","onOpenMaximizeModal","onCloseMaximizeModal","onLoadVersion","onSaveAppSettings","dataToSave","saveSettings","onSaveAppSettingsSuccessful","dataSaved","onDefaultLngChanged","that","onInitializeApp","forOwn","token","Token","dummyCall","authenticated","loadRolesSettings","logout","checkApiStatus","onLoadRolesSettings","onCardPresented","changeClientRegisted","resetLanguage","appDefaultLng","hasLowercaseAmPM","includes","i8n","rule","test","is_string_number","is_password_number","is_float","is_integer","is_number","phone","min_length","max_length","min_value","toUTCString","max_value","required","trim","twoFieldsMatch","regexExpression","re","customSymmetryMask","regex","isDateInFormat","isInFormat","isTimeInFormat","isDate","isDateWarning","txt","substr","getDesc","validate","AppHandler","rolesSettings","loadRoleSettings","smtpSettings","sendEmailTest","Base64String","Password","Language","FileType","itemSelected","filterSelect","clearSelectedItem","renderPlaceholder","PersonActions","PersonActionsCreator","savePerson","updatePerson","savePersonSuccessful","getPersonByUri","localStorage","strValue","setItem","getItem","customAttributeMaskType","loadedFiles","by","newPos","phoneFormat","getTime","random","floor","stringToTest","pow","loadFile","filename","fileref","buildFileref","parts","filetype","onload","getElementsByTagName","appendChild","toCamel","_toCamelArray","_toCamelObject","destKey","getIndicesOf","searchStr","caseSensitive","indices","startIndex","searchStrLen","part","printArea","printContainer","innerHTML","print","stringFromDate","GroupName","expanded","GroupValues","Display","stringFormat","args","MaskType","Mask","customAttributesFieldGenerator","maskType","mandatory","mask","hasClass","element","cls","removeEmptySpace","stringValue","padWithZero","decodedData","b64DecodeUnicode","blob","Blob","URL","createObjectURL","download","click","revokeObjectURL","atob","charCodeAt","getIDFromUri","splitted","companyUri","PersonsHandler","loadPersons","visitingEscortDetails","onChangeAuthStore","buildParamsObject","getCurrentField","updatedField","defaultModel","getAdditionalModelProperties","getContainerInnards","subField","getParams","tmpId","toValidId","getCheckGroupDefaultValue","validateFormField","retVal","buildField","FieldTemplate","range","text","tel","week","snakeToCamel","child","checkFieldIsValid","DateTimePicker","FieldWrapper","keyPressHandler","picker","componentDidUpdate","currentValue","changed","processChangeOnTouch","_state$field","_state$field$max","isAfter","toMomentObject","showTime","showCalendar","dateTimeOpts","pickerContainer","getFormat","getLocale","CompaniesActionsCreator","loadingClass","StatisticsActions","loadData","loadSuccessfully","loadFailed","loadFailedNetworkDown","updateData","StatisticsActionsCreator","AuthHandler","auth","dummy","logInUser","pwd","login","send","Username","ApiAddress","sessionExpired","registered","groupedRows","toggle","expandedGroups","clientWidth","innerWidth","theadPlaceholder","scrollX","scrollLeft","tableMaxHeight","onChangeHeaderFilter","renderSelectHead","selectPage","oneSelected","renderFilterHead","containsBigLetters","containsSmallLetters","quickFilterExit","calculateInputWidth","multiply","filterSet","clearQuickFilter","toggleQuickFilter","textDecoration","renderSortHead","clear","aas","renderHead","renderTableBody","renderGroupedRows","getDetailsRows","renderLoadingData","_props4","finder","groupTitle","groupByColumnObject","toggleGroup","_props5","fixedMaxHeight","tableCss","renderRows","handleFilterColumnChange","tableHeader","renderNoRows","_props6","isDetail","normalRow","toggleDetailsRow","detailsRow","detail","formatCSharpException","ExceptionMessage","interceptor","crossDomain","fn","use","Container","fieldDefault","now","tag","Tag","_field","ButtonRadioGroup","opt","fld","locatorTable","PersonModel","requireshandleSaveCallback","loadPerson","onChangePersonsStore","personTemplate","handleAvailableGroupsChange","hasLabel","getTemplate","AccessTargets","ExecutivePrivileges","AutoDeleteExempt","AntiPassbackExempt","RandomSearchExempt","PINExempt","KeyCard","onChangeUserProfileStore","onUserAuthenticated","userProfileAuth","calculatePasswordExpiryDays","PasswordExpiryDate","ServerTime","checkAPIVersion","SystemVersion","loadCompanies","startSessionMonitor","onLoginUser","actionData","loginSuccessful","onExtendSession","onLogoutUser","onLogout","onLoginSuccessful","suspendSessionMonitor","onSessionExpired","shouldRefreshBrowser","onSessionExpiresSoon","onResumeSession","onRedirectToChangePassword","passwordExpiryDate","serverTime","momentExpiryDate","momentServertime","systemVersion","ImplementationVersion","getUserAuthenticated","getUserProfile","overridablePropertyName","settingsWithRole","propValue","G4SInput","cancelZeroToBlank","buildInputField","inputField","buildAddOns","addOnPrefix","addOnSuffix","evt","valueAsNumber","FieldSet","FileForm","data_uri","fileName","handleFile","files","setupReader","reader","FileReader","upload","readAsDataURL","fieldMultiple","fieldAccept","fieldHtmlClass","encType","FileFormWithoutForm","dataArray","G4SSelect","buildInnards","getSingleValue","changeValue","firstOptionVal","getMultipleValue","getFirstOption","firstOptionText","firstOption","G4STextArea","handleChangeDebounced","_props$field$showLabe","_props$field$fontSize","CredentialsActionsCreator","Credential","withValidation","System","generateCustomAttributesValidation","TableImage","renderSelectCell","getRowLinkParams","param","renderLink","setStatusColor","idxCol","formatDate","toLocalTime","showCheckbox","quickFilterRegex","buildErrMsg","buildValidationMessage","buildGroupClass","errMsg","grpClass","buildHelp","validationNotes","showHelp","bypassPointerEventsDisabled","fv","messagesIn","innards","skipWrapper","ValidationGenerator","walkFormFields","updateNestedProperty","deleteValue","findFieldByName","infields","inname","traverse","some","findFieldByKey","inkey","invalue","toValidName","checkFieldName","warnings","testName","isNaN","tmpname","_checkFieldName","w","getValidationRules","extendValidation","updateField","fieldErrors","filteredFields","formName","postfix","option","findTabFieldByName","activeTabField","buildValidationsFromTypeMeta","typeMetaOther","validations","getAccessProperty","access","readOnlyField","Key","getDeleteFromTypeMeta","mapping","getDirtyModel","dirtyFields","mainProps","nestedProps","nestedProperty","_require","dateFormats","getMoment","customFormat","dateObject","toEn","toUTC","FilterObj","SortObj","QueryObj","appHandler","defaultLngChanged","initializeApp","configOnServer","configSet","init","lng","shortcutFunction","fallbackLng","AppActionsActionsCreator","setLng","onLoadCompanies","reason","onSelectCompany","Dropdown","MenuItem","changePreferredLanguage","currentLanguage","lngOption","columnsProps","companyHeaderKey","encodeResultStatus","Success","InsertCard","InvalidEncoder","InvalidWrite","con","ncon","ge","le","nlk","Bootstrap","SplitButton","renderButtons","buttonType","renderSplitButton","renderNormalButton","button","splitButton","defaultAction","renderSplitButtonActions","actionKey","setDefaultSplitButtonAction","PersonStore","loadCardHolderTemplate","loadTemplate","onLoadAvailableAccessTargets","onLoadMoreAccessTargets","onLoadAvailableTimeCodes","onLoadAccessTargetDefinition","loadVisiting","loadVisitorEscorts","loadMoreVisiting","loadMoreVisitorEscorts","proxy","sessionInterval","sessionStartTime","lastActiveTime","notifySessionExpires","resumeSession","onUnload","sessionExpiresSoon","userActive","eventsAttached","_idx","ArrayBlock","handleArrayFieldChange","handleArrayChange","arrayField","handleAddClick","handleRemoveClick","handleFocus","isLast","thisval","fieldVal","visibility","ArrayField","addNewElement","elements","buildElement","newfld","any","numberOfElementErrors","numberOfFieldErrors","increaseInstanceCount","prevRow","prevRowVal","elementLen","ButtonComponent","renderButton","CheckGroup","checkVal","inline","CheckBox","Collapsible","togglePanel","Combobox","ComboBox","select2Opts","DropdownList","DropDown","HTMLBlock","Tooltip","OverlayTrigger","localMediaStream","VideoCapture","snapshotCallback","isRequired","video","querySelector","getGum","constrains","audio","mediaDevices","navigator","getUserMedia","gum","webkitGetUserMedia","mozGetUserMedia","stream","srcObject","onloadedmetadata","vidWidth","offsetWidth","vidHeight","offsetHeight","errorCallback","domNode","stopStreamedVideo","videoElem","getTracks","track","takeSnapshot","ctx","ImageCapture","uploadImagesEnabled","imageUrl","addBase64String","showCamera","showEditor","allowUploadImages","showImageGallery","imageUploaded","usingCamera","rotatePhoto","renderImage","tooltip","placement","overlay","backgroundImage","displayImageCapture","lastIndexOf","imageHeight","imageWidth","isSignature","showUpload","gUM","editorRatio","cropperValue","toggleCamera","triggerFilePicker","renderCameraView","renderImageGallery","retakeSnapshot","videocapture","fileupload","library","ImageGalleryUploadPreview","selectedImages","exists","base64images","propImage","getSelectedImages","G4SLocationAutocomplete","getDOMNode","autocomplete","maps","places","Autocomplete","addListener","htmlDoc","DOMParser","parseFromString","getPlace","adr_address","getElementsByClassName","alert","handleUserChange","userValue","formatted_address","valueWhenPlacedChanged","alternateValue","handleBlur","autoCompleteField","RWMultiSelect","G4SMultiSelect","multiSelectOpts","RadioGroup","VirtualizedSelect","G4SSelect2","buildSelectOptions","_field$optionName","_field$optionValue","lbl","selectedOptions","asyncOptions","showClearButton","multi","resetValue","boxSizing","SummaryItem","switchWizardPage","prepareFieldValue","typeSwitch","fieldset","checkbox","react_tag","location_auto_complete","radio_group","select2","prepareDisplayText","summaryDisplay","rowDecorator","subfields","renderPage","hideFromSummaryPage","renderArray","renderField","subItem","imgMarkup","subItemModel","SummaryPage","visitorEscortLoadmore","visitingLoadmore","visitorPermissions","visitors","visitHistory","signDetails","TextBlock","Fieldset","WizardPage","page_number","page_count","includePageNumbers","include_page_numbers","prevPageCallback","actiontext","VisitStore","getDates","setActiveInactiveDates","loadTypeMeta","originalSelectedRow","editModel","openCardTypeList","ct","deepClone","PINNumber","CardUsageRemaining","IDSCode","closeTemplateDropdown","CardTypeContainer","setCardStatus","disableStatus","editCredential","detailsTab","generateCardTemplate","InactiveDate","dateFromTemplateInactiveDate","changedField","onClickField","deleteButtonDisabled","newCard","badgeButtonVisible","badgeButtonReadonly","deleteCard","disabledEditButton","addCredential","CardType","settingsaves","CardNumberDisplay","DefaultIDSCodeAsPINCode","generateIDSCodeFromPin","cardType","removeCredential","editCard","modelNotCleaned","cleanBadgeFormat","applySaveCredential","apiSaved","samePin","eqProps","sameCardUsageRemaining","sameIDSCode","samePredefinedValues","clearEditNewFlags","ActiveDate","ExpirationDate","StatusKey","CardNumber","idsCodeMeta","maxLen","filterColumns","quickFilterColumns","momentFrom","momentTo","momentDate","filtercol","filterProcessor","sortByOrder","pieces","sortFields","sortOrders","names","csvRows","defaultObj","lastPropName","propNamesWithoutLast","resultArray","csvString","ceil","sendFilteredToList","changeSelectedAllPagesRows","areAllRowsSelected","changeSelectedPageRows","isOneSelected","clearSelection","selectionChanged","notSelected","pageRows","pRows","react_icons_lib_fa_credit_card__WEBPACK_IMPORTED_MODULE_1__","react_icons_lib_fa_credit_card__WEBPACK_IMPORTED_MODULE_1___default","CardLabel","FlipMove","listClass","eventHandler","ViewableImage","frontImg","Front","backImg","Back","badgeImages","renderPrintHtml","_props$badge$Printabl","PrintableImage","findSizeInMM","dpi","Width","Height","printBadge","win","self","focus","write","renderBadges","swapBadges","_props2$printText","printText","duration","easing","typeName","delay","staggerDurationBy","staggerDelayBy","loadEvents","isStoreInitializedForPerson","pagData","setInitializedForPerson","loadVisitorTemplate","onInitializeStoreForPerson","onInitializeStoreForList","onQuerySearch","onQuickFilter","onRouterWillLeaveAction","isPrevRoutePerson","_this12","loadAlarm","personPermissions","validationError","saveDisabled","lib","AccessRightsField","tempAssignedAccessTargets","Children","AccessRightsActions","paddingBottom","onEditAccessRights","loadAvailableTimeCodes","assignedRights","selectedRight","inject","loadCardHolder","loadVisit","StandardFormHeader","initializeFields","clearDirtyFields","addDirtyField","returnDirtyModel","rootRef","walkFormRefs","shouldAddToModel","dirtyModel","fieldGroupHtmlClass","hasHelp","hasHelpFields","readOnlyFields","hiddenFields","dirtySubcomponents","returnPressed","context","processFormConditions","formField","conditionals","handleFieldChangeOnTab","parentTab","tabRef","tabField","validateTab","updateCurrentTab","updatestate","activeTabName","validResults","validateForm","submittedModel","validTabs","validateTabFields","validForm","cleanedModel","initFieldClasses","initializeFieldValue","firstOpt","stateFormFields","processConditions","foundField","propsToCopy","cnd","attribute","testVal","trgt","triggerField","buildFormHeader","_props6$isInModal","isWizard","_validateTab","validTab","tabModel","discoverInvalidTabFields","setParentTabField","buildTabsAndFields","tabContainerAdded","tabsFields","invalidTab","tabWithRef","tabContent","formTabs","_props7","rootField","wizardchild","valid","paramField","validateFieldAgainstModel","fldValid","paramTabField","tabContainers","isStoreLoading","onLoadData","onUpdateData","StatusCode","onLoadSuccessfully","onLoadFailed","onLoadFailedNetworkDown"],"mappings":"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CAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,gBAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,UAAA,IACAC,aAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,aAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,UAAA,IACAC,OAAA,IACAC,YAAA,IACAC,eAAA,IACAC,UAAA,IA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","file":"lib/main.b493e36b36972b6e17c8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t0: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([896,1]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","(function(){\r\n'use strict';\r\nvar Logger = require('__infrastructure/Logger');\r\nvar logger = new Logger({name: 'Template'});\r\nvar errHandler = (err) => {\r\n\t\tlogger.error('An error occurred', err);\r\n};\r\n\r\nconst getHost = () => {\r\n\tconst { hostname, port, host, protocol } = window.location;\r\n\treturn hostname === 'localhost' && port === '5000' ?\r\n\t\t`${protocol}//localhost:12345` :\r\n\t\t`${protocol}//${host}`\r\n}\r\n\r\nmodule.exports = {\r\n\t\"apiRoot\": getHost() + \"/api\",\r\n\t\"serverRoot\": getHost(),\r\n\t\"localServiceRoot\": \"http://localhost:5555/\",\r\n\t\"appLogger\": logger,\r\n\t\"appErrorHandler\": errHandler,\r\n\t\"dictionaries\": {\r\n\t\t\"alarmsQuickActions\": [{\"value\": \"acknowledged\", \"name\": \"dictionaries.alarmsQuickActions.acknowledged\"}, {\"value\": \"delete\", \"name\": \"dictionaries.alarmsQuickActions.delete\"}],\r\n\t\t\"alarmSoundOptions\": [{\"value\": \"sound1\", \"name\": \"dictionaries.alarmSoundOptions.sound1\"}, {\"value\": \"sound2\", \"name\": \"dictionaries.alarmSoundOptions.sound2\"}],\r\n\t\t\"homePageOptions\": [//{\"value\": \"visits\", \"name\": \"dictionaries.homePageOptions.visits\"}\r\n\t\t\t\t\t\t\t{\"value\": \"cardholders\", \"name\": \"dictionaries.homePageOptions.cardholders\"},\r\n\t\t\t\t\t\t\t{\"value\": \"dashboard\", \"name\": \"dictionaries.homePageOptions.dashboard\"},\r\n\t\t\t\t\t\t\t{\"value\": \"alarms\", \"name\": \"dictionaries.homePageOptions.alarms\"},\r\n\t\t\t\t\t\t\t{\"value\": \"visits\", \"name\": \"dictionaries.homePageOptions.visits\"}\r\n\t\t\t\t\t\t],\r\n\t\t\"themeOptions\": [{\"value\": \"blue\", \"name\": \"dictionaries.themeOptions.blue\"}, {\"value\": \"grey\", \"name\": \"dictionaries.themeOptions.grey\"}]\r\n\t}\r\n};\r\n})();\r\n","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport autoBind from 'react-autobind';\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport R from 'ramda';\r\nimport i18n from 'i18next-client';\r\nimport { debounce } from 'lodash';\r\n\r\nimport DoorGroupIcon from 'react-icons/lib/go/versions';\r\nimport AccessCodeIcon from 'react-icons/lib/fa/cubes';\r\nimport DoorIcon from 'react-icons/lib/go/sign-in';\r\nimport TimeCodeIcon from 'react-icons/lib/go/clock';\r\nimport AreaIcon from 'react-icons/lib/md/map';\r\nimport FloorGroup from 'react-icons/lib/go/server';\r\nimport CheckedIcon from 'react-icons/lib/fa/check-circle-o';\r\nimport Select from 'react-select';\r\nimport Consts from '__infrastructure/Consts';\r\nimport ARTable, { FilterList } from './table';\r\nimport Details from './details';\r\n\r\nexport function getAppearance(type) {\r\n switch (type) {\r\n case Consts.accessTargetsType.doorGroup:\r\n return {\r\n Icon: DoorGroupIcon,\r\n className: 'door_group',\r\n color: '#009688',\r\n };\r\n case 'AccessCode':\r\n return {\r\n Icon: AccessCodeIcon,\r\n className: 'acc_code',\r\n color: '#009688',\r\n };\r\n case Consts.accessTargetsType.door:\r\n return {\r\n Icon: DoorIcon,\r\n className: 'door',\r\n color: '#03A9F4',\r\n };\r\n case Consts.accessTargetsType.area:\r\n return {\r\n Icon: AreaIcon,\r\n className: 'area',\r\n color: '#4CAF50',\r\n };\r\n case Consts.accessTargetsType.floorGroup:\r\n return {\r\n Icon: FloorGroup,\r\n className: 'floor_group',\r\n color: '#7E57C2',\r\n };\r\n case Consts.accessTargetsType.timeCode:\r\n default:\r\n return {\r\n Icon: TimeCodeIcon,\r\n className: 'time_code',\r\n color: '#03A9F4',\r\n };\r\n }\r\n}\r\n\r\nconst toggleListElement = (item, list) => (\r\n // if the list contains the item we remove it\r\n // otherwise we add it\r\n R.ifElse(\r\n R.contains(item),\r\n R.without([item]),\r\n R.append(item)\r\n )(list)\r\n);\r\n\r\nexport function getFormattedTimecodes(timeCodes) {\r\n return timeCodes.map(t => R.merge(t, { label: t.Description, value: t.$uri }));\r\n}\r\n\r\nexport const Input = props => ;\r\n\r\nclass AssignmentScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.searchChangedDebounced = debounce((type, descriptionValue) => {\r\n props.searchAction({ type, descriptionValue });\r\n }, 500);\r\n const { data = [], assignedCodes = [], timeCodes = [] } = this.props;\r\n const availableCodes = R.without(assignedCodes.map(R.omit('TimeCode')), data);\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n\r\n this.state = {\r\n availableCodes,\r\n selectedAvailableCodes: [],\r\n selectedAssignedCodes: [],\r\n assignedCodes,\r\n accessTarget: null,\r\n asgSearchQuery: '',\r\n avSearchQuery: '',\r\n selectedTimeCode: formattedTimeCodes.length > 0 ? formattedTimeCodes[0] : '',\r\n openedTHFilter: null,\r\n selectedAsyncFilter: '',\r\n };\r\n }\r\n\r\n onSearchAvailable(e) {\r\n e.persist();\r\n this.setState(() => ({\r\n avSearchQuery: e.target.value,\r\n }));\r\n const type = this.state.selectedAsyncFilter || 'all';\r\n this.searchChangedDebounced(type, e.target.value);\r\n }\r\n\r\n onChangeAsyncFilter(e) {\r\n this.setState((state, props) => {\r\n return {\r\n selectedAsyncFilter: e.value,\r\n }\r\n });\r\n this.searchChangedDebounced(e.value, this.state.avSearchQuery);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { timeCodes } = nextProps;\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n this.setState((prevState) => ({\r\n availableCodes: R.without(R.filter(f => f.Type === Consts.accessTargetsType.accesCode || f.Type === Consts.accessTargetsType.area, nextProps.assignedCodes).map(R.omit('TimeCode')), nextProps.data),\r\n selectedTimeCode: prevState.selectedTimeCode || (formattedTimeCodes.length > 0 ? formattedTimeCodes[0] : '')\r\n }));\r\n }\r\n\r\n onAvailableSelect(item) {\r\n const selectedAvailableCodes = toggleListElement(item, this.state.selectedAvailableCodes);\r\n this.setState({\r\n selectedAvailableCodes\r\n });\r\n }\r\n\r\n onAssignedSelect(item) {\r\n const selectedAssignedCodes = toggleListElement(item, this.state.selectedAssignedCodes);\r\n this.setState({\r\n selectedAssignedCodes\r\n });\r\n }\r\n\r\n onChangeSelectedCode(e) {\r\n this.setState({ selectedTimeCode: e });\r\n this.props.onRequestDetails(null, e);\r\n }\r\n\r\n render() {\r\n const {\r\n availableCodes,\r\n selectedAvailableCodes,\r\n selectedAssignedCodes,\r\n avSearchQuery,\r\n selectedTimeCode,\r\n selectedAsyncFilter,\r\n assignedCodes,\r\n } = this.state;\r\n const {\r\n timeCodes,\r\n detailsItem,\r\n accessTargetsLoaded,\r\n availableTimeCodesLoaded,\r\n loadedAccessTargetDefinition,\r\n } = this.props;\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n const filteredByDesc = FilterList(avSearchQuery, ['Description'])(availableCodes);\r\n const filteredByAll = FilterList(\r\n selectedAsyncFilter,\r\n ['Type'],\r\n 'Type',\r\n R.equals\r\n )(filteredByDesc);\r\n const withoutAssignedAccessCodes = filteredByAll.filter(o => !(R.find(R.propEq('$uri', o.$uri), assignedCodes) && o.Type === 'AccessCode'));\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 {withoutAssignedAccessCodes.map((ac, idx) => this.renderAvailable(ac, idx))}\r\n {!accessTargetsLoaded ?\r\n
:\r\n null\r\n }\r\n \r\n
\r\n
\r\n
\r\n \r\n 0 ? formattedTimeCodes[0] : '')}\r\n renderThFilter={this.renderThFilter}\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 onAssignAccessCodes() {\r\n const { selectedAvailableCodes, assignedCodes, availableCodes, selectedTimeCode } = this.state;\r\n // if item is not AccessCode or Area type, it can already be in the assigned list with same timecode\r\n // do not add it anymore\r\n // use getIDFromUri to get the last part of the uri (ID) because available.uri != assigned.uri\r\n // only the ID is equal\r\n const uniques = R.filter((sac) => {\r\n if (sac.Type !== Consts.accessTargetsType.accesCode &&\r\n sac.Type !== Consts.accessTargetsType.area) {\r\n return !R.contains(true, assignedCodes.map(ac =>\r\n ac.$uri === sac.$uri &&\r\n ac.TimeCode.$uri === selectedTimeCode.$uri));\r\n }\r\n return true;\r\n }, selectedAvailableCodes);\r\n const currentlyAssigned = assignedCodes.concat(uniques.map((sac) => {\r\n return sac.Type !== Consts.accessTargetsType.accesCode && sac.Type !== Consts.accessTargetsType.area ? R.merge(sac, { TimeCode: selectedTimeCode }) : sac;\r\n }));\r\n this.props.updateParentState(currentlyAssigned);\r\n this.setState({\r\n selectedAvailableCodes: [],\r\n // only remove item from available for AccessCodes, Area\r\n availableCodes: R.without(R.filter(f =>\r\n f.Type === Consts.accessTargetsType.accesCode || f.Type === Consts.accessTargetsType.area, selectedAvailableCodes), availableCodes),\r\n // add the TimeCode only for items that are not AccessCode, Areas\r\n assignedCodes: currentlyAssigned\r\n });\r\n }\r\n\r\n onRemoveAccessRight() {\r\n const { selectedAssignedCodes, assignedCodes, availableCodes } = this.state;\r\n // if item is not AccessCode type, it can already be in the available list\r\n // do not add it anymore\r\n // use getIDFromUri to get the last part of the uri (ID) because available.uri != assigned.uri\r\n // only the ID is equal\r\n const uniques = R.filter((sac) => {\r\n if (sac.Type !== Consts.accessTargetsType.accesCode &&\r\n sac.Type !== Consts.accessTargetsType.area) {\r\n return !R.contains(true, availableCodes.map(ac =>\r\n ac.$uri === sac.$uri));\r\n }\r\n return true;\r\n }, selectedAssignedCodes);\r\n const currentlyAssigned = R.without(selectedAssignedCodes, assignedCodes)\r\n this.props.updateParentState(currentlyAssigned);\r\n this.setState({\r\n selectedAssignedCodes: [],\r\n availableCodes: availableCodes.concat(uniques.map(R.dissoc('TimeCode'))),\r\n assignedCodes: currentlyAssigned\r\n });\r\n }\r\n renderAvailable(accessTarget, idx) {\r\n const { Type, Description } = accessTarget;\r\n const { Icon, className } = getAppearance(Type);\r\n const isSelected = R.contains(accessTarget, this.state.selectedAvailableCodes);\r\n const classes = `acc_item ${className} ${isSelected ? 'selected' : ''}`;\r\n const key = `${idx}-${Description}`;\r\n const iconClasses = `hoverIcon ${Description === this.props.detailsItem.Description && Type === this.props.detailsItem.Type ? 'selected' : ''}`;\r\n return (\r\n
this.onAvailableSelect(accessTarget)}>\r\n \r\n this.props.onRequestDetails(e, accessTarget)} />\r\n \r\n {isSelected && }\r\n {Description}\r\n
\r\n );\r\n }\r\n\r\n onLoadMore() {\r\n const { nextLink, onLoadMore } = this.props;\r\n if (nextLink) {\r\n onLoadMore(nextLink);\r\n }\r\n }\r\n};\r\n\r\nexport default AssignmentScreen;\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Modal = require('react-bootstrap/lib/Modal');\r\n\tvar i18n = require('i18next-client');\r\n\tvar CloseIcon = require('react-icons/lib/fa/times-circle');\r\n\r\n\tvar ConfirmationModal = React.createClass({\r\n\t\tgetDefaultProps() {\r\n\t\t\treturn {\r\n show: false\r\n };\r\n\t\t},\r\n\r\n\t\tsubmitAndClose() {\r\n\t\t\tthis.props.onConfirm();\r\n\t\t\treturn this.props.onAbort('afterSubmit');\r\n\t\t},\r\n\r\n\t\trender() {\r\n\t\t\tvar {\r\n bodyText = i18n.t('CommonForm.ConfirmationModal.bodyText'),\r\n confirmText = i18n.t('CommonForm.ConfirmationModal.confirmText'),\r\n abortText = i18n.t('CommonForm.ConfirmationModal.abortText'),\r\n show,\r\n onAbort,\r\n\t\t\t\tonHide,\r\n\t\t\t\tonConfirm\r\n } = this.props;\r\n\r\n return (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{ bodyText }\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t { onAbort ?\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{ abortText }\r\n\t\t\t\t\t\t\t : ''\r\n\t\t\t\t\t\t }\r\n\t\t\t\t\t\t { onConfirm ?\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{ confirmText }\r\n\t\t\t\t\t\t\t : ''\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = ConfirmationModal;\r\n})();\r\n","(function(){\r\n'use strict';\r\nmodule.exports = [{\r\n\t\t\tid: 0,\r\n\t\t\tgroupName: 'Operation',\r\n\t\t\tgroupIcon: 'desktop',\r\n\t\t\tgroupOnly: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 1,\r\n\t\t\tgroupName: 'Configure',\r\n\t\t\tgroupIcon: 'cogs',\r\n\t\t\tgroupOnly: true\r\n\t\t},\r\n\t\t{\r\n\t\t\tid: 2,\r\n\t\t\tgroupName: 'Setup',\r\n\t\t\tgroupIcon: 'wrench',\r\n\t\t\tgroupOnly: true\r\n\t\t}];\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\n\r\nvar StandardGrid = React.createClass({\r\n\tpropTypes: {\r\n\t\tcolumns: React.PropTypes.array,\t\t\t//[], column definitions\r\n\t\trows: React.PropTypes.array\t\t\t\t//[], the data rows\r\n\t},\r\n\tgetDefaultProps() {\r\n\t\treturn {\r\n\t\t\tcolumns: [],\r\n\t\t\trows: [],\r\n\t\t\ttableHeightRatio: 1\r\n\t\t};\r\n\t},\r\n\tcomponentDidMount() {\r\n\t\twindow.addEventListener(\r\n\t\t\t'resize',\r\n\t\t\t({ target }) => {\r\n\t\t\t\tif (this.scrollContainer) {\r\n\t\t\t\t\tthis.scrollContainer.style.maxHeight = `${(target.innerHeight - 220) * this.props.tableHeightRatio}px`;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t);\r\n\t},\r\n\trender() {\r\n\t\tvar {rows, RowType, tableHeightRatio} = this.props;\r\n\t\treturn (\r\n\t\t\t\t
{ this.scrollContainer = scrollContainer; }} style={{height: (window.innerHeight - 220) * tableHeightRatio}} className=\"table-fixed-container u-mb\">\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t{RowType ?\r\n\t\t\t\t\t\trows.map((row, idx) => {\r\n\t\t\t\t\t\t\t\treturn ;\r\n\t\t\t\t\t\t\t})\r\n\t\t\t\t\t\t: \"\"}\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = StandardGrid;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar _ = require('lodash');\r\nvar Util = require('__infrastructure/Util');\r\nvar dateHelper = require('__infrastructure/dateHelper');\r\nvar Consts = require('__infrastructure/Consts');\r\nvar GridMixin = require('./GridMixin');\r\nconst TableCard = require('__components/common/tables/TableCard').default;\r\n\r\nvar ImageGridItem = React.createClass({\r\n\tmixins: [GridMixin],\r\n\tresolvePathValue(obj, path){\r\n\t\tif(obj[path] !== undefined){\r\n\t\t\treturn obj[path];\r\n\t\t}\r\n\t\tpath = path.split('.').reverse();\r\n\t\tvar current = obj;\r\n\t\twhile(path.length) {\r\n\t\t\tif(typeof current !== 'object') {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t\tcurrent = current[path.pop()];\r\n\t\t}\r\n\t\treturn current;\r\n\t},\r\n\tgetInitialState() {\r\n\t\treturn {\r\n\t\t\tselected: null\r\n\t\t};\r\n\t},\r\n\thandleClick(row) {\r\n\t\tif (this.props.clickHandler) {\r\n\t\t\tthis.props.clickHandler(row);\r\n\t\t\tif (!this.state.selected) {\r\n\t\t\t\treturn this.setState({selected: true});\r\n\t\t\t}\r\n\t\t\treturn this.setState({selected: false});\r\n\t\t}\r\n\t\treturn false;\r\n\t},\r\n\trenderHighlightText(col, vals) {\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t{ vals.map( (val, idxVal) => {\r\n\t\t\t\t\treturn val.mark ? {val.value} : {val.value};\r\n\t\t\t\t})}\r\n\t\t\t
\r\n\t\t);\r\n\t},\r\n\tgetLinkParams(row) {\r\n\t\t// return columns.find(function findLink(col) {\r\n\t\t// \t\t\treturn col.field_type === 'Link';\r\n\t\t// \t\t\t});\r\n\t\treturn [{name: '$uri', queryName: '$uri', value: row.$uri}];\r\n\t},\r\n\trenderList(row, column) {\r\n\t\tlet collection, property;\r\n\t\t[collection, property] = column.name.split('.');\r\n\t\tconst list = row[collection];\r\n\t\tif (collection === 'Credentials') {\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{list.map((l, i) => )}\r\n\t\t\t\t
\r\n\t\t\t)\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{list.map((l, i) =>
  • {l[property]}
  • )}\r\n\t\t\t
\r\n\t\t);\r\n\t},\r\n\trender() {\r\n\t\tvar { columns, row, titleColumn, filterRegex, clickHandler, selectedRow, clientSelector } = this.props;\r\n\t\ttitleColumn = titleColumn || columns[0].name;\r\n\t\tvar title = this.resolvePathValue(row, titleColumn);\r\n\t\tvar otherColumns = _.filter(columns, function(col) {\r\n\t\t\treturn col.name !== titleColumn && (!col.field_type || (col.field_type !== Consts.fieldTypes.image && col.field_type !== Consts.fieldTypes.prettydate && col.field_type !== Consts.fieldTypes.details && col.field_type !== Consts.fieldTypes.utcDatetime && col.field_type !== Consts.fieldTypes.color && col.field_type !== 'List' && col.field_type !== 'Link'));\r\n\t\t\t\t\t\t\t});\r\n\t\tconst listColumns = _.filter(columns, function (col) {\r\n\t\t\treturn (col.field_type && col.field_type === 'List');\r\n\t\t});\r\n\t\tvar imageColumns = _.filter(columns, function(col) {\r\n\t\t\t\t\t\t\t\treturn (col.field_type && col.field_type === Consts.fieldTypes.image);\r\n\t\t\t\t\t\t\t});\r\n\t\tvar colorColumns = _.filter(columns, function(col) {\r\n\t\t\t\t\t\t\t\treturn (col.field_type && col.field_type === Consts.fieldTypes.color);\r\n\t\t\t\t\t\t\t});\r\n\t\tvar dateColumns = _.filter(columns, function(col) {\r\n\t\t\t\t\t\t\t\treturn (col.field_type && col.field_type === Consts.fieldTypes.prettydate);\r\n\t\t\t\t\t\t\t});\r\n\t\tvar dateTimeColumns = _.filter(columns, function(col) {\r\n\t\t\t\t\t\t\t\treturn (col.field_type && col.field_type === Consts.fieldTypes.utcDatetime);\r\n\t\t\t\t\t\t\t});\r\n\t\tvar detailsColumns = _.filter(columns, function(col) {\r\n\t\t\t\t\t\t\t\treturn (col.field_type && col.field_type === Consts.fieldTypes.details);\r\n\t\t\t\t\t\t\t});\r\n\t\tvar to = columns.find(function findLink(col) {\r\n\t\t\t\t\treturn col.field_type === 'Link';\r\n\t\t\t\t\t});\r\n\t\tconst selected = clickHandler ?\r\n\t\t\tselectedRow ?\r\n\t\t\t\tselectedRow === row.$uri : false :\r\n\t\t\tclientSelector ?\r\n\t\t\t\t_.indexOf(clientSelector.getSelectedRows(), row) >= 0 : false;\r\n\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t
\r\n\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{to ? this.props.linkClicked ?\r\n\t\t\t\t\t\t\t\t\t this.props.linkClicked(row, this.getLinkParams(row))}>\r\n\t\t\t\t\t\t\t\t\t\t

{title}

\r\n\t\t\t\t\t\t\t\t\t
:\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t

{title}

\r\n\t\t\t\t\t\t\t\t\t
:

{title}

\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t{ !clickHandler ? this.renderGridItemSelected() : null }\r\n\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\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{imageColumns.map(col => {\r\n\t\t\t\t\t\t\t\t\tvar retval = this.resolvePathValue(row, col.name);\r\n\t\t\t\t\t\t\t\t\tvar origin = retval !== undefined ? retval : \"\";\r\n\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\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\t\t{dateColumns.map(col => {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{dateHelper.format(this.resolvePathValue(row, col.name))}\r\n\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t{dateTimeColumns.map(col => {\r\n\t\t\t\t\t\t\t\t\t\tvar formatted = dateHelper.format(this.resolvePathValue(row, col.name), 'datetime');\r\n\t\t\t\t\t\t\t\t\t\tvar vals = Util.getHighlightText(filterRegex, formatted);\r\n\t\t\t\t\t\t\t\t\t\tif (vals.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn this.renderHighlightText(col, vals);\r\n\t\t\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{formatted}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t{otherColumns.map(col => {\r\n\t\t\t\t\t\t\t\t\t\tif (col.field_type === Consts.fieldTypes.selectAll){\r\n\t\t\t\t\t\t\t\t\t\t\treturn '';\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tif(col.field_type === Consts.fieldTypes.boolean){\r\n\t\t\t\t\t\t\t\t\t\t\tvar checked = this.resolvePathValue(row, col.name);\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{checked === true ? : }\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\tvar vals = Util.getHighlightText(filterRegex, this.resolvePathValue(row, col.name));\r\n\t\t\t\t\t\t\t\t\t\tif (vals.length > 0) {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{ vals.map( (val, idxVal) => {\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\treturn val.mark ? {val.value} : {val.value};\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t{this.resolvePathValue(row, col.name)}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t);\r\n\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\t)}\r\n\t\t\t\t\t\t\t\t\t{detailsColumns.map(col => {\r\n\t\t\t\t\t\t\t\t\t\treturn
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t{Object.getOwnPropertyNames(row[col.name]).map((item, idx) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn
{item} : {row[col.name][item]}
;\r\n\t\t\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\t{colorColumns.map((col, i) =>
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\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{listColumns.map(col => {\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{Util.localizeDisplay(col) + \": \"}\r\n\t\t\t\t\t\t\t\t\t{this.renderList(row, col)}\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\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = ImageGridItem;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar _ = require('lodash');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar i18n = require('i18next-client');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Modal = require('react-bootstrap/lib/Modal');\r\n\tvar CredentialsTable = require('__components/credential/CredentialsTable');\r\n\tvar VisitActions = require('__actions/VisitsActions');\r\n\tvar personalDataTab = require('./visitForm/PersonalDataTab');\r\n\tvar notesTab = require('./visitForm/NotesTab');\r\n\tvar locatorTab = require('./visitForm/Locator');\r\n\tvar VisitHistoryTable = require('./components/VisitHistoryTable');\r\n\tvar visitDetailsFormComponent = require('./visitForm/middleArea/VisitDetailsComponent');\r\n\tvar visitDetailsComponent = require('./VisitDetails');\r\n\tvar visitStore = require('__stores/VisitsStore');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar UserProfileStore = require('__stores/UserProfileStore');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar CustomAttributesMixin = require('__components/common/customAttributes/CustomAttributesMixin');\r\n\tvar PersonActions = require('__actions/PersonActions');\r\n\r\n\tvar optionsTab = require('./visitForm/OptionsTab');\r\n\tvar nameForm = require('./visitForm/Name');\r\n\tvar cardsForm = require('./visitForm/Cards');\r\n\tvar picturesForm = require('./visitForm/Pictures');\r\n\tvar accessRightsTab = require('./visitForm/AccessRightsTab');\r\n\tvar notesTabIconClass = \"fa fa-check icon-green\";\r\n\tvar PersonsStore = require('__stores/PersonsStore');\r\n\tvar ScreensUtils = require('__components/common/ScreensUtils');\r\n\tvar belowNameForm = require('./visitForm/BelowName');\r\n\tvar AuthStore = require('__stores/AuthStore');\r\n\tvar biometricsTab = require('./visitForm/biometricsTab');\r\n\tvar ConfirmationModal = require('__components/common/ConfirmationModal');\r\n\tvar DeleteModal = require('__components/common/forms/ConfirmModal');\r\n\tvar BadgeModal = require('__components/credential/BadgeModal');\r\n\tvar FormUtils = require('__components/common/forms/FormUtils');\r\n\tvar CompaniesStore = require('__stores/CompaniesStore');\r\n\tvar R = require('ramda');\r\n\tvar LongRunOperationActions = require('__actions/LongRunOperationActions');\r\n\tvar regeneratorRuntime = require('regenerator-runtime');\r\n\tconst { fetchTypeMeta } = require('__api/VisitsHandler');\r\n\tvar CredentialsActions = require('__actions/CredentialsActions');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar dateHelper = require('__infrastructure/dateHelper');\r\n\tconst VisitsActions = require('__actions/VisitsActions');\r\n\tconst { withRouter } = require('react-router-dom');\r\n\tconst { parseQuery } = require('__infrastructure/queryHelper');\r\n\r\n\tvar Visit = React.createClass({\r\n\t\tmixins: [CustomAttributesMixin],\r\n\t\tcontextTypes: {\r\n\t\t\thistory: React.PropTypes.object,\r\n\t\t\tlocation: React.PropTypes.object\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tconst { uid = '' } = parseQuery(nextProps.location.search);\r\n\t\t\tif (this.state.visitorUri !== uid && !this.state.copy) {\r\n\t\t\t\tthis.loadVisitor(uid);\r\n\t\t\t\tthis.loadActivity(uid);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tVisitActions.initializeStoreForPerson();\r\n\t\t\t}, 0);\r\n\t\t\tconst { visitorUri } = this.state;\r\n\t\t\tvisitStore.listen(this.onChangeVisitsStore);\r\n\t\t\tthis.loadVisitor(this.state.visitorUri);\r\n\t\t\tthis.loadActivity(this.state.visitorUri);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tvisitStore.unlisten(this.onChangeVisitsStore);\r\n\t\t},\r\n\t\tonChangeVisitsStore(store){\r\n\t\t\tvar { visitorTemplate, isPermissionsInitialized, currentEditedPerson, availableAccessTargets, availableTimeCodes, accessTargetDefinition } = store;\r\n\t\t\tthis.state.VisitorTemplate = visitorTemplate;\r\n\t\t\tthis.state.isPermissionsInitialized = isPermissionsInitialized;\r\n\t\t\tthis.state.currentEditedPerson = currentEditedPerson;\r\n\t\t\tthis.setInitialized();\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\tconst { uid = '' } = parseQuery(this.props.location.search);\r\n\t\t\treturn {\r\n\t\t\t\tshowModal: false,\r\n\t\t\t\tvisitorUri: uid,\r\n\t\t\t\tLocator: [],\r\n\t\t\t\tshowBadgeConfirmation: false,\r\n\t\t\t\tshowConfirmModalBadgeAccessRightSwap: false,\r\n\t\t\t\tshowBadgeAfterCallback: false,\r\n\t\t\t\tshowBadgeModal: false,\r\n\t\t\t\tselectedCardRow: null,\r\n\t\t\t\tdetailsFieldsErrors: [],\r\n\t\t\t\tshouldUseValues:[],\r\n\t\t\t\tAdvancedAccessRights: []\r\n\t\t\t};\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tif (!this.state.valuesloaded) {\r\n\t\t\t\treturn ();\r\n\t\t\t}\r\n\r\n\t\t\tvar credentialsColumns = [\r\n\t\t\t{\r\n\t\t\t\tName: \"CardNumberDisplay\",\r\n\t\t\t\tdisplay: i18n.t(\"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.CardNumber\"),\r\n\t\t\t\tname: \"CardNumberDisplay\",\r\n\t\t\t\tfield_type: 'Button',\r\n\t\t\t\tclassName: 'btn btn-link nopadding'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tName: \"CardIssueLevel\",\r\n\t\t\t\tdisplay: i18n.t(\"CommonForm.CardIssueLevel\"),\r\n\t\t\t\tfield_type: \"String\",\r\n\t\t\t\tname: \"CardIssueLevel\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tName: \"Status\",\r\n\t\t\t\tdisplay: i18n.t(\"CommonForm.Status\"),\r\n\t\t\t\tfield_type: \"String\",\r\n\t\t\t\tname: \"Status\"\r\n\t\t\t}\r\n\t\t\t];\r\n\r\n\t\t\tvar {VisitorModel, showBadgeModal, selectedCardRow, detailsFieldsErrors} = this.state;\r\n\t\t\t//need to show only Representing, Vehicle\r\n\t\t\tvar values = [\"Representing\", \"Vehicle\"];\r\n\t\t\tvar ca = this.generateCustomAttributes(this.state.visitorUri === undefined && !this.state.copy ? this.state.VisitorTemplate.CustomAttributes : this.state.VisitorModel.CustomAttributes, true, false, false);\r\n\t\t\tvar filteredCustomAttributes = _.select(this.state.visitorUri === undefined && !this.state.copy ? this.state.VisitorTemplate.CustomAttributes : this.state.VisitorModel.CustomAttributes, function(c){\r\n\t\t\t\t\t\treturn values.indexOf(c.Type.Identifier) !== -1;\r\n\t\t\t\t\t});\r\n\t\t\tVisitorModel = _.assign(ca.model, VisitorModel);\r\n\r\n\t\t\tvar nameFields = nameForm.buildFields();\r\n\t\t\tvar belowNameFields = belowNameForm.buildFields({\r\n\t\t\t\t\"ApprovingOfficial\": {\r\n\t\t\t\t\toptions: ScreensUtils.filterApprovingOfficials(this.state.VisitorModel.ApprovingOfficialList)\r\n\t\t\t\t},\r\n\t\t\t\t\"BadgeFormatList\": {\r\n\t\t\t\t\toptions: this.state.VisitorModel.BadgeFormatList || [],\r\n\t\t\t\t\tonChange: this.onChange,\r\n\t\t\t\t\treadOnly: this.state.VisitorModel.Credentials.length === 0\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar optionsFields = optionsTab.buildFields({\r\n\t\t\t\t\"AvailableGroups\": this.state.visitorUri ? this.state.VisitorModel.AvailableGroups : this.state.VisitorTemplate.AvailableGroups,\r\n\t\t\t\t\"onChange\": this.onChange\r\n\t\t\t});\r\n\t\t\tvar accessRightsFields = accessRightsTab.buildFields({\r\n\t\t\t\tAssignedAccessTargets: this.state.VisitorModel.AssignedAccessTargets,\r\n\t\t\t\tonChange: this.onChange,\r\n\t\t\t\tuseNewModel: this.state.accessRightsComponentUseNewModel,\r\n\t\t\t\ttypeMeta: _.assign({}, this.state.VisitorModel.TypeMeta),\r\n\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta('AccessRights', _.assign({}, VisitorModel.TypeMeta)),\r\n\t\t\t\tpersonUri: this.state.visitorUri || '/Visitors/Template'\r\n\t\t\t});\r\n\t\t\tvar status = ScreensUtils.getPersonStatus(VisitorModel);\r\n\t\t\tvar notesTabFields = notesTab.buildFields(\r\n\t\t\t\t{\r\n\t\t\t\t\tonChangeNotes: this.onChangeNotes,\r\n\t\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Note\", _.assign({}, VisitorModel.TypeMeta))\r\n\t\t\t\t});\r\n\r\n\t\t\tvar picturesFields = picturesForm.buildFields({\r\n\t\t\t\t\"PersonStatus\": {\r\n\t\t\t\t\tstatus: status\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar personalFields = personalDataTab.buildFields(ca.fields);\r\n\t\t\tvar biometricsTabFields = biometricsTab.buildFields({\r\n\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Signature\", _.assign({}, VisitorModel.TypeMeta))\r\n\t\t\t});\r\n\r\n\t\t\tvar title = this.state.visitorUri ? i18n.t(\"visit.editVisit\") : i18n.t(\"visit.addVisit\");\r\n\r\n\t\t\tvar metaData = this.state.VisitorModel.TypeMeta ? this.state.VisitorModel.TypeMeta.Meta.find(x => x.Name === \"Credentials\").MetaData : undefined;\r\n\t\t\tvar badgeFormatMeta = this.state.VisitorModel.TypeMeta ? this.state.VisitorModel.TypeMeta.Meta.find(x => x.Name === \"Credentials\").MetaData : undefined;\r\n\t\t\tvar cardsFields = cardsForm.buildFields({\r\n\t\t\t\t\"Cards\": {\r\n\t\t\t\t\tcomponentToLoad: CredentialsTable,\r\n\t\t\t\t\tavailableRows: this.state.VisitorModel.Credentials || [],\r\n\t\t\t\t\tdisplayColumns: credentialsColumns,\r\n\t\t\t\t\tpersonUri: this.state.visitorUri,\r\n\t\t\t\t\tTemplateCredentials: this.state.visitorUri ? this.state.VisitorModel.TemplateCredentials : this.state.VisitorTemplate.TemplateCredentials,\r\n\t\t\t\t\tisStopped: this.state.VisitorModel ? this.state.VisitorModel.Stop : false,\r\n\t\t\t\t\tpageTitle: title,\r\n\t\t\t\t\tonBadgeClick: this.onBadgeClick,\r\n\t\t\t\t\tfacilityCustomerCodes: CompaniesStore.state.selectedCompany.CustomerCodes,\r\n\t\t\t\t\tdisableBadgeButton: this.state.VisitorModel.BadgeFormat ? this.state.VisitorModel.BadgeFormat.split(':').reverse()[0] === '0' : true,\r\n\t\t\t\t\taddDisabled: FormUtils.getReadonlyFromTypeMeta('Credentials', this.state.VisitorModel.$uri !== undefined ? this.state.VisitorModel.TypeMeta : this.state.VisitorModel.TemplateCredentials[0].TypeMeta)\r\n\t\t\t\t},\r\n\t\t\t\t\"MetaData\": metaData,\r\n\t\t\t\t\"savedCallback\": this.credentialSaved,\r\n\t\t\t\t\"subcomponentsFieldsChanged\": this.credentialsFieldsChanged,\r\n\t\t\t\t\"updateChildrenModel\": this.state.updateChildrenModel,\r\n\t\t\t\t\"parentResetFlags\": this.resetCredentialFlags,\r\n\t\t\t\t\"componentType\": Consts.componentType.visit\r\n\t\t\t});\r\n\r\n\t\t\tvar locatorFields = locatorTab.buildFields({\r\n\t\t\t\tcomponentToLoad: VisitHistoryTable,\r\n\t\t\t\trows: this.state.Locator || [],\r\n\t\t\t\tcolumns: ScreensUtils.getLocatorColumns(),\r\n\t\t\t\ttitle: i18n.t(\"Visitor.ActivityHistory.title\"),\r\n\t\t\t\tnoDataText: _.indexOf(AuthStore.getState().allowedSegments, \"Activity\") !== -1 ? undefined : i18n.t(\"InsufficientRightsAPI\"),\r\n\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Locator\", _.assign({}, VisitorModel.TypeMeta))\r\n\t\t\t});\r\n\r\n\t\t\tfor (var i = 0; i < this.state.VisitorModel.Visits.length; i++) {\r\n\t\t\t\tthis.state.VisitorModel.Visits[i].Message = this.state.VisitorModel.Message;\r\n\t\t\t}\r\n\t\t\tconst templateDepartureDateTime = new Date(this.state.VisitorTemplate.Visits[0].DepartureDateTime);\r\n\r\n\t\t\tvar visiting = undefined;\r\n\t\t\tvar visitModel = _.find(this.state.VisitorModel.Visits, function(visit) {\r\n\t\t\t\treturn visit.Status !== 'Historic';\r\n\t\t\t});\r\n\r\n\t\t\tif (visitModel) {\r\n\r\n\t\t\t\tvar usePersonInsteadOfName = visitModel.Visiting &&\r\n\t\t\t\tvisitModel.Visiting.Person &&\r\n\t\t\t\tvisitModel.Visiting.Person.$uri &&\r\n\t\t\t\tvisitModel.Visiting.Person.$uri.length > 0 &&\r\n\t\t\t\tvisitModel.Visiting.Person.$uri.split(':').reverse()[0] !== '0';\r\n\r\n\t\t\t\tvar visiting = !usePersonInsteadOfName &&\r\n\t\t\t\tvisitModel.Visiting.Name &&\r\n\t\t\t\tvisitModel.Visiting.Name !=='' &&\r\n\t\t\t\t(typeof visitModel.Visiting.Name !=='object') ?\r\n\t\t\t\t{ Name: { Given: '', Family: visitModel.Visiting.Name } } :\r\n\t\t\t\t(typeof visitModel.Visiting.Name ==='object') ?\r\n\t\t\t\tvisitModel.Visiting :\r\n\t\t\t\tvisitModel.Visiting.Person\r\n\r\n\t\t\t\tvisiting.ContactNumber = visitModel.Visiting.ContactNumber;\r\n\r\n\t\t\t\tvisitModel.Visiting = visiting;\r\n\t\t\t}\r\n\r\n\t\t\tvar visitDetails = visitDetailsFormComponent.buildFields({\r\n\t\t\t\t\"VisitDetails\": {\r\n\t\t\t\t\tcomponentToLoad: visitDetailsComponent,\r\n\t\t\t\t\tvisits: this.state.VisitorModel.Visits,\r\n\t\t\t\t\thistoryVisits: this.state.OriginalVisitorModel.Visits,\r\n\t\t\t\t\tvisit: this.state.VisitorModel.$uri,\r\n\t\t\t\t\tsignInOut: this.signInOut,\r\n\t\t\t\t\tonChange: this.onChange,\r\n\t\t\t\t\tvisitPermissions: this.state.VisitorModel.visitPermissions,\r\n\t\t\t\t\tdisableSignIn: this.state.disableSignIn,\r\n\t\t\t\t\tdetailsFieldsErrors: this.state.detailsFieldsErrors,\r\n\t\t\t\t\tshouldUseValues: JSON.parse(JSON.stringify(this.state.shouldUseValues)),\r\n\t\t\t\t\tdepartureDefaultTime: {\r\n\t\t\t\t\t\thour: templateDepartureDateTime.getHours(),\r\n\t\t\t\t\t\tminute: templateDepartureDateTime.getMinutes(),\r\n\t\t\t\t\t},\r\n\t\t\t\t},\r\n\t\t\t\t\"CustomAttributes\": {\r\n\t\t\t\t\tfields: this.generateCustomAttributes(filteredCustomAttributes, true, false, true).fields\r\n\t\t\t\t},\r\n\t\t\t\tvisitorTypeMeta: this.state.visitorUri ? _.assign({}, VisitorModel.TypeMeta) : _.assign({}, this.state.VisitorTemplate.TypeMeta)\r\n\t\t\t});\r\n\t\t\tvar nameFieldsContainer = [{\r\n\t\t\t\tname: \"nameFields\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-lg-10 col-md-9 col-sm-8 col-xs-12\",\r\n\t\t\t\tfields: nameFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar tabsContainer = [{\r\n\t\t\t\tname: \"tabsContainer\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"tabContainer\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: _.union(visitDetails, optionsFields, accessRightsFields, personalFields, notesTabFields, locatorFields, biometricsTabFields)\r\n\t\t\t}];\r\n\r\n\t\t\tvar cardsContainer = [{\r\n\t\t\t\tname: \"cardsContainer\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: cardsFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar belowNameFieldsContainer = [{\r\n\t\t\t\tname: \"belowNameFields\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-lg-10 col-md-9 col-sm-8 col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: belowNameFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar formFields = _.union(nameFieldsContainer, picturesFields, belowNameFieldsContainer, tabsContainer, cardsContainer);\r\n\r\n\t\t\tvar settings = {\r\n\t\t\t\ttabSettings: {\r\n\t\t\t\t\ttabStyle: \"standard\",\r\n\t\t\t\t\tclassName: \"col-xs-12\"\r\n\t\t\t\t},\r\n\t\t\t\twithCompany: true\r\n\t\t\t};\r\n\r\n\t\t\tvar buttons = [];\r\n\t\t\tif (this.state.visitorUri) {\r\n\t\t\t\t// buttons.push({\r\n\t\t\t\t// \tname: 'Copy',\r\n\t\t\t\t// \tfaClass: 'fa-files-o',\r\n\t\t\t\t// \tonClick: this.copyVisit,\r\n\t\t\t\t// \tdisabled: 'disabled'\r\n\t\t\t\t// });\r\n\r\n\t\t\t\tbuttons.push({\r\n\t\t\t\t\tname: 'DeleteVisitor',\r\n\t\t\t\t\tfaClass: 'fa-trash',\r\n\t\t\t\t\tonClick: this.deleteVisitor,\r\n\t\t\t\t\tdisabled: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tvar state = visitStore.getState();\r\n\t\t\t// var copyAction = _.find(buttons, (item)=>item.name === \"Copy\");\r\n\t\t\t// if(state && state.CanAdd && copyAction){\r\n\t\t\t// \tdelete copyAction.disabled;\r\n\t\t\t// }\r\n\t\t\tvar deleteVisitorAction = _.find(buttons, (item)=>item.name === \"DeleteVisitor\");\r\n\t\t\tif (this.state.VisitorModel && this.state.VisitorModel.visitPermissions && this.state.VisitorModel.visitPermissions.CanDelete && deleteVisitorAction) {\r\n\t\t\t\tdelete deleteVisitorAction.disabled;\r\n\t\t\t}\r\n\t\t\tvar title = this.state.visitorUri ? i18n.t(\"visit.editVisit\") : i18n.t(\"visit.addVisit\");\r\n\t\t\tvar confirmModalBadgeAccessRightsSwap = ;\r\n\t\t\tvar confirmModalDeleteVisitor = ;\r\n\t\t\tvar badgeTitle = selectedCardRow ? selectedCardRow.BadgeFormat.Name : '';\r\n\t\t\tvar selectedBadge = selectedCardRow ? selectedCardRow.Badge : {};\r\n\t\t\tvar badgeModal = ;\r\n\t\t var confirmSaveSignIn = \r\n\t\t var temp = this.state.shouldOverwriteCurrentValue;\r\n\t\t this.state.shouldOverwriteCurrentValue = false;\r\n\t\t const { location, history } = this.props;\r\n\t\t const returnUrl = location.state && location.state.listUrl ? location.state.listUrl : '/Visits';\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tshowBadgeModal ?\r\n\t\t\t\t\t\t\t :\r\n\t\t\t\t\t\t\tnull\r\n\t\t\t\t\t}\r\n\t\t\t\t\t{confirmSaveSignIn}\r\n\t\t\t\t\t this.state.G4SForm = f}\r\n\t\t\t\t\t\ttabHeaderIcon={this.getInitialNotesIcon()}\r\n\t\t\t\t\t\tbuttons={buttons}\r\n\t\t\t\t\t\ttypeMeta={this.state.visitorUri ? _.assign({}, VisitorModel.TypeMeta) : _.assign({}, this.state.VisitorTemplate.TypeMeta)}\r\n\t\t\t\t\t\ttypeMetaCredentials={_.assign({}, this.state.visitorUri !== undefined && VisitorModel.Credentials.length > 0 ?\r\n\t\t\t\t\t\t\tVisitorModel.Credentials[0].TypeMeta :\r\n\t\t\t\t\t\t\tVisitorModel.TemplateCredentials[0].TypeMeta)}\r\n\t\t\t\t\t\tformFields={formFields}\r\n\t\t\t\t\t\tcancelFunc={this.cancelFunc}\r\n\t\t\t\t\t\tshouldOverwriteCurrentValue={temp}\r\n\t\t\t\t\t\tsticky\r\n\t\t\t\t\t\tmodel={_.cloneDeep(VisitorModel)}\r\n\t\t\t\t\t\tsaveFunc={this.saveFunc}\r\n\t\t\t\t\t\ticonClass=\"fa fa-user\"\r\n\t\t\t\t\t\tsettings={settings}\r\n\t\t\t\t\t\tformHelp={false}\r\n\t\t\t\t\t\ttitle={title}\r\n\t\t\t\t\t\tshouldUseValues={this.state.shouldUseValues}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{confirmModalBadgeAccessRightsSwap}\r\n\t\t\t\t\t{confirmModalDeleteVisitor}\r\n\t\t\t\t
);\r\n\t\t},\r\n\t\tshowAddPerson() {\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\tcancelFunc() {\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tcancelVisitorFunc() {\r\n\t\t\tthis.state.showModal = false;\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\taddPerson() {\r\n\t\t\tthis.state.showModal = true;\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tasync saveFunc(model) {\r\n\t\t\tLongRunOperationActions.operationStart();\r\n\t\t\tif (!this.state.visitorUri) {\r\n\t\t\t\tdelete model.$uri;\r\n\t\t\t\tdelete this.state.VisitorModel.$uri;\r\n\t\t\t}\r\n\t\t\tif (model.Face && typeof model.Face === 'string') {\r\n\t\t\t\tmodel.Face = model.Face.replace(\"data:image/png;base64,\", \"\");\r\n\t\t\t}\r\n\t\t\tif (model.Signature && typeof model.Signature === 'string') {\r\n\t\t\t\tmodel.Signature = model.Signature.replace(\"data:image/png;base64,\", \"\");\r\n\t\t\t}\r\n\r\n\t\t\tif (model.Visits) {\r\n\t\t\t\tconst { VisitorTemplate }= this.state;\r\n\t\t\t\tmodel.Message = model.Visits[0].Message; //Util.unixToWindowsNewLine(model.Visits[0].Message);\r\n\t\t\t\tfor (var i = 0; i < model.Visits.length; i++) {\r\n\t\t\t\t\tdelete model.Visits[i].Message;\r\n\t\t\t\t\tmodel.Visits[i].VisitorEscort = ScreensUtils.getVisitorEscortSaveFormatValue(model.Visits[i].VisitorEscort, VisitorTemplate.Visits[0].VisitorEscort);\r\n\t\t\t\t\tmodel.Visits[i].Visiting = ScreensUtils.getVisitingSaveFormatValue(model.Visits[i].Visiting, VisitorTemplate.Visits[0].Visiting);\r\n\t\t\t\t\tmodel.Visits[i].ArrivalDateTime = model.Visits[i].ArrivalDateTime ? dateHelper.toServerFormat(model.Visits[i].ArrivalDateTime) : null;\r\n\t\t\t\t\tmodel.Visits[i].DepartureDateTime = model.Visits[i].DepartureDateTime ? dateHelper.toServerFormat(model.Visits[i].DepartureDateTime) : null;\r\n\t\t\t\t}\r\n\r\n\t\t\t}\r\n\t\t\t//for the future, move replacing to the text_area component\r\n\t\t\tif (model.Note) {\r\n\t\t\t\tif (model.Note.Notes) {\r\n\t\t\t\t\tmodel.Note.Notes = Util.unixToWindowsNewLine(model.Note.Notes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar customAttributes = this.state.visitorUri === undefined ? this.state.VisitorTemplate.CustomAttributes : this.state.VisitorModel.CustomAttributes;\r\n\t\t\tmodel.CustomAttributes = [];\r\n\t\t\tfor (var i = customAttributes.length - 1; i >= 0; i--) {\r\n\t\t\t\tvar key = Object.keys(model).find(x => x === ScreensUtils.formatCustomAttributeName(customAttributes[i].Type.Identifier));\r\n\t\t\t\tif (key !== undefined) {\r\n\t\t\t\t\tvar fieldName = customAttributes[i].Type.Identifier;\r\n\t\t\t\t\tvar obj = {};\r\n\t\t\t\t\tobj[fieldName] = _.clone(model[key]);\r\n\t\t\t\t\tmodel.CustomAttributes.push(obj);\r\n\t\t\t\t\tdelete model[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodel.AccessRights = this.state.VisitorModel.AccessRights;\r\n\t\t\tif (model.AssignedAccessTargets) {\r\n\t\t\t\tmodel.AssignedAccessTargets = model.AssignedAccessTargets.concat(this.state.AdvancedAccessRights);\r\n\t\t\t\tmodel.AssignedAccessTargets = _.map(model.AssignedAccessTargets, (item)=>{ return item.AccessTarget ? R.merge(item.AccessTarget, {TimeCode: item.TimeCode}) : item; });\r\n\t\t\t}\r\n\r\n\t\t\tmodel.ApprovingOfficial = ScreensUtils.bypassReadonlyHiddenField(ScreensUtils.getApprovingOfficialSaveFormatValue,\r\n\t\t\t\t[model.ApprovingOfficial, this.state.VisitorTemplate.ApprovingOfficial],\r\n\t\t\t\tthis.state.G4SForm.getReadonlyHiddenFields(),\r\n\t\t\t\t\"ApprovingOfficial\");\r\n\r\n\r\n\t\t\tvar badgeFormatValue = ScreensUtils.bypassReadonlyHiddenField(ScreensUtils.getBadgeFormatSaveFormatValue,\r\n\t\t\t[model.BadgeFormat],\r\n\t\t\tthis.state.G4SForm.getReadonlyHiddenFields(),\r\n\t\t\t\"BadgeFormat\");\r\n\r\n\t\t\t_.map(model.Credentials, (c) => {\r\n\t\t\t\tc.BadgeFormat = badgeFormatValue;\r\n\t\t\t\tif (Util.isGuid(c.$uri)) {\r\n\t\t\t\t\tdelete c.$uri;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tFormUtils.removeReadOnlyTypeMetaByPropName(model,'Company', this.state.VisitorModel.TypeMeta);\r\n\r\n\t\t\tif (!FormUtils.getReadonlyFromTypeMeta('Credentials', this.state.VisitorModel.TypeMeta)) {\r\n\t\t\t\tfor (var i = model.Credentials.length - 1; i >= 0; i--) {\r\n\t\t\t\t\tif (!model.Credentials[i].hasOwnProperty('TypeMeta')) {\r\n\t\t\t\t\t\tconst typeMeta = await fetchTypeMeta(model.Credentials[i].$uri);\r\n\t\t\t\t\t\tconst condition = c => c.$type === model.Credentials[i].$type;\r\n\t\t\t\t\t\tvar sameType = R.filter(condition, model.Credentials);\r\n\t\t\t\t\t\tfor (var j = 0; j < sameType.length; j++) {\r\n\t\t\t\t\t\t\tsameType[j].TypeMeta = typeMeta;\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tmodel.Credentials[i].TypeMeta = typeMeta;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tFormUtils.removeReadOnlyTypeMetaProps(model.Credentials[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tVisitActions.saveVisitor(model).then((data) => {\r\n\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\tif (successful) {\r\n\t\t\t\t\tif (this.state.VisitorModel.$uri === undefined) {\r\n\t\t\t\t\t\tthis.state.valuesloaded = false;\r\n\t\t\t\t\t\tthis.state.VisitorModel = {};\r\n\r\n\r\n\t\t\t\t\t\tif (!this.state.G4SForm.getReturnPressed()) {\r\n\t\t\t\t\t\t\tconst { location, history } = this.props;\r\n\t\t\t \t\t \tconst returnUrl = location.state && location.state.listUrl ? location.state.listUrl : '/Visits';\r\n\t\t\t\t\t\t\thistory.replace({\r\n\t\t\t\t\t\t\t\tpathname: `/Visit`,\r\n\t\t\t\t\t\t\t\tsearch: `uid=${payload.$uri}&query=${Util.generateCompanyQuery(CompaniesStore.state.selectedCompany.$uri)}`,\r\n\t\t\t\t\t\t\t\tstate: { listUrl: returnUrl }\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar newModel = _.assign(payload);\r\n\t\t\t\t\t\t// newModel.Face = newModel.Face && newModel.Face.Data ? newModel.Face.Data : undefined;\r\n\t\t\t\t\t\t// newModel.Signature = newModel.Signature && newModel.Signature.Data ? newModel.Signature.Data : undefined;\r\n\t\t\t\t\t\tnewModel.GroupOptions = this.generateGroupOptions(newModel);\r\n\t\t\t\t\t\tnewModel.AssignedAccessTargets = newModel.AccessRights ? newModel.AccessRights.Access : [];//_.map(newModel.AccessRights.Access, (right)=>{return {\"AccessTarget\": {$uri: right.AccessTarget.$uri, Description: right.AccessTarget.Description}}; });\r\n\r\n\t\t\t\t\t\tif (newModel.ApprovingOfficial) {\r\n\t\t\t\t\t\t\tif (newModel.ApprovingOfficial.Name.Family !== \"\") {\r\n\t\t\t\t\t\t\t\tnewModel.ApprovingOfficial = newModel.ApprovingOfficial.$uri.replace(\"WithAvailability\", \"\");\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tnewModel.ApprovingOfficial = undefined; //need this for validation\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.setBadgeListFormat(newModel);\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tVisitorModel: newModel,\r\n\t\t\t\t\t\t\tupdateChildrenModel: true,\r\n\t\t\t\t\t\t\tshouldOverwriteCurrentValue: true,\r\n\t\t\t\t\t\t\tOriginalVisitorModel: _.cloneDeep(newModel)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.state.showBadgeAfterCallback) {\r\n\t\t\t\t\t\tthis.loadCredentialBadgeProperty(this.state.selectedCardRow.$uri, this.state.selectedCardRow, this.setState,[{showBadgeModal: true}]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.state.signInAfterCallback){\r\n\t\t\t\t\t\tthis.signInOutCall(this.state.signInPayload);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\t this.setState({showBadgeModal: false, signInPayload: undefined, signInAfterCallback: false});\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t});\r\n\t\t},\r\n\t\tcopyVisit() {\r\n\t\t\tvar userProfile = UserProfileStore.getCurrentUser();\r\n\t\t\t//TO DO preserve personal Data (currently no response from api)\r\n\t\t\tthis.state.visitorUri = undefined;\r\n\t\t\tvar {Name, Note} = this.state.VisitorModel;\r\n\t\t\tvar customAttributes = \tthis.state.VisitorModel.CustomAttributes;\r\n\t\t\tvar model = {CustomAttributes: []};\r\n\r\n\t\t\tfor (var i = 0; i < customAttributes.length; i++) {\r\n\t\t\t\tvar fieldName = customAttributes[i].Type.Identifier;\r\n\t\t\t\tif (fieldName === \"Representing\" || fieldName === \"Vehicle\") {\r\n\t\t\t\t\tmodel.CustomAttributes.push(customAttributes[i]);\r\n\t\t\t\t} else if (fieldName === \"Contact Number\") {\r\n\t\t\t\t\tcustomAttributes[i].Value = \"\";\r\n\t\t\t\t\tmodel.CustomAttributes.push(customAttributes[i]);\r\n\t\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tif (!userProfile.userPreferences.general.defaultSaveVisitor){\r\n\t\t\t\t\t\tcustomAttributes[i].Value = \"\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tmodel.CustomAttributes.push(customAttributes[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar accessRights = this.state.VisitorModel.AccessRights;\r\n\t\t\tvar visits = this.state.VisitorModel.Visits;\r\n\r\n\t\t\tif (userProfile.userPreferences.general.defaultSaveVisitor) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tVisitorModel: {\r\n\t\t\t\t\t\tName: Name,\r\n\t\t\t\t\t\tAccessRights: accessRights,\r\n\t\t\t\t\t\tVisits: visits,\r\n\t\t\t\t\t\tNote: Note,\r\n\t\t\t\t\t\tCustomAttributes: model.CustomAttributes\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcopy: true\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tVisitorModel: {\r\n\t\t\t\t\t\tName: Name,\r\n\t\t\t\t\t\tAccessRights: accessRights,\r\n\t\t\t\t\t\tVisits: visits,\r\n\t\t\t\t\t\tCustomAttributes: model.CustomAttributes\r\n\t\t\t\t\t},\r\n\t\t\t\t\tcopy: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tloadVisitor(visitorUri) {\r\n\t\t\tif (!visitorUri) {\r\n\t\t\t\tvisitStore.getVisitorTemplate().then((data) => {\r\n\t\t\t\t\tthis.state.VisitorTemplate = _.cloneDeep(data) || {};\r\n\t\t\t\t\tvar model = _.cloneDeep(data);\r\n\t\t\t\t\tmodel.GroupOptions = this.generateGroupOptions(model);\r\n\t\t\t\t\tdelete model.$uri;\r\n\t\t\t\t\tthis.setBadgeListFormat(model);\r\n\t\t\t\t\tmodel.ApprovingOfficial = undefined; //needed for validation\r\n\t\t\t\t\tthis.state.VisitorModel = model;\r\n\t\t\t\t\tthis.state.OriginalVisitorModel = _.cloneDeep(model);\r\n\t\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.state.visitorUri = visitorUri;\r\n\t\t\tvisitStore.getVisitorByUri(this.state.visitorUri).then((data) => {\r\n\t\t\t\tthis.state.VisitorModel = _.assign(data) || {};\r\n\t\t\t\tthis.state.VisitorModel.GroupOptions = this.generateGroupOptions(this.state.VisitorModel);\r\n\t\t\t\tthis.state.VisitorModel.Face = this.state.VisitorModel.Face && this.state.VisitorModel.Face.Data ? this.state.VisitorModel.Face.Data : undefined;\r\n\t\t\t\tthis.state.VisitorModel.Signature = this.state.VisitorModel.Signature && this.state.VisitorModel.Signature.Data ? this.state.VisitorModel.Signature.Data : undefined;\r\n\t\t\t\tconst [NormalAccessRights, AdvancedAccessRights] = data.AccessRights ? R.partition(R.propEq('Normal', true), data.AccessRights.Access) : [[], []];\r\n\t\t\t\tthis.state.VisitorModel.AssignedAccessTargets = NormalAccessRights;\r\n\t\t\t\tthis.state.AdvancedAccessRights = AdvancedAccessRights;\r\n\t\t\t\tif (this.state.VisitorModel.ApprovingOfficial) {\r\n\t\t\t\t\tif (this.state.VisitorModel.ApprovingOfficial.Name.Family !== \"\") {\r\n\t\t\t\t\t\tthis.state.VisitorModel.ApprovingOfficial = this.state.VisitorModel.ApprovingOfficial.$uri.replace(\"WithAvailability\", \"\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.state.VisitorModel.ApprovingOfficial = undefined; //need this for validation\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.state.OriginalVisitorModel = _.cloneDeep(this.state.VisitorModel);\r\n\r\n\t\t\t\tthis.setBadgeListFormat(this.state.VisitorModel);\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t});\r\n\t\t},\r\n\t\tloadActivity(uri) {\r\n\t\t\tif (!uri) {\r\n\t\t\t\tthis.state.Locator = [];\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (_.indexOf(AuthStore.getState().allowedSegments, \"Activity\") !== -1) {\r\n\t\t\t\tPersonsStore.loadActivity(uri).then((data) => {\r\n\t\t\t\t\tthis.state.Locator = data.successful ? _.assign(data.payload.Data) || [] : [];\r\n\t\t\t\t\tthis.state.Locator = ScreensUtils.getLocatorRowsWithTimeDateColumns(this.state.Locator);\r\n\t\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.state.Locator = [];\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetVisitorTemplate() {\r\n\t\t\tvisitStore.getVisitorTemplate().then((data) => {\r\n\t\t\t\tthis.state.VisitorTemplate = _.cloneDeep(data) || {};\r\n\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t});\r\n\t\t},\r\n\t\tdeleteVisitor() {\r\n\t\t\tthis.setState({showConfirmModalDeleteVisitor: true});\r\n\t\t},\r\n\t\tsetInitialized() {\r\n\t\t\tif ((this.state.VisitorModel && Object.keys(this.state.VisitorModel).length !== 0) &&\r\n\t\t\t\tthis.state.Locator &&\r\n\t\t\t\tthis.state.isPermissionsInitialized) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tvaluesloaded: true\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tsignInOut(payload) {\r\n\t\t\tif (this.state.G4SForm.isModelDirty() && payload.SignInData.ActionType === 'SignIn') {\r\n\t\t\t\treturn this.setState({showSignInConfirmation: true, signInAfterCallback: true, signInPayload: payload});\r\n\t\t\t} else {\r\n\t\t\t\t this.signInOutCall(payload);\r\n\t\t\t}\r\n\t\t},\r\n\t\tsignInOutCall(payload) {\r\n\t\t\tpayload.VisitorName = this.state.VisitorModel.Name.FormattedName;\r\n\t\t\tvisitStore.signInOut(payload).then(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tif (data.successful) {\r\n\t\t\t\t\t\tthis.signInOutDetails(this.state.visitorUri);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.setState({signInAfterCallback: false, signInPayload: undefined});\r\n\t\t},\r\n\t\tsignInOutDetails(uri) {\r\n\t\t\tvisitStore.signInOutDetails(uri).then(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tif (data.successful && data.payload) {\r\n\t\t\t\t\t\tvar visitModelCurrent = _.find(this.state.VisitorModel.Visits, function(v) {\r\n\t\t\t\t\t\t\treturn v.Status !== 'Historic';\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tvar visitModelNew = _.find(data.payload.Visits, function(v) {\r\n\t\t\t\t\t\t\treturn v.Status !== 'Historic';\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tvisitModelCurrent.Status = visitModelNew.Status;\r\n\t\t\t\t\t\tvisitModelCurrent.DepartureDateTime = visitModelNew.DepartureDateTime;\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tOriginalVisitorModel: R.merge(this.state.OriginalVisitorModel, {Visits: data.payload.Visits}),\r\n\t\t\t\t\t\t\tVisitorModel: R.merge(this.state.VisitorModel, {visitPermissions: data.payload.visitPermissions})\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t},\r\n\t\tgenerateGroupOptions(model){\r\n\t\t\tvar {AvailableGroups, Groups} = model;\r\n\t\t\tvar options = {};\r\n\t\t\tfor (var i = AvailableGroups.length - 1; i >= 0; i--) {\r\n\t\t\t\toptions[AvailableGroups[i].Name.replace(/ /g, '')] = _.find(Groups, {Name: AvailableGroups[i].Name}) ? true : false;\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t},\r\n\t\tonChangeNotes(field, value) {\r\n\t\t\tthis.state.G4SForm.updateTabHeaderIcon(field, value !== \"\" ? true : false, notesTabIconClass);\r\n\t\t},\r\n\t\tgetInitialNotesIcon() {\r\n\t\t\tvar note = this.state.VisitorModel.Note ? this.state.VisitorModel.Note.Notes : \"\";\r\n\t\t\treturn {tabName: \"notes\", showIcon: (note !== \"\" && note !== null) ? true : false, icon: notesTabIconClass};\r\n\t\t},\r\n\t\tonChange(field, value) {\r\n\t\t\tswitch (field.name) {\r\n\t\t\t\tcase 'AssignedAccessTargets':\r\n\t\t\t\t\tthis.state.G4SForm.subcomponentsFieldsChanged();\r\n\t\t\t\t\treturn this.setState({accessRightsComponentUseNewModel: true, VisitorModel: R.merge(this.state.VisitorModel, {AssignedAccessTargets: value})});\r\n\t\t\t\tcase 'BadgeFormat':\r\n\t\t\t\t\tif (ScreensUtils.badgeAssignedAccessRigths(value, this.state.VisitorModel.BadgeFormatList).length > 0) {\r\n\t\t\t\t\t\tif ((this.state.G4SForm.getCurrentValue(false).AssignedAccessTargets && this.state.G4SForm.getCurrentValue(false).AssignedAccessTargets.length > 0) ||\r\n\t\t\t\t\t\t\tthis.state.VisitorModel.AssignedAccessTargets && this.state.VisitorModel.AssignedAccessTargets.length > 0) {\r\n\t\t\t\t\t\t\treturn this.setState({showConfirmModalBadgeAccessRightSwap: true, VisitorModel: R.merge(this.state.VisitorModel, {BadgeFormat: value})});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.state.VisitorModel.BadgeFormat = value;\r\n\t\t\t\t\t\t\tthis.swapBadgeAccessRights();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this.setState({ VisitorModel: R.merge(this.state.VisitorModel, { BadgeFormat: value }) });\r\n\t\t\t\t//fields from VisitDetailsForm\r\n\t\t\t\tcase 'VisitorEscort':\r\n\t\t\t\tcase 'ArrivalDateTime':\r\n\t\t\t\tcase 'DepartureDateTime':\r\n\t\t\t\tcase 'Message':\r\n\t\t\t\tcase 'Visiting':\r\n\t\t\t\tcase 'Visiting.ContactNumber':\r\n\t\t\t\t\tvar visitModel = _.find(this.state.VisitorModel.Visits, function(v) {\r\n\t\t\t\t\t\treturn v.Status !== 'Historic';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (this.state.VisitorModel.Visits.length === 0) {\r\n\t\t\t\t\t\tvisitModel = {};\r\n\t\t\t\t\t\tthis.state.VisitorModel.Visits.push(visitModel);\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tif (field.name === 'Visiting.ContactNumber') {\r\n\t\t\t\t\t\tvisitModel.Visiting.ContactNumber = value;\r\n\t\t\t\t\t} else if (field.name === 'Message') {\r\n\t\t\t\t\t\tthis.state.VisitorModel.Message = value;\r\n\t\t\t\t\t} else if (field.name === 'DepartureDateTime' && visitModel.DepartureDateTime === '' &&\r\n\t\t\t\t\tnew Date(value).getHours() === 0 && new Date(value).getMinutes() === 0 && new Date(value).getSeconds() === 0) {\r\n\t\t\t\t\t\tconst templateDepartureDateTime = new Date(this.state.VisitorTemplate.Visits[0].DepartureDateTime);\r\n\t\t\t\t\t\tconst departureDateTime = new Date(value).setHours(templateDepartureDateTime.getHours(), templateDepartureDateTime.getMinutes(), templateDepartureDateTime.getSeconds());\r\n\t\t\t\t\t\tvisitModel.DepartureDateTime = dateHelper.format(departureDateTime, 'datetime');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvisitModel[field.name] = value;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tconst clonedFieldsErrors = this.state.detailsFieldsErrors;\r\n\t\t\t\t\tconst errorIndex = R.findIndex(R.propEq('name', field.name), clonedFieldsErrors);\r\n\t\t\t\t\tconst currentFieldErrors = R.pick(['name', 'errors'], field);\r\n\t\t\t\t\tconst detailsFieldsErrors = errorIndex > -1\r\n\t\t\t\t\t? R.update(errorIndex, currentFieldErrors, clonedFieldsErrors)\r\n\t\t\t\t\t: R.append(currentFieldErrors, clonedFieldsErrors);\r\n\r\n\t\t\t\t\tif (field.name === 'Visiting' && value.TypeMeta) {\r\n\t\t\t\t\t\tvar contactNumberMapping = FormUtils.getMappingFromTypeMeta('CustomAttributes', 'ContactNumber', value.TypeMeta);\r\n\t\t\t\t\t\tvar contactNumberItem = _.find(value.CustomAttributes, (item) => item.Type.Identifier === contactNumberMapping);\r\n\t\t\t\t\t\tvar isEscort = _.find(value.Groups, (item) => item.Name === 'Visitor Escort');\r\n\t\t\t\t\t\tif (isEscort !== undefined) {\r\n\t\t\t\t\t\t\tvisitModel.VisitorEscort = value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (contactNumberItem && contactNumberItem.Value !== '') {\r\n\t\t\t\t\t\t\tvisitModel.Visiting.ContactNumber = contactNumberItem.Value;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.state.G4SForm.subcomponentsFieldsChanged();\r\n\r\n\t\t\t\t\tvar clonedModel = JSON.parse(JSON.stringify(this.state.VisitorModel.Visits))\r\n\t\t\t\t\tvar shouldUseValues = [{name: 'Visits', value: clonedModel}];\r\n\r\n\t\t\t\t\tif (field.name === 'Message') {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tdetailsFieldsErrors: detailsFieldsErrors.filter(eObj => eObj.errors !== null)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tshouldUseValues: shouldUseValues,\r\n\t\t\t\t\t\t\tdetailsFieldsErrors: detailsFieldsErrors.filter(eObj => eObj.errors !== null)\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\r\n\r\n\t\t\t\t\tbreak;\r\n\t\t\tcase 'Stop':\r\n\t\t\t\t\tthis.setState({disableSignIn: value});\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\tswapBadgeAccessRights() {\r\n\t\t\tvar badgeAssignedAccessRigths = ScreensUtils.badgeAssignedAccessRigths(this.state.selectedBadgeFormatUri, this.state.VisitorModel.BadgeFormatList);\r\n\t\t\tvar badgeAssignedAccessRigthsAccessRightsTabFormatted = ScreensUtils.badgeAssignedAccessRigthsAccessRightsTabFormatted(badgeAssignedAccessRigths);\r\n\t\t\tthis.setState({\r\n\t\t\t\tVisitorModel: R.merge(this.state.VisitorModel, { AssignedAccessTargets: badgeAssignedAccessRigths }),\r\n\t\t\t\tshowConfirmModalBadgeAccessRightSwap: false,\r\n\t\t\t\taccessRightsComponentUseNewModel: true});\r\n\t\t},\r\n\t\tabortSwapBadgeAccessRights() {\r\n\t\t\tthis.setState({showConfirmModalBadgeAccessRightSwap: false});\r\n\t\t},\r\n\t\tcloseBadgeConfirmation() {\r\n\t\t\tthis.setState({showBadgeConfirmation: false});\r\n\t\t},\r\n\t\tonBadgeClick(card) {\r\n\t\t\tif (this.state.G4SForm.isModelDirty()) {\r\n\t\t\t\treturn this.setState({showBadgeConfirmation: true, selectedCardRow: card, showBadgeAfterCallback: true});\r\n\t\t\t}\r\n\t\t\treturn this.loadCredentialBadgeProperty(card.$uri, card, this.setState,[{showBadgeModal: true, selectedCardRow: card}]);\r\n\t\t},\r\n\t\tonBadgeSubmit() {\r\n\t\t\tthis.state.G4SForm.handleSubmit();\r\n\t\t},\r\n\t\tsetBadgeListFormat(model) {\r\n\t\t\tif (model.BadgeFormatList && (model.BadgeFormatList.length > 0)) {\r\n\t\t\t\tvar selectedItem = _.find(model.BadgeFormatList, function(o){\r\n\t\t\t\t\treturn _.has(o, '$ptr');\r\n\t\t\t\t});\r\n\t\t\t\t//remove from list the selected item\r\n\t\t\t\tmodel.BadgeFormatList = _.filter(model.BadgeFormatList, function(o){\r\n\t\t\t\t\treturn !_.has(o, '$ptr');\r\n\t\t\t\t});\r\n\t\t\t\tif (selectedItem) {\r\n\t\t\t\t\tmodel.BadgeFormat = selectedItem.$ptr;\r\n\t\t\t\t}\r\n\t\t\t} else if (model.Credentials && model.Credentials.length === 0 ) {\r\n\t\t\t\tvisitStore.getBadgeFormatList().then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\tmodel.BadgeFormatList = payload;\r\n\t\t\t\t\t\tthis.setState({VisitorModel: R.merge(this.state.VisitorModel, {'BadgeFormatList': payload})});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tconfirmDeleteVisitor() {\r\n\t\t\tvisitStore.deleteVisitor(this.state.visitorUri)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\t\t\tthis.props.history.push({\r\n\t\t\t\t\t\t\t\tpathname: \"/Visits\",\r\n\t\t\t\t\t\t\t\tsearch: ''\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tthis.abortDeleteVisitor();\r\n\t\t},\r\n\t\tabortDeleteVisitor() {\r\n\t\t\tthis.setState({showConfirmModalDeleteVisitor: false});\r\n\t\t},\r\n\t\tcloseBadgeModal() {\r\n\t\t\tthis.setState({ showBadgeModal: false, showBadgeAfterCallback: false });\r\n\t\t},\r\n\t\tcredentialSaved(credentials) {\r\n\t\t\tthis.setState({VisitorModel: R.merge(this.state.VisitorModel, {Credentials: credentials}), updateChildrenModel: true});\r\n\t\t},\r\n\t\tresetCredentialFlags(flag) {\r\n\t\t\tswitch (flag) {\r\n\t\t\t\tcase \"updateChildrenModel\":\r\n\t\t\t\t\tthis.state.updateChildrenModel = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\tcredentialsFieldsChanged() {\r\n\t\t\tthis.state.G4SForm.subcomponentsFieldsChanged();\r\n\t\t},\r\n\t\tloadCredentialBadgeProperty(uri, row, callback, callbackParams) {\r\n\t\t\tCredentialsActions.credentialBadge(uri, Consts.componentType.visit).then((res) => {\r\n\t\t\t\tif (res.successful) {\r\n\t\t\t\t\trow.Badge = res.payload.Badge;\r\n\t\t\t\t\treturn callback.apply(this, callbackParams);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\tcloseSignInConfirmation() {\r\n\t\tthis.setState({showSignInConfirmation: false});\r\n\t}\r\n\r\n\t});\r\n\tmodule.exports = withRouter(Visit);\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar i18n = require('i18next-client');\r\n\tvar React = require('react');\r\n\tvar AuditStore = require('__stores/AuditStore');\r\n\tvar AuditActions = require('__actions/AuditActions');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar FormFields = require('./ConfigurationFormSettings');\r\n\tvar ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\r\n\tvar AuditConfiguration = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar state = {\r\n\t\t\t\tdata: {},\r\n\t\t\t\tmodel: [],\r\n\t\t\t\tfields: this.state ? this.state.fields : []\r\n\t\t\t};\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tAuditStore.listen(this.onChangeAuditStore);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tAuditActions.loadAuditConfiguration({});\r\n\t\t\t}, 0);\r\n\t\t},\r\n\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tAuditStore.unlisten(this.onChangeAuditStore);\r\n\t\t},\r\n\t\tonChangeAuditStore(store) {\r\n\t\t\tthis.setState(store);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tthis.state.fields = FormFields.get();\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{this.createAuditContent()}\r\n\t\t\t\t
);\r\n\t\t},\r\n\r\n\t\tcreateAuditContent() {\r\n\t\t\tvar {fields} = this.state;\r\n\t\t\tif (this.state.data.Payload !== undefined) {\r\n\t\t\t\tif(fields[0].fields.length === 0){\r\n\t\t\t\tthis.state.data.Payload.map(\r\n\t\t\t\t\t(categoryItem) => {\r\n\t\t\t\t\t\tfields[0].fields.push(this.createAuditGroupField(categoryItem));\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\treturn this.renderAuditForm();\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcreateAuditGroupField(category) {\r\n\t\t\tvar field = {\r\n\t\t\t\tname: category.CategoryName,\r\n\t\t\t\tdisplay: i18n.t(\"CategoryName.\" + category.CategoryName),\r\n\t\t\t\ttype: \"check_group\",\r\n\t\t\t\toptions: [],\r\n\t\t\t\titemHtmlClass: \"auditBox\",\r\n\t\t\t\tlabelClass: \"toggleLabel\",\r\n\t\t\t\thtmlClass: \"auditContainer\"\t\t\t\t\r\n\t\t\t};\r\n\t\t\tfield.options = category.Events.map((item) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tvalue: item.EventTypeId,\r\n\t\t\t\t\tname: i18n.t(item.DisplayEventName)\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\tthis.state.model[field.name] = category.Events.map((item) => {\r\n\t\t\t\tif (item.Selected) {\r\n\t\t\t\t\treturn item.EventTypeId;\r\n\t\t\t\t}\r\n\t\t\t}).filter((item) => {\r\n\t\t\t\treturn item !== undefined;\r\n\t\t\t});\r\n\t\t\treturn field;\r\n\t\t},\r\n\r\n\t\trenderAuditForm() {\r\n\t\t\tvar settings = {};\r\n\t\t\treturn
\r\n\t\t\t\t\r\n\t\t\t
;\r\n\t\t},\r\n\t\tsaveConfiguration(model) {\r\n\t\t\tvar config = this.state.data.Payload.map((item) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tCategoryId: item.CategoryId,\r\n\t\t\t\t\tEvents: model[item.CategoryName]\r\n\t\t\t\t};\r\n\t\t\t});\r\n\t\t\tAuditActions.saveConfiguration(config);\r\n\t\t}\r\n\r\n\t});\r\n\r\n\tmodule.exports = AuditConfiguration;\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar config = require('__src/Configuration');\r\nvar homePageOptions = config.dictionaries.homePageOptions;\r\nvar quickActionsOptions = config.dictionaries.alarmsQuickActions;\r\nvar dateHelper = require('__infrastructure/dateHelper');\r\n\r\nclass PreferencesFields {\r\n //NOTE: lngOptions must be sent as parameter because is loaded on server side\r\n get(lngOptions, companyOptions, overridables){\r\n var fields =\r\n [/*{\r\n \"name\": \"api.defaultCompany\",\r\n \"display\": \"api.defaultCompany\",\r\n \"type\": \"select\",\r\n \"validation\": ['required'],\r\n \"options\": companyOptions,\r\n \"hasContainer\": true\r\n },*/\r\n {\r\n \"name\": \"general.defaultLng\",\r\n \"display\": \"general.defaultLng\",\r\n \"type\": \"select2\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": true,\r\n \"options\": lngOptions,\r\n \"hasContainer\": true,\r\n disabled: overridables.defaultLngIsOverridable,\r\n \"ignoreTranslation\": true\r\n },\r\n {\r\n \"name\": \"general.defaultHomePage\",\r\n \"display\": \"general.defaultHomePage\",\r\n \"type\": \"select2\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": true,\r\n \"options\": homePageOptions,\r\n \"hasContainer\": true,\r\n \"disabled\": overridables.defaultHomePageIsOverridable\r\n },\r\n {\r\n \"name\": \"general.dateFormat\",\r\n \"display\": \"general.dateFormat\",\r\n \"type\": \"select2\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": false,\r\n \"options\": dateHelper.getLanguages(),\r\n \"hasContainer\": true,\r\n \"ignoreTranslation\": true\r\n },\r\n {\r\n \"name\": \"general.defaultTimeout\",\r\n \"display\": \"general.defaultTimeout\",\r\n \"type\": \"number\",\r\n \"default\": 2,\r\n \"placeholder\": \"Default timeout\",\r\n \"hasContainer\": true,\r\n \"validation\": [\"required\", {\r\n \"name\": \"min_value\",\r\n \"value\": 2,\r\n \"allowZero\": true\r\n }, {\r\n \"name\": \"max_value\",\r\n \"value\": 120\r\n }],\r\n \"disabled\": overridables.defaultTimeoutIsOverridable\r\n }];\r\n return fields;\r\n }\r\n}\r\nmodule.exports = new PreferencesFields();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar generalFields = require('./settings/General');\r\n\tvar apiFields = require('./settings/Api');\r\n\tvar alarmsFields = require('./settings/Alarms');\r\n\tvar smtpFields = require('./settings/Smtp');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar FormUtils = require('__components/common/forms/FormUtils');\r\n\tvar AppActions = require('__actions/AppActions');\r\n\tvar AuthActions = require('__actions/AuthActions');\r\n\tvar AppStore = require('__stores/AppStore');\r\n\tvar ShowMessage = require('__components/common/ShowMessage');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar UserProfileActions = require('__actions/UserProfileActions').default;\r\n\tvar ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\tvar _ = require('lodash');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar AppHandle = require('__api/AppHandler');\r\n\tvar AuthHandle = require('__api/AuthHandler');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar ConfirmationModal = require('__components/common/ConfirmationModal');\r\n\tvar appConfig = require('__src/Configuration.js');\r\n\tvar errorHandler = appConfig.appErrorHandler;\r\n\tconst { withRouter } = require('react-router-dom');\r\n\tvar qs = require('qs');\r\n\tvar R = require('ramda');\r\n\tconst { parseQuery } = require('__infrastructure/queryHelper');\r\n\r\n\r\n\tvar ResetToDefault = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\trender() {\r\n\t\t\tvar value = AppStore.getState().resetToDefault;\r\n\t\t\treturn (
\r\n\t\t\t\t\r\n\t\t\t\t{i18n.t(\"settings.resetToDefault\")}\r\n\t\t\t\t
\r\n\t\t\t\t);\r\n\t\t},\r\n\t\tresetToDefaultChanged() {\r\n\t\t\tvar checked = this.refs.resetToDefault.checked;\r\n\t\t\tAppStore.resetToDefault(checked);\r\n\t\t\tthis.setState({});\r\n\t\t}\r\n\t});\r\n\r\n\tvar CertificateManager = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tcertificateThumbprint: this.props.field.value\r\n\t\t\t};\r\n\t\t},\r\n\t\tgetCustomCurrentValue() {\r\n\t\t\treturn this.state.certificateThumbprint;\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar CustomUpload = React.createClass({\r\n\t\t\t\tmixins: [FormFieldMixin],\r\n\t\t\t\trender() {\r\n\t\t\t\t\tvar {onClick, display} = this.props.field;\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar CustomValidator = React.createClass({\r\n\t\t\t\tmixins: [FormFieldMixin],\r\n\t\t\t\trender() {\r\n\t\t\t\t\tvar {isValid, display} = this.props.field;\r\n\t\t\t\t\tif (isValid === true) {\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn (\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}{display}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t
\r\n\t\t\t\t\t\t);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar fields = [\r\n\t\t\t{\r\n\t\t\t\t\"name\": \"certificatePassword\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"certificate\",\r\n\t\t\t\t\t\"display\": \"certificateManager.certificate\",\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"type\": \"FileForm\",\r\n\t\t\t\t\t\"onUpload\": this.parseCertificate\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"password\",\r\n\t\t\t\t\t\"display\": \"certificateManager.password\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"type\": \"password\",\r\n\t\t\t\t\t\"handleFieldChange\": this.onChange\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"upload\",\r\n\t\t\t\t\t\"display\": \"certificateManager.upload\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"type\": CustomUpload,\r\n\t\t\t\t\t\"onClick\": this.uploadCertificate\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"validator\",\r\n\t\t\t\t\t\"display\": \"certificateManager.validation\",\r\n\t\t\t\t\t\"type\": CustomValidator,\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\tisValid: this.state.isValid\r\n\t\t\t\t}]\r\n\t\t\t}];\r\n\t\t\tvar model = {};\r\n\t\t\tvar settings = {\r\n\t\t\t\twizard: true\r\n\t\t\t};\r\n\t\t\treturn (
\r\n\t\t\t\t\r\n\t\t\t\t
);\r\n\t\t},\r\n\t\tonChange(value) {\r\n\t\t\tvar {isValid} = this.state;\r\n\t\t\tif (isValid === true) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisValid: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tsaveFunc(model) {},\r\n\t\tparseCertificate(file) {\r\n\t\t\tvar {isValid} = this.state;\r\n\t\t\tif (file) {\r\n\t\t\t\tfile = file.split(\";base64,\")[1];\r\n\t\t\t\tthis.state.base64StringCertificate = file;\r\n\t\t\t}\r\n\t\t\tif (isValid === true) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisValid: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tuploadCertificate() {\r\n\t\t\tvar {base64StringCertificate} = this.state;\r\n\t\t\tvar {password} = this.refs.certificateManager.getCurrentValue();\r\n\t\t\tif (!base64StringCertificate || !password) {\r\n\t\t\t\treturn MessageActions.addNotification({\r\n\t\t\t\t\tmessage: \"settings.owin.validationError\",\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tAppHandle.uploadCertificate(base64StringCertificate, password).then((data) => {\r\n\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\tif (successful) {\r\n\t\t\t\t\tif (payload === \"\") {\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'settings.owin.invalidCertificate',\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tisValid: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.state.certificateThumbprint = payload;\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tisValid: true\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tisValid: false\r\n\t\t\t\t\t});\r\n\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\tmessage: 'settings.owin.invalidCertificate',\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}).catch();\r\n\t\t}\r\n\t});\r\n\r\nvar AppSettings = React.createClass({\r\n\tcontextTypes: {\r\n\t\thistory: React.PropTypes.object,\r\n\t\tlocation: React.PropTypes.object\r\n\t},\r\n\tgetInitialState() {\r\n\t\tvar appStoreState = _.assign(AppStore.getState());\r\n\t\tvar state = {};\r\n\t\tstate.roles = appStoreState.AppConfiguration.roles;\r\n\t\tstate.showPrompChanges = false;\r\n\t\tstate.dataLoaded = true;\r\n\t\treturn state;\r\n\t},\r\n\tcomponentDidMount() {\r\n\t\tAppStore.listen(this.onChangeAppStore);\r\n\t\t\t//this.loadCompanies();\r\n\t\t},\r\n\t\t/*loadCompanies(){\r\n\t\t\tCompaniesStore.getCompanies().then((companies) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcompanies: companies\r\n\t\t\t\t});\r\n\t\t\t}, () => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tcompanies: {Data: []}\r\n\t\t\t\t});\r\n\t\t\t});\r\n},*/\r\ncomponentWillUnmount() {\r\n\tAppStore.unlisten(this.onChangeAppStore);\r\n},\r\nrender() {\r\n\tif (/*this.state.companies === undefined ||*/ !this.state.dataLoaded) {\r\n\t\treturn ;\r\n\t}\r\n\tvar query = parseQuery(this.props.location.search);\r\n\tvar selectedRole = query && query.rolename ? query.rolename : '';\r\n\tvar settings = this.getSettings();\r\n\tif (settings === null) {\r\n\t\treturn (
\r\n\t\t\t\r\n\t\t\t\r\n\t\t\t
\r\n\t\t\t);\r\n\t}\r\n\r\n\tsettings.selectRole = selectedRole;\r\n\tvar dictionaries = AppStore.getDictionaries();\r\n\t\t\t/*var companies = this.state.companies.Data.map((item) => {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tname: item.Description,\r\n\t\t\t\t\tvalue: item.$uri\r\n\t\t\t\t};\r\n\t\t\t});*/\r\n\t\t\t//companies.push({name:'test', value:'note'});\r\n\t\t\tvar data = {\r\n\t\t\t\tcertificateManager: CertificateManager,\r\n\t\t\t\t//companyOptions: companies,\r\n\t\t\t\tunregisterClient: this.unregisterClient\r\n\t\t\t};\r\n\t\t\tvar roleField = [{\r\n\t\t\t\t\"name\": \"selectRole\",\r\n\t\t\t\t\"display\": i18n.t(\"settings.selectRole\"),\r\n\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\"options\": this.state.roles,\r\n\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\"onChange\": this.selectRole,\r\n\t\t\t\t\"value\": selectedRole\r\n\t\t\t}];\r\n\t\t\tvar wizardPages = [{\r\n\t\t\t\t\"name\": \"application\",\r\n\t\t\t\t\"type\": \"collapsible\",\r\n\t\t\t\t\"open\": true,\r\n\t\t\t\t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t\t\"display\": i18n.t(\"settings.general.title\"),\r\n\t\t\t\t\"fields\": FormUtils.filterFields(generalFields.get(dictionaries.supportedLngs), _.assign({}, settings.general, settings.owin))\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"api\",\r\n\t\t\t\t\"type\": \"collapsible\",\r\n\t\t\t\t\"open\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t\t\"display\": i18n.t(\"settings.api.title\"),\r\n\t\t\t\t\"fields\": FormUtils.filterFields(apiFields.get(data), settings.api)\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"alarms\",\r\n\t\t\t\t\"type\": \"collapsible\",\r\n\t\t\t\t\"open\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t\t\"display\": i18n.t(\"settings.alarms.title\"),\r\n\t\t\t\t\"fields\": FormUtils.filterFields(alarmsFields, settings.alarms)\r\n\t\t\t}\r\n\t\t\t// , {\r\n\t\t\t// \t\"name\": \"smtp\",\r\n\t\t\t// \t\"type\": \"collapsible\",\r\n\t\t\t// \t\"open\": false,\r\n\t\t\t// \t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t// \t\"display\": i18n.t(\"settings.smtp.title\"),\r\n\t\t\t// \t\"fields\": FormUtils.filterFields(smtpFields.get(this.sendTestEmailFunc), settings.smtp)\r\n\t\t\t// }\r\n\t\t\t];\r\n\r\n\t\t\t//NOTE: clear pages without fields\r\n\t\t\t_.remove(wizardPages, function(page) {\r\n\t\t\t\treturn page.fields === null || page.fields.length === 0;\r\n\t\t\t});\r\n\t\t\t//NOTE: translate fields, just to prefix the translation key with \"settings\"\r\n\t\t\t_.map(wizardPages, function(page) {\r\n\t\t\t\tpage.fields = FormUtils.translateFields(page.fields, \"settings\");\r\n\t\t\t});\r\n\t\t\tvar roleContainer = [{\r\n\t\t\t\t\"name\": \"roleContainer\",\r\n\t\t\t\t\"type\": \"sticky\",\r\n\t\t\t\t\"groupHtmlClass\": \"col-xs-12 nopadding zindex-3\",\r\n\t\t\t\t\"fields\": roleField\r\n\t\t\t}];\r\n\t\t\tvar collapsibleContainer = [{\r\n\t\t\t\tname: \"collapsibleContainer\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"tabContainer\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"full-width u-mb-xl\",\r\n\t\t\t\tfields: _.union(roleContainer, wizardPages )\r\n\t\t\t}];\r\n\t\t\tvar wizardSettings = {\r\n\t\t\t\ttabSettings: {\r\n\t\t\t\t\ttabStyle: \"standard\",\r\n\t\t\t\t\tclassName: \"full-width\"\r\n\t\t\t\t},\r\n\t\t\t\twithCompany: true\r\n\t\t\t};\r\n\t\t\tvar roleTitle = \"\";\r\n\t\t\tif (selectedRole !== undefined && selectedRole !== '') {\r\n\t\t\t\troleTitle = \" - \" + selectedRole;\r\n\t\t\t}\r\n\t\t\t/*\r\n\t\t\tif(wizardPages[\"smtp\"] !== undefined){\r\n\t\t\t\twizardPages[\"smtp\"].fields[1].fields[2].clickHandler = this.sendTestEmailFunc;\r\n\t\t\t}*/\r\n\r\n\t\t\treturn (
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t this.state.G4SForm = f}\r\n\t\t\t\t\t\tshouldOverwriteCurrentValue = {this.state.shouldOverwriteCurrentValue}\r\n\t\t\t\t\t\tdisableDirtyFields={true}\r\n\t\t\t\t\t\tformFields = {collapsibleContainer}\r\n\t\t\t\t\t\tmodel = {settings}\r\n\t\t\t\t\t\tsaveFunc = {this.saveFunc}\r\n\t\t\t\t\t\tsettings = {wizardSettings}\r\n\t\t\t\t\t\tsticky\r\n\t\t\t\t\t\tclassName = \"col-xs-12\"\r\n\t\t\t\t\t/>\r\n\t\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t);\r\n\t\t},\r\n\t\tonChangeAppStore(appStoreState) {\r\n\t\t\tvar settings = appStoreState.AppConfiguration;\r\n\t\t\tthis.setState({roles: settings.roles, dataLoaded: settings.dataLoaded});\r\n\t\t\t//this.loadCompanies();\r\n\t\t},\r\n\t\tsaveFunc(model) {\r\n\t\t\tvar selectedRole = parseQuery(this.props.location.search).rolename;\r\n\t\t\tvar currentSettings = AppStore.getSettings();\r\n\t\t\tif (selectedRole !== undefined) {\r\n\t\t\t\tAppStore.saveAppSettings({\r\n\t\t\t\t\t\"settings\": model,\r\n\t\t\t\t\t\"roleName\": selectedRole\r\n\t\t\t\t})\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tAppActions.saveAppSettingsSuccessful({settings: data.payload.appSettings, roleSettings: data.payload.roleSettings, roleName: selectedRole});\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tUserProfileActions.loadUserProfile();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(errorHandler);\r\n\t\t\t} else {\r\n\t\t\t\t//NOTE: owin settings are saved partially\r\n\t\t\t\tmodel.owin = _.assign({}, currentSettings.owin, model.owin);\r\n\t\t\t\tAppStore.saveAppSettings({\r\n\t\t\t\t\t\"settings\": model\r\n\t\t\t\t})\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tAppActions.saveAppSettingsSuccessful({settings: data.payload.appSettings, roleSettings: data.payload.roleSettings, roleName: selectedRole});\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tUserProfileActions.loadUserProfile();\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t})\r\n\t\t\t\t.catch(errorHandler);\r\n\t\t\t}\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tsendTestEmailFunc() {\r\n\t\t\tAppActions.sendTestEmail(this.refs.G4SFormWizard.getFormData().model.smtp);\r\n\t\t},\r\n\t\tnextPageCallback(fromPageName, currentPageName, model, cb) {\r\n\t\t\tcb();\r\n\t\t},\r\n\t\tcancelFunc() {\r\n\t\t\t//TODO: if needed\r\n\t\t},\r\n\t\tselectRole(field, value) {\r\n\t\t\tif(this.state.G4SForm.isModelDirty()){\r\n\t\t\t\tthis.setState({showPrompChanges: true, shouldOverwriteCurrentValue: false, rolename: value});\r\n\t\t\t}else{\r\n\t\t\t\tif (value === \"\" || !value) {\r\n\t\t\t\t\tthis.props.history.push(this.props.location.pathname);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.props.history.push({\r\n\t\t\t\t\t\tpathname: this.props.location.pathname,\r\n\t\t\t\t\t\tsearch: 'rolename=' + encodeURIComponent(value)\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({shouldOverwriteCurrentValue: true, rolename: value});\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetSettings() {\r\n\t\t\tvar query = parseQuery(this.props.location.search);\r\n\t\t\tvar selectedRole = query && query.rolename ? query.rolename : null;\r\n\t\t\tif (selectedRole) {\r\n\t\t\t\treturn _.assign(AppStore.getRoleSettings(selectedRole));\r\n\t\t\t} else {\r\n\t\t\t\treturn _.assign(AppStore.getSettings());\r\n\t\t\t}\r\n\t\t},\r\n\t\tsaveChanges() {\r\n\t\t\tthis.state.G4SForm.handleSubmit();\r\n\t\t},\r\n\t\tcloseSaveConfirmation() {\r\n\t\t\tthis.setState({showPrompChanges: false, shouldOverwriteCurrentValue: true});\r\n\t\t\tif ( !this.state.rolename ) {\r\n\t\t\t\tthis.props.history.push(this.props.location.pathname);\r\n\t\t\t} else {\r\n\t\t\t\tthis.props.history.push({\r\n\t\t\t\t\tpathname: this.props.location.pathname,\r\n\t\t\t\t\tsearch: 'rolename=' + this.state.rolename,\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tunregisterClient() {\r\n\t\t\tAuthHandle.unregisterClient().then((data) => {\r\n\t\t\t\tvar {successful} = data;\r\n\t\t\t\tif (successful) {\r\n\t\t\t\t\tAppStore.resetClientRegistered();\r\n\t\t\t\t\tAuthActions.logoutUser();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\tmessage: 'settings.api.failUnregister',\r\n\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\nmodule.exports = withRouter(AppSettings);\r\n\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar i18n = require('i18next-client');\r\n\tvar React = require('react');\r\n\tvar _ = require('lodash');\r\n\tvar config = require('__src/Configuration');\r\n\tvar errorHandler = config.appErrorHandler;\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar AppStore = require('__stores/AppStore');\r\n\tvar AppActions = require('__actions/AppActions');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar AppHandle = require('__api/AppHandler');\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar owinFields = require('./settings/Owin');\r\n\tvar ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar CustomUpload = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\trender() {\r\n\t\t\tvar {onClick, display} = this.props.field;\r\n\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t);\r\n\t}\r\n\t});\r\n\tvar CustomValidator = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\trender() {\r\n\t\t\tvar {isValid, display, certificateThumbprint} = this.props.field;\r\n\t\t\tif(isValid === false){\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{certificateThumbprint}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\tvar OwinSettings = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn {};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tthis.verifyHttpsCertificateInstalled();\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar data = {uploader: {uploaderType: CustomUpload, uploaderHandler: this.uploadCertificate},\r\n\t\t\t\t\t\tparseCertificateHandler: this.parseCertificate,\r\n\t\t\t\t\t\tonChangeHandler: this.onChange,\r\n\t\t\t\t\t\tvalidator: { validatorType: CustomValidator, isValid: this.state.isValid ? this.state.isValid : false, certificateThumbprint: this.state.certificateThumbprint}};\r\n\r\n\t\t\tvar fields = owinFields.get(data);\r\n\t\t\tvar settings = AppStore.getSettings();\r\n\t\t\tvar owinSettings = settings.owin;\r\n\t\t\tvar title = i18n.t(\"Pages.OwinConfiguration\");\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\t//any change on pwd or certificate will invalidate the form\r\n\t\tonChange(){\r\n\t\t\tvar {isValid} = this.state;\r\n\t\t\tif(isValid === true){\r\n\t\t\t\tthis.setState({isValid: false, certificateThumbprint: \"\"});\r\n\t\t\t}\r\n\t\t},\r\n\t\tparseCertificate(file){\r\n\t\t\tvar {isValid} = this.state;\r\n\t\t\tif(file){\r\n\t\t\t\tfile = file.split(\";base64,\")[1];\r\n\t\t\t\tthis.state.base64StringCertificate = file;\r\n\t\t\t}\r\n\t\t\tif(isValid === true){\r\n\t\t\t\tthis.setState({isValid: false, certificateThumbprint: \"\"});\r\n\t\t\t}\r\n\t\t},\r\n\t\tuploadCertificate() {\r\n\t\t\tvar {base64StringCertificate} = this.state;\r\n\t\t\tvar {password} = this.refs.owinSettingsForm.getCurrentValue();\r\n\t\t\tif(!base64StringCertificate || !password){\r\n\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\tmessage: 'settings.owin.validationError',\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tAppHandle.uploadCertificate(base64StringCertificate, password).then((data) => {\r\n\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\tif(successful){\r\n\t\t\t\t\tif(payload === \"\"){\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'settings.owin.invalidCertificate',\r\n\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.setState({isValid: false, certificateThumbprint: \"\"});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\tthis.state.certificateThumbprint = payload;\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.setState({isValid: true, certificateThumbprint: payload});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tthis.setState({isValid: false, certificateThumbprint: \"\"});\r\n\t\t\t\t\t//MessageActions.raiseError(\"settings.owin.invalidCertificate\");\r\n\t\t\t\t}\r\n\t\t\t}).catch(errorHandler);\r\n\t\t},\r\n\t\tsaveOwinSettings(owinModel) {\r\n\t\t\tvar {certificateThumbprint, isValid} = this.state;\r\n\t\t\tif(!isValid && owinModel.httpsEnabled){\r\n\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\tmessage: 'settings.owin.validation',\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar currentModel = AppStore.getSettings();\r\n\t\t\tif(owinModel.httpsEnabled){\r\n\t\t\t\towinModel.certificateThumbprint = certificateThumbprint || owinModel.certificateThumbprint;\r\n\t\t\t}\r\n\t\t\tvar modelToSave = _.assign({}, currentModel);\r\n\t\t\t_.assign(modelToSave.owin, owinModel);\r\n\t\t\t// AppActions.saveAppSettings({\r\n\t\t\t// \t\"settings\": modelToSave\r\n\t\t\t// });\r\n\t\t\tAppStore.saveAppSettings({\r\n\t\t\t\t\t\"settings\": modelToSave\r\n\t\t\t\t})\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(errorHandler);\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tverifyHttpsCertificateInstalled() {\r\n\t\t\tAppHandle.verifyHttpsCertificateInstalled().then((data) => {\r\n\t\t\t\tif (data.successful) {\r\n\t\t\t\t\tthis.setState({isValid: data.payload.verifyHttpsCertificateInstalled, certificateThumbprint: data.payload.thumbprint});\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({isValid: false, certificateThumbprint: \"\"});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = OwinSettings;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\tvar React = require('react');\r\n\tvar config = require('__src/Configuration');\r\n\tvar errorHandler = config.appErrorHandler;\r\n\tvar AppStore = require('__stores/AppStore');\r\n\tvar AppActions = require('__actions/AppActions');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar AppHandle = require('__api/AppHandler');\r\n\tvar languagePackFields = require('./settings/LanguagePacks');\r\n\tvar ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar ConfirmModal = require('__components/common/forms/ConfirmModal');\r\n\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar downloadDisabled = true;\r\n\tvar formDisabled = true;\r\n\tvar CustomDownload = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\trender() {\r\n\t\t\tvar {onClick, display, htmlClass, groupHtmlClass} = this.props.field;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
\r\n\t\t\t);\r\n\t}\r\n\t});\r\n\r\n\tvar LngSettings = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar dictionaries = AppStore.getDictionaries();\r\n\t\t\tvar state = {\r\n\t\t\t\tallLngs: _.map(dictionaries.allLngs, (l)=>{return {name: l.lang, value: l.symbol}; }),\r\n\t\t\t\tfileTypes: _.map(dictionaries.languageFileTypes, (l)=>{return {name: l.name, value: l.id}; })\r\n\t\t\t};\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tthis.checkLanguageFile(false);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tthis.state.language = \"en-US\";\r\n\r\n\t\t\tvar {allLngs, fileTypes} = this.state;\r\n\t\t\tvar data = {lngOptions: allLngs, fileTypeOptions: fileTypes, parseFileHandler: this.parseFile, downloader: {downloaderType: CustomDownload, downloaderHandler: this.getLanguageFile}, changeHandler: this.checkLanguageFile, formDisabled:this.formDisabled};\r\n\t\t\tvar fields = languagePackFields.get(data);\r\n\t\t\tvar fileTypeField = _.find(fields[0].fields, function(o) { return o.name === \"fileType\"; });\r\n\t\t\tif (fileTypeField) {\r\n\t\t\t\tfileTypeField.options.splice(0, 2);\r\n\t\t\t\tfileTypeField.options[0] = {\r\n\t\t\t\t\t\t\t\t\t\t\t\tname: i18n.t(\"lngSettings.TranslationFile\"),\r\n\t\t\t\t\t\t\t\t\t\t\t\tvalue: 1\r\n\t\t\t\t\t\t\t\t\t\t\t};\t\t\t}\r\n\t\t\tvar title = i18n.t(\"Pages.ManageLanguagePack\");\r\n\t\t\tvar confirmModal = ;\r\n\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{confirmModal}\r\n\t\t\t\t\t this.checkLanguageFile(true)} formHelp={false} ref={(f) => this.state.G4SForm = f}/>\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tparseFile(file) {\r\n\t//\t\tvar enc = btoa(file);\r\n\r\n\t\t\tfile = file.split(\";base64,\")[1];\r\n\t\t\tthis.state.base64StringFile = file;\r\n\t\t\tif (!Util.isJSON(file)){\r\n\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\tmessage: 'lngSettings.SelectAValidFile',\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t\tthis.state.G4SForm.handleSaveCallback(true);\r\n\t\t\t} \r\n\t\t},\r\n\t\tsaveLanguagePack() {\r\n\t\t\tvar {base64StringFile} = this.state;\r\n\t\t\tvar {language, fileType} = this.state.G4SForm.getCurrentValue();\r\n\t\t\tfileType = 1;\r\n\t\t\tif (base64StringFile == undefined){\r\n\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\tmessage: 'lngSettings.ChooseAFileBeforeSaving',\r\n\t\t\t\t\ttype: 'error',\r\n\t\t\t\t});\r\n\t\t\t}else {\r\n\t\t\t\tAppHandle.uploadLanguageFile(base64StringFile, language, fileType).then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tif(payload === \"\"){\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\t\tmessage: 'messages.downloadUnsuccessful',\r\n\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t\tAppActions.loadAppConfiguration();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t}).catch(errorHandler);\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetLanguageFile() {\r\n\t\t\tvar {language} = this.state.G4SForm.getCurrentValue();\r\n\t\t\tif (language != undefined){\r\n\t\t\t\tAppHandle.getLanguageFile(language).then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tif(payload === \"\"){\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\t\tmessage: 'messages.saveUnsuccessful',\r\n\t\t\t\t\t\t\t\ttype: 'error',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\tUtil.saveByteArray(payload,\"translation.json\");\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\t\ttype: 'success',\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(errorHandler);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcheckLanguageFile(save) {\r\n\t\t\tvar {language} = this.state.G4SForm.getCurrentValue();\r\n\t\t\tif (language != undefined){\r\n\t\t\t\tthis.formDisabled = false;\r\n\r\n\t\t\t\tAppHandle.checkLanguageFile(language).then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\tdownloadDisabled = !payload;\r\n\t\t\t\t\t\tif (save === true){\r\n\t\t\t\t\t\t\tif (payload){\r\n\t\t\t\t\t\t\t\tthis.showModal();\r\n\t\t\t\t\t\t\t}else {\r\n\t\t\t\t\t\t\t\tthis.saveLanguagePack();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}else {\r\n\r\n\t\t\t\t\t\t\tAppActions.loadAppConfiguration();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t}).catch(errorHandler);\r\n\t\t\t}else {\r\n\t\t\t\tdownloadDisabled = true;\r\n\t\t\t\tthis.formDisabled = true;\r\n\t\t\t\tthis.state.G4SForm.handleSaveCallback(true);\r\n\t\t\t\tAppActions.loadAppConfiguration();\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\tabort() {\r\n\t\t\tthis.setState({showConfirmModal: false});\r\n\t\t},\r\n\t\tshowModal(){\r\n\t\t\tthis.setState({showConfirmModal: true});\r\n\t\t},\r\n\t});\r\n\r\n\tmodule.exports = LngSettings;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar dragDropContext = require('react-dnd').DragDropContext;\r\n\tvar html5Backend = require('react-dnd-html5-backend');\r\n\tvar Cardholders = require('./Cardholders');\r\n\tvar Visitors = require('./Visitors');\r\n\tvar Alarms = require('./Alarms');\r\n\tvar Empty = require('./Empty');\r\n\tvar Widget = require('./Widget');\r\n\tvar _ = require('lodash');\r\n\r\n\tvar Dashboard = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\trenderDashboard(dashboard){\r\n\t\t\tvar content = [];\r\n\t\t\t_.map(dashboard, (row)=>{\r\n\t\t\t\tcontent.push(this.renderRow(row));\r\n\t\t\t});\r\n\t\t\treturn content;\r\n\t\t},\r\n\t\trenderRow(row){\r\n\t\t\tif(!row){\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t
\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t_.map(row.cols, (col)=>{\r\n\t\t\t\t\t\t\tvar content = [];\r\n\t\t\t\t\t\t\tif(col.rows && col.rows.length > 0) {\r\n\t\t\t\t\t\t\t\t_.map(col.rows, (r)=>{\r\n\t\t\t\t\t\t\t\t\tcontent.push(this.renderRow(r));\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\telse{\r\n\t\t\t\t\t\t\t\tcontent.push(col.content);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
\r\n\t\t\t\t\t\t\t\t\t{content}\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\t\t\t\t}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t},\r\n\t\tcreateMatrix(noOfRows, noOfColumn){\r\n\t\t\tvar matrix = [];\r\n\t\t\twhile(noOfRows-- > 0){\r\n\t\t\t\tvar row = [];\r\n\t\t\t\tvar idx = noOfColumn;\r\n\t\t\t\twhile(idx-- > 0){\r\n\t\t\t\t\trow.push(undefined);\r\n\t\t\t\t}\r\n\t\t\t\tmatrix.push(row);\r\n\t\t\t}\r\n\t\t\treturn matrix;\r\n\t\t},\r\n\t\tfindGroups(matrix)\r\n\t\t{\r\n\t\t\tvar groups = [];\r\n\t\t\tvar noOfRows = matrix.length;\r\n\t\t\tvar noOfColumns = matrix[0].length;\r\n\t\t\tvar row = -1;\r\n\t\t\tvar col = -1;\r\n\t\t\tvar groupFinder = (type)=>{\r\n\t\t\t\treturn _.find(groups, (g) => {\r\n\t\t\t\t\treturn g.type === type;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\twhile(++row < noOfRows)\r\n\t\t\t{\r\n\t\t\t\tcol = -1;\r\n\t\t\t\twhile(++col < noOfColumns){\r\n\t\t\t\t\tvar type = matrix[row][col];\r\n\t\t\t\t\tif(!type){\r\n\t\t\t\t\t\tcontinue;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar fg = groupFinder(type);\r\n\t\t\t\t\tif(fg){\r\n\t\t\t\t\t\tfg.end = {row: row, col: col};\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfg = { type: type, start: {row: row, col: col}, end: {row: row, col: col}};\r\n\t\t\t\t\t\tgroups.push(fg);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn groups;\r\n\t\t},\r\n\t\tcolsForGroups(groups, noOfColumns){\r\n\t\t\tvar toRet = [];\r\n\t\t\tif(groups.length === 1){\r\n\t\t\t\tvar gr = groups[0];\r\n\t\t\t\ttoRet.push({start: gr.start.col, end: gr.end.col});\r\n\t\t\t\treturn toRet;\r\n\t\t\t}\r\n\t\t\tvar col = -1;\r\n\t\t\tvar start = 0;\r\n\t\t\tvar findGEnd = (colNo)=> {\r\n\t\t\t\treturn _.find(groups, (g)=>{\r\n\t\t\t\t\treturn g.end.col === colNo;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tvar findGOverlap = (colNo, group)=> {\r\n\t\t\t\treturn _.select(groups, (g)=>{\r\n\t\t\t\t\treturn g !== group && g.start.col !== g.end.col && g.start.col <= colNo && g.end.col > colNo;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\twhile(++col < noOfColumns){\r\n\t\t\t\tvar gEnd = findGEnd(col);\r\n\t\t\t\tif(gEnd){\r\n\t\t\t\t\tvar gOverlap = findGOverlap(col, gEnd);\r\n\t\t\t\t\tif(gOverlap.length === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttoRet.push({start: start, end: col});\r\n\t\t\t\t\t\tstart = col + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn toRet;\r\n\t\t},\r\n\t\trowsForGroups(groups, noOfRows){\r\n\t\t\tvar row = -1;\r\n\t\t\tvar start = 0;\r\n\t\t\tvar findGEnd = (rowNo)=> {\r\n\t\t\t\treturn _.find(groups, (g)=>{\r\n\t\t\t\t\treturn g.end.row === rowNo;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tvar findGOverlap = (rowNo, group)=> {\r\n\t\t\t\treturn _.select(groups, (g)=>{\r\n\t\t\t\t\treturn g !== group && g.start.row !== g.end.row && g.start.row <= rowNo && g.end.row > rowNo;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tvar toRet = [];\r\n\t\t\twhile(++row < noOfRows){\r\n\t\t\t\tvar gEnd = findGEnd(row);\r\n\t\t\t\tif(gEnd){\r\n\t\t\t\t\tvar gOverlap = findGOverlap(row, gEnd);\r\n\t\t\t\t\tif(gOverlap.length === 0)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttoRet.push({start: start, end: row});\r\n\t\t\t\t\t\tstart = row + 1;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn toRet;\r\n\t\t},\r\n\t\tgenerateRow(groups, noOfRows, noOfColumns){\r\n\t\t\tif(groups.length === 1){\r\n\t\t\t\tvar grToRender = groups[0];\r\n\t\t\t\tgrToRender.generated = true;\r\n\t\t\t\t//return {isContent: true, content: grToRender.type + ' rows:' + (grToRender.end.row - grToRender.start.row + 1)};\r\n\t\t\t\tvar widget = ;\r\n\t\t\t\treturn {isContent: true, content: widget};\r\n\t\t\t}\r\n\t\t\tvar rowsGrDelimitators = this.rowsForGroups(groups, noOfRows);\r\n\t\t\tvar gFinder = (delimator)=>{\r\n\t\t\t\treturn _.select(groups, (g)=>{\r\n\t\t\t\t\treturn g.generated !== true && (g.start.row >= delimator.start && g.end.row <= delimator.end);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tvar items = [];\r\n\t\t\t_.map(rowsGrDelimitators, (delimator)=>{\r\n\t\t\t\tvar gEnding = gFinder(delimator);\r\n\t\t\t\titems.push(this.generateCol(gEnding, noOfRows, noOfColumns));\r\n\t\t\t});\r\n\t\t\treturn {isContent: false, items: items};\r\n\t\t},\r\n\t\tgenerateCol(groups, noOfRows, noOfColumns){\r\n\t\t\tvar colsToRender = [];\r\n\t\t\tvar colsGrDelimitators = this.colsForGroups(groups, noOfColumns);\r\n\t\t\t//all groups delimitated by col not generated\r\n\t\t\tvar gsFinder = (delimator)=>{\r\n\t\t\t\treturn _.select(groups, (g)=>{\r\n\t\t\t\t\treturn g.generated !== true && (g.start.col >= delimator.start && g.end.col <= delimator.end);\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\tvar gsSizerFinder = (delimator)=>{\r\n\t\t\t\treturn _.select(groups, (g)=>{\r\n\t\t\t\t\treturn g.start.col >= delimator.start && g.end.col <= delimator.end;\r\n\t\t\t\t});\r\n\t\t\t};\r\n\t\t\t//NOTE: include all groups\r\n\t\t\tvar sizer = (delimator)=>{\r\n\t\t\t\tvar size = 0;\r\n\t\t\t\tvar gs = gsSizerFinder(delimator);\r\n\t\t\t\tfor(var row = 0; row < noOfRows; row++){\r\n\t\t\t\t\tvar rowSize = 0;\r\n\t\t\t\t\tfor(var col = delimator.start; col <= delimator.end; col++)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tvar exists = _.find(gs, (g)=>{\r\n\t\t\t\t\t\t\treturn (g.start.row <= row <= g.end.row) && (g.start.col <= col <= g.end.col);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif(exists){\r\n\t\t\t\t\t\t\trowSize++;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif(rowSize > size){\r\n\t\t\t\t\t\tsize = rowSize;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\treturn size;\r\n\t\t\t};\r\n\t\t\t_.map(colsGrDelimitators, (delimator)=>\r\n\t\t\t{\r\n\t\t\t\tvar rowGroups = gsFinder(delimator);\r\n\t\t\t\tvar colToRender = {size: sizer(delimator)};\r\n\t\t\t\tvar row = this.generateRow(rowGroups, noOfRows, noOfColumns);\r\n\t\t\t\tif(row.isContent){\r\n\t\t\t\t\tcolToRender.content = row.content;\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tcolToRender.rows = row.items;\r\n\t\t\t\t}\r\n\t\t\t\tcolsToRender.push(colToRender);\r\n\t\t\t});\r\n\t\t\treturn {cols: colsToRender};\r\n\t\t},\r\n\t\tfixColSize(cols, mainSize, ratio){\r\n\t\t\tif(!ratio){\r\n\t\t\t\tratio = 1;\r\n\t\t\t}\r\n\t\t\tvar size = 12 * ratio / mainSize;\r\n\t\t\t_.map(cols, (col)=>{\r\n\t\t\t\tcol.size = Math.round(size * col.size);\r\n\t\t\t\tcol.size = col.size > 12 || col.size === 0 ? 12 : col.size;\r\n\t\t\t\t_.map(col.rows, (row)=>{\r\n\t\t\t\t\tthis.fixColSize(row.cols, col.size, size);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t},\r\n\t\tfixSize(result){\r\n\t\t\tvar cols = result.cols;\r\n\t\t\t_.map(cols, (col)=>{\r\n\t\t\t\tif(col.rows){\r\n\t\t\t\t\t_.map(col.rows, (row)=>{\r\n\t\t\t\t\t\tthis.fixColSize(row.cols, col.size);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar widgets = [];\r\n\t\t\tvar dashboard = [];\r\n\t\t\tvar settings = {height: '20px'};\r\n\t\t\twidgets.push({type: Empty, settings: settings, start: {row: 0, col: 0}, end: {row: 0, col: 11}});\r\n\t\t\twidgets.push({type: Empty, start: {row: 1, col: 0}, end: {row: 1, col: 1}});\r\n\t\t\tsettings = {title: 'Widgets.Alarms.Title', titleIconClass: 'fa fa-bell-o', url: '/Alarms'};\r\n\t\t\twidgets.push({type: Alarms, hasContainer: true, settings: settings, start: {row: 1, col: 3}, end: {row: 3, col: 9}});\r\n\t\t\twidgets.push({type: Empty, start: {row: 4, col: 0}, end: {row: 4, col: 1}});\r\n\t\t\tsettings = {title: 'Widgets.CardHolders.Title', titleIconClass: 'fa fa-credit-card', url: '/CardHolders'};\r\n\t\t\twidgets.push({type: Cardholders, hasContainer: true, settings: settings, start: {row: 4, col: 3}, end: {row: 4, col: 9}});\r\n\r\n\t\t\tvar result = this.generateCol(widgets, 12, 12);\r\n\t\t\tthis.fixSize(result);\r\n\t\t\tdashboard.push(result);\r\n\t\t\tvar title = i18n.t(\"Widgets.Dashboard.Title\");\r\n\t\t\tdocument.title = title;\r\n\t\t\treturn (\r\n\t\t\t\t
\r\n\t\t\t\t\t

{title}

\r\n\t\t\t\t\t{this.renderDashboard(dashboard)}\r\n\t\t\t\t
\r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\tmodule.exports = dragDropContext(html5Backend)(Dashboard);\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar FileForm = require('__components/common/forms/formfields/FileForm');\r\n\tvar i18n = require('i18next-client');\r\n\tvar ImageLibraryHandler = require('__api/ImageLibraryHandler');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\r\n\tvar ImageGallerySetup = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tdata: this.state ? this.state.data : [],\r\n\t\t\t\tcurrentFile: this.state ? this.state.currentFile : {},\r\n\t\t\t\treset: this.state ? this.state.reset : false\r\n\t\t\t};\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar title = i18n.t(\"imageGallerySetup.Title\");\r\n\t\t\tvar fields = [{\r\n\t\t\t\t\t\t\"name\": \"imageGallerySetupFileForm\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"type\": \"FileForm\",\r\n\t\t\t\t\t\t\"onUpload\": this.onUpload,\r\n\t\t\t\t\t\t\"accept\":\"image/*\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"htmlClass\": \"u-mt-m\",\r\n\t\t\t\t\t\t\"multiple\":true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"preview\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"type\": \"ImageGalleryUploadPreview\",\r\n\t\t\t\t\t\t\"usePhoto\": this.imageGalleryUploaded,\r\n\t\t\t\t\t\t\"reset\": this.state.reset,\r\n\t\t\t\t\t\t\"base64File\": this.state.currentFile\r\n\t\t\t\t\t}];\r\n\t\t\treturn (\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t this.state.G4SForm = f}/>\r\n\t\t\t\t\t
\r\n\t\t\t\t);\r\n\t\t},\r\n\t\tonUpload(uploadFile){\r\n\t\t\tthis.state.reset = false;\r\n\t\t\tthis.state.currentFile = uploadFile;\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t},\r\n\t\tonReset(){\r\n\t\t\tthis.state.reset = true;\r\n\t\t\tthis.state.currentFile = {};\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t},\r\n\t\tsave(model){\r\n\t\t\tImageLibraryHandler.saveImageLibrary(model.preview).then((data) => {\r\n\t\t\t\t\tvar {successful, status, payload} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t type: 'success',\r\n\t\t\t\t\t\t message: payload === \"\" ? \"messages.saveSuccessful\" : i18n.t(\"imageGallerySetup.\" + payload),\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t type: 'error',\r\n\t\t\t\t\t\t message: status,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = ImageGallerySetup;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n const dateFormats = [\r\n {\r\n \"name\": \"Afrikaans\",\r\n \"value\": \"af\"\r\n },\r\n {\r\n \"name\": \"Albanian\",\r\n \"value\": \"sq\"\r\n },\r\n {\r\n \"name\": \"Arabic\",\r\n \"value\": \"ar\"\r\n },\r\n {\r\n \"name\": \"Arabic(Algeria)\",\r\n \"value\": \"ar-dz\"\r\n },\r\n {\r\n \"name\": \"Arabic(Lybia)\",\r\n \"value\": \"ar-ly\"\r\n },\r\n {\r\n \"name\": \"Arabic(Morocco)\",\r\n \"value\": \"ar-ma\"\r\n },\r\n {\r\n \"name\": \"Arabic(SaudiArabia)\",\r\n \"value\": \"ar-sa\"\r\n },\r\n {\r\n \"name\": \"Arabic(Tunisia)\",\r\n \"value\": \"ar-tn\"\r\n },\r\n {\r\n \"name\": \"Armenian\",\r\n \"value\": \"hy-am\"\r\n },\r\n {\r\n \"name\": \"Azerbaijani\",\r\n \"value\": \"az\"\r\n },\r\n {\r\n \"name\": \"Basque\",\r\n \"value\": \"eu\"\r\n },\r\n {\r\n \"name\": \"Belarusian\",\r\n \"value\": \"be\"\r\n },\r\n {\r\n \"name\": \"Bengali\",\r\n \"value\": \"bn\"\r\n },\r\n {\r\n \"name\": \"Bosnian\",\r\n \"value\": \"bs\"\r\n },\r\n {\r\n \"name\": \"Breton\",\r\n \"value\": \"br\"\r\n },\r\n {\r\n \"name\": \"Bulgarian\",\r\n \"value\": \"bg\"\r\n },\r\n {\r\n \"name\": \"Burmese\",\r\n \"value\": \"my\"\r\n },\r\n {\r\n \"name\": \"Cambodian\",\r\n \"value\": \"km\"\r\n },\r\n {\r\n \"name\": \"Catalan\",\r\n \"value\": \"ca\"\r\n },\r\n {\r\n \"name\": \"CentralAtlasTamazight\",\r\n \"value\": \"tzm\"\r\n },\r\n {\r\n \"name\": \"CentralAtlasTamazightLatin\",\r\n \"value\": \"tzm-latn\"\r\n },\r\n {\r\n \"name\": \"Chinese(China)\",\r\n \"value\": \"zh-cn\"\r\n },\r\n {\r\n \"name\": \"Chinese(HongKong)\",\r\n \"value\": \"zh-hk\"\r\n },\r\n {\r\n \"name\": \"Chinese(Taiwan)\",\r\n \"value\": \"zh-tw\"\r\n },\r\n {\r\n \"name\": \"Chuvash\",\r\n \"value\": \"cv\"\r\n },\r\n {\r\n \"name\": \"Croatian\",\r\n \"value\": \"hr\"\r\n },\r\n {\r\n \"name\": \"Czech\",\r\n \"value\": \"cs\"\r\n },\r\n {\r\n \"name\": \"Danish\",\r\n \"value\": \"da\"\r\n },\r\n {\r\n \"name\": \"Dutch\",\r\n \"value\": \"nl\"\r\n },\r\n {\r\n \"name\": \"Dutch(Belgium)\",\r\n \"value\": \"nl-be\"\r\n },\r\n {\r\n \"name\": \"English(Australia)\",\r\n \"value\": \"en-au\"\r\n },\r\n {\r\n \"name\": \"English(Canada)\",\r\n \"value\": \"en-ca\"\r\n },\r\n {\r\n \"name\": \"English(Ireland)\",\r\n \"value\": \"en-ie\"\r\n },\r\n {\r\n \"name\": \"English(NewZealand)\",\r\n \"value\": \"en-nz\"\r\n },\r\n {\r\n \"name\": \"English(UnitedKingdom)\",\r\n \"value\": \"en-gb\"\r\n },\r\n {\r\n \"name\": \"English(UnitedStates)\",\r\n \"value\": \"en\"\r\n },\r\n {\r\n \"name\": \"Esperanto\",\r\n \"value\": \"eo\"\r\n },\r\n {\r\n \"name\": \"Estonian\",\r\n \"value\": \"et\"\r\n },\r\n {\r\n \"name\": \"Faroese\",\r\n \"value\": \"fo\"\r\n },\r\n {\r\n \"name\": \"Finnish\",\r\n \"value\": \"fi\"\r\n },\r\n {\r\n \"name\": \"French\",\r\n \"value\": \"fr\"\r\n },\r\n {\r\n \"name\": \"French(Canada)\",\r\n \"value\": \"fr-ca\"\r\n },\r\n {\r\n \"name\": \"French(Switzerland)\",\r\n \"value\": \"fr-ch\"\r\n },\r\n {\r\n \"name\": \"Frisian\",\r\n \"value\": \"fy\"\r\n },\r\n {\r\n \"name\": \"Galician\",\r\n \"value\": \"gl\"\r\n },\r\n {\r\n \"name\": \"Georgian\",\r\n \"value\": \"ka\"\r\n },\r\n {\r\n \"name\": \"German\",\r\n \"value\": \"de\"\r\n },\r\n {\r\n \"name\": \"German(Austria)\",\r\n \"value\": \"de-at\"\r\n },\r\n {\r\n \"name\": \"Greek\",\r\n \"value\": \"el\"\r\n },\r\n {\r\n \"name\": \"Hebrew\",\r\n \"value\": \"he\"\r\n },\r\n {\r\n \"name\": \"Hindi\",\r\n \"value\": \"hi\"\r\n },\r\n {\r\n \"name\": \"Hungarian\",\r\n \"value\": \"hu\"\r\n },\r\n {\r\n \"name\": \"Icelandic\",\r\n \"value\": \"is\"\r\n },\r\n {\r\n \"name\": \"Indonesian\",\r\n \"value\": \"id\"\r\n },\r\n {\r\n \"name\": \"Italian\",\r\n \"value\": \"it\"\r\n },\r\n {\r\n \"name\": \"Japanese\",\r\n \"value\": \"ja\"\r\n },\r\n {\r\n \"name\": \"Javanese\",\r\n \"value\": \"jv\"\r\n },\r\n {\r\n \"name\": \"Kazakh\",\r\n \"value\": \"kk\"\r\n },\r\n {\r\n \"name\": \"Klingon\",\r\n \"value\": \"tlh\"\r\n },\r\n {\r\n \"name\": \"Korean\",\r\n \"value\": \"ko\"\r\n },\r\n {\r\n \"name\": \"Kyrgyz\",\r\n \"value\": \"ky\"\r\n },\r\n {\r\n \"name\": \"Lao\",\r\n \"value\": \"lo\"\r\n },\r\n {\r\n \"name\": \"Latvian\",\r\n \"value\": \"lv\"\r\n },\r\n {\r\n \"name\": \"Lithuanian\",\r\n \"value\": \"lt\"\r\n },\r\n {\r\n \"name\": \"Luxembourgish\",\r\n \"value\": \"lb\"\r\n },\r\n {\r\n \"name\": \"Macedonian\",\r\n \"value\": \"mk\"\r\n },\r\n {\r\n \"name\": \"Malay\",\r\n \"value\": \"ms-my\"\r\n },\r\n {\r\n \"name\": \"Malay\",\r\n \"value\": \"ms\"\r\n },\r\n {\r\n \"name\": \"Malayalam\",\r\n \"value\": \"ml\"\r\n },\r\n {\r\n \"name\": \"Maldivian\",\r\n \"value\": \"dv\"\r\n },\r\n {\r\n \"name\": \"Maori\",\r\n \"value\": \"mi\"\r\n },\r\n {\r\n \"name\": \"Marathi\",\r\n \"value\": \"mr\"\r\n },\r\n {\r\n \"name\": \"Montenegrin\",\r\n \"value\": \"me\"\r\n },\r\n {\r\n \"name\": \"Nepalese\",\r\n \"value\": \"ne\"\r\n },\r\n {\r\n \"name\": \"NorthernSami\",\r\n \"value\": \"se\"\r\n },\r\n {\r\n \"name\": \"NorwegianBokmål\",\r\n \"value\": \"nb\"\r\n },\r\n {\r\n \"name\": \"Nynorsk\",\r\n \"value\": \"nn\"\r\n },\r\n {\r\n \"name\": \"Persian\",\r\n \"value\": \"fa\"\r\n },\r\n {\r\n \"name\": \"Polish\",\r\n \"value\": \"pl\"\r\n },\r\n {\r\n \"name\": \"Portuguese\",\r\n \"value\": \"pt\"\r\n },\r\n {\r\n \"name\": \"Portuguese(Brazil)\",\r\n \"value\": \"pt-br\"\r\n },\r\n {\r\n \"name\": \"Pseudo\",\r\n \"value\": \"x-pseudo\"\r\n },\r\n {\r\n \"name\": \"Punjabi(India)\",\r\n \"value\": \"pa-in\"\r\n },\r\n {\r\n \"name\": \"Romanian\",\r\n \"value\": \"ro\"\r\n },\r\n {\r\n \"name\": \"Russian\",\r\n \"value\": \"ru\"\r\n },\r\n {\r\n \"name\": \"ScottishGaelic\",\r\n \"value\": \"gd\"\r\n },\r\n {\r\n \"name\": \"Serbian\",\r\n \"value\": \"sr\"\r\n },\r\n {\r\n \"name\": \"SerbianCyrillic\",\r\n \"value\": \"sr-cyrl\"\r\n },\r\n {\r\n \"name\": \"Sinhalese\",\r\n \"value\": \"si\"\r\n },\r\n {\r\n \"name\": \"Slovak\",\r\n \"value\": \"sk\"\r\n },\r\n {\r\n \"name\": \"Slovenian\",\r\n \"value\": \"sl\"\r\n },\r\n {\r\n \"name\": \"Spanish\",\r\n \"value\": \"es\"\r\n },\r\n {\r\n \"name\": \"Spanish(DominicanRepublic)\",\r\n \"value\": \"es-do\"\r\n },\r\n {\r\n \"name\": \"Swahili\",\r\n \"value\": \"sw\"\r\n },\r\n {\r\n \"name\": \"Swedish\",\r\n \"value\": \"sv\"\r\n },\r\n {\r\n \"name\": \"Tagalog(Philippines)\",\r\n \"value\": \"tl-ph\"\r\n },\r\n {\r\n \"name\": \"Talossan\",\r\n \"value\": \"tzl\"\r\n },\r\n {\r\n \"name\": \"Tamil\",\r\n \"value\": \"ta\"\r\n },\r\n {\r\n \"name\": \"Telugu\",\r\n \"value\": \"te\"\r\n },\r\n {\r\n \"name\": \"TetunDili(EastTimor)\",\r\n \"value\": \"tet\"\r\n },\r\n {\r\n \"name\": \"Thai\",\r\n \"value\": \"th\"\r\n },\r\n {\r\n \"name\": \"Tibetan\",\r\n \"value\": \"bo\"\r\n },\r\n {\r\n \"name\": \"Turkish\",\r\n \"value\": \"tr\"\r\n },\r\n {\r\n \"name\": \"Ukrainian\",\r\n \"value\": \"uk\"\r\n },\r\n {\r\n \"name\": \"Uzbek\",\r\n \"value\": \"uz\"\r\n },\r\n {\r\n \"name\": \"Vietnamese\",\r\n \"value\": \"vi\"\r\n },\r\n {\r\n \"name\": \"Welsh\",\r\n \"value\": \"cy\"\r\n },\r\n {\r\n \"name\": \"YorubaNigeria\",\r\n \"value\": \"yo\"\r\n },\r\n {\r\n \"name\": \"siSwati\",\r\n \"value\": \"ss\"\r\n }\r\n ];\r\n\r\n module.exports = dateFormats;\r\n})();\r\n","var map = {\n\t\"./af\": 653,\n\t\"./af.js\": 653,\n\t\"./ar\": 654,\n\t\"./ar-dz\": 655,\n\t\"./ar-dz.js\": 655,\n\t\"./ar-kw\": 656,\n\t\"./ar-kw.js\": 656,\n\t\"./ar-ly\": 657,\n\t\"./ar-ly.js\": 657,\n\t\"./ar-ma\": 658,\n\t\"./ar-ma.js\": 658,\n\t\"./ar-sa\": 659,\n\t\"./ar-sa.js\": 659,\n\t\"./ar-tn\": 660,\n\t\"./ar-tn.js\": 660,\n\t\"./ar.js\": 654,\n\t\"./az\": 661,\n\t\"./az.js\": 661,\n\t\"./be\": 662,\n\t\"./be.js\": 662,\n\t\"./bg\": 663,\n\t\"./bg.js\": 663,\n\t\"./bm\": 664,\n\t\"./bm.js\": 664,\n\t\"./bn\": 665,\n\t\"./bn.js\": 665,\n\t\"./bo\": 666,\n\t\"./bo.js\": 666,\n\t\"./br\": 667,\n\t\"./br.js\": 667,\n\t\"./bs\": 668,\n\t\"./bs.js\": 668,\n\t\"./ca\": 669,\n\t\"./ca.js\": 669,\n\t\"./cs\": 670,\n\t\"./cs.js\": 670,\n\t\"./cv\": 671,\n\t\"./cv.js\": 671,\n\t\"./cy\": 672,\n\t\"./cy.js\": 672,\n\t\"./da\": 673,\n\t\"./da.js\": 673,\n\t\"./de\": 674,\n\t\"./de-at\": 675,\n\t\"./de-at.js\": 675,\n\t\"./de-ch\": 676,\n\t\"./de-ch.js\": 676,\n\t\"./de.js\": 674,\n\t\"./dv\": 677,\n\t\"./dv.js\": 677,\n\t\"./el\": 678,\n\t\"./el.js\": 678,\n\t\"./en-SG\": 679,\n\t\"./en-SG.js\": 679,\n\t\"./en-au\": 680,\n\t\"./en-au.js\": 680,\n\t\"./en-ca\": 684,\n\t\"./en-ca.js\": 684,\n\t\"./en-gb\": 685,\n\t\"./en-gb.js\": 685,\n\t\"./en-ie\": 686,\n\t\"./en-ie.js\": 686,\n\t\"./en-il\": 687,\n\t\"./en-il.js\": 687,\n\t\"./en-nz\": 688,\n\t\"./en-nz.js\": 688,\n\t\"./eo\": 689,\n\t\"./eo.js\": 689,\n\t\"./es\": 690,\n\t\"./es-do\": 691,\n\t\"./es-do.js\": 691,\n\t\"./es-us\": 692,\n\t\"./es-us.js\": 692,\n\t\"./es.js\": 690,\n\t\"./et\": 693,\n\t\"./et.js\": 693,\n\t\"./eu\": 694,\n\t\"./eu.js\": 694,\n\t\"./fa\": 695,\n\t\"./fa.js\": 695,\n\t\"./fi\": 696,\n\t\"./fi.js\": 696,\n\t\"./fo\": 697,\n\t\"./fo.js\": 697,\n\t\"./fr\": 698,\n\t\"./fr-ca\": 699,\n\t\"./fr-ca.js\": 699,\n\t\"./fr-ch\": 700,\n\t\"./fr-ch.js\": 700,\n\t\"./fr.js\": 698,\n\t\"./fy\": 701,\n\t\"./fy.js\": 701,\n\t\"./ga\": 702,\n\t\"./ga.js\": 702,\n\t\"./gd\": 703,\n\t\"./gd.js\": 703,\n\t\"./gl\": 704,\n\t\"./gl.js\": 704,\n\t\"./gom-latn\": 705,\n\t\"./gom-latn.js\": 705,\n\t\"./gu\": 706,\n\t\"./gu.js\": 706,\n\t\"./he\": 707,\n\t\"./he.js\": 707,\n\t\"./hi\": 708,\n\t\"./hi.js\": 708,\n\t\"./hr\": 709,\n\t\"./hr.js\": 709,\n\t\"./hu\": 710,\n\t\"./hu.js\": 710,\n\t\"./hy-am\": 711,\n\t\"./hy-am.js\": 711,\n\t\"./id\": 712,\n\t\"./id.js\": 712,\n\t\"./is\": 713,\n\t\"./is.js\": 713,\n\t\"./it\": 714,\n\t\"./it-ch\": 715,\n\t\"./it-ch.js\": 715,\n\t\"./it.js\": 714,\n\t\"./ja\": 716,\n\t\"./ja.js\": 716,\n\t\"./jv\": 717,\n\t\"./jv.js\": 717,\n\t\"./ka\": 718,\n\t\"./ka.js\": 718,\n\t\"./kk\": 719,\n\t\"./kk.js\": 719,\n\t\"./km\": 720,\n\t\"./km.js\": 720,\n\t\"./kn\": 721,\n\t\"./kn.js\": 721,\n\t\"./ko\": 722,\n\t\"./ko.js\": 722,\n\t\"./ku\": 723,\n\t\"./ku.js\": 723,\n\t\"./ky\": 724,\n\t\"./ky.js\": 724,\n\t\"./lb\": 725,\n\t\"./lb.js\": 725,\n\t\"./lo\": 726,\n\t\"./lo.js\": 726,\n\t\"./lt\": 727,\n\t\"./lt.js\": 727,\n\t\"./lv\": 728,\n\t\"./lv.js\": 728,\n\t\"./me\": 729,\n\t\"./me.js\": 729,\n\t\"./mi\": 730,\n\t\"./mi.js\": 730,\n\t\"./mk\": 731,\n\t\"./mk.js\": 731,\n\t\"./ml\": 732,\n\t\"./ml.js\": 732,\n\t\"./mn\": 733,\n\t\"./mn.js\": 733,\n\t\"./mr\": 734,\n\t\"./mr.js\": 734,\n\t\"./ms\": 735,\n\t\"./ms-my\": 736,\n\t\"./ms-my.js\": 736,\n\t\"./ms.js\": 735,\n\t\"./mt\": 737,\n\t\"./mt.js\": 737,\n\t\"./my\": 738,\n\t\"./my.js\": 738,\n\t\"./nb\": 739,\n\t\"./nb.js\": 739,\n\t\"./ne\": 740,\n\t\"./ne.js\": 740,\n\t\"./nl\": 741,\n\t\"./nl-be\": 742,\n\t\"./nl-be.js\": 742,\n\t\"./nl.js\": 741,\n\t\"./nn\": 743,\n\t\"./nn.js\": 743,\n\t\"./pa-in\": 744,\n\t\"./pa-in.js\": 744,\n\t\"./pl\": 745,\n\t\"./pl.js\": 745,\n\t\"./pt\": 746,\n\t\"./pt-br\": 747,\n\t\"./pt-br.js\": 747,\n\t\"./pt.js\": 746,\n\t\"./ro\": 748,\n\t\"./ro.js\": 748,\n\t\"./ru\": 749,\n\t\"./ru.js\": 749,\n\t\"./sd\": 750,\n\t\"./sd.js\": 750,\n\t\"./se\": 751,\n\t\"./se.js\": 751,\n\t\"./si\": 752,\n\t\"./si.js\": 752,\n\t\"./sk\": 753,\n\t\"./sk.js\": 753,\n\t\"./sl\": 754,\n\t\"./sl.js\": 754,\n\t\"./sq\": 755,\n\t\"./sq.js\": 755,\n\t\"./sr\": 756,\n\t\"./sr-cyrl\": 757,\n\t\"./sr-cyrl.js\": 757,\n\t\"./sr.js\": 756,\n\t\"./ss\": 758,\n\t\"./ss.js\": 758,\n\t\"./sv\": 759,\n\t\"./sv.js\": 759,\n\t\"./sw\": 760,\n\t\"./sw.js\": 760,\n\t\"./ta\": 761,\n\t\"./ta.js\": 761,\n\t\"./te\": 762,\n\t\"./te.js\": 762,\n\t\"./tet\": 763,\n\t\"./tet.js\": 763,\n\t\"./tg\": 764,\n\t\"./tg.js\": 764,\n\t\"./th\": 765,\n\t\"./th.js\": 765,\n\t\"./tl-ph\": 766,\n\t\"./tl-ph.js\": 766,\n\t\"./tlh\": 767,\n\t\"./tlh.js\": 767,\n\t\"./tr\": 768,\n\t\"./tr.js\": 768,\n\t\"./tzl\": 769,\n\t\"./tzl.js\": 769,\n\t\"./tzm\": 770,\n\t\"./tzm-latn\": 771,\n\t\"./tzm-latn.js\": 771,\n\t\"./tzm.js\": 770,\n\t\"./ug-cn\": 772,\n\t\"./ug-cn.js\": 772,\n\t\"./uk\": 773,\n\t\"./uk.js\": 773,\n\t\"./ur\": 774,\n\t\"./ur.js\": 774,\n\t\"./uz\": 775,\n\t\"./uz-latn\": 776,\n\t\"./uz-latn.js\": 776,\n\t\"./uz.js\": 775,\n\t\"./vi\": 777,\n\t\"./vi.js\": 777,\n\t\"./x-pseudo\": 778,\n\t\"./x-pseudo.js\": 778,\n\t\"./yo\": 779,\n\t\"./yo.js\": 779,\n\t\"./zh-cn\": 780,\n\t\"./zh-cn.js\": 780,\n\t\"./zh-hk\": 781,\n\t\"./zh-hk.js\": 781,\n\t\"./zh-tw\": 782,\n\t\"./zh-tw.js\": 782\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1554;","(function() {\r\n\t'use strict';\r\n\tvar Logger = require('./Logger');\r\n\t/*\r\n\t* Provides form validation routines and handling\r\n\t*/\r\n\tclass TypeMetaValidationGenarator {\r\n\t\tconstructor(opts) {\r\n\t\t\t/**\r\n\t\t\t* begin validation routines. Routines return true if value passes logic\r\n\t\t\t* @constructor\r\n\t\t\t*/\r\n\r\n\t\t\tthis.logger = opts && opts.logger ? opts.logger : new Logger({\r\n\t\t\t\tname: 'TypeMetaValidationGenerator'\r\n\t\t\t});\r\n\t\t\tthis.routines = {\r\n\t\t\t\tMandatory: {\r\n\t\t\t\t\tbuild(typeMetaField) {\r\n\t\t\t\t\t\treturn typeMetaField.Meta === true ? \"required\" : undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMaxValue: {\r\n\t\t\t\t\tbuild(typeMetaField) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tname: \"max_value\",\r\n\t\t\t\t\t\t\tvalue: typeMetaField.Meta\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMinValue: {\r\n\t\t\t\t\tbuild(typeMetaField) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tname: \"min_value\",\r\n\t\t\t\t\t\t\tvalue: typeMetaField.Meta\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMaxLength: {\r\n\t\t\t\t\tbuild(typeMetaField) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tname: \"max_length\",\r\n\t\t\t\t\t\t\tlength: typeMetaField.Meta\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tMinLength: {\r\n\t\t\t\t\tbuild(typeMetaField) {\r\n\t\t\t\t\t\treturn {\r\n\t\t\t\t\t\t\tname: \"min_length\",\r\n\t\t\t\t\t\t\tlength: typeMetaField.Meta\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\r\n\t\t_getRoutine(params) {\r\n\t\t\tvar name = (typeof params === \"object\") && (params !== null) ? params.Name : params;\r\n\t\t\tif (!this.routines[name]) {\r\n\t\t\t\tvar known = ['Description', 'DisplayName', 'Permissions'].indexOf(name);\r\n\t\t\t\tif (known === -1) {\r\n\t\t\t\t\tthis.logger.warn(\"_getRoutine failed for \", params, name, this.routines);\r\n\t\t\t\t}\r\n\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t\treturn this.routines[name].build(params);\r\n\t\t}\r\n\r\n\t\tbuildValidation(typeMetaField) {\r\n\t\t\tvar obj = this._getRoutine(typeMetaField);\r\n\t\t\tvar name = (typeof typeMetaField === \"object\") && (typeMetaField !== null) ? typeMetaField.Name : typeMetaField;\r\n\t\t\tif (!obj) {\r\n\t\t\t\tvar known = ['Description', 'DisplayName', 'Permissions', 'Mandatory'].indexOf(name);\r\n\t\t\t\tif (known === -1) {\r\n\t\t\t\t\tthis.logger.warn('TypeMetaValidationGenarator.buildValidation :: unknown routine', typeMetaField);\r\n\t\t\t\t}\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\r\n\r\n\t\t\treturn obj;\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new TypeMetaValidationGenarator();\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\r\n\tclass CompaniesHandler{\r\n\t\tgetCompanies(){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.companies.baseRoute;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\t\t\t\t\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new CompaniesHandler();\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar SessionHandler = require('__api/SessionHandler');\r\nvar AlarmsActions = require('__containers/alarms/actions').default;\r\nvar StatisticsHandler = require('__api/StatisticsHandler');\r\n\r\nclass HubManager {\r\n\tconstructor() {\r\n\t}\r\n\tconnectAllHubs(){\r\n\t\tSessionHandler.connectToHub();\r\n\t\t// setTimeout(() => {\r\n\t\t// \tAlarmsActions.connectToHub();\r\n\t\t// }, 0)\r\n\t\tStatisticsHandler.connectToHub();\r\n\t}\r\n\tdisconnectAllHubs(){\r\n\t\tSessionHandler.disconnectFromHub();\r\n\t\tStatisticsHandler.disconnectFromHub();\r\n\t\t// setTimeout(() => {\r\n\t\t// \tAlarmsActions.disconnectFromHub();\r\n\t\t// }, 0)\r\n\t}\r\n}\r\n\r\nmodule.exports = new HubManager();\r\n})();\r\n","var map = {\n\t\"./Array\": 790,\n\t\"./Array.js\": 790,\n\t\"./Button\": 791,\n\t\"./Button.js\": 791,\n\t\"./ButtonRadioGroup\": 411,\n\t\"./ButtonRadioGroup.js\": 411,\n\t\"./CheckGroup\": 792,\n\t\"./CheckGroup.js\": 792,\n\t\"./Checkbox\": 793,\n\t\"./Checkbox.js\": 793,\n\t\"./Collapsible\": 794,\n\t\"./Collapsible.js\": 794,\n\t\"./Combobox\": 795,\n\t\"./Combobox.js\": 795,\n\t\"./Container\": 410,\n\t\"./Container.js\": 410,\n\t\"./DateTime\": 281,\n\t\"./DateTime.js\": 281,\n\t\"./Dropdown\": 801,\n\t\"./Dropdown.js\": 801,\n\t\"./FieldWrapper\": 49,\n\t\"./FieldWrapper.js\": 49,\n\t\"./Fieldset\": 427,\n\t\"./Fieldset.js\": 427,\n\t\"./FileForm\": 428,\n\t\"./FileForm.js\": 428,\n\t\"./FileFormWithoutForm\": 429,\n\t\"./FileFormWithoutForm.js\": 429,\n\t\"./HtmlBlock\": 803,\n\t\"./HtmlBlock.js\": 803,\n\t\"./IconInput\": 167,\n\t\"./IconInput.js\": 167,\n\t\"./ImageCapture\": 804,\n\t\"./ImageCapture.js\": 804,\n\t\"./ImageGalleryUploadPreview\": 809,\n\t\"./ImageGalleryUploadPreview.js\": 809,\n\t\"./Input\": 426,\n\t\"./Input.js\": 426,\n\t\"./LocationAutoComplete\": 810,\n\t\"./LocationAutoComplete.js\": 810,\n\t\"./MultiSelect\": 811,\n\t\"./MultiSelect.js\": 811,\n\t\"./RadioGroup\": 812,\n\t\"./RadioGroup.js\": 812,\n\t\"./Select\": 430,\n\t\"./Select.js\": 430,\n\t\"./Select2\": 813,\n\t\"./Select2.js\": 813,\n\t\"./Sticky\": 818,\n\t\"./Sticky.js\": 818,\n\t\"./SummaryPage\": 819,\n\t\"./SummaryPage.js\": 819,\n\t\"./TextArea\": 432,\n\t\"./TextArea.js\": 432,\n\t\"./TextBlock\": 820,\n\t\"./TextBlock.js\": 820,\n\t\"./WizardPage\": 821,\n\t\"./WizardPage.js\": 821\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tvar id = map[req];\n\tif(!(id + 1)) { // check for number or string\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn id;\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 1578;","'use strict';\r\n\r\nvar assign = require('object-assign'),\r\n\tPropTypes = require('prop-types'),\r\n\tcreateClass = require('create-react-class'),\r\n\tmoment = require('moment'),\r\n\tReact = require('react'),\r\n\tCalendarContainer = require('./src/CalendarContainer')\r\n\t;\r\n\r\nvar TYPES = PropTypes;\r\nvar Datetime = createClass({\r\n\tpropTypes: {\r\n\t\t// value: TYPES.object | TYPES.string,\r\n\t\t// defaultValue: TYPES.object | TYPES.string,\r\n\t\tonFocus: TYPES.func,\r\n\t\tonBlur: TYPES.func,\r\n\t\tonChange: TYPES.func,\r\n\t\tonViewModeChange: TYPES.func,\r\n\t\tlocale: TYPES.string,\r\n\t\tutc: TYPES.bool,\r\n\t\tinput: TYPES.bool,\r\n\t\t// dateFormat: TYPES.string | TYPES.bool,\r\n\t\t// timeFormat: TYPES.string | TYPES.bool,\r\n\t\tinputProps: TYPES.object,\r\n\t\ttimeConstraints: TYPES.object,\r\n\t\tviewMode: TYPES.oneOf(['years', 'months', 'days', 'time']),\r\n\t\tisValidDate: TYPES.func,\r\n\t\topen: TYPES.bool,\r\n\t\tstrictParsing: TYPES.bool,\r\n\t\tcloseOnSelect: TYPES.bool,\r\n\t\tcloseOnTab: TYPES.bool\r\n\t},\r\n\r\n\tgetDefaultProps: function() {\r\n\t\tvar nof = function() {};\r\n\t\treturn {\r\n\t\t\tclassName: '',\r\n\t\t\tdefaultValue: '',\r\n\t\t\tinputProps: {},\r\n\t\t\tinput: true,\r\n\t\t\tonFocus: nof,\r\n\t\t\tonBlur: nof,\r\n\t\t\tonChange: nof,\r\n\t\t\tonViewModeChange: nof,\r\n\t\t\ttimeFormat: true,\r\n\t\t\ttimeConstraints: {},\r\n\t\t\tdateFormat: true,\r\n\t\t\tstrictParsing: true,\r\n\t\t\tcloseOnSelect: false,\r\n\t\t\tcloseOnTab: true,\r\n\t\t\tutc: false\r\n\t\t};\r\n\t},\r\n\r\n\tgetInitialState: function() {\r\n\t\tvar state = this.getStateFromProps( this.props );\r\n\r\n\t\tif ( state.open === undefined )\r\n\t\t\tstate.open = !this.props.input;\r\n\r\n\t\tstate.currentView = this.props.dateFormat ? (this.props.viewMode || state.updateOn || 'days') : 'time';\r\n\r\n\t\treturn state;\r\n\t},\r\n\r\n\tgetStateFromProps: function( props ) {\r\n\t\tvar formats = this.getFormats( props ),\r\n\t\t\tdate = props.value || props.defaultValue,\r\n\t\t\tselectedDate, viewDate, updateOn, inputValue\r\n\t\t\t;\r\n\r\n\t\tif ( date && typeof date === 'string' )\r\n\t\t\tselectedDate = this.localMoment( date, formats.datetime );\r\n\t\telse if ( date )\r\n\t\t\tselectedDate = this.localMoment( date );\r\n\r\n\t\tif ( selectedDate && !selectedDate.isValid() )\r\n\t\t\tselectedDate = null;\r\n\r\n\t\tviewDate = selectedDate ?\r\n\t\t\tselectedDate.clone().startOf('month') :\r\n\t\t\tthis.localMoment().startOf('month')\r\n\t\t;\r\n\r\n\t\tupdateOn = this.getUpdateOn(formats);\r\n\r\n\t\tif ( selectedDate )\r\n\t\t\tinputValue = selectedDate.format(formats.datetime);\r\n\t\telse if ( date.isValid && !date.isValid() )\r\n\t\t\tinputValue = '';\r\n\t\telse\r\n\t\t\tinputValue = date || '';\r\n\r\n\t\treturn {\r\n\t\t\tupdateOn: updateOn,\r\n\t\t\tinputFormat: formats.datetime,\r\n\t\t\tviewDate: viewDate,\r\n\t\t\tselectedDate: selectedDate,\r\n\t\t\tinputValue: inputValue,\r\n\t\t\topen: props.open\r\n\t\t};\r\n\t},\r\n\r\n\tgetUpdateOn: function( formats ) {\r\n\t\tif ( formats.date.match(/[lLD]/) ) {\r\n\t\t\treturn 'days';\r\n\t\t} else if ( formats.date.indexOf('M') !== -1 ) {\r\n\t\t\treturn 'months';\r\n\t\t} else if ( formats.date.indexOf('Y') !== -1 ) {\r\n\t\t\treturn 'years';\r\n\t\t}\r\n\r\n\t\treturn 'days';\r\n\t},\r\n\r\n\tgetFormats: function( props ) {\r\n\t\tvar formats = {\r\n\t\t\t\tdate: props.dateFormat || '',\r\n\t\t\t\ttime: props.timeFormat || ''\r\n\t\t\t},\r\n\t\t\tlocale = this.localMoment( props.date, null, props ).localeData()\r\n\t\t\t;\r\n\r\n\t\tif ( formats.date === true ) {\r\n\t\t\tformats.date = locale.longDateFormat('L');\r\n\t\t}\r\n\t\telse if ( this.getUpdateOn(formats) !== 'days' ) {\r\n\t\t\tformats.time = '';\r\n\t\t}\r\n\r\n\t\tif ( formats.time === true ) {\r\n\t\t\tformats.time = locale.longDateFormat('LT');\r\n\t\t}\r\n\r\n\t\tformats.datetime = formats.date && formats.time ?\r\n\t\t\tformats.date + ' ' + formats.time :\r\n\t\t\tformats.date || formats.time\r\n\t\t;\r\n\r\n\t\treturn formats;\r\n\t},\r\n\r\n\tcomponentWillReceiveProps: function( nextProps ) {\r\n\t\tvar formats = this.getFormats( nextProps ),\r\n\t\t\tupdatedState = {}\r\n\t\t;\r\n\r\n\t\tif ( nextProps.value !== this.props.value ||\r\n\t\t\tformats.datetime !== this.getFormats( this.props ).datetime ) {\r\n\t\t\tupdatedState = this.getStateFromProps( nextProps );\r\n\t\t}\r\n\r\n\t\tif ( updatedState.open === undefined ) {\r\n\t\t\tif ( this.props.closeOnSelect && this.state.currentView !== 'time' ) {\r\n\t\t\t\tupdatedState.open = false;\r\n\t\t\t} else {\r\n\t\t\t\tupdatedState.open = this.state.open;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( nextProps.viewMode !== this.props.viewMode ) {\r\n\t\t\tupdatedState.currentView = nextProps.viewMode;\r\n\t\t}\r\n\r\n\t\tif ( nextProps.locale !== this.props.locale ) {\r\n\t\t\tif ( this.state.viewDate ) {\r\n\t\t\t\tvar updatedViewDate = this.state.viewDate.clone().locale( nextProps.locale );\r\n\t\t\t\tupdatedState.viewDate = updatedViewDate;\r\n\t\t\t}\r\n\t\t\tif ( this.state.selectedDate ) {\r\n\t\t\t\tvar updatedSelectedDate = this.state.selectedDate.clone().locale( nextProps.locale );\r\n\t\t\t\tupdatedState.selectedDate = updatedSelectedDate;\r\n\t\t\t\tupdatedState.inputValue = updatedSelectedDate.format( formats.datetime );\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif ( nextProps.utc !== this.props.utc ) {\r\n\t\t\tif ( nextProps.utc ) {\r\n\t\t\t\tif ( this.state.viewDate )\r\n\t\t\t\t\tupdatedState.viewDate = this.state.viewDate.clone().utc();\r\n\t\t\t\tif ( this.state.selectedDate ) {\r\n\t\t\t\t\tupdatedState.selectedDate = this.state.selectedDate.clone().utc();\r\n\t\t\t\t\tupdatedState.inputValue = updatedState.selectedDate.format( formats.datetime );\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif ( this.state.viewDate )\r\n\t\t\t\t\tupdatedState.viewDate = this.state.viewDate.clone().local();\r\n\t\t\t\tif ( this.state.selectedDate ) {\r\n\t\t\t\t\tupdatedState.selectedDate = this.state.selectedDate.clone().local();\r\n\t\t\t\t\tupdatedState.inputValue = updatedState.selectedDate.format(formats.datetime);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t//we should only show a valid date if we are provided a isValidDate function. Removed in 2.10.3\r\n\t\t/*if (this.props.isValidDate) {\r\n\t\t\tupdatedState.viewDate = updatedState.viewDate || this.state.viewDate;\r\n\t\t\twhile (!this.props.isValidDate(updatedState.viewDate)) {\r\n\t\t\t\tupdatedState.viewDate = updatedState.viewDate.add(1, 'day');\r\n\t\t\t}\r\n\t\t}*/\r\n\t\tthis.setState( updatedState );\r\n\t},\r\n\r\n\tonInputChange: function( e ) {\r\n\t\tvar value = e.target === null ? e : e.target.value,\r\n\t\t\tlocalMoment = this.localMoment( value, this.state.inputFormat ),\r\n\t\t\tupdate = { inputValue: value }\r\n\t\t\t;\r\n\r\n\t\tif ( localMoment.isValid() && !this.props.value ) {\r\n\t\t\tupdate.selectedDate = localMoment;\r\n\t\t\tupdate.viewDate = localMoment.clone().startOf('month');\r\n\t\t} else {\r\n\t\t\tupdate.selectedDate = null;\r\n\t\t}\r\n\r\n\t\treturn this.setState( update, function() {\r\n\t\t\treturn this.props.onChange( localMoment.isValid() ? localMoment : this.state.inputValue );\r\n\t\t});\r\n\t},\r\n\r\n\tonInputKey: function( e ) {\r\n\t\tif ( e.which === 9 && this.props.closeOnTab ) {\r\n\t\t\tthis.closeCalendar();\r\n\t\t}\r\n\t},\r\n\r\n\tshowView: function( view ) {\r\n\t\tvar me = this;\r\n\t\treturn function() {\r\n\t\t\tme.state.currentView !== view && me.props.onViewModeChange( view );\r\n\t\t\tme.setState({ currentView: view });\r\n\t\t};\r\n\t},\r\n\r\n\tsetDate: function( type ) {\r\n\t\tvar me = this,\r\n\t\t\tnextViews = {\r\n\t\t\t\tmonth: 'days',\r\n\t\t\t\tyear: 'months'\r\n\t\t\t}\r\n\t\t;\r\n\t\treturn function( e ) {\r\n\t\t\tme.setState({\r\n\t\t\t\tviewDate: me.state.viewDate.clone()[ type ]( parseInt(e.target.getAttribute('data-value'), 10) ).startOf( type ),\r\n\t\t\t\tcurrentView: nextViews[ type ]\r\n\t\t\t});\r\n\t\t\tme.props.onViewModeChange( nextViews[ type ] );\r\n\t\t};\r\n\t},\r\n\r\n\taddTime: function( amount, type, toSelected ) {\r\n\t\treturn this.updateTime( 'add', amount, type, toSelected );\r\n\t},\r\n\r\n\tsubtractTime: function( amount, type, toSelected ) {\r\n\t\treturn this.updateTime( 'subtract', amount, type, toSelected );\r\n\t},\r\n\r\n\tupdateTime: function( op, amount, type, toSelected ) {\r\n\t\tvar me = this;\r\n\r\n\t\treturn function() {\r\n\t\t\tvar update = {},\r\n\t\t\t\tdate = toSelected ? 'selectedDate' : 'viewDate'\r\n\t\t\t;\r\n\r\n\t\t\tupdate[ date ] = me.state[ date ].clone()[ op ]( amount, type );\r\n\r\n\t\t\tme.setState( update );\r\n\t\t};\r\n\t},\r\n\r\n\tallowedSetTime: ['hours', 'minutes', 'seconds', 'milliseconds'],\r\n\tsetTime: function( type, value ) {\r\n\t\tvar index = this.allowedSetTime.indexOf( type ) + 1,\r\n\t\t\tstate = this.state,\r\n\t\t\tdate = (state.selectedDate || state.viewDate).clone(),\r\n\t\t\tnextType\r\n\t\t\t;\r\n\r\n\t\t// It is needed to set all the time properties\r\n\t\t// to not to reset the time\r\n\t\tdate[ type ]( value );\r\n\t\tfor (; index < this.allowedSetTime.length; index++) {\r\n\t\t\tnextType = this.allowedSetTime[index];\r\n\t\t\tdate[ nextType ]( date[nextType]() );\r\n\t\t}\r\n\r\n\t\tif ( !this.props.value ) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tselectedDate: date,\r\n\t\t\t\tinputValue: date.format( state.inputFormat )\r\n\t\t\t});\r\n\t\t}\r\n\t\tthis.props.onChange( date );\r\n\t},\r\n\r\n\tupdateSelectedDate: function( e, close ) {\r\n\t\tvar target = e.target,\r\n\t\t\tmodifier = 0,\r\n\t\t\tviewDate = this.state.viewDate,\r\n\t\t\tcurrentDate = this.state.selectedDate || viewDate,\r\n\t\t\tdate\r\n\t\t\t;\r\n\r\n\t\tif (target.className.indexOf('rdtDay') !== -1) {\r\n\t\t\tif (target.className.indexOf('rdtNew') !== -1)\r\n\t\t\t\tmodifier = 1;\r\n\t\t\telse if (target.className.indexOf('rdtOld') !== -1)\r\n\t\t\t\tmodifier = -1;\r\n\r\n\t\t\tdate = viewDate.clone()\r\n\t\t\t\t.month( viewDate.month() + modifier )\r\n\t\t\t\t.date( parseInt( target.getAttribute('data-value'), 10 ) );\r\n\t\t} else if (target.className.indexOf('rdtMonth') !== -1) {\r\n\t\t\tdate = viewDate.clone()\r\n\t\t\t\t.month( parseInt( target.getAttribute('data-value'), 10 ) )\r\n\t\t\t\t.date( currentDate.date() );\r\n\t\t} else if (target.className.indexOf('rdtYear') !== -1) {\r\n\t\t\tdate = viewDate.clone()\r\n\t\t\t\t.month( currentDate.month() )\r\n\t\t\t\t.date( currentDate.date() )\r\n\t\t\t\t.year( parseInt( target.getAttribute('data-value'), 10 ) );\r\n\t\t}\r\n\r\n\t\tdate.hours( currentDate.hours() )\r\n\t\t\t.minutes( currentDate.minutes() )\r\n\t\t\t.seconds( currentDate.seconds() )\r\n\t\t\t.milliseconds( currentDate.milliseconds() );\r\n\r\n\t\tif ( !this.props.value ) {\r\n\t\t\tvar open = !( this.props.closeOnSelect && close );\r\n\t\t\tif ( !open ) {\r\n\t\t\t\tthis.props.onBlur( date );\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tselectedDate: date,\r\n\t\t\t\tviewDate: date.clone().startOf('month'),\r\n\t\t\t\tinputValue: date.format( this.state.inputFormat ),\r\n\t\t\t\topen: open\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tif ( this.props.closeOnSelect && close ) {\r\n\t\t\t\tthis.closeCalendar();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tthis.props.onChange( date );\r\n\t},\r\n\r\n\topenCalendar: function() {\r\n\t\tif (!this.state.open) {\r\n\t\t\tthis.setState({ open: true }, function() {\r\n\t\t\t\tthis.props.onFocus();\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tcloseCalendar: function() {\r\n\t\tthis.setState({ open: false }, function () {\r\n\t\t\tthis.props.onBlur( this.state.selectedDate || this.state.inputValue );\r\n\t\t});\r\n\t},\r\n\r\n\thandleClickOutside: function() {\r\n\t\tif ( this.props.input && this.state.open && !this.props.open ) {\r\n\t\t\tthis.setState({ open: false }, function() {\r\n\t\t\t\tthis.props.onBlur( this.state.selectedDate || this.state.inputValue );\r\n\t\t\t});\r\n\t\t}\r\n\t},\r\n\r\n\tlocalMoment: function( date, format, props ) {\r\n\t\tprops = props || this.props;\r\n\t\tvar momentFn = props.utc ? moment.utc : moment;\r\n\t\tvar m = momentFn( date, format, props.strictParsing );\r\n\t\tif ( props.locale )\r\n\t\t\tm.locale( props.locale );\r\n\t\treturn m;\r\n\t},\r\n\r\n\tcomponentProps: {\r\n\t\tfromProps: ['value', 'isValidDate', 'renderDay', 'renderMonth', 'renderYear', 'timeConstraints'],\r\n\t\tfromState: ['viewDate', 'selectedDate', 'updateOn'],\r\n\t\tfromThis: ['setDate', 'setTime', 'showView', 'addTime', 'subtractTime', 'updateSelectedDate', 'localMoment', 'handleClickOutside']\r\n\t},\r\n\r\n\tgetComponentProps: function() {\r\n\t\tvar me = this,\r\n\t\t\tformats = this.getFormats( this.props ),\r\n\t\t\tprops = {dateFormat: formats.date, timeFormat: formats.time}\r\n\t\t\t;\r\n\r\n\t\tthis.componentProps.fromProps.forEach( function( name ) {\r\n\t\t\tprops[ name ] = me.props[ name ];\r\n\t\t});\r\n\t\tthis.componentProps.fromState.forEach( function( name ) {\r\n\t\t\tprops[ name ] = me.state[ name ];\r\n\t\t});\r\n\t\tthis.componentProps.fromThis.forEach( function( name ) {\r\n\t\t\tprops[ name ] = me[ name ];\r\n\t\t});\r\n\r\n\t\treturn props;\r\n\t},\r\n\r\n\trender: function() {\r\n\t\t// TODO: Make a function or clean up this code,\r\n\t\t// logic right now is really hard to follow\r\n\t\tvar className = 'rdt' + (this.props.className ?\r\n ( Array.isArray( this.props.className ) ?\r\n ' ' + this.props.className.join( ' ' ) : ' ' + this.props.className) : ''),\r\n\t\t\tchildren = [];\r\n\r\n\t\tif ( this.props.input ) {\r\n\t\t\tchildren = [ React.createElement('input', assign({\r\n\t\t\t\tkey: 'i',\r\n\t\t\t\ttype: 'text',\r\n\t\t\t\tclassName: 'form-control',\r\n\t\t\t\tonFocus: this.openCalendar,\r\n\t\t\t\tonChange: this.onInputChange,\r\n\t\t\t\tonKeyDown: this.onInputKey,\r\n\t\t\t\tvalue: this.state.inputValue\r\n\t\t\t}, this.props.inputProps ))];\r\n\t\t} else {\r\n\t\t\tclassName += ' rdtStatic';\r\n\t\t}\r\n\r\n\t\tif ( this.state.open )\r\n\t\t\tclassName += ' rdtOpen';\r\n\r\n\t\treturn React.createElement('div', {className: className}, children.concat(\r\n\t\t\tReact.createElement('div',\r\n\t\t\t\t{ key: 'dt', className: 'rdtPicker' },\r\n\t\t\t\tReact.createElement( CalendarContainer, {view: this.state.currentView, viewProps: this.getComponentProps(), onClickOutside: this.handleClickOutside, onButtonClick: this.props.onButtonClick })\r\n\t\t\t)\r\n\t\t));\r\n\t}\r\n});\r\n\r\n// Make moment accessible through the Datetime class\r\nDatetime.moment = moment;\r\n\r\nmodule.exports = Datetime;\r\n","'use strict';\r\n\r\nvar React = require('react'),\r\n\tcreateClass = require('create-react-class'),\r\n\tDaysView = require('./DaysView'),\r\n\tMonthsView = require('./MonthsView'),\r\n\tYearsView = require('./YearsView'),\r\n\tTimeView = require('./TimeView')\r\n\t;\r\n\r\nvar CalendarContainer = createClass({\r\n\tviewComponents: {\r\n\t\tdays: DaysView,\r\n\t\tmonths: MonthsView,\r\n\t\tyears: YearsView,\r\n\t\ttime: TimeView\r\n\t},\r\n\r\n\t// render: function() {\r\n\t// \treturn React.createElement( this.viewComponents[ this.props.view ], this.props.viewProps );\r\n\t// }\r\n\r\n\trender: function() {\r\n\t\tconst Component = this.viewComponents[ this.props.view ];\r\n\t\treturn (\r\n\t\t\t
\r\n\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t)\r\n\t}\r\n});\r\n\r\nmodule.exports = CalendarContainer;\r\n","'use strict';\r\n\r\nvar React = require('react'),\r\n\tcreateClass = require('create-react-class'),\r\n\tmoment = require('moment'),\r\n\tonClickOutside = require('react-onclickoutside').default\r\n\t;\r\n\r\nvar DateTimePickerDays = onClickOutside( createClass({\r\n\trender: function() {\r\n\t\tvar footer = this.renderFooter(),\r\n\t\t\tdate = this.props.viewDate,\r\n\t\t\tlocale = date.localeData(),\r\n\t\t\ttableChildren\r\n\t\t\t;\r\n\r\n\t\ttableChildren = [\r\n\t\t\tReact.createElement('thead', { key: 'th' }, [\r\n\t\t\t\tReact.createElement('tr', { key: 'h' }, [\r\n\t\t\t\t\tReact.createElement('th', { key: 'p', className: 'rdtPrev', onClick: this.props.subtractTime( 1, 'months' )}, React.createElement('span', {}, '‹' )),\r\n\t\t\t\t\tReact.createElement('th', { key: 's', className: 'rdtSwitch', onClick: this.props.showView( 'months' ), colSpan: 5, 'data-value': this.props.viewDate.month() }, locale.months( date ) + ' ' + date.year() ),\r\n\t\t\t\t\tReact.createElement('th', { key: 'n', className: 'rdtNext', onClick: this.props.addTime( 1, 'months' )}, React.createElement('span', {}, '›' ))\r\n\t\t\t\t]),\r\n\t\t\t\tReact.createElement('tr', { key: 'd'}, this.getDaysOfWeek( locale ).map( function( day, index ) { return React.createElement('th', { key: day + index, className: 'dow'}, day ); }) )\r\n\t\t\t]),\r\n\t\t\tReact.createElement('tbody', { key: 'tb' }, this.renderDays())\r\n\t\t];\r\n\r\n\t\tif ( footer )\r\n\t\t\ttableChildren.push( footer );\r\n\r\n\t\treturn React.createElement('div', { className: 'rdtDays' },\r\n\t\t\tReact.createElement('table', {}, tableChildren )\r\n\t\t);\r\n\t},\r\n\r\n\t/**\r\n\t * Get a list of the days of the week\r\n\t * depending on the current locale\r\n\t * @return {array} A list with the shortname of the days\r\n\t */\r\n\tgetDaysOfWeek: function( locale ) {\r\n\t\tvar days = locale._weekdaysMin,\r\n\t\t\tfirst = locale.firstDayOfWeek(),\r\n\t\t\tdow = [],\r\n\t\t\ti = 0\r\n\t\t\t;\r\n\r\n\t\tdays.forEach( function( day ) {\r\n\t\t\tdow[ (7 + ( i++ ) - first) % 7 ] = day;\r\n\t\t});\r\n\r\n\t\treturn dow;\r\n\t},\r\n\r\n\trenderDays: function() {\r\n\t\tvar date = this.props.viewDate,\r\n\t\t\tselected = this.props.selectedDate && this.props.selectedDate.clone(),\r\n\t\t\tprevMonth = date.clone().subtract( 1, 'months' ),\r\n\t\t\tcurrentYear = date.year(),\r\n\t\t\tcurrentMonth = date.month(),\r\n\t\t\tweeks = [],\r\n\t\t\tdays = [],\r\n\t\t\trenderer = this.props.renderDay || this.renderDay,\r\n\t\t\tisValid = this.props.isValidDate || this.alwaysValidDate,\r\n\t\t\tclasses, isDisabled, dayProps, currentDate\r\n\t\t\t;\r\n\r\n\t\t// Go to the last week of the previous month\r\n\t\tprevMonth.date( prevMonth.daysInMonth() ).startOf( 'week' );\r\n\t\tvar lastDay = prevMonth.clone().add( 42, 'd' );\r\n\r\n\t\twhile ( prevMonth.isBefore( lastDay ) ) {\r\n\t\t\tclasses = 'rdtDay';\r\n\t\t\tcurrentDate = prevMonth.clone();\r\n\r\n\t\t\tif ( ( prevMonth.year() === currentYear && prevMonth.month() < currentMonth ) || ( prevMonth.year() < currentYear ) )\r\n\t\t\t\tclasses += ' rdtOld';\r\n\t\t\telse if ( ( prevMonth.year() === currentYear && prevMonth.month() > currentMonth ) || ( prevMonth.year() > currentYear ) )\r\n\t\t\t\tclasses += ' rdtNew';\r\n\r\n\t\t\tif ( selected && prevMonth.isSame( selected, 'day' ) )\r\n\t\t\t\tclasses += ' rdtActive';\r\n\r\n\t\t\tif ( prevMonth.isSame( moment(), 'day' ) )\r\n\t\t\t\tclasses += ' rdtToday';\r\n\r\n\t\t\tisDisabled = !isValid( currentDate, selected );\r\n\t\t\tif ( isDisabled )\r\n\t\t\t\tclasses += ' rdtDisabled';\r\n\r\n\t\t\tdayProps = {\r\n\t\t\t\tkey: prevMonth.format( 'M_D' ),\r\n\t\t\t\t'data-value': prevMonth.date(),\r\n\t\t\t\tclassName: classes\r\n\t\t\t};\r\n\r\n\t\t\tif ( !isDisabled )\r\n\t\t\t\tdayProps.onClick = this.updateSelectedDate;\r\n\r\n\t\t\tdays.push( renderer( dayProps, currentDate, selected ) );\r\n\r\n\t\t\tif ( days.length === 7 ) {\r\n\t\t\t\tweeks.push( React.createElement('tr', { key: prevMonth.format( 'M_D' )}, days ) );\r\n\t\t\t\tdays = [];\r\n\t\t\t}\r\n\r\n\t\t\tprevMonth.add( 1, 'd' );\r\n\t\t}\r\n\r\n\t\treturn weeks;\r\n\t},\r\n\r\n\tupdateSelectedDate: function( event ) {\r\n\t\tthis.props.updateSelectedDate( event, true );\r\n\t},\r\n\r\n\trenderDay: function( props, currentDate ) {\r\n\t\treturn React.createElement('td', props, currentDate.date() );\r\n\t},\r\n\r\n\trenderFooter: function() {\r\n\t\tif ( !this.props.timeFormat )\r\n\t\t\treturn '';\r\n\r\n\t\tvar date = this.props.selectedDate || this.props.viewDate;\r\n\r\n\t\treturn React.createElement('tfoot', { key: 'tf'},\r\n\t\t\tReact.createElement('tr', {},\r\n\t\t\t\tReact.createElement('td', { onClick: this.props.showView( 'time' ), colSpan: 7, className: 'rdtTimeToggle' }, date.format( this.props.timeFormat ))\r\n\t\t\t)\r\n\t\t);\r\n\t},\r\n\r\n\talwaysValidDate: function() {\r\n\t\treturn 1;\r\n\t},\r\n\r\n\thandleClickOutside: function() {\r\n\t\tthis.props.handleClickOutside();\r\n\t}\r\n}));\r\n\r\nmodule.exports = DateTimePickerDays;\r\n","'use strict';\r\n\r\nvar React = require('react'),\r\n\tcreateClass = require('create-react-class'),\r\n\tonClickOutside = require('react-onclickoutside').default\r\n\t;\r\n\r\nvar DateTimePickerMonths = onClickOutside( createClass({\r\n\trender: function() {\r\n\t\treturn React.createElement('div', { className: 'rdtMonths' }, [\r\n\t\t\tReact.createElement('table', { key: 'a' }, React.createElement('thead', {}, React.createElement('tr', {}, [\r\n\t\t\t\tReact.createElement('th', { key: 'prev', className: 'rdtPrev', onClick: this.props.subtractTime( 1, 'years' )}, React.createElement('span', {}, '‹' )),\r\n\t\t\t\tReact.createElement('th', { key: 'year', className: 'rdtSwitch', onClick: this.props.showView( 'years' ), colSpan: 2, 'data-value': this.props.viewDate.year() }, this.props.viewDate.year() ),\r\n\t\t\t\tReact.createElement('th', { key: 'next', className: 'rdtNext', onClick: this.props.addTime( 1, 'years' )}, React.createElement('span', {}, '›' ))\r\n\t\t\t]))),\r\n\t\t\tReact.createElement('table', { key: 'months' }, React.createElement('tbody', { key: 'b' }, this.renderMonths()))\r\n\t\t]);\r\n\t},\r\n\r\n\trenderMonths: function() {\r\n\t\tvar date = this.props.selectedDate,\r\n\t\t\tmonth = this.props.viewDate.month(),\r\n\t\t\tyear = this.props.viewDate.year(),\r\n\t\t\trows = [],\r\n\t\t\ti = 0,\r\n\t\t\tmonths = [],\r\n\t\t\trenderer = this.props.renderMonth || this.renderMonth,\r\n\t\t\tisValid = this.props.isValidDate || this.alwaysValidDate,\r\n\t\t\tclasses, props, currentMonth, isDisabled, noOfDaysInMonth, daysInMonth, validDay,\r\n\t\t\t// Date is irrelevant because we're only interested in month\r\n\t\t\tirrelevantDate = 1\r\n\t\t\t;\r\n\r\n\t\twhile (i < 12) {\r\n\t\t\tclasses = 'rdtMonth';\r\n\t\t\tcurrentMonth =\r\n\t\t\t\tthis.props.viewDate.clone().set({ year: year, month: i, date: irrelevantDate });\r\n\r\n\t\t\tnoOfDaysInMonth = currentMonth.endOf( 'month' ).format( 'D' );\r\n\t\t\tdaysInMonth = Array.from({ length: noOfDaysInMonth }, function( e, i ) {\r\n\t\t\t\treturn i + 1;\r\n\t\t\t});\r\n\r\n\t\t\tvalidDay = daysInMonth.find(function( d ) {\r\n\t\t\t\tvar day = currentMonth.clone().set( 'date', d );\r\n\t\t\t\treturn isValid( day );\r\n\t\t\t});\r\n\r\n\t\t\tisDisabled = ( validDay === undefined );\r\n\r\n\t\t\tif ( isDisabled )\r\n\t\t\t\tclasses += ' rdtDisabled';\r\n\r\n\t\t\tif ( date && i === date.month() && year === date.year() )\r\n\t\t\t\tclasses += ' rdtActive';\r\n\r\n\t\t\tprops = {\r\n\t\t\t\tkey: i,\r\n\t\t\t\t'data-value': i,\r\n\t\t\t\tclassName: classes\r\n\t\t\t};\r\n\r\n\t\t\tif ( !isDisabled )\r\n\t\t\t\tprops.onClick = ( this.props.updateOn === 'months' ?\r\n\t\t\t\t\tthis.updateSelectedMonth : this.props.setDate( 'month' ) );\r\n\r\n\t\t\tmonths.push( renderer( props, i, year, date && date.clone() ) );\r\n\r\n\t\t\tif ( months.length === 4 ) {\r\n\t\t\t\trows.push( React.createElement('tr', { key: month + '_' + rows.length }, months ) );\r\n\t\t\t\tmonths = [];\r\n\t\t\t}\r\n\r\n\t\t\ti++;\r\n\t\t}\r\n\r\n\t\treturn rows;\r\n\t},\r\n\r\n\tupdateSelectedMonth: function( event ) {\r\n\t\tthis.props.updateSelectedDate( event );\r\n\t},\r\n\r\n\trenderMonth: function( props, month ) {\r\n\t\tvar localMoment = this.props.viewDate;\r\n\t\tvar monthStr = localMoment.localeData().monthsShort( localMoment.month( month ) );\r\n\t\tvar strLength = 3;\r\n\t\t// Because some months are up to 5 characters long, we want to\r\n\t\t// use a fixed string length for consistency\r\n\t\tvar monthStrFixedLength = monthStr.substring( 0, strLength );\r\n\t\treturn React.createElement('td', props, capitalize( monthStrFixedLength ) );\r\n\t},\r\n\r\n\talwaysValidDate: function() {\r\n\t\treturn 1;\r\n\t},\r\n\r\n\thandleClickOutside: function() {\r\n\t\tthis.props.handleClickOutside();\r\n\t}\r\n}));\r\n\r\nfunction capitalize( str ) {\r\n\treturn str.charAt( 0 ).toUpperCase() + str.slice( 1 );\r\n}\r\n\r\nmodule.exports = DateTimePickerMonths;\r\n","'use strict';\r\n\r\nvar React = require('react'),\r\n\tcreateClass = require('create-react-class'),\r\n\tonClickOutside = require('react-onclickoutside').default\r\n\t;\r\n\r\nvar DateTimePickerYears = onClickOutside( createClass({\r\n\trender: function() {\r\n\t\tvar year = parseInt( this.props.viewDate.year() / 10, 10 ) * 10;\r\n\r\n\t\treturn React.createElement('div', { className: 'rdtYears' }, [\r\n\t\t\tReact.createElement('table', { key: 'a' }, React.createElement('thead', {}, React.createElement('tr', {}, [\r\n\t\t\t\tReact.createElement('th', { key: 'prev', className: 'rdtPrev', onClick: this.props.subtractTime( 10, 'years' )}, React.createElement('span', {}, '‹' )),\r\n\t\t\t\tReact.createElement('th', { key: 'year', className: 'rdtSwitch', onClick: this.props.showView( 'years' ), colSpan: 2 }, year + '-' + ( year + 9 ) ),\r\n\t\t\t\tReact.createElement('th', { key: 'next', className: 'rdtNext', onClick: this.props.addTime( 10, 'years' )}, React.createElement('span', {}, '›' ))\r\n\t\t\t]))),\r\n\t\t\tReact.createElement('table', { key: 'years' }, React.createElement('tbody', {}, this.renderYears( year )))\r\n\t\t]);\r\n\t},\r\n\r\n\trenderYears: function( year ) {\r\n\t\tvar years = [],\r\n\t\t\ti = -1,\r\n\t\t\trows = [],\r\n\t\t\trenderer = this.props.renderYear || this.renderYear,\r\n\t\t\tselectedDate = this.props.selectedDate,\r\n\t\t\tisValid = this.props.isValidDate || this.alwaysValidDate,\r\n\t\t\tclasses, props, currentYear, isDisabled, noOfDaysInYear, daysInYear, validDay,\r\n\t\t\t// Month and date are irrelevant here because\r\n\t\t\t// we're only interested in the year\r\n\t\t\tirrelevantMonth = 0,\r\n\t\t\tirrelevantDate = 1\r\n\t\t\t;\r\n\r\n\t\tyear--;\r\n\t\twhile (i < 11) {\r\n\t\t\tclasses = 'rdtYear';\r\n\t\t\tcurrentYear = this.props.viewDate.clone().set(\r\n\t\t\t\t{ year: year, month: irrelevantMonth, date: irrelevantDate } );\r\n\r\n\t\t\t// Not sure what 'rdtOld' is for, commenting out for now as it's not working properly\r\n\t\t\t// if ( i === -1 | i === 10 )\r\n\t\t\t\t// classes += ' rdtOld';\r\n\r\n\t\t\tnoOfDaysInYear = currentYear.endOf( 'year' ).format( 'DDD' );\r\n\t\t\tdaysInYear = Array.from({ length: noOfDaysInYear }, function( e, i ) {\r\n\t\t\t\treturn i + 1;\r\n\t\t\t});\r\n\r\n\t\t\tvalidDay = daysInYear.find(function( d ) {\r\n\t\t\t\tvar day = currentYear.clone().dayOfYear( d );\r\n\t\t\t\treturn isValid( day );\r\n\t\t\t});\r\n\r\n\t\t\tisDisabled = ( validDay === undefined );\r\n\r\n\t\t\tif ( isDisabled )\r\n\t\t\t\tclasses += ' rdtDisabled';\r\n\r\n\t\t\tif ( selectedDate && selectedDate.year() === year )\r\n\t\t\t\tclasses += ' rdtActive';\r\n\r\n\t\t\tprops = {\r\n\t\t\t\tkey: year,\r\n\t\t\t\t'data-value': year,\r\n\t\t\t\tclassName: classes\r\n\t\t\t};\r\n\r\n\t\t\tif ( !isDisabled )\r\n\t\t\t\tprops.onClick = ( this.props.updateOn === 'years' ?\r\n\t\t\t\t\tthis.updateSelectedYear : this.props.setDate('year') );\r\n\r\n\t\t\tyears.push( renderer( props, year, selectedDate && selectedDate.clone() ));\r\n\r\n\t\t\tif ( years.length === 4 ) {\r\n\t\t\t\trows.push( React.createElement('tr', { key: i }, years ) );\r\n\t\t\t\tyears = [];\r\n\t\t\t}\r\n\r\n\t\t\tyear++;\r\n\t\t\ti++;\r\n\t\t}\r\n\r\n\t\treturn rows;\r\n\t},\r\n\r\n\tupdateSelectedYear: function( event ) {\r\n\t\tthis.props.updateSelectedDate( event );\r\n\t},\r\n\r\n\trenderYear: function( props, year ) {\r\n\t\treturn React.createElement('td', props, year );\r\n\t},\r\n\r\n\talwaysValidDate: function() {\r\n\t\treturn 1;\r\n\t},\r\n\r\n\thandleClickOutside: function() {\r\n\t\tthis.props.handleClickOutside();\r\n\t}\r\n}));\r\n\r\nmodule.exports = DateTimePickerYears;\r\n","'use strict';\r\n\r\nvar React = require('react'),\r\n\tcreateClass = require('create-react-class'),\r\n\tassign = require('object-assign'),\r\n\tonClickOutside = require('react-onclickoutside').default\r\n\t;\r\n\r\nvar DateTimePickerTime = onClickOutside( createClass({\r\n\tgetInitialState: function() {\r\n\t\treturn this.calculateState( this.props );\r\n\t},\r\n\r\n\tcalculateState: function( props ) {\r\n\t\tvar date = props.selectedDate || props.viewDate,\r\n\t\t\tformat = props.timeFormat,\r\n\t\t\tcounters = []\r\n\t\t\t;\r\n\r\n\t\tif ( format.toLowerCase().indexOf('h') !== -1 ) {\r\n\t\t\tcounters.push('hours');\r\n\t\t\tif ( format.indexOf('m') !== -1 ) {\r\n\t\t\t\tcounters.push('minutes');\r\n\t\t\t\tif ( format.indexOf('s') !== -1 ) {\r\n\t\t\t\t\tcounters.push('seconds');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tvar daypart = false;\r\n\t\tif ( this.state !== null && this.props.timeFormat.toLowerCase().indexOf( ' a' ) !== -1 ) {\r\n\t\t\tif ( this.props.timeFormat.indexOf( ' A' ) !== -1 ) {\r\n\t\t\t\tdaypart = ( this.state.hours >= 12 ) ? 'PM' : 'AM';\r\n\t\t\t} else {\r\n\t\t\t\tdaypart = ( this.state.hours >= 12 ) ? 'pm' : 'am';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn {\r\n\t\t\thours: date.format( 'H' ),\r\n\t\t\tminutes: date.format( 'mm' ),\r\n\t\t\tseconds: date.format( 'ss' ),\r\n\t\t\tmilliseconds: date.format( 'SSS' ),\r\n\t\t\tdaypart: daypart,\r\n\t\t\tcounters: counters\r\n\t\t};\r\n\t},\r\n\r\n\trenderCounter: function( type ) {\r\n\t\tif ( type !== 'daypart' ) {\r\n\t\t\tvar value = this.state[ type ];\r\n\t\t\tif ( type === 'hours' && this.props.timeFormat.toLowerCase().indexOf( ' a' ) !== -1 ) {\r\n\t\t\t\tvalue = ( value - 1 ) % 12 + 1;\r\n\r\n\t\t\t\tif ( value === 0 ) {\r\n\t\t\t\t\tvalue = 12;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn React.createElement('div', { key: type, className: 'rdtCounter' }, [\r\n\t\t\t\tReact.createElement('span', { key: 'up', className: 'rdtBtn', onMouseDown: this.onStartClicking( 'increase', type ) }, '▲' ),\r\n\t\t\t\tReact.createElement('div', { key: 'c', className: 'rdtCount' }, value ),\r\n\t\t\t\tReact.createElement('span', { key: 'do', className: 'rdtBtn', onMouseDown: this.onStartClicking( 'decrease', type ) }, '▼' )\r\n\t\t\t]);\r\n\t\t}\r\n\t\treturn '';\r\n\t},\r\n\r\n\trenderDayPart: function() {\r\n\t\treturn React.createElement('div', { key: 'dayPart', className: 'rdtCounter' }, [\r\n\t\t\tReact.createElement('span', { key: 'up', className: 'rdtBtn', onMouseDown: this.onStartClicking( 'toggleDayPart', 'hours') }, '▲' ),\r\n\t\t\tReact.createElement('div', { key: this.state.daypart, className: 'rdtCount' }, this.state.daypart ),\r\n\t\t\tReact.createElement('span', { key: 'do', className: 'rdtBtn', onMouseDown: this.onStartClicking( 'toggleDayPart', 'hours') }, '▼' )\r\n\t\t]);\r\n\t},\r\n\r\n\trender: function() {\r\n\t\tvar me = this,\r\n\t\t\tcounters = []\r\n\t\t;\r\n\r\n\t\tthis.state.counters.forEach( function( c ) {\r\n\t\t\tif ( counters.length )\r\n\t\t\t\tcounters.push( React.createElement('div', { key: 'sep' + counters.length, className: 'rdtCounterSeparator' }, ':' ) );\r\n\t\t\tcounters.push( me.renderCounter( c ) );\r\n\t\t});\r\n\r\n\t\tif ( this.state.daypart !== false ) {\r\n\t\t\tcounters.push( me.renderDayPart() );\r\n\t\t}\r\n\r\n\t\tif ( this.state.counters.length === 3 && this.props.timeFormat.indexOf( 'S' ) !== -1 ) {\r\n\t\t\tcounters.push( React.createElement('div', { className: 'rdtCounterSeparator', key: 'sep5' }, ':' ) );\r\n\t\t\tcounters.push(\r\n\t\t\t\tReact.createElement('div', { className: 'rdtCounter rdtMilli', key: 'm' },\r\n\t\t\t\t\tReact.createElement('input', { value: this.state.milliseconds, type: 'text', onChange: this.updateMilli } )\r\n\t\t\t\t\t)\r\n\t\t\t\t);\r\n\t\t}\r\n\r\n\t\treturn React.createElement('div', { className: 'rdtTime' },\r\n\t\t\tReact.createElement('table', {}, [\r\n\t\t\t\tthis.renderHeader(),\r\n\t\t\t\tReact.createElement('tbody', { key: 'b'}, React.createElement('tr', {}, React.createElement('td', {},\r\n\t\t\t\t\tReact.createElement('div', { className: 'rdtCounters' }, counters )\r\n\t\t\t\t)))\r\n\t\t\t])\r\n\t\t);\r\n\t},\r\n\r\n\tcomponentWillMount: function() {\r\n\t\tvar me = this;\r\n\t\tme.timeConstraints = {\r\n\t\t\thours: {\r\n\t\t\t\tmin: 0,\r\n\t\t\t\tmax: 23,\r\n\t\t\t\tstep: 1\r\n\t\t\t},\r\n\t\t\tminutes: {\r\n\t\t\t\tmin: 0,\r\n\t\t\t\tmax: 59,\r\n\t\t\t\tstep: 1\r\n\t\t\t},\r\n\t\t\tseconds: {\r\n\t\t\t\tmin: 0,\r\n\t\t\t\tmax: 59,\r\n\t\t\t\tstep: 1\r\n\t\t\t},\r\n\t\t\tmilliseconds: {\r\n\t\t\t\tmin: 0,\r\n\t\t\t\tmax: 999,\r\n\t\t\t\tstep: 1\r\n\t\t\t}\r\n\t\t};\r\n\t\t['hours', 'minutes', 'seconds', 'milliseconds'].forEach( function( type ) {\r\n\t\t\tassign(me.timeConstraints[ type ], me.props.timeConstraints[ type ]);\r\n\t\t});\r\n\t\tthis.setState( this.calculateState( this.props ) );\r\n\t},\r\n\r\n\tcomponentWillReceiveProps: function( nextProps ) {\r\n\t\tthis.setState( this.calculateState( nextProps ) );\r\n\t},\r\n\r\n\tupdateMilli: function( e ) {\r\n\t\tvar milli = parseInt( e.target.value, 10 );\r\n\t\tif ( milli === e.target.value && milli >= 0 && milli < 1000 ) {\r\n\t\t\tthis.props.setTime( 'milliseconds', milli );\r\n\t\t\tthis.setState( { milliseconds: milli } );\r\n\t\t}\r\n\t},\r\n\r\n\trenderHeader: function() {\r\n\t\tif ( !this.props.dateFormat )\r\n\t\t\treturn null;\r\n\r\n\t\tvar date = this.props.selectedDate || this.props.viewDate;\r\n\t\treturn React.createElement('thead', { key: 'h' }, React.createElement('tr', {},\r\n\t\t\tReact.createElement('th', { className: 'rdtSwitch', colSpan: 4, onClick: this.props.showView( 'days' ) }, date.format( this.props.dateFormat ) )\r\n\t\t));\r\n\t},\r\n\r\n\tonStartClicking: function( action, type ) {\r\n\t\tvar me = this;\r\n\r\n\t\treturn function() {\r\n\t\t\tvar update = {};\r\n\t\t\tupdate[ type ] = me[ action ]( type );\r\n\t\t\tme.setState( update );\r\n\r\n\t\t\tme.timer = setTimeout( function() {\r\n\t\t\t\tme.increaseTimer = setInterval( function() {\r\n\t\t\t\t\tupdate[ type ] = me[ action ]( type );\r\n\t\t\t\t\tme.setState( update );\r\n\t\t\t\t}, 70);\r\n\t\t\t}, 500);\r\n\r\n\t\t\tme.mouseUpListener = function() {\r\n\t\t\t\tclearTimeout( me.timer );\r\n\t\t\t\tclearInterval( me.increaseTimer );\r\n\t\t\t\tme.props.setTime( type, me.state[ type ] );\r\n\t\t\t\tdocument.body.removeEventListener( 'mouseup', me.mouseUpListener );\r\n\t\t\t};\r\n\r\n\t\t\tdocument.body.addEventListener( 'mouseup', me.mouseUpListener );\r\n\t\t};\r\n\t},\r\n\r\n\tpadValues: {\r\n\t\thours: 1,\r\n\t\tminutes: 2,\r\n\t\tseconds: 2,\r\n\t\tmilliseconds: 3\r\n\t},\r\n\r\n\ttoggleDayPart: function( type ) { // type is always 'hours'\r\n\t\tvar value = parseInt( this.state[ type ], 10) + 12;\r\n\t\tif ( value > this.timeConstraints[ type ].max )\r\n\t\t\tvalue = this.timeConstraints[ type ].min + ( value - ( this.timeConstraints[ type ].max + 1 ) );\r\n\t\treturn this.pad( type, value );\r\n\t},\r\n\r\n\tincrease: function( type ) {\r\n\t\tvar value = parseInt( this.state[ type ], 10) + this.timeConstraints[ type ].step;\r\n\t\tif ( value > this.timeConstraints[ type ].max )\r\n\t\t\tvalue = this.timeConstraints[ type ].min + ( value - ( this.timeConstraints[ type ].max + 1 ) );\r\n\t\treturn this.pad( type, value );\r\n\t},\r\n\r\n\tdecrease: function( type ) {\r\n\t\tvar value = parseInt( this.state[ type ], 10) - this.timeConstraints[ type ].step;\r\n\t\tif ( value < this.timeConstraints[ type ].min )\r\n\t\t\tvalue = this.timeConstraints[ type ].max + 1 - ( this.timeConstraints[ type ].min - value );\r\n\t\treturn this.pad( type, value );\r\n\t},\r\n\r\n\tpad: function( type, value ) {\r\n\t\tvar str = value + '';\r\n\t\twhile ( str.length < this.padValues[ type ] )\r\n\t\t\tstr = '0' + str;\r\n\t\treturn str;\r\n\t},\r\n\r\n\thandleClickOutside: function() {\r\n\t\tthis.props.handleClickOutside();\r\n\t}\r\n}));\r\n\r\nmodule.exports = DateTimePickerTime;\r\n","import alt from '__base/alt';\r\n\r\nclass NotificationsActions {\r\n constructor() {\r\n this.generateActions('initStore');\r\n this.generateActions('resetConnectionLost');\r\n }\r\n\r\n addNotification(params) {\r\n return params;\r\n }\r\n\r\n deleteNotification(params) {\r\n return params;\r\n }\r\n}\r\n\r\nexport default alt.createActions(NotificationsActions);\r\n","import React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport ReactCrop from 'react-image-crop';\r\nimport { merge } from 'ramda';\r\n\r\nimport 'react-image-crop/dist/ReactCrop.css';\r\n\r\nconst imageStyle = {\r\n maxWidth: '100%',\r\n maxHeight: '600px',\r\n minWidth: '200px'\r\n};\r\n\r\nclass ImageEditor extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n const { width, aspect } = props;\r\n this.state = {\r\n crop: {\r\n aspect,\r\n height: 100\r\n },\r\n zoom: 1,\r\n rotation: 0,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this._isMounted = true;\r\n }\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n // onSelectFile(e) {\r\n // if (e.target.files && e.target.files.length > 0) {\r\n // const reader = new FileReader();\r\n // reader.addEventListener('load', () =>\r\n // this.setState({ src: reader.result })\r\n // );\r\n // reader.readAsDataURL(e.target.files[0]);\r\n // }\r\n // }\r\n\r\n // If you setState the crop in here you should return false.\r\n onImageLoaded(image) {\r\n this.imageRef = image;\r\n }\r\n\r\n onCropComplete(crop, pixelCrop) {\r\n this.makeClientCrop(pixelCrop);\r\n }\r\n\r\n onCropChange(crop) {\r\n if (this._isMounted) {\r\n this.setState({ crop });\r\n }\r\n }\r\n\r\n makeClientCrop(crop) {\r\n if (this.imageRef && crop.width && crop.height) {\r\n const croppedImageUrl = this.getCroppedImg(\r\n this.imageRef,\r\n crop,\r\n 'newFile.jpeg'\r\n );\r\n this.setState({ croppedImageUrl });\r\n }\r\n }\r\n\r\n getCroppedImg(image, pixelCrop) {\r\n const canvas = document.createElement('canvas');\r\n canvas.width = pixelCrop.width;\r\n canvas.height = pixelCrop.height;\r\n const ctx = canvas.getContext('2d');\r\n ctx.drawImage(\r\n image,\r\n pixelCrop.x,\r\n pixelCrop.y,\r\n pixelCrop.width,\r\n pixelCrop.height,\r\n 0,\r\n 0,\r\n pixelCrop.width,\r\n pixelCrop.height\r\n );\r\n const dataUrl = canvas.toDataURL();\r\n return dataUrl;\r\n }\r\n\r\n // zoomIn() {\r\n // const { zoom } = this.state;\r\n // this.setState({\r\n // zoom: zoom < 2 ? (zoom + 0.1) : zoom,\r\n // });\r\n // }\r\n\r\n // zoomOut() {\r\n // const { zoom } = this.state;\r\n // this.setState({\r\n // zoom: zoom > 1 ? (zoom - 0.1) : zoom,\r\n // });\r\n // }\r\n\r\n // rotate() {\r\n // const { rotation } = this.state;\r\n // this.setState({\r\n // rotation: rotation < 360 ? rotation + 90 : 0,\r\n // });\r\n\r\n // }\r\n\r\n render() {\r\n const { crop, croppedImageUrl, zoom, rotation } = this.state;\r\n const { src, usePhoto } = this.props;\r\n const imgStyle = merge(imageStyle, { transform: `scale(${zoom}) rotate(${rotation}deg)` });\r\n return (\r\n
\r\n
\r\n \r\n
\r\n
\r\n {src && (\r\n \r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n\r\nexport default ImageEditor;\r\n","(function(){\r\n'use strict';\r\nvar React = require('react');\r\nvar GalleryImageItem = require('./GalleryImageItem');\r\nvar GalleryImageRow = require('./GalleryImageRow');\r\nvar GallerySelectedImage = require('./GallerySelectedImage');\r\nvar ImageLibraryStore = require('__stores/ImageLibraryStore');\r\nvar ImageLibraryActions = require('__actions/ImageLibraryActions');\r\nvar Loading = require('__components/common/Loading');\r\nvar Consts = require('__infrastructure/Consts');\r\nvar config = require('__src/Configuration');\r\nvar apiRoutes = require('__infrastructure/ApiRoutes');\r\nvar Util = require('__infrastructure/Util');\r\nvar i18n = require('i18next-client');\r\n\r\nvar ImageGallery = React.createClass({\r\n\tcomponentDidMount() {\r\n\t\t\tImageLibraryStore.listen(this.onChangeImageLibraryStore);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tImageLibraryActions.loadImagesUrl();\r\n\t\t\t}, 0);\r\n\t\t},\r\n\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tImageLibraryStore.unlisten(this.onChangeImageLibraryStore);\r\n\t\t},\r\n\t\tonChangeImageLibraryStore(store) {\r\n\t\t\tthis.setState(store);\r\n\t\t},\r\n handleClick: function(imageid) {\r\n\t\tvar url = config.apiRoot + apiRoutes.imageLibrary.baseRoute + apiRoutes.imageLibrary.routes.images;\r\n var image = url + '?origin=' + Consts.imageLibraryPath + imageid;\r\n this.setState({heroimg: image});\r\n },\r\n getInitialState: function() {\r\n return {\r\n //heroimg: '/api/resource/images?origin=App_Data/ImageLibrary/'\r\n };\r\n },\r\n render: function() {\r\n\t\tif (!this.state.isStoreInitialized) {\r\n\t\t\t\treturn ();\r\n\t\t\t}\r\n\t\tvar {cancel} = this.props;\r\n\t\tvar url = config.apiRoot + apiRoutes.imageLibrary.baseRoute + apiRoutes.imageLibrary.routes.images + '?origin=' + Consts.imageLibraryPath;\r\n\t\tconst { imagesUrl } = this.state;\r\n return (\r\n\t\t
\r\n\t\t\t
\r\n\t\t\t\t
\r\n\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t
\r\n\t\t\t
\r\n\t\t\t
\r\n\t\t\t\t{imagesUrl && imagesUrl.length ?\r\n\t\t\t\t\t
\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{imagesUrl.map((image, index) =>\r\n\t\t\t\t\t\t\t\t\t
  • \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\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\t\t\t\t
    :\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t{i18n.t(\"imageGallerySetup.NoImages\")}\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t
    \r\n\t\t\t\r\n\t\t
    \r\n );\r\n },\r\n\tusePhoto(){\r\n\t\tvar img = Util.getBase64ImageFromImgUrl(this.refs.gallerySelectedImage.refs.selectedImage);\r\n\t\tthis.props.usePhoto(img);\r\n }\r\n});\r\nmodule.exports = ImageGallery;\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar React = require('react');\r\n\r\nvar GallerySelectedImage = React.createClass({\r\n render: function() {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n});\r\nmodule.exports = GallerySelectedImage;\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar _ = require('lodash');\r\nvar alt = require('__base/alt');\r\nvar ImageLibraryActions = require('__actions/ImageLibraryActions');\r\nvar ImageLibraryHandler = require('__api/ImageLibraryHandler');\r\nvar config = require('__src/Configuration.js');\r\nvar logger = config.appLogger;\r\n\r\nvar errHandler = (errorMessage) => {\r\n\tlogger.error('An error occurred', errorMessage);\r\n};\r\n\r\nclass ImageLibraryStore {\r\n\tconstructor() {\r\n\t\tthis.isStoreInitialized = false;\r\n\t\tthis.bindActions(ImageLibraryActions);\r\n\t}\r\n\tsetInitialized() {\r\n\t\t\tif (this.imagesUrl) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisStoreInitialized: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t}\r\n\tonLoadImagesUrl(){\r\n\t\tImageLibraryHandler.getImagesUrl()\r\n\t\t.then(data => {\r\n\t\t\tthis.imagesUrl = data;\r\n\t\t\tthis.setInitialized();\r\n\t\t})\r\n\t\t.catch(errHandler);\r\n\t}\r\n\tonLoadImageByUrl(url){\r\n\t\tImageLibraryHandler.loadImageByUrl(url)\r\n\t\t.then(data => {\r\n\t\t\tthis.currentImage = data;\r\n\t\t})\r\n\t\t.catch(errHandler);\r\n\t}\r\n\tonSaveImageLibrary(data) {\r\n\t\t\tImageLibraryHandler.saveImageLibrary(data).then(\r\n\t\t\t\t() => {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n}\r\n\r\nmodule.exports = alt.createStore(ImageLibraryStore, 'ImageLibraryStore');\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n var ConfirmationModal = require('__components/common/ConfirmationModal');\r\n var ReactSticky = require('react-sticky');\r\n var { Sticky } = ReactSticky;\r\n var ActionButtonsTitle = require('__components/common/title/ActionButtonsTitle');\r\n\r\n\tvar FormHeader = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar {isModelDirty, saveAlwaysDisabled} = this.props;\r\n\t\t\treturn {isModelDirty: isModelDirty, showConfirmModal: false, cancelAndReturn: false, saveAlwaysDisabled: saveAlwaysDisabled};\r\n\t\t},\r\n\t\tabort(afterSubmit) {\r\n\t\t\tthis.setState({showConfirmModal: false, cancelAndReturn: afterSubmit !== 'afterSubmit' ? true : false});\r\n\t\t},\r\n\t\thide() {\r\n\t\t\tthis.setState({showConfirmModal: false});\r\n\t\t},\r\n\t\tshouldComponentUpdate(nextProps, nextState) {\r\n\t\t\tif (nextState.cancelAndReturn && !this.state.cancelAndReturn) {\r\n\t\t\t\tthis.props.cancelReturn();\r\n\t\t\t\treturn false;\r\n\t\t\t} else if (nextState.cancelAndReturn && this.state.cancelAndReturn) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\treturn true\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {\r\n\t\t\t\tactionText,\r\n\t\t\t\tcancelFunc,\r\n\t\t\t\thandleSubmit,\r\n\t\t\t\thandleCancel,\r\n\t\t\t\thandleReturn,\r\n\t\t\t\ttitle,\r\n\t\t\t\ticonClass,\r\n\t\t\t\tbuttons,\r\n\t\t\t\tstickyHeader,\r\n\t\t\t\tisInModal\r\n\t\t\t} = this.props;\r\n\t\t\tvar returnBtn = (cancelFunc && !isInModal) ? {i18n.t('CommonForm.returnText')} : '';\r\n\t\t\tvar cancelBtn = (cancelFunc && isInModal) ? {i18n.t('CommonForm.CancelButtonText')} : '';\r\n\r\n\t\t\tvar confirmReturn = this.state.showConfirmModal && ;\r\n\t\t\ticonClass = iconClass || \"fa fa-fw\";\r\n\t\t\tif (title && stickyHeader) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\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\t{i18n.t(title)}\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\t{buttons\r\n\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t: \"\"}\r\n\t\t\t\t\t\t\t\t\t{returnBtn}\r\n\t\t\t\t\t\t\t\t\t{cancelBtn}\r\n\t\t\t\t\t\t\t\t\t{confirmReturn}\r\n\t\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\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t} else if (title) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t\t{i18n.t(title)}\r\n\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{cancelBtn}\r\n\t\t\t\t\t\t\t{confirmReturn}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t{buttons\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
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t} else {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{cancelBtn}\r\n\t\t\t\t\t\t\t{confirmReturn}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n module.exports = FormHeader;\r\n\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\n\r\nvar FormHelpToggle = React.createClass({\r\n\trender() {\r\n\t\tvar styleObj = {\r\n\t\t\tposition: \"absolute\",\r\n\t\t\ttop: 0,\r\n\t\t\tright: 30,\r\n\t\t\tzIndex: 300\r\n\t\t};\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n});\r\nmodule.exports = FormHelpToggle;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar _ = require('lodash');\r\nvar React = require('react');\r\nvar Validation = require('__infrastructure/Validate');\r\nvar TabPanel = require('./TabPanel');\r\n\r\nvar G4STabs = React.createClass({\r\n\tbuildTabsHeader(){\r\n\t\tvar {settings, tabs} = this.props;\r\n\t\tvar {activeTab} = this.state;\r\n\t\tvar {tabHeaderIcon} = this.state;\r\n\t\ttabHeaderIcon = tabHeaderIcon ? tabHeaderIcon : {};\r\n\t\tvar tabChangedCallback = settings.tabChangedCallback || null;\r\n\t\tvar navTabClass = settings.tabStyle === \"circle\" ? \" circletabs\" : \"\";\r\n\t\tvar linerWidth = ((tabs.length - 1) * 20) + \"%\";\r\n\t\t//NOTE: not implemented\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t},\r\n\tcomponentWillMount(){\r\n\t\tvar {tabs} = this.props;\r\n\t\tthis.initializeTabs(tabs);\r\n\t},\r\n\tcomponentWillReceiveProps(nextProps){\r\n\t\tvar {tabs} = nextProps;\r\n\t\tthis.initializeTabs(tabs);\r\n\t},\r\n\tgetDefaultProps(){\r\n\t\treturn {\r\n\t\t\ttabStyle: '',\r\n\t\t\tsettings: {}\r\n\t\t};\r\n\t},\r\n\tgetInitialState() {\r\n\t\tvar {activeTab, tabs, tabHeaderIcon, visible} = this.props;\r\n\t\treturn {\r\n\t\t\tactiveTab: activeTab || tabs[0].name,\r\n\t\t\ttabHeaderIcon: tabHeaderIcon,\r\n\t\t\tvisible: visible\r\n\t\t};\r\n\t},\r\n\tinitializeTabs(tabs) {\r\n\t\tthis.setState({\r\n\t\t\ttabs: tabs\r\n\t\t});\r\n\t},\r\n\tgetTabIcon(tab){\r\n\t\treturn tab.icon ? : \"\";\r\n\t},\r\n\trenderTabContent(tab, idx){\r\n\t\tvar {settings} = this.props;\r\n\t\tvar {tabStyle} = settings;\r\n\t\tvar icon = this.getTabIcon(tab);\r\n\t\tvar classes = {\r\n\t\t\t0: 'one',\r\n\t\t\t1: 'two',\r\n\t\t\t2: 'three',\r\n\t\t\t3: 'four',\r\n 4: 'five'\r\n\t\t};\r\n\r\n\t\tvar tabClass = tab.tabClass || classes[idx];\r\n\r\n\t\tvar displayText = Validation._toTitleCase(tab.display || tab.name);\r\n\r\n\t\treturn tabStyle === \"circle\" ? (\r\n\t\t\t\r\n\t\t\t{icon || {idx + 1}}\r\n\t\t\t\r\n\t\t) : (\r\n\t\t\t\r\n\t\t\t{icon} {displayText}\r\n\t\t\t\r\n\t\t);\r\n\t},\r\n\trender(){\r\n\t\tvar {activeTab} = this.state;\r\n\t\tvar {tabs} = this.props;\r\n\t\tvar {settings} = this.props;\r\n\r\n\t\tvar activeTabContent = _.findWhere(tabs, {name: activeTab});\r\n\t\tvar tabHeader = this.buildTabsHeader();\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{tabHeader}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t);\r\n\t},\r\n\tswitchTab(tabName, externalCallback){\r\n\r\n\t\tvar fromTab = this.state.activeTab;\r\n\r\n\t\t//external handler must return true to continue\r\n\t\tvar cb = () => {\r\n\t\t\tthis.setState({\r\n\t\t\t\tactiveTab: tabName\r\n\t\t\t});\r\n\t\t};\r\n\r\n\t\t//if a callback is defined, execute now. This will be sync, not async\r\n\t\tif (typeof externalCallback === 'function' ){\r\n\t\t\texternalCallback(fromTab, tabName, cb);\r\n\t\t} else {\r\n\t\t\tcb(true);\r\n\t\t}\r\n\r\n\t}\r\n});\r\n\r\nmodule.exports = G4STabs;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar Validation = require('__infrastructure/Validate');\r\n\r\nvar TabPanel = React.createClass({\r\n\trender() {\r\n\t\tvar {tab} = this.props;\r\n\t\tvar displayText = Validation._toTitleCase(tab.display || tab.name);\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{tab.content}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = TabPanel;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar options = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"optionsContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"options\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"noLegend\": true,\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"ForceInactive\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.ForceInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\",\r\n\t\t\t\t\t\t\"help\": \"Force cardholder inactive\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"SetForBatchPrinting\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.SetForBatchPrinting\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\",\r\n\t\t\t\t\t\t\"help\": \"Set for batch printing\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardWatch\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.CardWatch\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\",\r\n\t\t\t\t\t\t\"help\": \"Card watch\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Stop\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.Stop\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\",\r\n\t\t\t\t\t\t\"help\": \"Stop\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t\tvar additionalOptions = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"additionalOptionsContainer\",\r\n\t\t\t\"display\": \"PersonForm.tabs.optionsTab.additionalOptions\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"groupHtmlClass\": \"row additionalOptionsContainer\",\r\n\t\t\t\"fields\": []\r\n\t\t}));\r\n\r\n\t\tvar AvailableGroups = params.AvailableGroups.AvailableGroups ? params.AvailableGroups.AvailableGroups : [];\r\n\t\tadditionalOptions.fields.length = 0;\r\n\t\tfor (var i = AvailableGroups.length - 1; i >= 0; i--) {\r\n\t\t\tvar groupName = \"GroupOptions.\" + AvailableGroups[i].Name.replace(/ /g, '');\r\n\t\t\tif(!checkGroupContains(additionalOptions.fields, groupName))\r\n\t\t\t{\r\n\t\t\t\tadditionalOptions.fields.push({\r\n\t\t\t\t\t\t\"name\": groupName,\r\n\t\t\t\t\t\t\"typeMetaFieldName\": \"Groups\",\r\n\t\t\t\t\t\t\"display\": i18n.t(\"CommonForm.AdditionalOptions.\" + AvailableGroups[i].Name),\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-6 additionalOptionsCheckbox\",\r\n\t\t\t\t\t\t\"handleFieldChange\": params.AvailableGroups.handleFieldChange\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"OptionsTab\",\r\n\t\t\t\"display\": \"PersonForm.tabs.optionsTab.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [options, additionalOptions]\r\n\t\t}];\r\n\t};\r\n\r\n\tvar checkGroupContains = function(group, groupName){\r\n\t\treturn _.find(group, function(g){return g.name === groupName; });\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar buildFields = function (){\r\n\t\tvar name = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"NameContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"Name.Family\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.LastName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText last-name-field-container\",\r\n\t\t\t\t\t\"autofocus\": true\r\n\t\t\t\t}, {\r\n\t\t\t\t\t\"name\": \"Name.Given\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.FirstName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText\"\r\n\t\t\t\t}, {\r\n\t\t\t\t\t\"name\": \"Name.Other\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.MiddleName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\t\t\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"name\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"fields\": [name]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar cards = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"Credentials\",\r\n\t\t\t\"display\": \"PersonForm.cards.title\",\r\n\t\t\t\"showLabel\": false,\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12 CredentialsTable\"\r\n\t\t}));\r\n\r\n\t\tcards.type = params.Cards.componentToLoad;\r\n\t\tcards.credentialsTemplate = params.Cards.TemplateCredentials;\r\n\t\tcards.rows = JSON.parse(JSON.stringify(params.Cards.availableRows));\r\n\t\tcards.columns = JSON.parse(JSON.stringify(params.Cards.displayColumns));\r\n\t\tcards.personUri = params.Cards.personUri;\r\n\t\tcards.isStopped = params.Cards.isStopped;\r\n\t\tcards.pageTitle = params.Cards.pageTitle;\r\n\t\tcards.onBadgeClick = params.Cards.onBadgeClick;\r\n\t\tcards.disableBadgeButton = params.Cards.disableBadgeButton;\r\n\t\tcards.facilityCustomerCodes = params.Cards.facilityCustomerCodes;\r\n\t\tcards.subcomponentsFieldsChanged = params.subcomponentsFieldsChanged;\r\n\t\tcards.addDisabled = params.Cards.addDisabled;\r\n\t\tif (params.MetaData){\r\n\t\t\tcards.min = params.MetaData.find(x => x.Name === \"MinLength\").Meta;\r\n\t\t\tcards.max = params.MetaData.find(x => x.Name === \"MaxLength\").Meta;\r\n\t\t}\r\n\t\tcards.savedCallback = params.savedCallback;\r\n\t\tcards.updateChildrenModel = params.updateChildrenModel;\r\n\t\tcards.parentResetFlags = params.parentResetFlags;\r\n\t\tcards.componentType = params.componentType;\r\n\r\n\t\treturn [{\r\n\t\t\t\"name\": \"CardsFieldset\",\r\n\t\t\t\"display\": \"PersonForm.cards.title\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t\"fields\": [cards]\r\n\t\t}];\r\n\r\n\t\t//return [cards];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar status = require('../PersonStatus');\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar pictures = {\r\n\t\t\t\t\t\"name\": \"PicturesContainer\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-lg-2 col-md-3 col-sm-4 col-xs-12 u-mb-xl person-face-container\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"Status\",\r\n\t\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\t\"type\": status,\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\t\t\t\"fontSize\": 'xx-large'\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"Face\",\r\n\t\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\t\"type\": \"image_capture\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"imageFormat\": \"3:4\",\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"full-width\"\r\n\t\t\t\t\t}]\r\n\t\t};\r\n\t\t\r\n\t\tpictures.fields[0].status = params.PersonStatus.status;\r\n\t\treturn [pictures];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar accessRightsContainer = require('../AccessRightsField').AccessRightsFieldCardholderContainer;\r\n\tvar _ = require('lodash');\r\n\tvar structure = [{\r\n\t\t\"name\": \"accessRights\",\r\n\t\t\"display\": \"PersonForm.tabs.accessRightsTab.title\",\r\n\t\t\"type\": \"tab\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"container\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"AssignedAccessTargets\",\r\n\t\t\t\t\"display\": \"Access Rights\",\r\n\t\t\t\t\"type\": accessRightsContainer,\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t}]\r\n\t\t}]\r\n\t}];\r\n\r\n\tvar buildFields = function(params) {\r\n\t\tstructure[0].fields[0].fields[0].assignedAccessTargets = params.AssignedAccessTargets ? params.AssignedAccessTargets : [];\r\n\t\tstructure[0].fields[0].fields[0].onChange = params.onChange;\r\n\t\tstructure[0].fields[0].fields[0].useNewModel = params.useNewModel;\r\n\t\tstructure[0].fields[0].fields[0].typeMeta = params.typeMeta;\r\n\t\tstructure[0].fields[0].fields[0].personUri = params.personUri;\r\n\t\treturn structure;\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar CardHoldersHandler = require('__api/CardHoldersHandler').default;\r\n\tvar appConfig = require('__src/Configuration.js');\r\n\tvar errorHandler = appConfig.appErrorHandler;\r\n\tvar Promise = require('es6-promise').Promise;\r\n\r\n\tclass CardHoldersActions {\r\n\t\tconstructor() {\r\n\t\t\tthis.generateActions('initializeStore');\r\n\t\t\tthis.generateActions('saveCardholderSuccessful');\r\n\t\t\tthis.generateActions('applyFilter');\r\n\t\t\tthis.generateActions('quickFilter');\r\n\t\t\tthis.generateActions('querySearch');\r\n\t\t\tthis.generateActions('loadMore');\r\n\t\t}\r\n\t}\r\n\r\n\tclass CardHoldersActionsCreator {\r\n\t\tconstructor() {\r\n\t\t\tvar actions = alt.createActions(CardHoldersActions);\r\n\t\t\t_.assign(this, actions);\r\n\t\t}\r\n\t\tsaveCardholder(cardholder){\r\n\t\t\tvar company = cardholder.Company;\r\n\t\t\tCardHoldersHandler.saveCardholder(cardholder, company).then((data) => {\r\n\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\tif(successful){\r\n\t\t\t\t\t//TODO: set card holder id\r\n\t\t\t\t\tthis.saveCardholderSuccessful(cardholder);\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t//NOTE: do not raise error; it will be treated general by interceptor\r\n\t\t\t\t}\r\n\t\t\t}).catch(errorHandler);\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new CardHoldersActionsCreator();\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\r\n\tclass ActivityHandler{\r\n\t\tloadActivity(filter, sortBy, pageSize, company) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.activity.baseRoute;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\tquery.sort = sortBy.sortBy;\r\n\t\t\tquery.limit = pageSize;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t\t.get(url)\r\n\t\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t\t.query(query)\r\n\t\t\t\t\t.withCredentials()\r\n\t\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new ActivityHandler();\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n var buildFields = function (customAttributes){\r\n var personalData = {\r\n \t\t\"name\": \"personaldata\",\r\n \t\t\"description\": \"\",\r\n \t\t\"type\": \"container\",\r\n \t\t\"groupHtmlClass\": \"col-md-12\"\r\n \t};\r\n \r\n for (var i = 0; i < customAttributes.length; i++) {\r\n customAttributes[i].typeMetaFieldName = 'CustomAttributes';\r\n }\r\n\t\tpersonalData.fields = customAttributes;\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"personalData\",\r\n\t\t\t\"display\": \"PersonForm.tabs.personalDataTab.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"fields\": customAttributes\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar notes = JSON.parse(JSON.stringify({\r\n\t\t\"name\": \"Note\",\r\n\t\t\"display\": \"PersonForm.tabs.notesTab.title\",\r\n\t\t\"type\": \"tab\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"container\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"Note.Notes\",\r\n\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.Notes\",\r\n\t\t\t\t\"type\": \"text_area\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-md-12 textarea-5-rows\",\r\n\t\t\t\t\"htmlClass\": \"fixed-resize\"\r\n\t\t\t}]\r\n\t\t}]\r\n\t}));\r\n\r\n\tvar buildFields = function (params){\r\n\t\tnotes.visible = params.visible;\r\n\t\tnotes.fields[0].fields[0].onChange = params.onChangeNotes;\r\n\t\treturn [notes];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar buildFields = function (params){\r\n\t\treturn [JSON.parse(JSON.stringify(\r\n\t\t\t{\r\n\t\t\t\"name\": \"biometrics\",\r\n\t\t\t\"display\": \"PersonForm.tabs.biometricsTab.title\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"visible\": params.visible,\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"biometrics-tab\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"Signature\",\r\n\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\"type\": \"image_capture\",\r\n\t\t\t\t\t\"imageFormat\": \"1:2\",\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}))];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\r\n\tclass CredentialsHandler{\r\n\t\tloadCredentials(filter, sortBy, company){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.Credentials.baseRoute;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\tquery.sort = sortBy.sortBy;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.query(query)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadDescriptor(){\r\n\t\t\t// var url = config.apiRoot + apiRoutes.Credentials.baseRoute + apiRoutes.Credentials.routes.descriptor;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tresolve( {payload:{\"SourceTypeName\":\"G4S.SymmetryWeb.ClientDomain.DTO.Credential\",\"Fields\":[{\"Name\":\"id\",\"Filterable\":false,\"Sortable\":false,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"FirstName\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"LastName\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"MiddleName\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"EmployeeReference\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"Company\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"Select\",\"QueryFieldOptions\":[{\"Value\":\"Tellence\",\"Title\":\"Tellence\",\"LocalizationCode\":null,\"ParentId\":null},{\"Value\":\"G4S\",\"Title\":\"G4S\",\"LocalizationCode\":null,\"ParentId\":null}],\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"Initial\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"Image\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null},{\"Name\":\"Notes\",\"Filterable\":true,\"Sortable\":true,\"Type\":\"String\",\"QueryFieldOptions\":null,\"LinkedQueryFieldDescriptor\":null}]}});\r\n\t\t\t\t// superagent\r\n\t\t\t\t// .get(url)\r\n\t\t\t\t// .end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tsaveCredential(credential, componentType){\r\n\t\t\tvar url = \"\";\r\n\t\t\tif(componentType == Consts.componentType.cardholder){\r\n\t\t\t\turl = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.credentials;\r\n\t\t\t}else{\r\n\t\t\t\turl = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.credentials;\r\n\t\t\t}\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.put(url, credential)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tdeleteCredential(personUri, credentialUri, componentType){\r\n\t\t\tvar url = \"\";\r\n\t\t\tif(componentType == Consts.componentType.cardholder){\r\n\t\t\t\turl = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.credentials;\r\n\t\t\t}else{\r\n\t\t\t\turl = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.credentials;\r\n\t\t\t}\r\n\r\n\t\t\treturn new Promise(resolve =>{\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.del(url)\r\n\t\t\t\t.query({personUri: personUri, credentialUri: credentialUri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadCredentialTypeMetaAndBadge(uri, componentType) {\r\n\t\t\tvar url = \"\";\r\n\t\t\tif(componentType == Consts.componentType.cardholder){\r\n\t\t\t\turl = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.credentialTypeMetaAndBadge;\r\n\t\t\t}else{\r\n\t\t\t\turl = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.credentialTypeMetaAndBadge;\r\n\t\t\t}\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadCredentialTypeMeta(uri, componentType) {\r\n\t\t\tvar url = \"\";\r\n\t\t\tif(componentType == Consts.componentType.cardholder){\r\n\t\t\t\turl = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.credentialTypeMeta;\r\n\t\t\t}else{\r\n\t\t\t\turl = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.credentialTypeMeta;\r\n\t\t\t}\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadCredentialBadge(uri, componentType) {\r\n\t\t\tvar url = \"\";\r\n\t\t\tif(componentType == Consts.componentType.cardholder){\r\n\t\t\t\turl = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.credentialBadge;\r\n\t\t\t}else{\r\n\t\t\t\turl = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.credentialBadge;\r\n\t\t\t}\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new CredentialsHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"CredentialNumber\",\r\n\t\t\t\t\"display\": \"Card.CredentialNumber\",\r\n\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"zeroToBlank\": true\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowStatus = {\r\n\t\t\t\"name\": \"belowStatusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"belowStatus\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t \"noLegend\": true,\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"SystemCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.SystemCode\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"OrganisationAssociation\",\r\n\t\t\t\t\t\t\"display\": \"Card.OrganisationAssociation\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"AgencyCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.AgencyCode\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"help\": \"IDS Code\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowSecurity = {\r\n\t \"name\": \"belowSecurityContainer\",\r\n\t \"description\": \"\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t \"fields\": [{\r\n\t \"name\": \"belowSecurity\",\r\n\t \"display\": \"\",\r\n\t \"description\": \"\",\r\n\t \"noLegend\": true,\r\n\t \"type\": \"fieldset\",\r\n\t \"fields\": [{\r\n\t \"name\": \"container\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"row\",\r\n\t \"fields\": [{\r\n\t \"name\": \"OrganisationCategory\",\r\n\t \"display\": \"Card.OrganisationCategory\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"OrganisationIdentifier\",\r\n\t \"display\": \"Card.OrganisationIdentifier\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"CredentialSeriesCode\",\r\n\t \"display\": \"Card.CredentialSeriesCode\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t \"help\": \"IDS Code\",\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t };\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t const credentialNumberOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t\t\tlensByName('CredentialNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t );\r\n\t\tconst idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n\t\t\t\tR.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(credentialNumberOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security, belowStatus, belowSecurity]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"SRSeriesCardNumber\",\r\n\t\t\t\t\"display\": \"Card.SRSeriesCardNumber\",\r\n\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"zeroToBlank\": true\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t const credentialNumberOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t\t\tlensByName('SRSeriesCardNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t );\r\n\t\tconst idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n\t\t\t\tR.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(credentialNumberOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"SRSeriesCardNumber\",\r\n\t\t\t\t\"display\": \"Card.SRSeriesCardNumber\",\r\n\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"zeroToBlank\": true\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t const credentialNumberOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t\t\tlensByName('SRSeriesCardNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t );\r\n\t\tconst idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n\t\t\t\tR.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(credentialNumberOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"UUID\",\r\n\t\t\t\t\"display\": \"Card.UUID\",\r\n\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\"hasContainer\": false\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowStatus = {\r\n\t\t\t\"name\": \"belowStatusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"belowStatus\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t \"noLegend\": true,\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"SystemCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.SystemCode\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"OrganisationAssociation\",\r\n\t\t\t\t\t\t\"display\": \"Card.OrganisationAssociation\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"AgencyCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.AgencyCode\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"help\": \"IDS Code\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowSecurity = {\r\n\t \"name\": \"belowSecurityContainer\",\r\n\t \"description\": \"\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t \"fields\": [{\r\n\t \"name\": \"belowSecurity\",\r\n\t \"display\": \"\",\r\n\t \"description\": \"\",\r\n\t \"noLegend\": true,\r\n\t \"type\": \"fieldset\",\r\n\t \"fields\": [{\r\n\t \"name\": \"container\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"row\",\r\n\t \"fields\": [{\r\n\t \"name\": \"OrganisationCategory\",\r\n\t \"display\": \"Card.OrganisationCategory\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"OrganisationIdentifier\",\r\n\t \"display\": \"Card.OrganisationIdentifier\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"CredentialSeriesCode\",\r\n\t \"display\": \"Card.CredentialSeriesCode\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t \"help\": \"IDS Code\",\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"CredentialNumber\",\r\n\t \"display\": \"Card.CredentialNumberAsCredentialNumber\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\"\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t };\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t const UUIDOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t lensByName('UUID'),\r\n\t R.lensProp('onChange')\r\n\t );\r\n\t const idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n R.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(UUIDOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security, belowStatus, belowSecurity]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"CardNumberDisplay\",\r\n\t\t\t\t\"display\": \"Card.FASC-N\",\r\n\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t \"readOnly\": true,\r\n\t \"overrideTypeMetaReadonly\": true\r\n\t\t\t},{\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowStatus = {\r\n\t\t\t\"name\": \"belowStatusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"belowStatus\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t \"noLegend\": true,\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"SystemCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.SystemCode\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"OrganisationAssociation\",\r\n\t\t\t\t\t\t\"display\": \"Card.OrganisationAssociation\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"AgencyCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.AgencyCode\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"help\": \"IDS Code\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowSecurity = {\r\n\t \"name\": \"belowSecurityContainer\",\r\n\t \"description\": \"\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t \"fields\": [{\r\n\t \"name\": \"belowSecurity\",\r\n\t \"display\": \"\",\r\n\t \"description\": \"\",\r\n\t \"noLegend\": true,\r\n\t \"type\": \"fieldset\",\r\n\t \"fields\": [{\r\n\t \"name\": \"container\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"row\",\r\n\t \"fields\": [{\r\n\t \"name\": \"OrganisationCategory\",\r\n\t \"display\": \"Card.OrganisationCategory\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"OrganisationIdentifier\",\r\n\t \"display\": \"Card.OrganisationIdentifier\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"zeroToBlank\": true,\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"CredentialSeriesCode\",\r\n\t \"display\": \"Card.CredentialSeriesCode\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t \"help\": \"IDS Code\",\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"CredentialNumber\",\r\n\t \"display\": \"Card.CredentialNumberAsCredentialNumber\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\"\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t };\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t const idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n R.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\r\n\t\t\tcardDetails = R.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime, cardDetails);\r\n\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security, belowStatus, belowSecurity]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst R = require('ramda');\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"CardNumber\",\r\n\t\t\t\t\"display\": \"Card.CardNumber\",\r\n\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"zeroToBlank\": true\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowStatus = {\r\n\t\t\t\"name\": \"belowStatusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"belowStatus\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t \"noLegend\": true,\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CredentialNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.CredentialNumberAsCredentialNumber\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t \"zeroToBlank\": true,\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"SystemCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.SystemCode\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_string_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t var belowSecurity = {\r\n\t \"name\": \"belowSecurityContainer\",\r\n\t \"description\": \"\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t \"fields\": [{\r\n\t \"name\": \"belowSecurity\",\r\n\t \"display\": \"\",\r\n\t \"description\": \"\",\r\n\t \"noLegend\": true,\r\n\t \"type\": \"fieldset\",\r\n\t \"fields\": [{\r\n\t \"name\": \"container\",\r\n\t \"type\": \"container\",\r\n\t \"groupHtmlClass\": \"row\",\r\n\t \"fields\": [{\r\n\t \"name\": \"UnitCode\",\r\n\t \"display\": \"Card.UnitCode\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }, {\r\n\t \"name\": \"AgencyCode\",\r\n\t \"display\": \"Card.AgencyCode\",\r\n\t \"type\": \"number\",\r\n\t \"hasContainer\": false,\r\n\t \"groupHtmlClass\": \"col-md-12\",\r\n\t \"validation\": [{\r\n\t \"name\": \"is_string_number\"\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t }]\r\n\t };\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t const cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t const credentialNumberOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t lensByName('CardNumber'),\r\n\t R.lensProp('onChange')\r\n\t );\r\n\t const idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n R.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(credentialNumberOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security, belowStatus, belowSecurity]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tconst consts = require('__infrastructure/Consts');\r\n\tconst moment = require('moment');\r\n\tconst _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\tconst R = require('ramda');\r\n\r\n\tvar generateCardUsageRemainingOptions = function () {\r\n\t\tvar options = [];\r\n\t\tfor (var i = -1; i < 10000; i++) {\r\n\t\t\tvar value = {\"name\": (i === -1) ? i18n.t(\"CommonForm.CardUsageRemaining_NoLimit\") : (i === 0) ? i18n.t(\"CommonForm.CardUsageRemaining_LimitReached\") : i.toString(), \"value\": i};\r\n\t\t\toptions.push(value);\r\n\t\t}\r\n\t\treturn options;\r\n\t};\r\n\r\n\r\n\tconst buildFields = params => {\r\n\t\tvar cardDetails = {\r\n\t\t\t\"name\": \"cardContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"CardNumber\",\r\n\t\t\t\t\"display\": \"Card.CardNumber\",\r\n\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"zeroToBlank\": true\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"ActiveDate\",\r\n\t\t\t\t\"display\": \"Card.ActiveDate\",\r\n\t\t\t\t\"type\": \"date\",\r\n\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t}, {\r\n\t\t\t\t\"name\": \"InactiveDateContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"InactiveDate\",\r\n\t\t\t\t\t\"display\": \"Card.InactiveDate\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"max\": new Date(moment(consts.CDateMax).format(\"MM/DD/YYYY\")),\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"validation\": ['isDateWarning']\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar status = {\r\n\t\t\t\"name\": \"statusContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"status\",\r\n\t\t\t\t\"display\": \"Card.Headers.Status\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"CardUsageRemaining\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardUsageRemaining\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"optionName\": \"name\",\r\n\t\t\t\t\t\t\"optionValue\": \"value\",\r\n\t\t\t\t\t\t\"options\": generateCardUsageRemainingOptions(),\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"ForceCardInactive\",\r\n\t\t\t\t\t\t\"display\": \"Card.ForceCardInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Lost\",\r\n\t\t\t\t\t\t\"display\": \"Card.Lost\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"TemporaryCard\",\r\n\t\t\t\t\t\t\"display\": \"Card.TemporaryCard\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tvar security = {\r\n\t\t\t\"name\": \"securityContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-6 col-xs-12 min-height-300\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"security\",\r\n\t\t\t\t\"display\": \"Card.Headers.Security\",\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"PINNumber\",\r\n\t\t\t\t\t\t\"display\": \"Card.PINNumber\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardIssueLevel\",\r\n\t\t\t\t\t\t\"display\": \"Card.CardIssueLevel\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"IDSCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.IDSCode\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"is_password_number\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"FacilityCustomerCode\",\r\n\t\t\t\t\t\t\"display\": \"Card.FacilityCustomerCode\",\r\n\t\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\t\"withoutClear\": true,\r\n\t\t\t\t\t\t\"optionName\": \"CustomerCodeNumber\",\r\n\t\t\t\t\t\t\"optionValue\": \"CustomerCodeNumber\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\t\t\t\"validation\": [{\r\n\t\t\t\t\t\t\t\"name\": \"oneOf\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\tconst lensMatching = pred => (toF => entities => { // eslint-disable-line no-wrap-func\r\n\t const index = R.findIndex(pred, entities);\r\n\t return R.map(entity => R.update(index, entity, entities),\r\n\t toF(entities[index]));\r\n\t\t});\r\n\r\n\t\tconst lensByName = R.compose(lensMatching, R.propEq('name'));\r\n\r\n\t\tconst securitySelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('security'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst statusSelector = R.compose(\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('status'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('container'),\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst cardDetailsSelector = R.compose(\r\n\t\t\tR.lensProp('fields')\r\n\t\t);\r\n\r\n\t\tconst pinOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst pinNumberTypeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('PINNumber'),\r\n\t\t\tR.lensProp('type')\r\n\t\t);\r\n\r\n\t\tconst cardUsageOnChangeSelector = R.compose(\r\n\t\t\tstatusSelector,\r\n\t\t\tlensByName('CardUsageRemaining'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst facilityOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('FacilityCustomerCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst idsCodeOnClickSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onClick')\r\n\t\t);\r\n\r\n\t\tconst facilityCustomerCodesSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('FacilityCustomerCode'),\r\n\t\t\tR.lensProp('options')\r\n\t\t);\r\n\r\n\t\tconst credentialNumberOnChangeSelector = R.compose(\r\n\t cardDetailsSelector,\r\n\t\t\tlensByName('CardNumber'),\r\n\t\t\tR.lensProp('onChange')\r\n\t );\r\n\t\tconst idsCodeOnChangeSelector = R.compose(\r\n\t\t\tsecuritySelector,\r\n\t\t\tlensByName('IDSCode'),\r\n\t\t\tR.lensProp('onChange')\r\n\t\t);\r\n\r\n\t\tconst inactiveDateSelectorDefaultTime = R.compose(\r\n\t\t\tcardDetailsSelector,\r\n\t\t\tlensByName('InactiveDateContainer'),\r\n\t\t\tR.lensProp('fields'),\r\n\t\t\tlensByName('InactiveDate'),\r\n\t\t\tR.lensProp('defaultTime')\r\n\t\t);\r\n\t\t//\r\n\t\tif (!R.isEmpty(params)) {\r\n\t\t\tconst warningOnModify = params.CardDetails.onChange;\r\n\t\t\tconst onClick = params.CardDetails.onClick;\r\n\t\t\tconst inactiveDefaultTime = params.CardDetails.inactiveDefaultTime;\r\n\t\t\tstatus = R.set(cardUsageOnChangeSelector, warningOnModify, status);\r\n\t\t\tsecurity = R.compose(\r\n\t\t\t\tR.set(pinOnChangeSelector, warningOnModify),\r\n\t\t\t\t//R.set(facilityOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(pinNumberTypeSelector, params.CardDetails.pinNumberType),\r\n\t\t\t\tR.set(facilityCustomerCodesSelector, params.CardDetails.facilityCustomerCodes),\r\n\t\t\t\tR.set(idsCodeOnClickSelector, onClick),\r\n\t\t\t\tR.set(idsCodeOnChangeSelector, warningOnModify)\r\n\t\t\t)(security);\r\n\t\t\tcardDetails = R.compose(\r\n\t\t\t\tR.set(credentialNumberOnChangeSelector, warningOnModify),\r\n\t\t\t\tR.set(inactiveDateSelectorDefaultTime, inactiveDefaultTime)\r\n\t\t\t)(cardDetails);\r\n\t\t\tvar facilityCustomerCodesField = _.find(security.fields[0].fields[0].fields, function(o) {return o.name === \"FacilityCustomerCode\"; });\r\n\r\n\t\t\tvar oneOf = _.find(facilityCustomerCodesField.validation, function(o) {\r\n\t\t\t\tvar type = Object.prototype.toString.call(o);\r\n\t\t\t\tif (type === \"[object Object]\") {\r\n\t\t\t\t\treturn o.name === \"oneOf\";\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (oneOf !== undefined) {\r\n\t\t\t\toneOf.value = _.pluck(params.CardDetails.facilityCustomerCodes, \"CustomerCodeNumber\");\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn [{\r\n\t\t\t\"name\": \"cardDetails\",\r\n\t\t\t\"display\": \"Credential.tabs.cardDetails.title\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"fields\": [cardDetails, status, security]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar FormField = require('__components/common/forms/FormField');\r\n\r\n\tvar customAttributeType = {\r\n\t\tList: \"List\",\r\n\t\tEditableList: \"EditableList\",\r\n\t\tFreeFormat: \"FreeFormat\",\r\n\t\tExpiryDate: \"ExpiryDate\"\r\n\t};\r\n\r\n\tvar CustomAttributeField = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\tgetCustomCurrentValue() {\r\n\t\t\tvar currentValue = this.refs[this.props.field.ref].getCurrentValue();\r\n\t\t\treturn currentValue;\r\n\t\t},\r\n\t\tgetInitialState(){\r\n\t\t\tvar {customAttribute, customAttributeIdentifier, value, readOnly} = this.props.field;\r\n\t\t\tvar fieldValue;\r\n\t\t\tif (value !== undefined){\r\n\t\t\t\tfieldValue = value;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (customAttribute !== undefined){\r\n\t\t\t\t\tfieldValue = customAttribute.Value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tmodel: this.state ? this.state.model : value,\r\n\t\t\t\tcustomAttributeIdentifier: customAttributeIdentifier,\r\n\t\t\t\treadOnly: readOnly,\r\n\t\t\t\tfieldValue: fieldValue,\r\n\t\t\t\tcustomAttribute: customAttribute\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tvar {customAttribute, value, readOnly} = nextProps.field;\r\n\t\t\tvar fieldValue;\r\n\t\t\tif (value !== undefined){\r\n\t\t\t\tfieldValue = value;\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tif (customAttribute !== undefined){\r\n\t\t\t\t\tfieldValue = customAttribute.Value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.setState({customAttribute: nextProps.field.customAttribute, fieldValue: fieldValue, readOnly: readOnly});\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {fieldValue} = this.state;\r\n\r\n\t\t\tvar field = this.props.field;\r\n\t\t\t//var copyField = _.cloneDeep(field);\r\n\t\t\tvar copyField = field;\r\n\t\t\tif (this.state.readOnly) {\r\n\t\t\t\tcopyField.readOnly = true;\r\n\t\t\t}\r\n\t\t\tcopyField.value = fieldValue;\r\n\t\t\tthis.customAttributesFactory(copyField, this.state.customAttribute);\r\n\r\n\t\t\treturn ();\r\n\t\t},\r\n\t\tcustomAttributesFactory(field, customAttribute){\r\n\t\t\tswitch (customAttribute.Type.EntryType) {\r\n\t\t\t\t\tcase customAttributeType.List:\r\n\t\t\t\t\t\t//return this.customAttributesField(field, field.Type.MaskType, \"select2\", field.Mandatory, field.Type.Mask, field.Type.List);\r\n\t\t\t\t\t\treturn this.customAttributesField(field, \"select2\", customAttribute.Type.List);\r\n\t\t\t\t\tcase customAttributeType.EditableList:\r\n\t\t\t\t\t\treturn this.customAttributesField(field, \"combobox\", customAttribute.Type.List);\r\n\t\t\t\t\tcase customAttributeType.FreeFormat:\r\n\t\t\t\t\tcase customAttributeType.ExpiryDate:\r\n\t\t\t\t\t\treturn this.customAttributesField(field, \"text\", undefined);\r\n\t\t\t\t\t// case customAttributeType.ExpiryDate:\r\n\t\t\t\t\t// \t//field.Value = field.Value === \"\" ? undefined : new Date(moment.unix(field.Value).format(field.Type.Mask));\r\n\t\t\t\t\t// \tfield.Value = field.Value === \"\" ? undefined : new Date(field.Value);\r\n\t\t\t\t\t// \treturn this.customAttributesField(field.Type.Identifier, field.Value, field.Type.Identifier, \"date\", field.Mandatory, field.Type.Mask, undefined);\r\n\t\t\t\t}\r\n\t\t},\r\n\t\tcustomAttributesField(field, type, list){\r\n\t\t\tfield.originalName = field.name;\r\n\t\t\tfield.type = type;\r\n\t\t\tfield.options = list !== undefined ? list : [];\r\n\t\t\treturn field;\r\n\t\t}\r\n\t});\r\n\tmodule.exports = CustomAttributeField;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar AuthStore = require('__stores/AuthStore');\r\n\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar approvingOfficial = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"approvingOfficial\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"approvingOfficialContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"ApprovingOfficial\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.ApprovingOfficial\",\r\n\t\t\t\t\t\"optionName\": \"Name.FormattedName\",\r\n\t\t\t\t\t\"optionValue\": \"$uri\",\r\n\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t\tvar customAttributeFields = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"customAttributeFields\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"customAttributeFieldsContainer\",\r\n\t\t\t\t\"type\": \"container\"\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t var personIdentifier = JSON.parse(JSON.stringify({\r\n\t\t \"name\": \"personIdentifierContainer\",\r\n\t\t \"description\": \"\",\r\n\t\t \"type\": \"container\",\r\n\t\t \"groupHtmlClass\": \"col-md-12\",\r\n\t\t \"fields\": [{\r\n\t\t\t \"name\": \"container\",\r\n\t\t\t \"type\": \"container\",\r\n\t\t\t \"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t \"fields\": [{\r\n\t\t\t\t \"name\": \"PersonIdentifier\",\r\n\t\t\t\t \"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.PersonIdentifier\",\r\n\t\t\t\t \"type\": \"number\",\r\n\t\t\t\t \"hasContainer\": false,\r\n\t\t\t\t \"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t }]\r\n\t\t }]\r\n\t}));\r\n\r\n\t\tvar badgeFormatList = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"badgeFormatList\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"badgeFormatListContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"BadgeFormat\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.BadgeFormatList\",\r\n\t\t\t\t\t\"optionName\": \"Name\",\r\n\t\t\t\t\t\"optionValue\": \"$uri\",\r\n\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\r\n\t\t//\"value\": selectedRole\r\n\t\t//\"onChange\": this.selectRole,\r\n\t\t//\"options\": this.state.roles,\r\n\t\tvar approvingOficialField = _.find(approvingOfficial.fields[0].fields, function(o) {return o.name === \"ApprovingOfficial\"; });\r\n\t\tapprovingOficialField.options = params.ApprovingOfficial.options;\r\n\t\tvar badgeFormatListField = _.find(badgeFormatList.fields[0].fields, function(o) {return o.name === \"BadgeFormat\"; });\r\n\t\tbadgeFormatListField.options = params.BadgeFormatList.options;\r\n\t\tbadgeFormatListField.handleFieldChange = params.BadgeFormatList.onChange;\r\n\t\tbadgeFormatListField.readOnly = params.BadgeFormatList.readOnly;\r\n\r\n\t\tvar isHSE = AuthStore.getState().systemDetails.SystemType === \"HSE\";\r\n\t\tfor (var i = params.CustomAttributes.fields.length - 1; i >= 0; i--) {\r\n\t\t\tparams.CustomAttributes.fields[i].groupHtmlClass = \"no-gutter row\";\r\n\t\t\tparams.CustomAttributes.fields[i].hasContainer = false;\r\n\t\t\tparams.CustomAttributes.fields[i].typeMetaFieldName = \"CustomAttributes\"; //used for permissions when typeMeta has other name than the field.name\r\n\t\t}\r\n\t\tcustomAttributeFields.fields[0].fields = params.CustomAttributes.fields;\r\n\t\tvar fields = [\r\n\t\t\tapprovingOfficial,\r\n\t\t\tcustomAttributeFields,\r\n\t\t\tbadgeFormatList];\r\n\t\tif(isHSE){\r\n\t\t\tfields.splice(2,0,personIdentifier);\r\n\t\t}\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"belowName\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"fields\": fields\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar activityHistoryContainer = {\r\n\t\t\"name\": \"activityHistoryTable\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t};\r\n\r\n\tvar buildFields = function(activityHistoryComponent) {\r\n\t\tactivityHistoryContainer.type = activityHistoryComponent.componentToLoad;\r\n\t\tactivityHistoryContainer.rows = activityHistoryComponent.rows;\r\n\t\tactivityHistoryContainer.columns = activityHistoryComponent.columns;\r\n\t\tactivityHistoryContainer.title = activityHistoryComponent.title;\r\n\t\tactivityHistoryContainer.noDataText = activityHistoryComponent.noDataText;\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"activityHistoryContainer\",\r\n\t\t\t\"display\": \"Visitor.tabs.locator.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"visible\": activityHistoryComponent.visible,\r\n\t\t\t\"fields\": [activityHistoryContainer]\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n\r\n})();\r\n","(function() {\r\n 'use strict';\r\n var React = require('react');\r\n var _ = require('lodash');\r\n var i18n = require('i18next-client');\r\n var QueryUtils = require('__infrastructure/QueryUtils');\r\n var QueryViewManager = require('__components/common/query/queryView/QueryViewManager');\r\n var QueryStore = require('__stores/QueryStore');\r\n var QueryActions = require('__actions/QueryActions');\r\n var FilterManager = require('__components/common/query/queryFilter/FilterManager');\r\n var Select = require('__components/common/Select');\r\n var ReactSelect = require('react-select');\r\n var Loading = require('__components/common/Loading');\r\n var reactBootstrap = require('react-bootstrap');\r\n var Util = require('__infrastructure/Util');\r\n var ViewFilter = require('__components/common/multiview/ViewFilter');\r\n var Button = reactBootstrap.Button;\r\n var Input = reactBootstrap.Input;\r\n var Breadcrumb = reactBootstrap.Breadcrumb;\r\n var BreadcrumbItem = reactBootstrap.BreadcrumbItem;\r\n var Modal = require('react-bootstrap/lib/Modal');\r\n var AppStore = require('__stores/AppStore');\r\n var UserProfileStore = require('__stores/UserProfileStore');\r\n var Consts = require('__infrastructure/Consts');\r\n var MessageActions = require('__containers/Notifications/actions').default;\r\n var CompaniesStore = require('__stores/CompaniesStore');\r\n var R = require('ramda');\r\n var { withRouter } = require('react-router-dom');\r\n var { parseQuery } = require('__infrastructure/queryHelper');\r\n var dateHelper = require('__infrastructure/dateHelper');\r\n\r\n var Query = React.createClass({\r\n componentWillMount() {\r\n QueryStore.listen(this.onChangeQueryStore);\r\n CompaniesStore.listen(this.onChangeCompaniesStore);\r\n setTimeout(() => {\r\n QueryActions.loadAvailableQueries(this.props.dataDescriptor.SourceTypeName);\r\n }, 0);\r\n },\r\n componentWillUnmount() {\r\n QueryStore.unlisten(this.onChangeQueryStore);\r\n CompaniesStore.unlisten(this.onChangeCompaniesStore);\r\n },\r\n onChangeCompaniesStore(store) {\r\n if ((this.props.router.location.pathname === Consts.PathRoutes.CardHolders ||\r\n this.props.router.location.pathname === Consts.PathRoutes.Visits)\r\n ) {\r\n // this.setState((prevState, nextProps) => ({\r\n // query: R.merge(prevState.query, {Company: CompaniesStore.state.selectedCompany})\r\n // }));\r\n //this.state.query.Id = undefined;\r\n //this.setCurrentQuery();\r\n const { query } = this.state;\r\n if (query) {\r\n this.setState({\r\n query: R.merge(query, { company: store.selectedCompany.$uri })\r\n })\r\n if (!this.props.viewIsNotConfigured) {\r\n setTimeout(() => { this.applyFilter(); }, 0);\r\n }\r\n }\r\n //setTimeout(() => { this.props.applyAction(this.state.query); }, 0);\r\n }\r\n },\r\n onChangeQueryStore(store) {\r\n if (!this.state.queries) {\r\n this.setState({\r\n queries: store.queries[this.props.dataDescriptor.SourceTypeName]\r\n });\r\n } else {\r\n var queries = store.queries[this.props.dataDescriptor.SourceTypeName];\r\n if (queries.length > this.state.queries.length) {\r\n this.setState({queries: queries});\r\n this.activateQuery(queries[queries.length - 1].Id.toString());\r\n } else {\r\n this.setState({queries: queries});\r\n }\r\n\r\n }\r\n },\r\n getInitialState() {\r\n return {\r\n defaultPageSize: this.props.defaultPageSize,\r\n edit: false,\r\n open: this.props.filtersOpen, activeBredcrumb: 'Filters',\r\n query: {},\r\n };\r\n },\r\n componentWillReceiveProps(nextProps) {\r\n this.setState({\r\n open: this.state.open\r\n ? true\r\n : nextProps.filtersOpen,\r\n defaultPageSize: nextProps.defaultPageSize\r\n });\r\n },\r\n onChangeSelected({ value }) {\r\n this.activateQuery(value);\r\n },\r\n setBreadcrumb(breadcrumb) {\r\n this.setState({activeBredcrumb: breadcrumb, open: true});\r\n },\r\n renderBreadCrumbs() {\r\n return (\r\n \r\n \r\n {i18n.t(\"query.tabs.filters\")}\r\n \r\n \r\n {i18n.t(\"query.tabs.view\")}\r\n \r\n \r\n );\r\n },\r\n renderFilterManager() {\r\n if (this.state.activeBredcrumb === 'Filters') {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n },\r\n renderQueryViewManager() {\r\n var {activeBredcrumb, query} = this.state;\r\n if (activeBredcrumb === 'View') {\r\n query.Query.view = query.Query.view || {};\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n },\r\n renderQuerySettings() {\r\n return (\r\n \r\n \r\n {i18n.t('query.ConfirmQueryData')}\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 renderToolBar() {\r\n var faIcon = \"fa \" + (!this.state.edit\r\n ? 'fa-file '\r\n : 'fa-edit');\r\n return (\r\n
    \r\n

    {this.renderBreadCrumbs()}

    \r\n
    \r\n {(this.state.query.Id && this.state.query.Id !== 'none' && this.state.edit === false)\r\n ? \r\n : ''}\r\n {' '}\r\n {(this.state.query.Id && this.state.query.Id != 'none' && this.state.edit === false)\r\n ? \r\n : ''}\r\n {!this.state.query.Id && !this.state.edit\r\n ? \r\n : ''}\r\n {this.state.edit\r\n ? \r\n : ''}{' '}\r\n {' '} {this.state.edit\r\n ? \r\n : ''}\r\n
    \r\n
    \r\n );\r\n },\r\n setCurrentQuery() {\r\n var dataDescriptor = this.props.dataDescriptor;\r\n var queryValueNotParsed = parseQuery(this.props.location.search);\r\n var query = R.isEmpty(queryValueNotParsed) ? {} : JSON.parse(queryValueNotParsed.query);\r\n var queryId = R.isEmpty(query) ? null : parseInt(query.queryId);\r\n var queryString = query ? JSON.stringify(query) : null;\r\n if (this.state.edit && queryString !== this.state.queryString) {\r\n setTimeout(() => {\r\n this.setState({edit: false, showConfirmSave: false});\r\n });\r\n }\r\n if (queryString === this.state.queryString) {\r\n return;\r\n }\r\n if (queryId) {\r\n if ((this.state.query && this.state.query.Id !== queryId) || !this.state.query) {\r\n this.state.query = QueryStore.getQuery(this.props.dataDescriptor.SourceTypeName, queryId);\r\n this.applyAction();\r\n }\r\n if (Object.keys(this.state.query).length === 0) {\r\n setTimeout(() => {\r\n this.props.history.push({\r\n pathname: this.props.location.path,\r\n search: '',\r\n state: {}\r\n });\r\n }, 0);\r\n }\r\n } else {\r\n //NOTE: default view when is not defined\r\n var defaultView = {\r\n columns: []\r\n };\r\n var viewableColumns = _.filter(dataDescriptor.Fields, (f) => {\r\n return f.Viewable === true && f.defaultViewable === true;\r\n });\r\n viewableColumns = _.sortBy(viewableColumns, function(f) {\r\n return f.field_type !== Consts.fieldTypes.image;\r\n });\r\n viewableColumns = _.sortBy(viewableColumns, function(f) {\r\n return f.defaultOrderNr;\r\n });\r\n defaultView.columns = _.map(viewableColumns, (f) => {\r\n return {\r\n name: f.name,\r\n localizationKey: dataDescriptor.SourceTypeName + \".\" + f.name,\r\n display: f.name,\r\n ApiFilterName: f.ApiFilterName,\r\n filter: f.Filterable,\r\n sort: f.Sortable,\r\n field_type: (f.field_type === Consts.fieldTypes.datetime)\r\n ? Consts.fieldTypes.prettydate\r\n : f.field_type,\r\n params: f.params,\r\n to: f.to,\r\n buildRoute: f.buildRoute,\r\n clicked: f.clicked\r\n };\r\n });\r\n if (R.isEmpty(query)) {\r\n var queryID = QueryStore.getDefaultQueryId(this.props.dataDescriptor.SourceTypeName);\r\n if (queryID !== undefined && !this.state.noneSelected) {\r\n setTimeout(() => {\r\n this.activateQuery(queryID);\r\n }, 0);\r\n } else {\r\n this.state.query = {\r\n Query: {\r\n view: defaultView\r\n },\r\n Id: 'none'\r\n };\r\n }\r\n\r\n } else {\r\n this.state.query = query;\r\n if (!this.state.query.Query.view) {\r\n this.state.query.Query.view = defaultView;\r\n }\r\n }\r\n }\r\n this.state.query.Query = QueryUtils.getQueryObject(this.state.query.Query);\r\n this.state.query.PageSize = !this.state.query.PageSize\r\n ? this.state.defaultPageSize\r\n : this.state.query.PageSize;\r\n this.state.query.company = CompaniesStore.state.selectedCompany.$uri;\r\n this.state.queryString = queryString;\r\n var hasDisplayColumns = this.state.query.display !== undefined && this.state.query.display.length !== 0;\r\n var hasQueryColumns = this.state.query.Query.view.columns !== undefined && this.state.query.Query.view.columns.length !== 0;\r\n this.props.processViewChange(this.state.query.Query.view);\r\n },\r\n applyAction() {\r\n var hasDisplayColumns = this.state.query.display !== undefined && this.state.query.display.length !== 0;\r\n var hasQueryColumns = this.state.query.Query.view.columns !== undefined && this.state.query.Query.view.columns.length !== 0;\r\n if (hasDisplayColumns || hasQueryColumns) {\r\n setTimeout(() => {\r\n this.props.applyAction(this.state.query);\r\n }, 0);\r\n }\r\n },\r\n render() {\r\n if (this.state.queries === undefined) {\r\n return ();\r\n }\r\n this.setCurrentQuery();\r\n if ((this.state.query.Query.view.columns === undefined || this.state.query.Query.view.columns.length === 0) && this.props.selectedColumns !== undefined) {\r\n this.state.query.Query.view.columns = this.props.selectedColumns;\r\n }\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {this.renderPredefinedViewSelected()}\r\n {this.state.queries\r\n ? (\r\n ({\r\n value: query.Id,\r\n label: query.IsPredefined ? i18n.t(query.Title) : query.Title,\r\n disabled: this.state.query.Id === query.Id\r\n })))}\r\n />\r\n )\r\n : ''}\r\n
    \r\n
    \r\n {(this.props.columns && this.props.columns.length > 0)\r\n ? \r\n : ''\r\n}\r\n
    \r\n
    \r\n {this.state.open && this.state.query.IsPredefined !== true\r\n ?
    \r\n
    \r\n
    \r\n
    \r\n {this.renderToolBar()}\r\n
    \r\n
    \r\n {this.renderFilterManager()}\r\n {this.renderQueryViewManager()}\r\n {this.renderQuerySettings()}\r\n
    \r\n
    \r\n
    \r\n :\r\n
    \r\n : null\r\n}\r\n
    \r\n \r\n \r\n {i18n.t('query.ConfirmDeleteQuery')}\r\n \r\n \r\n
    \r\n
    \r\n

    {i18n.t('query.deleteMessage') + ' ' + this.state.query.Title + ' ?'}\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 renderPredefinedViewSelected() {\r\n if (this.state.query !== undefined && this.state.query.IsPredefined) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    {\r\n this.setState({\r\n open: !this.state.open\r\n });\r\n this.props.invalidateFiltersOpen();\r\n }}>\r\n \r\n \r\n \r\n
    \r\n );\r\n }\r\n },\r\n closeConfirmDeleteDialog() {\r\n this.setState({showConfirmDelete: false});\r\n },\r\n showConfirmDelete() {\r\n this.setState({showConfirmDelete: true});\r\n\r\n },\r\n handleChange() {\r\n this.state.query.Title = this.refs.queryName.getValue();\r\n this.state.query.IsPublic = this.refs.isPublic.getChecked();\r\n this.state.query.IsDefault = this.refs.isDefault.getChecked();\r\n this.state.query.PageSize = this.refs.pageSize.getValue();\r\n this.setState({query: this.state.query});\r\n },\r\n handleCompanyChange(company) {\r\n this.state.query.Company = company;\r\n },\r\n activateQuery(id) {\r\n var query = {\r\n queryId: id\r\n };\r\n if (id === \"none\") {\r\n query = null;\r\n }\r\n this.state.query = QueryStore.getQuery(this.props.dataDescriptor.SourceTypeName, id);\r\n this.state.query.Query = QueryUtils.getQueryObject(this.state.query.Query);\r\n this.props.history.push({\r\n pathname: this.props.router.location.pathname,\r\n search: query ? 'query=' + encodeURIComponent(JSON.stringify(query)) : '',\r\n state: {}\r\n });\r\n this.state.query.Id = id;\r\n //if (id !== \"none\") {\r\n this.props.applyAction(this.state.query);\r\n //}\r\n this.setState({\r\n edit: false,\r\n activeBredcrumb: this.state.activeBredcrumb || 'Filters',\r\n noneSelected: id === \"none\"\r\n });\r\n },\r\n applyFilter() {\r\n this.state.query.company = CompaniesStore.state.selectedCompany.$uri;\r\n if (this.state.edit) {\r\n this.props.applyAction(this.state.query);\r\n } else {\r\n this.state.query.Id = undefined;\r\n this.state.query.IsPublic = undefined;\r\n this.state.query.Title = undefined;\r\n this.state.query.IsDefault = undefined;\r\n this.state.query.PageSize = this.state.defaultPageSize;\r\n this.state.open = false;\r\n //this.state.open = false;\r\n var filters = this.state.query.Query ? this.state.query.Query.filters : [];\r\n var view = this.state.query.Query.view;\r\n var uriQuery = {\r\n filters: [],\r\n view: {\r\n columns: [],\r\n sortBy: view.sortBy,\r\n groupBy: view.groupBy\r\n },\r\n pageSize: this.state.query.PageSize,\r\n company: this.state.query.company\r\n };\r\n //var uriQuery = {filters: [], pageSize: this.state.query.PageSize};\r\n _.map(filters, (f) => {\r\n var field = {\r\n name: f.field.name,\r\n ApiFilterName: f.field.ApiFilterName,\r\n field_type: f.field.field_type,\r\n filter:f.field.filter\r\n };\r\n if (f.field.field_type === Consts.fieldTypes.datetime) {\r\n _.map(f.conditions, (c) => {\r\n c.value = dateHelper.toServerFormat(c.value);\r\n });\r\n }\r\n uriQuery.filters.push({field: field, conditions: f.conditions, guid: f.guid});\r\n });\r\n /*NOTE: uncomment*/\r\n _.map(view.columns, (c) => {\r\n uriQuery.view.columns.push({\r\n name: c.name,\r\n display: c.display,\r\n localizationKey: c.localizationKey,\r\n field_type: (c.field_type === Consts.fieldTypes.datetime)\r\n ? Consts.fieldTypes.prettydate\r\n : c.field_type,\r\n ApiFilterName: c.ApiFilterName,\r\n to: c.to,\r\n params: c.params,\r\n buildRoute: c.buildRoute,\r\n filter:c.filter\r\n });\r\n });\r\n var query = {\r\n query: JSON.stringify({Query: uriQuery, PageSize: this.state.defaultPageSize})\r\n };\r\n\r\n var newPath = this.props.router.location.pathname + (query ? JSON.stringify(query) : '');\r\n var oldPath = this.props.router.location.pathname + (this.props.location.search ? JSON.stringify(this.props.location.search) : '');\r\n if (oldPath !== newPath) {\r\n this.props.history.push({\r\n pathname: this.props.router.location.pathname,\r\n search: 'query=' + encodeURIComponent(query.query),\r\n state: {}\r\n });\r\n this.props.applyAction(this.state.query);\r\n } else {\r\n this.setState({open: false});\r\n }\r\n }\r\n this.props.invalidateFiltersOpen();\r\n },\r\n applyOnEnter(event) {\r\n if (event.keyCode == 13 || event.charCode == 13) {\r\n event.preventDefault();\r\n this.applyFilter();\r\n }\r\n },\r\n save() {\r\n let isOk = true;\r\n for (var i = 0; i < this.state.query.Query.filters.length; i++) {\r\n let f = this.state.query.Query.filters[i].getValue().split(':');\r\n if (f[f.length - 1] === 'undefined' || f[f.length - 1] === '') {\r\n isOk = false;\r\n break;\r\n }\r\n }\r\n if (isOk) {\r\n this.setState({showConfirmSave: true});\r\n } else\r\n {\r\n MessageActions.addNotification({\r\n type: 'error',\r\n message: 'query.completeAllFilterConditions',\r\n });\r\n }\r\n },\r\n confirmSave() {\r\n if (this.state.query.Title === undefined || this.state.query.Title == ''){\r\n this.state.titleValidation = true;\r\n this.setState({});\r\n return;\r\n }\r\n\r\n if (_.filter(this.state.queries, (o) => o.Title === this.state.query.Title && o.Id !== this.state.query.Id).length > 0) {\r\n this.state.query.duplicateName = true;\r\n this.setState({});\r\n return;\r\n }\r\n this.state.titleValidation = false;\r\n this.state.query.duplicateName = false;\r\n this.state.query.SourceTypeName = this.state.query.SourceTypeName || this.props.dataDescriptor.SourceTypeName;\r\n QueryActions.saveQuery(this.state.query);\r\n this.setState({edit: false, showConfirmSave: false});\r\n },\r\n edit() {\r\n this.setState({edit: true});\r\n },\r\n closeSaveConfirmDialog() {\r\n this.setState({showConfirmSave: false, titleValidation: false});\r\n },\r\n cancelEdit() {\r\n if (this.state.query.Id) {\r\n this.setState({edit: false, showConfirmSave: false});\r\n this.state.query = QueryStore.getQuery(this.props.dataDescriptor.SourceTypeName, this.state.query.Id);\r\n this.state.query.Query = QueryUtils.getQueryObject(this.state.query.Query);\r\n } else {\r\n this.setState({edit: false, showConfirmSave: false});\r\n }\r\n this.props.applyAction(this.state.query);\r\n },\r\n deleteQuery() {\r\n QueryActions.deleteQuery(this.state.query);\r\n this.props.history.pushState({\r\n pathname: this.props.router.location.pathname,\r\n search: '',\r\n state: {}\r\n });\r\n this.setState({showConfirmDelete: false});\r\n },\r\n addNewFilter(field) {\r\n field = JSON.parse(JSON.stringify(field));\r\n var filter = QueryUtils.getFilterObj(field);\r\n filter.guid = Util.generateGuid();\r\n this.state.query.Query.filters.push(filter);\r\n this.setState({query: this.state.query});\r\n },\r\n removeFilter(filter) {\r\n const filters = this.state.query.Query.filters;\r\n // var index = _.findLastIndex(filters, {guid: filter.guid});\r\n // if (index >= 0) {\r\n // filters.splice(index, 1);\r\n // this.setState({query: this.state.query});\r\n // }\r\n const newState = R.assocPath(\r\n ['query', 'Query', 'filters'],\r\n filters.filter(f => f.guid !== filter.guid),\r\n this.state\r\n );\r\n\r\n this.setState(newState);\r\n },\r\n updateFilter(filter) {\r\n var filters = this.state.query.Query.filters;\r\n var index = _.findLastIndex(filters, {guid: filter.guid});\r\n if (index >= 0) {\r\n filters[index] = _.extend({}, filter);\r\n this.setState({query: this.state.query});\r\n }\r\n },\r\n processViewChange(view) {\r\n this.state.query.Query.view = view;\r\n this.setState({query: this.state.query});\r\n this.props.processViewChange(view);\r\n }\r\n });\r\n\r\n module.exports = withRouter(Query);\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar _ = require('lodash');\r\n\tvar React = require('react');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar SelectList = require('./SelectList');\r\n\tvar SortQuery = require('./SortQuery');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Collapse = reactBootstrap.Collapse;\r\n\tvar i18n = require('i18next-client');\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar Select = require('__components/common/Select');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar R = require('ramda');\r\n\tvar GroupByQuery = require('./GroupByQuery');\r\n\r\n\t//value={this.props.query.view.groupBy}\r\n\tvar QueryViewManager = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar state = {};\r\n\t\t\tstate.view = this.props.view;\r\n\t\t\tstate.view.groupBy = state.view.groupBy || 'No group';\r\n\t\t\tstate.columnsSelected = _.extend([], this.props.view.columns);\r\n\t\t\tstate.selectedIndexes = {\r\n\t\t\t\tleft: [],\r\n\t\t\t\tright: []\r\n\t\t\t};\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tthis.setState({view: nextProps.view, columnsSelected: _.extend([], nextProps.view.columns)});\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar descriptor = this.props.descriptor;\r\n\t\t\tvar sourceTypeName = descriptor.SourceTypeName;\r\n\t\t\tvar allFields = descriptor.Fields.slice();\r\n\t\t\t_.map(allFields, (f) => {\r\n\t\t\t\tf.localizationKey = sourceTypeName + \".\" + f.name;\r\n\t\t\t});\r\n\t\t\t//NOTE: filter only viewable\r\n\t\t\tvar fields = _.filter(allFields, (f) => {\r\n\t\t\t\treturn f.Viewable === true;\r\n\t\t\t});\r\n\t\t\t//get Name of fields\r\n\t\t\tvar fieldsIndexes = fields.map(f => {\r\n\t\t\t\treturn f.name;\r\n\t\t\t});\r\n\r\n\t\t\t//get Name of columns selected\r\n\t\t\tvar columnsSelectedIndexes = this.state.columnsSelected.map(col => {\r\n\t\t\t\treturn col.name;\r\n\t\t\t});\r\n\r\n\t\t\t//get difference of Name left - right\r\n\t\t\tvar diff = _.difference(fieldsIndexes, columnsSelectedIndexes);\r\n\t\t\t//get values of difference Name\r\n\t\t\tvar columns = [];\r\n\t\t\tcolumns.length = 0;\r\n\t\t\tfor (var i = 0; i < diff.length; i++) {\r\n\t\t\t\tvar col = _.findWhere(fields, {name: diff[i]});\r\n\t\t\t\tcolumns.push({\r\n\t\t\t\t\tname: col.name,\r\n\t\t\t\t\tlocalizationKey: sourceTypeName + \".\" + col.name,\r\n\t\t\t\t\tdisplay: col.name,\r\n\t\t\t\t\tfilter: col.Filterable,\r\n\t\t\t\t\tsort: col.Sortable,\r\n\t\t\t\t\tfield_type: (col.field_type === Consts.fieldTypes.datetime)\r\n\t\t\t\t\t\t? Consts.fieldTypes.prettydate\r\n\t\t\t\t\t\t: col.field_type,\r\n\t\t\t\t\tto: col.to,\r\n\t\t\t\t\tparams: col.params,\r\n\t\t\t\t\tbuildRoute: col.buildRoute,\r\n\t\t\t\t\tApiFilterName: col.ApiFilterName\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\r\n\t\t\t\t\t\r\n\r\n\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\t
    \r\n\t\t\t\t\t\t\t\t\t\t{i18n.t(\"query.columns.available\")}\r\n\t\t\t\t\t\t\t\t\t
    \r\n\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\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\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\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\t
    \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\t\t{i18n.t(\"query.columns.selected\")}\r\n\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{' '}\r\n\t\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\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tprocessViewChange() {\r\n\t\t\tthis.props.processViewChange({columns: this.state.columnsSelected, groupBy: this.state.view.groupBy, sortBy: this.state.view.sortBy});\r\n\t\t},\r\n\r\n\t\tswapMultiplePositions(list, selectedIndexes, position) {\r\n\t\t\t// ensure selectedIndexes are integers\r\n\t\t\tconst selectedIndexesAsNumbers = selectedIndexes.map(o => Number(o));\r\n\t\t\tconst itemsToMove = list.filter((o, i) => R.indexOf(i, selectedIndexesAsNumbers) > -1);\r\n\t\t\tconst itemsNotSelected = list.filter((o, i) => R.indexOf(i, selectedIndexesAsNumbers) === -1);\r\n\t\t\treturn R.insertAll(position === 'last' ? itemsNotSelected.length : position, itemsToMove, itemsNotSelected);\r\n\t\t},\r\n\r\n\t\tmoveToTop() {\r\n\t\t\tif (this.state.selectedIndexes.right[0] === 0) {\r\n\t\t\t\tthis.state.selectedIndexes.right.splice(this.state.selectedIndexes.right[0], 1);\r\n\t\t\t}\r\n\r\n\t\t\tthis.state.columnsSelected = this.swapMultiplePositions(\r\n\t\t\t\tthis.state.columnsSelected,\r\n\t\t\t\tthis.state.selectedIndexes.right,\r\n\t\t\t\t0\r\n\t\t\t);\r\n\t\t\tthis.state.selectedIndexes.right = R.times(R.identity, this.state.selectedIndexes.right.length);\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\r\n\t\tmoveToBottom() {\r\n\t\t\tthis.state.columnsSelected = this.swapMultiplePositions(\r\n\t\t\t\tthis.state.columnsSelected,\r\n\t\t\t\tthis.state.selectedIndexes.right,\r\n\t\t\t\t'last'\r\n\t\t\t);\r\n\t\t\tthis.state.selectedIndexes.right = this.state.selectedIndexes.right.map((o, i) => this.state.columnsSelected.length - i - 1);\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\r\n\t\tmoveUp() {\r\n\t\t\tif (this.state.selectedIndexes.right[0] === 0) {\r\n\t\t\t\tthis.state.selectedIndexes.right.splice(this.state.selectedIndexes.right[0], 1);\r\n\t\t\t}\r\n\t\t\tUtil.arrayMoveUp(this.state.columnsSelected, this.state.selectedIndexes.right, 1);\r\n\t\t\tfor (var i = 0; i < this.state.selectedIndexes.right.length; i++) {\r\n\t\t\t\tthis.state.selectedIndexes.right[i]--;\r\n\t\t\t}\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\t\tmoveDown() {\r\n\t\t\tUtil.arrayMoveDown(this.state.columnsSelected, this.state.selectedIndexes.right, 1);\r\n\t\t\tfor (var i = 0; i < this.state.selectedIndexes.right.length; i++) {\r\n\t\t\t\tthis.state.selectedIndexes.right[i]++;\r\n\t\t\t}\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\r\n\t\tmoveOptions(source, destination) {\r\n\r\n\t\t\tif (source.index.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t\tvar valuesToMove = [];\r\n\t\t\t//add to right list\r\n\t\t\tfor (var idx = 0; idx < source.index.length; idx++) {\r\n\t\t\t\tvaluesToMove.push(source.columns[source.index[idx]]);\r\n\t\t\t}\r\n\t\t\tArray.prototype.push.apply(destination.columns, valuesToMove);\r\n\r\n\t\t\t//remove from left list\r\n\r\n\t\t\t//get indexes of source\r\n\t\t\tvar sourceIndexes = source.columns.map(col => {\r\n\t\t\t\treturn source.columns.indexOf(col).toString();\r\n\t\t\t});\r\n\r\n\t\t\t//get difference of indexes left - right\r\n\t\t\tvar diff = _.difference(sourceIndexes, source.index);\r\n\r\n\t\t\t//get values of difference indexes\r\n\t\t\tvaluesToMove.length = 0;\r\n\t\t\tfor (var i = 0; i < diff.length; i++) {\r\n\t\t\t\tvaluesToMove.push(source.columns[diff[i]]);\r\n\t\t\t}\r\n\t\t\tsource.columns.length = 0;\r\n\t\t\tArray.prototype.push.apply(source.columns, valuesToMove);\r\n\r\n\t\t\tsource.index.length = 0;\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\t\tonGroupByChange(val) {\r\n\t\t\tthis.state.view.groupBy = val;\r\n\t\t\tthis.processViewChange();\r\n\t\t},\r\n\t\tprocessLeftSelectListChange(indexes) {\r\n\t\t\tthis.state.selectedIndexes.left = indexes;\r\n\t\t\tthis.setState({selectedIndexes: this.state.selectedIndexes});\r\n\t\t},\r\n\t\tprocessRightSelectListChange(indexes) {\r\n\t\t\tthis.state.selectedIndexes.right = indexes;\r\n\t\t\tthis.setState({selectedIndexes: this.state.selectedIndexes});\r\n\t\t},\r\n\t\tprocessSortByChange(sortBy) {\r\n\t\t\tthis.state.view.sortBy = sortBy;\r\n\t\t\tthis.processViewChange();\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = QueryViewManager;\r\n})();\r\n","(function() {\r\n'use strict';\r\nvar React = require('react');\r\nvar Util = require('__infrastructure/Util');\r\nvar reactBootstrap = require('react-bootstrap');\r\nvar Input = reactBootstrap.Input;\r\nvar SelectList = React.createClass({\r\n\tgetInitialState(){\r\n\t\t\tvar state = {};\r\n\t\t\tstate.selectedIndex = this.props.selectedIndex;\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps){\r\n\t\t\tthis.setState({ selectedIndex: nextProps.selectedIndex});\r\n\t\t},\r\n\tonChangeSelected() {\r\n\t\tthis.state.selectedIndex.length = 0;\r\n\t\tvar selected = this.refs.input.getValue();\r\n\t\tif (Array.isArray(selected)) {\r\n\t\t\tArray.prototype.push.apply(this.state.selectedIndex, this.refs.input.getValue());\r\n\t\t}\r\n\t\telse {\r\n\t\t\tthis.state.selectedIndex.push(selected);\r\n\t\t}\r\n\t\tthis.props.processSelectListChange(this.state.selectedIndex);\r\n\t},\r\n\trender() {\r\n\t\tvar {columns} = this.props;\r\n\t\tvar {labelText} = this.props;\r\n\t\tvar {isMultiple} = this.props;\r\n\t\tvar {defaultEmpty} = this.props;\r\n\t\tvar columnsWithDefault = [];\r\n\t\tif (defaultEmpty) {\r\n\t\t\tcolumnsWithDefault.push({name: \"\"});\r\n\t\t}\r\n\t\tArray.prototype.push.apply(columnsWithDefault, columns);\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t\r\n\t\t\t\t\t{ columnsWithDefault.map((col, idx) => {\r\n\t\t\t\t\t\t\t\t\t\t\treturn (isMultiple ? : );\r\n\t\t\t\t\t\t\t\t\t\t})}\r\n\t\t\t\t\r\n\t\t\t
    \r\n\t\t\t);\r\n\t\t\t}\r\n});\r\n\r\nmodule.exports = SelectList;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar i18n = require('i18next-client');\r\n\tvar React = require('react');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar Select = require('__components/common/Select');\r\n\tvar QueryUtils = require('__infrastructure/QueryUtils');\r\n\tvar _ = require('lodash');\r\n\r\n\tvar SortQuery = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar state = {};\r\n\t\t\tstate.sortBy = this.props.sortBy || QueryUtils.getSortObj({\r\n\t\t\t\t\tfield: 'No sort'\r\n\t\t\t});\r\n\t\t\tstate.fields = this.props.fields;\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tthis.setState({\r\n\t\t\t\tsortBy: nextProps.sortBy || QueryUtils.getSortObj({field: 'No sort' }),\r\n\t\t\t\tfields: this.props.fields\r\n\t\t\t});\r\n\t\t},\r\n\t\tonChangeSelected() {\r\n\t\t\tvar sort = QueryUtils.getSortObj({\r\n\t\t\t\tfield: this.refs.sort.getValue()\r\n\t\t\t});\r\n\t\t\tthis.setState({\r\n\t\t\t\tsortBy: sort\r\n\t\t\t});\r\n\t\t\tthis.props.processChange(sort);\r\n\t\t},\r\n\t\tonChangeDirection() {\r\n\t\t\tvar sort = QueryUtils.getSortObj({\r\n\t\t\t\tfield: this.refs.sort.getValue(),\r\n\t\t\t\tdirection: this.refs.sortDirection.getValue()\r\n\t\t\t});\r\n\t\t\tthis.setState({\r\n\t\t\t\tsortBy: sort\r\n\t\t\t});\r\n\t\t\tthis.props.processChange(sort);\r\n\t\t},\r\n\t\trenderSortDirection() {\r\n\t\t\tif (this.state.sortBy.field !== 'No sort') {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\trenderSortFields() {\r\n\t\t\treturn this.state.fields.map((field, idx) => {\r\n\t\t\t\tif (field && field.Sortable) {\r\n\t\t\t\t\treturn ;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\trender() {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t_.find(this.state.fields, (item)=>{return item.Sortable; }) !== undefined ?\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t{' '}\r\n\t\t\t\t\t\t{this.renderSortDirection()}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    : null\r\n\t\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = SortQuery;\r\n})();\r\n","import React from 'react';\r\n\r\nconst IconInput = ({ icon, value, onChangeHandler, type, width = 'auto', placeholder = 'value' }) => (\r\n
    \r\n
    \r\n { icon }\r\n
    \r\n \r\n
    \r\n);\r\n\r\nexport default IconInput;\r\n","(function() {\r\n\t'use strict';\r\n\tvar i18n = require('i18next-client');\r\n\tvar React = require('react');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar Select = require('__components/common/Select');\r\n\tvar _ = require('lodash');\r\n\r\n\tvar GroupByQuery = React.createClass({\r\n\t\tonChange() {\r\n this.props.onChange(this.refs.groupBySelect.getValue());\r\n },\r\n\t\trender() {\r\n var {fields} = this.props;\r\n\t\t\t\treturn (\r\n\t\t\t\t\t_.find(fields, (item)=>{return item.GroupBy; }) !== undefined ?\r\n : null\r\n\t\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = GroupByQuery;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\tvar QueryActions = require('__actions/QueryActions');\r\n\tvar QueryHandler = require('__api/QueryHandler');\r\n\r\n\tclass QueryStore {\r\n\t\tconstructor() {\r\n\t\t\tthis.isStoreInitialized = false;\r\n\t\t\tthis.bindActions(QueryActions);\r\n\t\t}\r\n\t\tonSaveQuery(query) {\r\n\t\t\tQueryHandler.saveQuery(query.SourceTypeName, query).then(\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.onLoadAvailableQueries(query.SourceTypeName);\r\n\t\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tonDeleteQuery(query) {\r\n\t\t\tQueryHandler.deleteQuery(query).then(\r\n\t\t\t\t() => {\r\n\t\t\t\t\tthis.onLoadAvailableQueries(query.SourceTypeName);\r\n\t\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tonLoadAvailableQueries(SourceTypeName) {\r\n\t\t\tQueryHandler.loadAllQueries(SourceTypeName).then(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tvar queries = {};\r\n\t\t\t\t\tqueries[SourceTypeName] = data.payload;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tqueries: queries\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t);\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tstatic cloneQuery(query, keepQueryOnly) {\r\n\t\t\tvar tempQuery = JSON.parse(JSON.stringify(query));\r\n\t\t\ttempQuery.Query = JSON.parse(query.Query);\r\n\t\t\tif (keepQueryOnly){\r\n\t\t\t\ttempQuery = {Query: tempQuery.Query};\r\n\t\t\t}\r\n\t\t\treturn tempQuery;\r\n\t\t}\r\n\t\tstatic getQuery(SourceTypeName, queryId) {\r\n\t\t\tif (!this.state.queries) {\r\n\t\t\t\treturn {};\r\n\t\t\t}\r\n\t\t\tqueryId = parseInt(queryId);\r\n\t\t\tvar _query = _.find(this.state.queries[SourceTypeName], ((query) => {\r\n\t\t\t\tif (query.Id === queryId) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t\tif (_query) {\r\n\t\t\t\treturn this.cloneQuery(_query);\r\n\t\t\t} else {\r\n\t\t\t\treturn {};\r\n\t\t\t}\r\n\t\t}\r\n\t\tstatic getDefaultQueryId(SourceTypeName) {\r\n\t\t\tif (!this.state.queries) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t\tvar _query = _.find(this.state.queries[SourceTypeName], ((query) => {\r\n\t\t\t\tif (!query.IsPublic && query.IsDefault) {\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}));\r\n\t\t\tif (_query) {\r\n\t\t\t\treturn _query.Id;\r\n\t\t\t} else {\r\n\t\t\t\t_query = _.find(this.state.queries[SourceTypeName], ((query) => {\r\n\t\t\t\t\tif (query.IsDefault) {\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\t}\r\n\t\t\t\t}));\r\n\t\t\t\tif (_query) {\r\n\t\t\t\t\treturn _query.Id;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn undefined;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t}\r\n\r\n\tmodule.exports = alt.createStore(QueryStore, 'QueryStore');\r\n})();\r\n\r\n","(function() {\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\r\n\tclass QueryHandler {\r\n\t\tloadAllQueries(sourceTypeName) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.query.baseRoute + apiRoutes.query.routes.all;\r\n\t\t\turl = url.replace(\"{sourceTypeName}\", sourceTypeName);\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.get(url)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tsaveQuery(sourceTypeName, query) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.query.baseRoute + apiRoutes.query.routes.save;\r\n\t\t\tquery = {\r\n\t\t\t\tSourceTypeName: sourceTypeName,\r\n\t\t\t\tQuery: JSON.stringify(query.Query),\r\n\t\t\t\tTitle: query.Title,\r\n\t\t\t\tIsPublic: query.IsPublic,\r\n\t\t\t\tIsDefault: query.IsDefault,\r\n\t\t\t\tPageSize: query.PageSize,\r\n\t\t\t\tId: query.Id\r\n\t\t\t};\r\n\t\t\tif (query.Id === undefined || query.Id === 'none') {\r\n\t\t\t\treturn new Promise(resolve => {\r\n\t\t\t\t\tsuperagent\r\n\t\t\t\t\t\t.post(url, query)\r\n\t\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tquery.id = query.Id;\r\n\t\t\t\treturn new Promise(resolve => {\r\n\t\t\t\t\tsuperagent\r\n\t\t\t\t\t\t.put(url, query)\r\n\t\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tdeleteQuery(query) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.query.baseRoute + apiRoutes.query.routes.delete;\r\n\t\t\turl = url.replace(\"{id}\", query.Id);\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.del(url)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new QueryHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar _ = require('lodash');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Filter = require('__components/common/query/queryFilter/Filter');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar Input = reactBootstrap.Input;\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar Table = reactBootstrap.Table;\r\n\r\n\r\n\tvar FilterManager = React.createClass({\r\n\r\n\t\trender() {\r\n\t\t\tvar descriptor = this.props.descriptor;\r\n\t\t\tvar fields = descriptor.Fields.slice();\r\n\t\t\tvar sourceTypeName = descriptor.SourceTypeName;\r\n\t\t\t_.map(fields, (f)=>{\r\n\t\t\t\tf.localizationKey = sourceTypeName + \".\" + f.name;\r\n\t\t\t});\r\n\t\t\tvar fieldFinder = (name) => {\r\n\t\t\t\treturn _.find(fields, function(o) { return o.name === name; });\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\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\t{fields.map((field, idx)=>{\r\n\t\t\t\t\t\t\t\t\t\t\tif (field.Filterable) {\r\n\t\t\t\t\t\t\t\t\t\t\t\treturn ();\r\n\t\t\t\t\t\t\t\t\t\t\t}\r\n\t\t\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\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\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t{this.props.filters ? this.props.filters.map((filter, idx)=>{\r\n\t\t\t\t\t\t\t\t\t\t\tvar field = fieldFinder(filter.field.name);\r\n\t\t\t\t\t\t\t\t\t\t\treturn \r\n\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t;\r\n\t\t\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\t\t\t\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t},\r\n\t\taddNewFilter(field){\r\n\t\t\tthis.props.addNewFilter(field);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = FilterManager;\r\n\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Input = reactBootstrap.Input;\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar G4SDateTime = require('__components/common/forms/formfields/DateTime');\r\n\tvar Select = require('__components/common/Select');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar _ = require('lodash');\r\n\tvar dateHelper = require('__infrastructure/dateHelper');\r\n\r\n\tvar Filter = React.createClass({\r\n\t\tgetInitialState(){\r\n\t\t\tvar state = {};\r\n\t\t\tvar propFilter = this.props.filter;\r\n\t\t\tvar propField = this.props.field;\r\n\t\t\tstate.bt = false;\r\n\t\t\tstate.filter = _.assign({}, propFilter);\r\n\t\t\tif(propField && propField !== undefined){\r\n\t\t\t\tstate.filter.field = _.assign({}, propField);\r\n\t\t\t}\r\n\t\t\tvar defaultCondition = {};\r\n\t\t\tvar fieldType = state.filter.field.field_type;\r\n\t\t\tif (fieldType === Consts.fieldTypes.boolean){\r\n\t\t\t\tdefaultCondition.value = 'true';\r\n\t\t\t\tdefaultCondition.condition = 'Eq';\r\n\t\t\t}\r\n\t\t\tstate.condition = state.filter.conditions.length > 0 ? state.filter.conditions[0] : defaultCondition;\r\n\t\t\tif (state.filter.conditions.length === 0){\r\n\t\t\t\tstate.filter.conditions.push(state.condition);\r\n\t\t\t}\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps){\r\n\t\t\tvar propFilter = nextProps.filter;\r\n\t\t\tvar propField = nextProps.field;\r\n\t\t\tvar filter = _.assign({}, propFilter);\r\n\t\t\tif(propField && propField !== undefined){\r\n\t\t\t\tfilter.field = _.assign({}, propField);\r\n\t\t\t}\r\n\t\t\tconst condition = filter.conditions.length > 0 ? filter.conditions[0] : {};\r\n\t\t\tlet conditions = filter.conditions;\r\n\t\t\tif (filter.conditions.length === 0){\r\n\t\t\t\tconditions.push(condition);\r\n\t\t\t}\r\n\t\t\tthis.setState({ filter, condition, conditions });\r\n\t\t},\r\n\t\tremoveFilter(filter){\r\n\t\t\tthis.props.removeFilter(filter);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {field, sourceTypeName} = this.state.filter;\r\n\t\t\tvar fieldType = field.field_type;\r\n\t\t\tif(!field.localizationKey){\r\n\t\t\t\tfield.localizationKey = sourceTypeName + \".\" + field.name;\r\n\t\t\t}\r\n\t\t\tif (fieldType === Consts.fieldTypes.string){\r\n\t\t\t\treturn this.getStringTemplate();\r\n\t\t\t}\r\n\t\t\telse if (fieldType === Consts.fieldTypes.number){\r\n\t\t\t\treturn this.getNumberTemplate();\r\n\t\t\t}\r\n\t\t\telse if (fieldType === Consts.fieldTypes.select){\r\n\t\t\t\treturn this.getSelectTemplate();\r\n\t\t\t}\r\n\t\t\telse if (fieldType === Consts.fieldTypes.datetime\r\n\t\t\t\t|| fieldType === Consts.fieldTypes.utcDatetime\r\n\t\t\t\t|| fieldType === Consts.fieldTypes.prettydate){\r\n\t\t\t\treturn this.getDateTimeTemplate();\r\n\t\t\t}\r\n\t\t\telse if (fieldType === Consts.fieldTypes.linkedSelect){\r\n\t\t\t\treturn this.getLinkedSelectTemplate();\r\n\t\t\t}\r\n\t\t\telse if (fieldType === Consts.fieldTypes.boolean){\r\n\t\t\t\treturn this.getBooleanTemplate();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\treturn null\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetBooleanTemplate(){\r\n\t\t\tvar stateTrue = this.state.condition.condition === \"Eq\";\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{Util.localizeDisplay(this.state.filter.field)}\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
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tgetStringTemplate(){\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\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\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
    \r\n\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\t\t\t\t
    \r\n\t\t\t\t\t);\r\n\t\t},\r\n\t\tgetNumberTemplate(){\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\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\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\t{' '}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\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\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t);\r\n\t\t},\r\n\t\tgetSelectTemplate() {\r\n\t\t\tif(this.state.condition.value === undefined){\r\n\t\t\t\tvar condition = \"eq\";\r\n\t\t\t\tvar conditionValue = this.state.filter.field.QueryFieldOptions[0].Value;\r\n\t\t\t\tthis.state.condition.condition = condition;\r\n\t\t\t\tthis.state.condition.value = conditionValue;\r\n\r\n\t\t\t\tthis.handleSelectChange(condition, conditionValue);\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\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\r\n\t\t\t\t\t\t
    \r\n\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\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t},\r\n\t\tgetLinkedSelectTemplate() {\r\n\t\t\tif (this.state.filter.conditions.length !== 2){\r\n\t\t\t\tthis.state.filter.conditions.push({\r\n\t\t\t\t\tcondition: \"eq\",\r\n\t\t\t\t\tvalue: this.state.filter.field.QueryFieldOptions[0].Value\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t\tif(this.state.condition.value === undefined){\r\n\t\t\t\tvar condition = \"eq\";\r\n\t\t\t\tvar conditionValue = this.state.filter.field.QueryFieldOptions[0].Value;\r\n\t\t\t\tthis.state.condition.condition = condition;\r\n\t\t\t\tthis.state.condition.value = conditionValue;\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\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\r\n\t\t\t\t\t\t
    \r\n\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\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\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t},\r\n\t\tgetDateTimeTemplate(){\r\n\t\t\tvar { filter, bt } = this.state;\r\n\t\t\tvar dateFromField = {\r\n\t\t\t\t\tname: \"dateFrom\",\r\n\t\t\t\t\thasContainer: true,\r\n\t\t\t\t\ttimeFormat: \"hh:mm\",\r\n\t\t\t\t\ttype: \"datetime\",\r\n\t\t\t\t\tnoFrills: true,\r\n\t\t\t};\r\n\t\t\tdateFromField.value = this.state.filter.conditions[0].value;\r\n\t\t\tif (filter.conditions.length === 2){\r\n\t\t\t\tthis.state.bt = true;\r\n\t\t\t\tvar dateToField = {\r\n\t\t\t\t\t\tname: \"dateTo\",\r\n\t\t\t\t\t\thasContainer: false,\r\n\t\t\t\t\t\ttype: \"datetime\",\r\n\t\t\t\t\t\ttimeFormat: \"hh:mm\",\r\n\t\t\t\t\t\tnoFrills: true,\r\n\t\t\t\t\t\tmin: dateFromField.value\r\n\t\t\t\t};\r\n\t\t\t\tdateToField.value = this.state.filter.conditions[1].value;\r\n\t\t\t\tdateFromField.max = bt ? dateToField.value : undefined;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tthis.state.bt = false;\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t
    \r\n\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\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\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\t{this.state.bt ?
    \r\n\t\t\t\t\t\t\t
    : ''}\r\n\t\t\t\t\t\t
    \r\n\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\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t},\r\n\t\thandleBooleanChange(){\r\n\t\t\tthis.state.condition.value = 'true';\r\n\t\t\tif(this.state.condition.condition === 'Eq'){\r\n\t\t\t\tthis.state.condition.condition = 'NEq';\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tthis.state.condition.condition = 'Eq';\r\n\t\t\t}\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\thandleStringChange(){\r\n\t\t\tthis.state.condition.value = this.refs.textValue.getValue();\r\n\t\t\tthis.state.condition.condition = this.refs.stringCondition.getValue();\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t},\r\n\t\thandleNumberChange(){\r\n\t\t\tthis.state.condition.value = this.refs.numberValue.getValue();\r\n\t\t\tthis.state.condition.condition = this.refs.numberCondition.getValue();\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t},\r\n\t\thandleSelectChange(condition, value){\r\n\t\t\tif(value!==undefined){\r\n\r\n\t\t\t\tthis.state.condition.value = value;\r\n\t\t\t\tthis.state.condition.condition = condition;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tif (this.refs.selectConditionValue.getValue() !== \"placeholder\"){\r\n\t\t\t\t\tthis.state.condition.value = this.refs.selectConditionValue.getValue();\r\n\t\t\t\t}\r\n\t\t\t\tif (this.refs.selectCondition.getValue() !== \"placeholder\"){\r\n\t\t\t\t\tthis.state.condition.condition = this.refs.selectCondition.getValue();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t},\r\n\t\thandleLinkedSelectChange(){\r\n\t\t\tif (this.state.filter.conditions.length !== 2){\r\n\t\t\t\tthis.state.filter.conditions.push({});\r\n\t\t\t}\r\n\t\t\tthis.state.condition.condition = this.refs.selectCondition.getValue() !== \"placeholder\" ? this.refs.selectCondition.getValue() : this.state.condition.condition;\r\n\t\t\tthis.state.filter.conditions[0].value = this.refs.selectConditionValue.getValue() !== \"placeholder\" ? this.refs.selectConditionValue.getValue() : this.state.filter.conditions[0].value;\r\n\r\n\t\t\tthis.state.filter.conditions[1].condition = this.refs.selectLinkedCondition.getValue() !== \"placeholder\" ? this.refs.selectLinkedCondition.getValue() : this.state.filter.conditions[1].condition;\r\n\t\t\tthis.state.filter.conditions[1].value = this.refs.selectLinkedConditionValue.getValue() !== \"placeholder\" ? this.refs.selectLinkedConditionValue.getValue() : this.state.filter.conditions[1].value;\r\n\t\t\tthis.state.filter.conditions[1].fieldName = \"EventTypeName\";\r\n\t\t\tthis.state.filter.conditions[1].parent = this.refs.selectConditionValue.getValue();\r\n\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t},\r\n\t\thandleDateTimeChange(field, value){\r\n\t\t\tif (this.refs.dateTimeCondition.getValue() === \"bt\"){\r\n\t\t\t\tthis.state.bt = true;\r\n\t\t\t\tif (this.state.filter.conditions.length !== 2){\r\n\t\t\t\t\tthis.state.filter.conditions.push({});\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.condition.condition = \"ge\";\r\n\t\t\t\tthis.state.filter.conditions[1].condition = \"le\";\r\n\t\t\t\tif (field.name === \"dateFrom\"){\r\n\t\t\t\t\tthis.state.filter.conditions[0].value = value;\r\n\t\t\t\t}\r\n\t\t\t\tif (field.name === \"dateTo\"){\r\n\t\t\t\t\tthis.state.filter.conditions[1].value = value;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\tthis.state.bt = false;\r\n\t\t\t\tthis.state.condition.condition = this.refs.dateTimeCondition.getValue();\r\n\t\t\t\tthis.state.condition.value = value;\r\n\t\t\t\tif (this.state.filter.conditions.length === 2){\r\n\t\t\t\t\tthis.state.filter.conditions.pop();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.props.updateFilter(this.state.filter);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = Filter;\r\n\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar G4SSelect = require('../forms/formfields/Select');\r\nvar G4SRadioButtons = require('../forms/formfields/ButtonRadioGroup');\r\nvar G4STextArea = require('../forms/formfields/TextArea');\r\nvar G4SDateTime = require('../forms/formfields/DateTime');\r\nvar Util = require('__infrastructure/Util');\r\nvar i18n = require('i18next-client');\r\nvar QuerySearch = require('./QuerySearch').default;\r\nvar IconInput = require('__components/common/forms/formfields/IconInput').default;\r\nvar ViewFilter = React.createClass({\r\n\trender() {\r\n\t\tvar {\r\n\t\t\tcolumns,\r\n\t\t\tcustomFilters,\r\n\t\t\tdisplayTypes,\r\n\t\t\tfilterDateField,\r\n\t\t\tfilterDataHandler,\r\n\t\t\tfilterDateFrom,\r\n\t\t\tfilterDateTo,\r\n\t\t\tfilterValue,\r\n\t\t\tonExportClick,\r\n\t\t\tsortDir,\r\n\t\t\tsortField,\r\n\t\t\ttoggleViewHandler,\r\n\t\t\tviewType,\r\n\t\t\tquerySearchAction\r\n\t\t} = this.props;\r\n\t\t// var filterField = {\r\n\t\t// \tname: \"filter\",\r\n\t\t// \thasContainer: false,\r\n\t\t// \tplaceholder: i18n.t(\"messages.typeToFilter\"),\r\n\t\t// \ttype: \"text_area\",\r\n\t\t// \thandleFieldChange: filterDataHandler.bind(null, 'filter'),\r\n\t\t// \tnoFrills: true,\r\n\t\t// \trows: 1,\r\n\t\t// \tvalue: filterValue\r\n\t\t// };\r\n\t\tvar orderByOptions = [];\r\n\t\tcolumns.forEach( col =>{\r\n\t\t\tif (col.display && col.filter !== false){\r\n\t\t\t\torderByOptions.push({name: Util.localizeDisplay(col), value: col.name});\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar orderByField = {\r\n\t\t\tname: \"orderBy\",\r\n\t\t\thasContainer: false,\r\n\t\t\tplaceholder: \"Type to filter...\",\r\n\t\t\ttype: \"text\",\r\n\t\t\thandleFieldChange: filterDataHandler.bind(null, 'orderBy'),\r\n\t\t\tnoFrills: true,\r\n\t\t\toptions: orderByOptions,\r\n\t\t\tfirstOption: false,\r\n\t\t\tvalue: sortField\r\n\t\t};\r\n\t\t//var sortDirField = {\r\n\t\t//\tname: \"sortDir\",\r\n\t\t//\thasContainer: false,\r\n\t\t//\ttype: \"button_radio_group\",\r\n\t\t//\thandleFieldChange: filterDataHandler.bind(null, 'sortDir'),\r\n\t\t//\tnoFrills: true,\r\n\t\t//\toptions: [{value: 'Asc', name: i18n.t(\"genericButtons.orderAsc\")}, {value: 'Desc', name: i18n.t(\"genericButtons.orderDesc\")}],\r\n\t\t//\tvalue: sortDir\r\n\t\t//};\r\n\t\tvar dateFromField = {\r\n\t\t\tname: \"dateFrom\",\r\n\t\t\thasContainer: false,\r\n\t\t\ttype: \"date\",\r\n\t\t\thandleFieldChange: filterDataHandler.bind(null, 'filterDateFrom'),\r\n\t\t\tnoFrills: true,\r\n\t\t\tvalue: filterDateFrom\r\n\t\t};\r\n\t\tvar dateToField = {\r\n\t\t\tname: \"dateTo\",\r\n\t\t\thasContainer: false,\r\n\t\t\ttype: \"date\",\r\n\t\t\thandleFieldChange: filterDataHandler.bind(null, 'filterDateTo'),\r\n\t\t\tnoFrills: true,\r\n\t\t\tvalue: filterDateTo\r\n\t\t};\r\n\r\n\t\t//for a spacer between the group buttons\r\n\t\tvar groupStyle = {marginRight: \"6px\"};\r\n\t\tvar formStyle = {marginBottom: \"0px\"};\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{\r\n\t\t\t\t\tquerySearchAction ?\r\n\t\t\t\t\t :\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tonChangeHandler={filterDataHandler.bind(null, 'filter')}\r\n\t\t\t\t\t\t\tplaceholder={i18n.t(\"messages.typeToFilter\")}\r\n\t\t\t\t\t\t\tvalue={filterValue}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t{filterDateField ?\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\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\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t: \"\"}\r\n\t\t\t\t{customFilters ? customFilters : \"\"}\r\n\t\t\t\t
    \r\n\t\t\t\t\t{ displayTypes.length > 1 ?\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{displayTypes.map( (dt, i) =>\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t)}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t: \"\" }\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = ViewFilter;\r\n})();\r\n","import React from 'react';\r\nimport { debounce } from 'lodash';\r\nimport autoBind from 'react-autobind';\r\nimport i18n from 'i18next-client';\r\nimport IconInput from '__components/common/forms/formfields/IconInput';\r\n\r\nclass QuerySearch extends React.Component{\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {};\r\n this.onChange = this.onChange.bind(this);\r\n this.debouncedCallback = debounce(this.debouncedCallback, 600);\r\n }\r\n componentDidMount() {\r\n const {quickSearchText, callbackAction} = this.props;\r\n if (quickSearchText && callbackAction) {\r\n callbackAction(quickSearchText);\r\n }\r\n }\r\n shouldComponentUpdate(nextProps, nextState) {\r\n if (nextProps.quickSearchText === this.props.quickSearchText &&\r\n nextState.quickSearchText === this.state.quickSearchText ) {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n debouncedCallback(event) {\r\n const { querySearchAction, callbackAction } = this.props;\r\n callbackAction(event);\r\n querySearchAction({\r\n queryText: event,\r\n callbackAction\r\n });\r\n\r\n }\r\n\r\n onChange(event) {\r\n event.preventDefault();\r\n this.setState({quickSearchText: event.target.value});\r\n this.debouncedCallback(event.target.value);\r\n }\r\n\r\n render() {\r\n const { quickSearchText } = this.state;\r\n return (\r\n
    \r\n \r\n }\r\n onChangeHandler={this.onChange}\r\n placeholder={i18n.t('messages.typeToFilter')}\r\n value={quickSearchText !== undefined ? quickSearchText : this.props.quickSearchText}\r\n />\r\n
    \r\n )\r\n }\r\n};\r\n\r\nexport default QuerySearch\r\n","(function(){\r\n'use strict';\r\nvar React = require('react');\r\nvar _ = require('lodash');\r\nvar ReactSticky = require('react-sticky');\r\nvar { Sticky } = ReactSticky;\r\nvar i18n = require('i18next-client');\r\nvar IconInput = require('__components/common/forms/formfields/IconInput').default;\r\n\r\nvar ViewFooter = React.createClass({\r\n\tbuildSelector(){\r\n\t\tvar {clientSelector, clientPager} = this.props;\r\n\t\tif (clientSelector == null || clientPager == null || clientPager.pageCount < 2 || !clientSelector.multiselectEnabled){\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar {selectAll, allSelected} = clientSelector;\r\n\t\tvar square = allSelected ? \"fa fa-check-square-o\" : \"fa fa-square-o\";\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t},\r\n\tbuildPager(){\r\n\t\tvar {clientPager} = this.props;\r\n\t\tif (clientPager == null || clientPager.pageCount < 2){\r\n\t\t\treturn
    ;\r\n\t\t}\r\n\t\tvar {activePage, pageCount, clientPagerHandler, activePageBatch, pageBatchSize } = clientPager;\r\n\t\tvar x = (activePageBatch - 1) * pageBatchSize;\r\n\t\tvar pages = [];\r\n\t\tvar firstPage = 1;\r\n\t\tvar lastPage = pageCount;\r\n\t\tvar prevPage = activePage === 1 ? activePage : activePage - 1;\r\n\t\tvar nextPage = activePage === pageCount ? activePage : activePage + 1;\r\n\t\tvar {clientSelector} = this.props;\r\n\t\tvar pageSelected = (page)=>{\r\n\t\t\tif(!clientSelector){\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tvar {allSelected, selectedPages} = clientSelector;\r\n\t\t\tif(allSelected === true){\r\n\t\t\t\treturn true;\r\n\t\t\t}\r\n\t\t\treturn _.indexOf(selectedPages, page) >= 0;\r\n\t\t};\r\n\t\twhile(x < (pageBatchSize * activePageBatch) && x < pageCount) {\r\n\t\t\t++x;\r\n\t\t\tvar backgroundColor = pageSelected(x) ? \"#C0C0C0\" : \"\";\r\n\t\t\tpages.push(
  • {x}
  • );\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t},\r\n\tbuildServerPager(){\r\n\t\tvar {serverPager, clientPager} = this.props;\r\n\t\tif(serverPager == null){\r\n\t\t\treturn
    ;\r\n\t\t}\r\n\t\tvar {serverPagerHandler, hasMore} = serverPager;\r\n\t\tvar {activePage, pageCount} = clientPager;\r\n\t\tif((clientPager == null || clientPager.pageCount < 2 || activePage === pageCount)\r\n\t\t\t&& hasMore)\r\n\t\t{\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t},\r\n\tbuildPageSize(){\r\n\t\tvar {clientPager} = this.props;\r\n\t\tif (clientPager == null){\r\n\t\t\treturn
    ;\r\n\t\t}\r\n\t\tvar {pageSize} = clientPager;\r\n\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\t\tonChangeHandler={this.handlePageSizeChange}\r\n\t\t\t\t\t\tplaceholder='Size'\r\n\t\t\t\t\t\tvalue={pageSize}\r\n\t\t\t\t\t\twidth='80px'\r\n\t\t\t\t\t/>\r\n\t\t\t\t
    \r\n\t\t);\r\n\t},\r\n\thandlePageSizeChange(event) {\r\n\t\tvar number = Number(event.target.value);\r\n\t\tvar {clientPager} = this.props;\r\n\t\tvar {clientPagerHandler} = clientPager;\r\n\t\tclientPagerHandler({clientPageSize: event.target.value});\r\n\t\tthis.props.pageSizeChanged(number);\r\n\t},\r\n\trender(){\r\n\t\tvar {sticked} = this.props;\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.buildSelector()}\r\n\t\t\t\t\t{this.buildPager()}\r\n\t\t\t\t\t{this.buildPageSize()}\r\n\t\t\t\t\t{this.buildServerPager()}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n\r\n});\r\nmodule.exports = ViewFooter;\r\n})();\r\n","var listen = require('event-listener');\r\nvar SyntheticKeyboardEvent = require('react-dom/lib/SyntheticKeyboardEvent');\r\n\r\nvar documentListener = {};\r\n/**\r\n * Enable the global event listener. Is idempotent.\r\n */\r\nexports.activate = function(event) {\r\n\t'use strict';\r\n\tif (!event) {\r\n\t\tevent = 'keyup';\r\n\t}\r\n\tif (!documentListener[event]) {\r\n\t\tdocumentListener[event] = listen(document, event, handle);\r\n\t}\r\n\treturn exports;\r\n};\r\n/**\r\n * Disable the global event listener. Is idempotent.\r\n */\r\nexports.disable = function(event) {\r\n\t'use strict';\r\n\tif (!event) {\r\n\t\tevent = 'keyup';\r\n\t}\r\n\tif (documentListener[event]) {\r\n\t\tdocumentListener[event].remove();\r\n\t\tdocumentListener[event] = null;\r\n\t}\r\n};\r\n\r\n// Container for all the handlers\r\nvar handlers = [];\r\n\r\n/**\r\n * Mixin that calls `handlerName` on your component if it is mounted and a\r\n * key event has bubbled up to the document\r\n */\r\nexports.mixin = function HotkeyMixin(handlerName) {\r\n\t'use strict';\r\n\treturn {\r\n\t\tcomponentDidMount: function() {\r\n\t\t\tvar handler = this[handlerName];\r\n\t\t\thandlers.push(handler);\r\n\t\t},\r\n\t\tcomponentWillUnmount: function() {\r\n\t\t\tvar handler = this[handlerName];\r\n\t\t\tvar index = handlers.indexOf(handler);\r\n\t\t\thandlers.splice(index, 1);\r\n\t\t}\r\n\t};\r\n};\r\n\r\n\r\n// Create and dispatch an event object using React's object pool\r\n// Cribbed from SimpleEventPlugin and EventPluginHub\r\nfunction handle(nativeEvent) {\r\n\t'use strict';\r\n\tvar event = SyntheticKeyboardEvent.getPooled({}, 'hotkey', nativeEvent);\r\n\ttry {\r\n\t\tdispatchEvent(event, handlers);\r\n\t} finally {\r\n\t\tif (!event.isPersistent()) {\r\n\t\t\tevent.constructor.release(event);\r\n\t\t}\r\n\t}\r\n}\r\n// Dispatch the event, in order, to all interested listeners\r\n// The most recently mounted component is the first to receive the event\r\n// Cribbed from a combination of SimpleEventPlugin and EventPluginUtils\r\nfunction dispatchEvent(event, handlers) {\r\n\t'use strict';\r\n\tfor (var i = (handlers.length - 1); i >= 0; i--) {\r\n\t\tif (event.isPropagationStopped()) {\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tvar returnValue = handlers[i](event);\r\n\t\tif (returnValue === false) {\r\n\t\t\tevent.stopPropagation();\r\n\t\t\tevent.preventDefault();\r\n\t\t}\r\n\t}\r\n}\r\n","(function(){\r\n'use strict';\r\nvar React = require('react');\r\nvar _ = require('lodash');\r\n\r\nvar GridMixin = {\r\n\trenderGridItemSelected(){\r\n\t\tvar {clientSelector, row} = this.props;\r\n\t\tif (clientSelector == null){\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar selected = false;\r\n\t\tselected = _.indexOf(clientSelector.getSelectedRows(), row) >= 0;\r\n\t\tvar square = selected ? \"fa fa-check-square-o\" : \"fa fa-square-o\";\r\n\t\treturn (\r\n\t\t\t\r\n\t\t);\r\n\t},\r\n\thandleSelectClick(row){\r\n\t\tvar {clientSelector} = this.props;\r\n\t\tif (clientSelector){\r\n\t\t\tclientSelector.select(row);\r\n\t\t}\r\n\t}\r\n};\r\n\r\nmodule.exports = GridMixin;\r\n})();\r\n","(function() {\r\n 'use strict';\r\n\r\n var buildFields = function (customAttributes){\r\n var personalData = {\r\n \t\t\"name\": \"personaldata\",\r\n \t\t\"description\": \"\",\r\n \t\t\"type\": \"container\",\r\n \t\t\"groupHtmlClass\": \"col-md-12\"\r\n \t};\r\n \r\n for (var i = 0; i < customAttributes.length; i++) {\r\n customAttributes[i].typeMetaFieldName = 'CustomAttributes';\r\n }\r\n personalData.fields = customAttributes;\r\n\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"personalData\",\r\n\t\t\t\"display\": \"PersonForm.tabs.personalDataTab.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"fields\": customAttributes\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar notes = JSON.parse(JSON.stringify({\r\n\t\t\t\t\"name\": \"notes\",\r\n\t\t\t\t\"display\": \"PersonForm.tabs.notesTab.title\",\r\n\t\t\t\t\"type\": \"tab\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"Note.Notes\",\r\n\t\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.Notes\",\r\n\t\t\t\t\t\t\"type\": \"text_area\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-12 textarea-5-rows\",\r\n\t\t\t\t\t\t\"htmlClass\": \"fixed-resize\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}));\r\n\tvar buildFields = function (params){\r\n\t\tnotes.visible = params.visible;\r\n\t\tnotes.fields[0].fields[0].onChange = params.onChangeNotes;\r\n\t\treturn [notes];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar activityHistoryContainer = {\r\n\t\t\"name\": \"activityHistoryTable\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t};\r\n\r\n\tvar buildFields = function(activityHistoryComponent) {\r\n\t\tactivityHistoryContainer.type = activityHistoryComponent.componentToLoad;\r\n\t\tactivityHistoryContainer.rows = activityHistoryComponent.rows;\r\n\t\tactivityHistoryContainer.columns = activityHistoryComponent.columns;\r\n\t\tactivityHistoryContainer.title = activityHistoryComponent.title;\r\n\t\tactivityHistoryContainer.noDataText = activityHistoryComponent.noDataText;\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"activityHistoryContainer\",\r\n\t\t\t\"display\": \"Visitor.tabs.locator.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"visible\": activityHistoryComponent.visible,\r\n\t\t\t\"fields\": [activityHistoryContainer]\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar visitDetails = {\r\n\t\t\"name\": \"Visits\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"row col-md-12\"\r\n\t};\r\n\r\n\r\n\tvar customAttributesFields = {\r\n\t\t\t\"name\": \"customAttributesFields\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"row\"\r\n\t};\r\n\r\n\tvar customAttributesContainer = {\r\n\t\t\"name\": \"customAttributesContainer\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\"fields\": [customAttributesFields]\r\n\t};\r\n\t\r\n\r\n\tvar buildFields = function (params){\r\n\r\n\t\tvisitDetails.type = params.VisitDetails.componentToLoad;\r\n\t\tvisitDetails.visits = params.VisitDetails.visits;\r\n\t\tvisitDetails.visit = params.VisitDetails.visit;\r\n\t\tvisitDetails.signInOut = params.VisitDetails.signInOut;\r\n\t\tvisitDetails.onChange = params.VisitDetails.onChange;\r\n\t\tvisitDetails.visitPermissions = params.VisitDetails.visitPermissions;\r\n\t\tvisitDetails.visitorTypeMeta = params.visitorTypeMeta;\r\n\t\tvisitDetails.disableSignIn = params.VisitDetails.disableSignIn;\r\n\t\tvisitDetails.historyVisits = params.VisitDetails.historyVisits;\r\n\t\tvisitDetails.validationErrors = params.VisitDetails.detailsFieldsErrors;\r\n\t\tvisitDetails.departureDefaultTime = params.VisitDetails.departureDefaultTime;\r\n\t\tvisitDetails.shouldUseValues = params.VisitDetails.shouldUseValues;\r\n\r\n\t\tfor (var i = params.CustomAttributes.fields.length - 1; i >= 0; i--) {\r\n\t\t\tparams.CustomAttributes.fields[i].groupHtmlClass = \"col-md-6\";\r\n\t\t\tparams.CustomAttributes.fields[i].hasContainer = false;\r\n\t\t\tparams.CustomAttributes.fields[i].typeMetaFieldName = \"CustomAttributes\";\r\n\t\t}\r\n\t\tcustomAttributesFields.fields = params.CustomAttributes.fields;\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"VisitDetailsComponent\",\r\n\t\t\t\"display\": \"Visitor.VisitDetails.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\"fields\": [customAttributesContainer, visitDetails]\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar _ = require('lodash');\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\tvar i18n = require('i18next-client');\r\n\tvar moment = require('moment');\r\n\r\n\tvar VisitDetailsForm = require('./visitForm/middleArea/VisitDetails');\r\n\tvar PersonFinder = require('./components/PersonFinder');\r\n\tvar VisitStatus = require('__components/person/PersonStatus');\r\n\tvar VisitHistoryTable = require('./components/VisitHistoryTable');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar VisitsStore = require('__stores/VisitsStore');\r\n\tvar AppStore = require('__stores/AppStore');\r\n\tvar CustomAttributesMixin = require('__components/common/customAttributes/CustomAttributesMixin');\r\n\tvar FormUtils = require('__components/common/forms/FormUtils');\r\n\tvar dateHelper = require('__infrastructure/dateHelper');\r\n\tvar VisitDetails = React.createClass({\r\n\t\tmixins: [FormFieldMixin, CustomAttributesMixin],\r\n\t\tgetCustomFieldErrors() {\r\n\t\t\treturn this.props.field.validationErrors.length;\r\n\t\t},\r\n\t\tgetCustomCurrentValue() {\r\n\t\t\tvar model = this.state.VisitDetailsForm.getCurrentValue(false);\r\n\t\t\tvar {appSettings} = this.state;\r\n\t\t\tdelete model.Status;\r\n\t\t\tdelete model.signIn;\r\n\t\t\tdelete model.signOut;\r\n\t\t\tdelete model.close;\r\n\t\t\tdelete model.visitHistoryContainer;\r\n\t\t\tdelete model.visitHistoryFields;\r\n\r\n\t\t\tvar appSettingsCustomAttributeLinks = appSettings.customAttributeLinks;\r\n\t\t\tfor(var key in appSettingsCustomAttributeLinks) {\r\n\t\t\tif (appSettingsCustomAttributeLinks[key] !== null) {\r\n\t\t\t\t\t//delete model[appSettingsCustomAttributeLinks[key].replace(/\\s+/g, '_')];\r\n\t\t\t\t\tdelete model[ScreensUtils.formatCustomAttributeName(appSettingsCustomAttributeLinks[key])];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (model.Visiting && (model.Visiting.$uri !== undefined)) {\r\n\t\t\t\tmodel.Visiting = {\r\n\t\t\t\t\t'Person': {\r\n\t\t\t\t\t\t'$uri': model.Visiting.$uri\r\n\t\t\t\t\t},\r\n\t\t\t\t\t'ContactNumber': model.Visiting.ContactNumber\r\n\t\t\t\t};\r\n\t\t\t} else if (model.Visiting && model.Visiting.Name && model.Visiting.Name.Family !== undefined) {\r\n\t\t\t\tmodel.Visiting = {\r\n\t\t\t\t\t'Person': null,\r\n\t\t\t\t\t'Name': model.Visiting.Name.Family,\r\n\t\t\t\t\t'ContactNumber': model.Visiting.ContactNumber\r\n\t\t\t\t}\r\n\t\t\t} else if (model.Visiting) {\r\n\t\t\t\tmodel.Visiting = {\r\n\t\t\t\t\t'Name': {},\r\n\t\t\t\t\t'ContactNumber': model.Visiting.ContactNumber\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (model.VisitorEscort && (model.VisitorEscort.$uri !== undefined)) {\r\n\t\t\t\tmodel.VisitorEscort = {\r\n\t\t\t\t\t\"$uri\": model.VisitorEscort.$uri\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (this.props.field.visit !== undefined) {\r\n\t\t\t\tmodel.$uri = this.state.visit;\r\n\t\t\t}\r\n\r\n\t\t\treturn [model];\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tvar arrayModel = {};\r\n\t\t\tif (nextProps.field.shouldUseValues.length > 0 && nextProps.field.value && nextProps.field.value.length > 0) {\r\n\t\t\t\tarrayModel = nextProps.field.value;\r\n\t\t\t} else if (nextProps.field.visits !== undefined && nextProps.field.visits.length > 0){\r\n\t\t\t\t arrayModel = nextProps.field.visits;\r\n\t\t\t} else {\r\n\t\t\t\tarrayModel = {};\r\n\t\t\t}\r\n\t\t\tthis.state.VisitModel = _.find(arrayModel, function(visit) {\r\n\t\t \t\treturn visit.Status !== 'Historic';\r\n\t\t \t});\r\n\r\n\t\t\tvar { VisitModel } = this.state;\r\n\r\n\t\t\tif (VisitModel.ArrivalDateTime) {\r\n\t\t\t\tVisitModel.ArrivalDateTime = dateHelper.isValid(VisitModel.ArrivalDateTime, 'datetime') && dateHelper.parseValue(VisitModel.ArrivalDateTime)\r\n\t\t\t\t? dateHelper.format(VisitModel.ArrivalDateTime, 'datetime')\r\n\t\t\t\t: VisitModel.ArrivalDateTime;\r\n\t\t\t}\r\n\t\t\tif (VisitModel.DepartureDateTime) {\r\n\t\t\t\tVisitModel.DepartureDateTime = dateHelper.isValid(VisitModel.DepartureDateTime, 'datetime') && dateHelper.parseValue(VisitModel.DepartureDateTime)\r\n\t\t\t\t? dateHelper.format(VisitModel.DepartureDateTime, 'datetime')\r\n\t\t\t\t: VisitModel.DepartureDateTime;\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\tvar escortSettings = {\r\n\t\t\t\tlabelText: i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Visit.Visitor.searchEscort'),\r\n\t\t\t\tbuttonText: \"\",\r\n\t\t\t\tshowButton: false,\r\n\t\t\t\tpersonType: Consts.personType.escort\r\n\t\t\t};\r\n\t\t\tvar visitingSettings = {\r\n\t\t\t\tlabelText: i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Visit.Visitor.searchVisiting'),\r\n\t\t\t\tbuttonText: \"\",\r\n\t\t\t\tshowButton: false,\r\n\t\t\t\tpersonType: Consts.personType.visiting\r\n\t\t\t};\r\n\t\t\tvar {\r\n\t\t\t\tvisits\r\n\t\t\t} = this.props.field;\r\n\r\n\t\t\tvar VisitModel = {};\r\n\t\t\tif (visits && visits.length > 0){\r\n\t\t\t\t VisitModel = _.find(visits, function(v) {\r\n\t\t\t\t\treturn v.Status !== \"Historic\";\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tescortSettings: escortSettings,\r\n\t\t\t\tvisitingSettings: visitingSettings,\r\n\t\t\t\tVisitModel: VisitModel,\r\n\t\t\t\tappSettings: AppStore.getSettings()\r\n\t\t\t};\r\n\t\t},\r\n\t\trender(){\r\n\t\t\t//\r\n\t\t\tconst { VisitModel, minDepartureDate } = this.state;\r\n\t\t\tconst { historyVisits, visit, value, visitorTypeMeta, disableSignIn, visitPermissions, validationErrors, departureDefaultTime } = this.props.field;\r\n\t\t\tif (visit) {\r\n\t\t\t\tvar history = this.generateVisitHistory(historyVisits);\r\n\t\t\t}\r\n\r\n\t\t\tif (value && value.length > 0) {\r\n\t\t\t\tvar model = _.find(value, function(v) {\r\n\t\t\t\t return v.Status !== 'Historic';\r\n\t\t\t });\r\n\r\n\t\t\t\tif (model && model.Visiting && VisitModel.Visiting) {\r\n\t\t\t\t\tVisitModel.Visiting.ContactNumber = model.Visiting.ContactNumber;\r\n\t\t\t\t\t//VisitModel.Message = model.Message;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tif (VisitModel.ArrivalDateTime) {\r\n\t\t\t\tVisitModel.ArrivalDateTime = dateHelper.parseValue(VisitModel.ArrivalDateTime);\r\n\t\t\t}\r\n\t\t\tif (VisitModel.DepartureDateTime) {\r\n\t\t\t\tVisitModel.DepartureDateTime = dateHelper.parseValue(VisitModel.DepartureDateTime);\r\n\t\t\t}\r\n\t\t\t//\r\n\t\t\tvar minArrivalDate = this.state.VisitModel.$uri ? this.state.VisitModel.ArrivalDateTime : undefined;\r\n\t\t\tconst detailsFieldsErrors = validationErrors;\r\n\t\t\tvar settings = {\r\n\t\t\t\twithCompany: false,\r\n\t\t\t\twizard: false,\r\n\t\t\t\tnoHeader: true,\r\n\t\t\t\tclassName: \"row\"\r\n\t\t\t};\r\n\r\n\t\t\t//minDepartureDate = minArrivalDate ? minArrivalDate : minDepartureDate;\r\n\t\t\t//minDepartureDate = minDepartureDate ? minDepartureDate : VisitModel.ArrivalDateTime;\r\n\r\n\t\t\tvar visitHistoryColumns = [\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"signIn.ActionDateTime\",\r\n\t\t\t\t\tdisplay: \"Visitor.VisitHistory.SignedIn\",\r\n\t\t\t\t\tname: \"signIn.ActionDateTime\",\r\n\t\t\t\t\tfield_type: Consts.fieldTypes.prettydatetime\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"signOut.ActionDateTime\",\r\n\t\t\t\t\tdisplay: \"Visitor.VisitHistory.SignedOut\",\r\n\t\t\t\t\tname: \"signOut.ActionDateTime\",\r\n\t\t\t\t\tfield_type: Consts.fieldTypes.prettydatetime\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"visitingName\",\r\n\t\t\t\t\tdisplay: \"Visitor.VisitHistory.visitingName\",\r\n\t\t\t\t\tname: \"visitingName\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"visitorEscortName\",\r\n\t\t\t\t\tdisplay: \"Visitor.VisitHistory.visitorEscortName\",\r\n\t\t\t\t\tname: \"visitorEscortName\"\r\n\t\t\t\t}];\r\n\r\n\t\t\t//need to show only the custom attributes defined in appSettings.\r\n\t\t\t//if the cardholder(visting) has more custom attributes, remove them.\r\n\t\t\tif (this.state.VisitModel.Visiting && this.state.VisitModel.Visiting.Person){\r\n\t\t\t\tvar values = [];\r\n\t\t\t\tfor(var key in this.state.appSettings.customAttributeLinks) {\r\n\t\t\t\t\tif (key !== \"email\") {\r\n\t\t\t\t\t\tvalues.push(this.state.appSettings.customAttributeLinks[key]);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tvar filteredCustomAttributes = _.select(this.state.VisitModel.Visiting.Person.CustomAttributes, function(c){\r\n\t\t\t\t\treturn values.indexOf(c.Type.Identifier) !== -1;\r\n\t\t\t\t});\r\n\r\n\t\t\t\tthis.state.VisitModel.Visiting.CustomAttributes = filteredCustomAttributes;\r\n\t\t\t}\r\n\r\n\t\t\tvar ca = this.generateCustomAttributes(this.state.VisitModel.Visiting === undefined ? [] : this.state.VisitModel.Visiting.CustomAttributes, false, false, false);\r\n\t\t\tthis.state.VisitModel = _.assign(this.state.VisitModel, ca.model);\r\n\t\t\tconst visitStatus = this.setStatus(VisitModel);\r\n\t\t\tvar visitDetailsFields = VisitDetailsForm.buildFields({\r\n\t\t\t\t\"Escort\": {\r\n\t\t\t\t\tcomponentToLoad: PersonFinder,\r\n\t\t\t\t\tescortSettings: this.state.escortSettings,\r\n\t\t\t\t\tescortSelected: this.escortSelected,\r\n\t\t\t\t\tperson: this.state.VisitModel.VisitorEscort,\r\n\t\t\t\t\tvisitUri: this.state.VisitModel.$uri\r\n\t\t\t\t},\r\n\t\t\t\t\"Visiting\": {\r\n\t\t\t\t\tcomponentToLoad: PersonFinder,\r\n\t\t\t\t\tvisitingSettings: this.state.visitingSettings,\r\n\t\t\t\t\tvisitingSelected: this.visitingSelected,\r\n\t\t\t\t\tperson: VisitModel.Visiting\r\n\t\t\t\t},\r\n\t\t\t\t\"Status\": {\r\n\t\t\t\t\tcomponentToLoad: VisitStatus,\r\n\t\t\t\t\tstatus: visitStatus\r\n\t\t\t\t},\r\n\t\t\t\t\"VisitHistory\": {\r\n\t\t\t\t\tcomponentToLoad: VisitHistoryTable,\r\n\t\t\t\t\trows: history || [],\r\n\t\t\t\t\tcolumns: visitHistoryColumns,\r\n\t\t\t\t\ttitle: i18n.t(\"Visitor.VisitHistory.title\")\r\n\t\t\t\t},\r\n\t\t\t\t\"ButtonHandlers\": {\r\n\t\t\t\t\tdeleteVisit: this.deleteVisit,\r\n\t\t\t\t\tsignIn: this.signIn,\r\n\t\t\t\t\tsignOut: this.signOut,\r\n\t\t\t\t\tcloseVisit: this.closeVisit\r\n\t\t\t\t},\r\n\t\t\t\t\"CustomAttributes\": {\r\n\t\t\t\t\tfields: ca.fields\r\n\t\t\t\t},\r\n\t\t\t\t\"Dates\": {\r\n\t\t\t\t\tminDepartureDate: minDepartureDate ? minDepartureDate : VisitModel.ArrivalDateTime,\r\n\t\t\t\t\tminArrivalDate: minArrivalDate,\r\n\t\t\t\t\terrors: detailsFieldsErrors,\r\n\t\t\t\t\tdepartureDefaultTime: departureDefaultTime,\r\n\t\t\t\t},\r\n\t\t\t\t\"Visitor\": {\r\n\t\t\t\t\tisVisitorSignedIn: visit ? this.isVisitorSignedIn(VisitModel) : false\r\n\t\t\t\t},\r\n\t\t\t\t\"onChange\": this.onChange,\r\n\t\t\t\t\"visitPermissions\": visitPermissions,\r\n\t\t\t\t\"disableSignIn\": disableSignIn\r\n\t\t\t});\r\n\r\n\t\t\tvar formFields = _.union(visitDetailsFields);\r\n//this.props.field.shouldUseValues.length > 0\r\n\t\t\treturn (\r\n\t\t\t\t\t this.state.VisitDetailsForm = f}\r\n\t\t\t\t\t\tclassName=\"col-sm-12\"\r\n\t\t\t\t\t\tformFields={formFields}\r\n\t\t\t\t\t\tcancelFunc={this.cancelFunc}\r\n\t\t\t\t\t\tmodel={VisitModel}\r\n\t\t\t\t\t\ttypeMeta={_.assign({}, VisitModel.TypeMeta)}\r\n\t\t\t\t\t\ttypeMetaCredentials = {_.assign({}, visitorTypeMeta)}\r\n\t\t\t\t\t\tsaveFunc={this.saveFunc}\r\n\t\t\t\t\t\tshouldOverwriteCurrentValue = {true}\r\n\t\t\t\t\t\tsettings={settings}\r\n\t\t\t\t\t\tformHelp={false}\r\n\t\t\t\t\t/>\r\n\t\t\t\t);\r\n\t\t},\r\n\t\tescortSelected(escort) {\r\n\t\t\t//this.state.VisitModel.VisitorEscort = escort;\r\n\t\t},\r\n\t\tvisitingSelected(visiting) {\r\n\t\t\t// if (visiting.$uri) {\r\n\t\t\t// \t\tthis.state.VisitModel.Visiting.Person = visiting;\r\n\t\t\t// } else {\r\n\t\t\t// \tthis.state.VisitModel.Visiting = visiting;\r\n\t\t\t// }\r\n\t\t\t//this.setState({});\r\n\t\t},\r\n\t\tdeleteVisit() {\r\n\t\t\tVisitsStore.deleteVisit(this.state.VisitModel.Visitor.$ptr, this.state.VisitModel.$uri);\r\n\t\t},\r\n\t\tsignIn() {\r\n\t\t\tvar value = {\r\n\t\t\t\tActionDateTime: moment().format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n\t\t\t\tActionType: \"SignIn\"\r\n\t\t\t};\r\n\t\t\tvar email = this.state.VisitModel.Visiting ? _.find(this.state.VisitModel.Visiting.CustomAttributes, (t) => {\r\n\t\t\t\treturn t.Type.Identifier === AppStore.getSettings().customAttributeLinks.email;\r\n\t\t\t}) : undefined;\r\n\t\t\tvar payload = {\r\n\t\t\t\t\"uri\": this.state.VisitModel.$uri,\r\n\t\t\t\t\"SignInData\": value,\r\n\t\t\t\t\"VisitingEmail\": email !== undefined ? email.Value : \"\",\r\n\t\t\t\t\"ArrivalDateTime\": this.state.VisitModel.ArrivalDateTime,\r\n\t\t\t\t\"SendEmail\": email !== undefined\r\n\t\t\t};\r\n\t\t\tthis.props.field.signInOut(payload);\r\n\t\t},\r\n\t\tsignOut() {\r\n\t\t\tvar value = {\r\n\t\t\t\tActionDateTime: moment().format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n\t\t\t\tActionType: \"SignOut\"\r\n\t\t\t};\r\n\t\t\tvar payload = {\r\n\t\t\t\t\"uri\": this.state.VisitModel.$uri,\r\n\t\t\t\t\"SignInData\": value,\r\n\t\t\t\t\"VisitingEmail\": null,\r\n\t\t\t\t\"ArrivalDateTime\": null,\r\n\t\t\t\t\"SendEmail\": false\r\n\t\t\t};\r\n\t\t\tthis.props.field.signInOut(payload);\r\n\t\t},\r\n\t\tcloseVisit() {\r\n\t\t\tvar value = {\r\n\t\t\t\tActionDateTime: moment().format(\"YYYY-MM-DDTHH:mm:ss\"),\r\n\t\t\t\tActionType: \"Close\"\r\n\t\t\t};\r\n\r\n\t\t\tvar payload = {\r\n\t\t\t\t\"uri\": this.state.VisitModel.$uri,\r\n\t\t\t\t\"SignInData\": value,\r\n\t\t\t\t\"VisitingEmail\": null,\r\n\t\t\t\t\"ArrivalDateTime\": null,\r\n\t\t\t\t\"SendEmail\": false\r\n\t\t\t};\r\n\t\t\tthis.props.field.signInOut(payload);\r\n\t\t},\r\n\t\tArivalHandleFieldChange(field, value){\r\n\t\t\tthis.state.VisitModel.ArrivalDateTime = new Date(Date.parse(value));\r\n\t\t\tthis.setState({minDepartureDate: value});\r\n\t\t},\r\n\t\tisVisitorSignedIn(VisitModel){\r\n\t\t\tif (VisitModel.VisitHistory && VisitModel.VisitHistory.length > 0) {\r\n\t\t\t\tswitch (VisitModel.VisitHistory[0].ActionType) {\r\n\t\t\t\t\tcase \"SignIn\":\r\n\t\t\t\t\t\treturn true;\r\n\t\t\t\t\tcase \"SignOut\":\r\n\t\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\t\tsetStatus(model){\r\n\t\t\tif (_.isEmpty(model) || !model.Status) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Pending\",\r\n\t\t\t\t\t\tcolor: \"#ff8000\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tswitch (model.Status) {\r\n\t\t\t\tcase \"Active\": {\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Active\",\r\n\t\t\t\t\t\tcolor: \"green\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t\tcase \"Stopped\":\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Stopped\",\r\n\t\t\t\t\t\tcolor: \"black\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t\tcase \"Stop\":\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Stop\",\r\n\t\t\t\t\t\tcolor: \"black\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t\tcase \"Pending\":\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Pending\",\r\n\t\t\t\t\t\tcolor: \"#ff8000\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t\tcase \"Closed\":\r\n\t\t\t\t\treturn {\r\n\t\t\t\t\t\tstatus: \"CommonForm.CardStatus.Closed\",\r\n\t\t\t\t\t\tcolor: \"red\",\r\n\t\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t\t};\r\n\t\t\t}\r\n\t\t},\r\n\t\tonChange(field, value) {\r\n\t\t\tif (field.name === 'ArrivalDateTime') {\r\n\t\t\t\tthis.state.VisitModel.ArrivalDateTime = dateHelper.parseValue(value);\r\n\t\t\t\tthis.state.minDepartureDate = value;\r\n\t\t\t}\r\n\t\t\t// switch (field.name) {\r\n\t\t\t// \tcase 'ArrivalDateTime':\r\n\t\t\t// \t\tthis.state.VisitModel.ArrivalDateTime = new Date(Date.parse(value));\r\n\t\t\t// \t\tthis.setState({minDepartureDate: value});\r\n\t\t\t// \t\tbreak;\r\n\t\t\t// }\r\n\t\t\tif (this.state.VisitDetailsForm !== null) {\r\n\t\t\t\tthis.state.VisitDetailsForm.subcomponentsFieldsChanged();\r\n\t\t\t}\r\n\t\t\tthis.props.field.onChange(field, value);\r\n\t\t},\r\n\t\tgenerateVisitHistory(visits) {\r\n\t\t\tvar history = [];\r\n\t\t\tfor (var i = visits.length - 1; i >= 0; i--) {\r\n\t\t\t\tvar currentSignOut = null;\r\n\t\t\t\tvar visiting = '';\r\n\t\t\t\tif (visits[i].Visiting) {\r\n\t\t\t\t\tvisiting = visits[i].Visiting.Name && visits[i].Visiting.Name !=='' && (typeof visits[i].Visiting.Name !=='object') ?\r\n\t\t\t\t\tvisits[i].Visiting.Name :\r\n\t\t\t\t\t(typeof visits[i].Visiting.Name === 'object') ? visits[i].Visiting.Name.FormattedName :\r\n\t\t\t\t\tvisits[i].Visiting.Person && visits[i].Visiting.Person.Name && visits[i].Visiting.Person.Name.FormattedName ?\r\n\t\t\t\t\tvisits[i].Visiting.Person.Name.FormattedName :\r\n\t\t\t\t\t'';\r\n\t\t\t\t}\r\n\t\t\t\tvar visitorEscort = visits[i].VisitorEscort && visits[i].VisitorEscort.Name && visits[i].VisitorEscort.Name.FormattedName ?\r\n\t\t\t\tvisits[i].VisitorEscort.Name.FormattedName :\r\n\t\t\t\t'';\r\n\t\t\t\tvar counter = 0;\r\n\t\t\t\tif (visits[i].VisitHistory === undefined) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tfor (var j = visits[i].VisitHistory.length - 1; j >= 0; j--) {\r\n\t\t\t\t\tcounter = counter + 1;\r\n\t\t\t\t\tif (visits[i].VisitHistory[j].ActionType === \"SignOut\") {\r\n\t\t\t\t\t\tif (currentSignOut === null) {\r\n\t\t\t\t\t\t\tcurrentSignOut = visits[i].VisitHistory[j];\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\t\t\tsignIn: {ActionDateTime: undefined},\r\n\t\t\t\t\t\t\t\tsignOut: _.cloneDeep(currentSignOut),\r\n\t\t\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\t\tcurrentSignOut = visits[i].VisitHistory[j];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (visits[i].VisitHistory[j].ActionType === \"SignIn\") {\r\n\t\t\t\t\t\tif (currentSignOut !== null) {\r\n\t\t\t\t\t\t\tif ((counter) % 2 === 0) {\r\n\t\t\t\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\t\t\t\tsignIn: visits[i].VisitHistory[j],\r\n\t\t\t\t\t\t\t\t\tsignOut: _.cloneDeep(currentSignOut),\r\n\t\t\t\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\t\t\tcurrentSignOut = null;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\t\t\t\tsignIn: {ActionDateTime: undefined},\r\n\t\t\t\t\t\t\t\t\tsignOut: currentSignOut,\r\n\t\t\t\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\t\t\t\tsignIn: visits[i].VisitHistory[j],\r\n\t\t\t\t\t\t\t\t\tsignOut: {ActionDateTime: undefined},\r\n\t\t\t\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\t\t\t\tcurrentSignOut = null;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\t\t\tsignIn: visits[i].VisitHistory[j],\r\n\t\t\t\t\t\t\t\tsignOut: {ActionDateTime: undefined},\r\n\t\t\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (currentSignOut !== null) {\r\n\t\t\t\t\thistory.unshift({\r\n\t\t\t\t\t\tsignIn: {ActionDateTime: undefined},\r\n\t\t\t\t\t\tsignOut: _.cloneDeep(currentSignOut),\r\n\t\t\t\t\t\tvisitingName: visiting,\r\n\t\t\t\t\t\tvisitorEscortName: visitorEscort});\r\n\t\t\t\t\t\tcurrentSignOut = null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn history;\r\n\t\t}\r\n\t});\r\n\tmodule.exports = VisitDetails;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar today = new Date();\r\n\tvar dd = today.getDate();\r\n\tvar mm = today.getMonth() + 1; //January is 0!\r\n\r\n\tif(dd < 10) {\r\n\t\tdd = '0' + dd;\r\n\t}\r\n\r\n\tif(mm < 10) {\r\n\t\tmm = '0' + mm;\r\n\t}\r\n\r\n\ttoday = mm + '/' + dd + '/' + today.getFullYear() + '/' + today.getHours() + ':00';\r\n\r\n\ttoday = new Date(today);\r\n\tvar dates = {\r\n\t\t\"name\": \"visitDetailsDates\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"noLegend\": true,\r\n\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"containerVisitDetailsDates\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"ArrivalDateTime\",\r\n\t\t\t\t\"display\": \"visit.arrivalTime\",\r\n\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\t\t\"validation\": [\"isDate\"],\r\n\t\t\t\t\"autofocus\": true\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"DepartureDateTime\",\r\n\t\t\t\t\t\"display\": \"visit.departureTime\",\r\n\t\t\t\t\t\"type\": \"datetime\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\t\t\t// \"validation\": [{\r\n\t\t\t\t\t// \t\"name\": \"min_value\",\r\n\t\t\t\t\t// \t\"value\": today}\r\n\t\t\t\t\t// ],\r\n\t\t\t\t\t\"autofocus\": false\r\n\t\t\t\t\t}]\r\n\t\t}]\r\n\t};\r\n\r\n\tvar visitingCustomAttributes = {\r\n\t\t\"name\": \"visiting_CustomAttributes\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"containerVisiting_CustomAttributes\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\"fields\": []\r\n\t\t}]\r\n\t};\r\n\r\n\tvar escortMessageInformation = {\r\n\t\t\"name\": \"escort_MessageInformation\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"containerEscort_MessageInformation\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\"fields\": []\r\n\t\t}]\r\n\t};\r\n\r\n\tvar escortFinder = {\r\n\t\t\"name\": \"VisitorEscort\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"hasContainer\": false\r\n\t};\r\n\r\n\tvar visitingFinder = {\r\n\t\t\"name\": \"Visiting\",\r\n\t\t\"typeMetaFieldName\": \"Visiting.Name\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"hasContainer\": false\r\n\t};\r\n\r\n\tvar contactNumber = {\r\n\t\t\"name\": \"ContactNumberContainer\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"Visiting.ContactNumber\",\r\n\t\t\t\"display\": \"ContactNumber\",\r\n\t\t\t\"type\": \"text\",\r\n\t\t\t\"hasContainer\": false,\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t}]\r\n\t}\r\n\t// var messageButton = {\r\n\t// \t\"name\": \"Message\",\r\n\t// \t\"display\": \"visit.messageInformation\",\r\n\t// \t\"groupHtmlClass\": \"col-md-6\",\r\n\t// \t\"faClass\": \"fa fa-search\",\r\n\t// \t\"buttonText\": \"\",\r\n\t// \t\"showLabel\": true,\r\n\t// \t\"hasContainer\": false,\r\n\t// \t\"clickHandler\": \"\"\r\n\t// };\r\n\tvar messageInformationText = {\r\n\t\t\"name\": \"Message\",\r\n\t\t\"display\": \"visit.messageInformation\",\r\n\t\t\"type\": \"text_area\",\r\n\t\t\"hasContainer\": false,\r\n\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\"htmlClass\": \"fixed-resize h-80\"\r\n\t};\r\n\tvar customAttributeFields = {\r\n\t\t\"name\": \"customAttributeFields\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"col-md-6\",\r\n\t\t\"fields\": []\r\n\t};\r\n\r\n\tvar visitHistoryFields = {\r\n\t\t\"name\": \"visitHistoryFields\",\r\n\t\t\"description\": \"\",\r\n\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t};\r\n\tvar visitHistoryContainer = {\r\n\t\t\"name\": \"visitHistoryContainer\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\"fields\": [visitHistoryFields]\r\n\t};\r\n\r\n\tvar buttons = {\r\n\t\t\"name\": \"buttons\",\r\n\t\t\"description\": \"\",\r\n\t\t\"type\": \"container\",\r\n\t\t\"noLegend\": true,\r\n\t\t\"hasContainer\": true,\r\n\t\t\"groupHtmlClass\": \"col-md-12 clearfix\",\r\n\t\t\"htmlClass\": \"col-md-12\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"Status\",\r\n\t\t\t\"display\": \"\",\r\n\t\t\t\"showLabel\": false,\r\n\t\t\t\"hasContainer\": true,\r\n\t\t\t\"groupHtmlClass\": \"pull-left\"\r\n\t\t},\r\n\t\t{\r\n\t\t\t\"name\": \"buttonsContainer\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"hasContainer\": true,\r\n\t\t\t\"groupHtmlClass\": \"pull-right\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"signIn\",\r\n\t\t\t\t\"type\": \"button\",\r\n\t\t\t\t\"display\": \"SignIn\",\r\n\t\t\t\t\"faClass\": \"fa fa-plus\",\r\n\t\t\t\t\"buttonText\": \"SignIn\",\r\n\t\t\t\t\"bsStyle\": \"btn-orange u-mr-xs\",\r\n\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"clickHandler\": \"\",\r\n\t\t\t\t\"disabled\": true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"name\": \"signOut\",\r\n\t\t\t\t\"type\": \"button\",\r\n\t\t\t\t\"display\": \"SignOut\",\r\n\t\t\t\t\"faClass\": \"fa fa-minus\",\r\n\t\t\t\t\"buttonText\": \"SignOut\",\r\n\t\t\t\t\"htmlClass\": \"btn-blue u-mr-xs\",\r\n\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"clickHandler\": \"\",\r\n\t\t\t\t\"disabled\": true\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\t\"name\": \"close\",\r\n\t\t\t\t\"type\": \"button\",\r\n\t\t\t\t\"display\": \"Close\",\r\n\t\t\t\t\"faClass\": \"fa fa-times\",\r\n\t\t\t\t\"buttonText\": \"Close\",\r\n\t\t\t\t\"htmlClass\": \"btn-white\",\r\n\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"clickHandler\": \"\",\r\n\t\t\t\t\"disabled\": true\r\n\t\t\t}]\r\n\t\t}]\r\n\t};\r\n\r\n\tvar buildFields = function(params) {\r\n\r\n\r\n\t\t//\r\n\t\tescortFinder.readOnly = undefined;\r\n\t\tescortFinder.type = params.Escort.componentToLoad;\r\n\t\tescortFinder.settings = params.Escort.escortSettings;\r\n\t\tescortFinder.personSelected = params.Escort.escortSelected;\r\n\t\tescortFinder.value = params.Escort.person;\r\n\t\tescortFinder.onChange = params.onChange;\r\n\t\tescortFinder.visitUri = params.Escort.visitUri;\r\n\r\n\t\tvisitingFinder.readOnly = undefined;\r\n\t\tvisitingFinder.type = params.Visiting.componentToLoad;\r\n\t\tvisitingFinder.settings = params.Visiting.visitingSettings;\r\n\t\tvisitingFinder.personSelected = params.Visiting.visitingSelected;\r\n\t\tvisitingFinder.value = params.Visiting.person;\r\n\t\tvisitingFinder.onChange = params.onChange;\r\n\r\n\t\tfor (var i = params.CustomAttributes.fields.length - 1; i >= 0; i--) {\r\n\t\t\tparams.CustomAttributes.fields[i].groupHtmlClass = \"col-md-12\";\r\n\t\t\tparams.CustomAttributes.fields[i].hasContainer = false;\r\n\t\t}\r\n\t\tcustomAttributeFields.fields = params.CustomAttributes.fields;\r\n\r\n\t\tcontactNumber.fields[0].readOnly = undefined;\r\n\t\tcontactNumber.fields[0].onChange = params.onChange;\r\n\t\tconst contactNumberError = params.Dates.errors.find(er => er.name === 'Visiting.ContactNumber') || {};\r\n\t\tcontactNumber.fields[0].errors = contactNumberError.errors || null;\r\n\t\tvisitingCustomAttributes.fields[0].fields.length = 0;\r\n\t\tvisitingCustomAttributes.fields[0].fields.push(visitingFinder);\r\n\t\tvisitingCustomAttributes.fields[0].fields.push(contactNumber);\r\n\t\t//visitingCustomAttributes.fields[0].fields.push(customAttributeFields);\r\n\r\n\t\tescortMessageInformation.fields[0].fields.length = 0;\r\n\t\tescortMessageInformation.fields[0].fields.push(escortFinder);\r\n\t\t//escortMessageInformation.fields[0].fields.push(messageButton);\r\n\r\n\t\tvisitHistoryFields.type = params.VisitHistory.componentToLoad;\r\n\t\tvisitHistoryFields.rows = params.VisitHistory.rows;\r\n\t\tvisitHistoryFields.columns = params.VisitHistory.columns;\r\n\t\tvisitHistoryFields.title = \"\";\r\n\r\n\t\tvar statusField = _.find(buttons.fields, function(o) { return o.name === \"Status\"; });\r\n\t\tstatusField.type = params.Status.componentToLoad;\r\n\t\tstatusField.status = params.Status.status;\r\n\r\n\t\tvar signInButton = _.find(buttons.fields[1].fields, function(o) { return o.name === \"signIn\"; });\r\n\t\tif(params.visitPermissions && params.visitPermissions.CanSignIn && !params.disableSignIn){\r\n\t\t\tdelete signInButton.disabled;\r\n\t\t\tsignInButton.clickHandler = params.ButtonHandlers.signIn;\r\n\t\t\tsignInButton.disabled = params.Visitor.isVisitorSignedIn;\r\n\t\t} else {\r\n\t\t\tsignInButton.disabled = true;\r\n\t\t}\r\n\r\n\t\tvar signOutButton = _.find(buttons.fields[1].fields, function(o) { return o.name === \"signOut\"; });\r\n\t\tif(params.visitPermissions && params.visitPermissions.CanSignOut){\r\n\t\t\tdelete signOutButton.disabled;\r\n\t\t\tsignOutButton.clickHandler = params.ButtonHandlers.signOut;\r\n\t\t} else {\r\n\t\t\t signOutButton.disabled = true;\r\n\t\t}\r\n\r\n\t\tvar closeButton = _.find(buttons.fields[1].fields, function(o) { return o.name === \"close\"; });\r\n\t\tif(params.visitPermissions && params.visitPermissions.CanClose){\r\n\t\t\tdelete closeButton.disabled;\r\n\t\t\tcloseButton.clickHandler = params.ButtonHandlers.closeVisit;\r\n\t\t} else {\r\n\t\t\tcloseButton.disabled = true;\r\n\t\t}\r\n\t\tdates.fields[0].fields[0].readOnly = undefined;\r\n\t\tdates.fields[0].fields[0].onChange = params.onChange;//params.Dates.ArivalHandleFieldChange;\r\n\t\tconst arrivalError = params.Dates.errors.find(er => er.name === 'ArrivalDateTime') || {};\r\n\t\tdates.fields[0].fields[0].errors = arrivalError.errors || null;\r\n\r\n\t\tdates.fields[0].fields[1].readOnly = undefined;\r\n\t\tdates.fields[0].fields[1].min = params.Dates.minDepartureDate;\r\n\t\t//dates.fields[0].fields[1].disabled = params.Dates.minDepartureDate ? false : true;\r\n\t\t//dates.fields[0].fields[1].validation[0].value = params.Dates.minDepartureDate ? params.Dates.minDepartureDate : today;\r\n\t\tdates.fields[0].fields[1].onChange = params.onChange;\r\n\t\tdates.fields[0].fields[1].defaultTime = params.Dates.departureDefaultTime;\r\n\t\t//dates.fields[0].fields[0].min = params.Dates.minArrivalDate ? params.Dates.minArrivalDate : today;\r\n\t\t//dates.fields[0].fields[0].validation[1].value = params.Dates.minArrivalDate ? params.Dates.minDepartureDate : today;\r\n\r\n\t\tmessageInformationText.onChange = params.onChange;\r\n\t\tmessageInformationText.readOnly = undefined;\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"VisitDetailsContainer\",\r\n\t\t\t\"description\": \"Visitor.VisitDetails.title\",\r\n\t\t\t\"display\": \"Visitor.VisitDetails.title\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\"htmlClass\": \"full-width\",\r\n\t\t\t\"fields\": [\r\n\t\t\t\tdates,\r\n\t\t\t\tvisitingCustomAttributes,\r\n\t\t\t\tescortMessageInformation,\r\n\t\t\t\tmessageInformationText,\r\n\t\t\t\tbuttons,\r\n\t\t\t\tvisitHistoryContainer]//[dates, visitingCustomAttributes, escortMessageInformation, messageInformationText, buttons, visitHistoryContainer]\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar ReactDOM = require('react-dom');\r\n\tvar i18n = require('i18next-client');\r\n\tvar PersonsStore = require('__stores/PersonsStore');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Input = reactBootstrap.Input;\r\n\tvar Button = reactBootstrap.Button;\r\n\tvar FormFieldMixin = require('__components/common/forms/FormFieldMixin');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar QueryUtils = require('__infrastructure/QueryUtils');\r\n\tvar R = require('ramda');\r\n\tvar _ = require('lodash');\r\n\r\n\tvar PersonFinder = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\tgetCustomCurrentValue() {\r\n\t\t\treturn this.state.person;\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\tvar person = this.props.field.value && this.props.field.value.Person ?\r\n\t\t\tthis.props.field.value.Person :\r\n\t\t\tthis.props.field.value ?\r\n\t\t\tthis.props.field.value : {Name: {}};\r\n\t\t\tvar state = {\r\n\t\t\t\tloaded: false,\r\n\t\t\t\tpeople: [],\r\n\t\t\t\tperson: person,\r\n\t\t\t\tvisitUri: this.props.field.visitUri,\r\n\t\t\t\tsettings: this.props.field.settings\r\n\t\t\t};\r\n\r\n\t\t\tstate.searchValue = this.createSearchValue(state.person);\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\thandleClickOutside: function(e) {\r\n\t\t\tif (this.personFinderContainer && ReactDOM.findDOMNode(this.personFinderContainer).contains(e.target) || !this.state.searchInProgress) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tvar {searchValue, settings, field} = this.state;\r\n\t\t\tvar person = searchValue === '' ? {Name: {}} :\r\n\t\t\t\tsettings.personType === Consts.personType.visiting ? {Name: {Given: '', Family: searchValue}} :\r\n\t\t\t\tthis.state.person;\r\n\r\n\t\t\tif (this.state.person !== person) {\r\n\t\t\t\tthis.updateFormField(this.state.field, person);\r\n\t\t\t}\r\n\r\n\t\t\tthis.setState({\r\n\t\t\t\tpeople: [],\r\n\t\t\t\tsearchValue: this.createSearchValue(person),\r\n\t\t\t\tperson: person,\r\n\t\t\t\tsearchInProgress: false\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tcomponentWillMount: function() {\r\n\t\t\tdocument.addEventListener('click', this.handleClickOutside, false);\r\n\t\t\tthis.searchChangedDebounced = _.debounce(function(searchValue) {\r\n\t\t\t\tthis.getVisitingEscortList(searchValue);\r\n\t\t\t}, 600);\r\n\t\t},\r\n\r\n\t\tcomponentWillUnmount: function() {\r\n\t\t\tdocument.removeEventListener('click', this.handleClickOutside, false);\r\n\t\t\tthis.personFinderContainer = false;\r\n\t\t},\r\n\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tvar { value } = nextProps.field;\r\n\t\t\tvar person = value;\r\n\t\t\tif (person !== undefined) {\r\n\t\t\t\tthis.state.person = person;\r\n\t\t\t\tthis.state.searchValue = person && this.state.person.Name && this.state.person.Name.Family\r\n\t\t\t\t\t? this.state.person.Name.Family + ' ' + this.state.person.Name.Given\r\n\t\t\t\t\t: '';\r\n\t\t\t}\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {settings, field} = this.state;\r\n\t\t\tvar divClassHidden = field.visible || field.visible === undefined || field.visible === null\r\n\t\t\t\t? '' : ' hidden'\r\n\t\t\tvar divClass = field.groupHtmlClass\r\n\t\t\t\t? field.groupHtmlClass\r\n\t\t\t\t: 'col-md-12'\r\n\t\t\treturn (\r\n\t\t\t\t
    {this.personFinderContainer = personFinder})} className={divClass + divClassHidden}>\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{(settings.showButton\r\n\t\t\t\t\t\t? \r\n\t\t\t\t\t\t: '')}\r\n\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{this.renderPersons()}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\trenderSaveFreetextButton() {\r\n\t\t\tconst { settings } = this.state;\r\n\t\t\tconst renderFreeText = settings.personType === Consts.personType.visiting;\r\n\t\t\treturn renderFreeText && (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\r\n\t\trenderPersons() {\r\n\t\t\tif (this.state.searchInProgress) {\r\n\t\t\t\tif (!this.state.gotData) {\r\n\t\t\t\t\treturn (\r\n\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{this.renderSaveFreetextButton()}\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
    \r\n\t\t\t\t\t);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn
    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t{this.renderSaveFreetextButton()}\r\n\t\t\t\t\t\t\t{this.state.prevPeople\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{this.state.currentPage}\r\n\t\t\t\t\t\t\t{this.state.nextPeople\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
    \r\n\t\t\t\t\t\t{this.state.people.map((item, key) => {\r\n const { Given, Family, Other } = item.Name;\r\n\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t

    {Family + ', ' + Given + ' ' + Other}

    \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\t\t\t\t
    ;\r\n\t\t\t\t}\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\tpersonSelected(person) {\r\n\t\t\tPersonsStore.getVisitingEscortByUri(person.$uri).then((data) => {\r\n\t\t\t\tperson = data || {};\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsearchInProgress: false,\r\n\t\t\t\t\tsearchValue: person.Name.Family + ' ' + person.Name.Given,\r\n\t\t\t\t\tperson: person\r\n\t\t\t\t});\t\t\t\t\r\n\t\t\t\tthis.updateFormField(this.state.field, person);\r\n\t\t\t});\r\n\t\t},\r\n\r\n\t\tsearchLostFocus() {\r\n\t\t\tthis.state.searchInProgress = false;\r\n\t\t},\r\n\r\n\t\tsearchGotFocus() {\r\n\t\t\tvar {person, searchValue} = this.state;\r\n\t\t\tvar personString = person.Name.Family + ' ' + person.Name.Given;\r\n\t\t},\r\n\r\n\t\tsaveFreetext() {\r\n\t\t\tconst searchValue = this.refs.searchBox.getValue();\r\n\t\t\tconst { settings, field, person } = this.state;\r\n\t\t\tconst newPerson = searchValue === '' ? { Name: {} } :\r\n\t\t\t\tsettings.personType === Consts.personType.visiting ? {Name: {Given: '', Family: searchValue}} :\r\n\t\t\t\tperson;\r\n\r\n\t\t\t\tthis.updateFormField(field, newPerson);\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tpeople: [],\r\n\t\t\t\t\tsearchValue: this.createSearchValue(newPerson),\r\n\t\t\t\t\tperson: newPerson,\r\n\t\t\t\t\tsearchInProgress: false\r\n\t\t\t\t});\r\n\r\n\t\t},\r\n\r\n\t\tsearchChanged() {\r\n\t\t\tconst searchValue = this.refs.searchBox.getValue();\r\n\t\t\tif (searchValue && searchValue.length >= 3) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsearchValue: searchValue\r\n\t\t\t\t});\r\n\t\t\t\tthis.searchChangedDebounced(searchValue);\r\n\t\t\t} else {\r\n\t\t\t\tvar { settings, field, person } = this.state;\r\n\t\t\t\tvar newPerson = searchValue === '' ? {Name: {}} :\r\n\t\t\t\t\tsettings.personType === Consts.personType.visiting ? {Name: {Given: '', Family: searchValue}} :\r\n\t\t\t\t\tperson;\r\n\r\n\t\t\t\tif (searchValue === '') {\r\n\t\t\t\t\tthis.updateFormField(field, newPerson);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tpeople: [],\r\n\t\t\t\t\tsearchValue: searchValue,\r\n\t\t\t\t\tperson: newPerson,\r\n\t\t\t\t\tsearchInProgress: false\r\n\t\t\t\t});\r\n\t\t\t}\r\n\r\n\t\t},\r\n\r\n\t\tchangeSearchPagination(type = \"next\") {\r\n\t\t\tconst uri = (type === 'prev')\r\n\t\t\t\t? this.state.prevPeople\r\n\t\t\t\t: this.state.nextPeople;\r\n\t\t\tconst currentPage = this.state.currentPage;\r\n\t\t\tif ((currentPage >= 1 && type === \"next\") || (currentPage > 1 && type === 'prev')) {\r\n\t\t\t\tPersonsStore.loadMoreVisitingEscortList(uri, this.state.settings.personType).then((data) => {\r\n\t\t\t\t\tif (data.payload.Data.length === 0) {\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tnextPeople: false\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar newCurrentPage = (type === 'prev')\r\n\t\t\t\t\t\t? currentPage - 1\r\n\t\t\t\t\t\t: currentPage + 1;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tsearchInProgress: true,\r\n\t\t\t\t\t\tgotData: true,\r\n\t\t\t\t\t\tpeople: data.payload.Data,\r\n\t\t\t\t\t\tnextPeople: (data.payload.Count === Consts.visiting_escort_limit)\r\n\t\t\t\t\t\t\t? data.payload.Next\r\n\t\t\t\t\t\t\t: false,\r\n\t\t\t\t\t\tprevPeople: (newCurrentPage > 1)\r\n\t\t\t\t\t\t\t? data.payload.Prev\r\n\t\t\t\t\t\t\t: false,\r\n\t\t\t\t\t\tcurrentPage: newCurrentPage\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tpopupLostFocus() {\r\n\t\t\tthis.searchLostFocus();\r\n\t\t},\r\n\t\tcreateSearchValue(person) {\r\n\t\t\treturn person && person.Name.Family && person.Name.Family != ''\r\n\t\t\t\t? person.Name.Family + ' ' + person.Name.Given\r\n\t\t\t\t: '';\r\n\t\t},\r\n\t\tcreateSortQuery() {\r\n\t\t\tvar query = {\r\n\t\t\t\tview: {\r\n\t\t\t\t\tsortBy: {direction: 'asc', field: 'Name.Family,Name.Given'}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn QueryUtils.getQueryObject(query).getSortBy();\r\n\t\t},\r\n\t\tcreateSearchQuery(value) {\r\n\t\t\tvar valuesSplittedBySpace = value.split(\" \");\r\n\t\t\tvar query = {\r\n\t\t\t\tfilters: valuesSplittedBySpace.reduce((list, val) => {\r\n\t\t\t\t\tif (val) {\r\n\t\t\t\t\t\tlist.push({\r\n\t\t\t\t\t\t\tseparator: '|',\r\n\t\t\t\t\t\t\tfield: {\r\n\t\t\t\t\t\t\t\tname: \"Name.Given\",\r\n\t\t\t\t\t\t\t\tfield_type: Consts.fieldTypes.string\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tconditions: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcondition: Consts.apiFilters.lk,\r\n\t\t\t\t\t\t\t\t\tvalue: value\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\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlist.push({\r\n\t\t\t\t\t\t\tfield: {\r\n\t\t\t\t\t\t\t\tname: \"Name.Family\",\r\n\t\t\t\t\t\t\t\tfield_type: Consts.fieldTypes.string\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tconditions: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcondition: Consts.apiFilters.lk,\r\n\t\t\t\t\t\t\t\t\tvalue: value\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\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t});\r\n\r\n\t\t\t\t\t\tlist.push({\r\n\t\t\t\t\t\t\tfield: {\r\n\t\t\t\t\t\t\t\tname: \"Credentials.Active\",\r\n\t\t\t\t\t\t\t\tfield_type: Consts.fieldTypes.Boolean\r\n\t\t\t\t\t\t\t},\r\n\t\t\t\t\t\t\tconditions: [\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tcondition: Consts.apiFilters.eq,\r\n\t\t\t\t\t\t\t\t\tvalue: true\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\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn list;\r\n\t\t\t\t}, [])\r\n\t\t\t};\r\n\t\t\treturn QueryUtils.getQueryObject(query).getFilter();\r\n\t\t},\r\n\t\tgetVisitingEscortList(searchValue) {\r\n\t\t\tvar {visitUri, settings} = this.state;\r\n\t\t\tthis.setState({\r\n\t\t\t\tsearchInProgress: true,\r\n\t\t\t\tgotData: false\r\n\t\t\t});\r\n\t\t\tPersonsStore.getVisitingEscortList(visitUri, this.createSearchQuery(searchValue), settings.personType, this.createSortQuery()).then((data) => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tsearchInProgress: true,\r\n\t\t\t\t\tgotData: true,\r\n\t\t\t\t\tpeople: data.payload.Data,\r\n\t\t\t\t\tcount: data.payload.Count,\r\n\t\t\t\t\tnextPeople: (data.payload.Count === Consts.visiting_escort_limit)\r\n\t\t\t\t\t\t? data.payload.Next\r\n\t\t\t\t\t\t: false,\r\n\t\t\t\t\tprevPeople: false,\r\n\t\t\t\t\tcurrentPage: 1\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = PersonFinder;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar options = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"optionsContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"options\",\r\n\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\"noLegend\": true,\r\n\t\t\t\t\"description\": \"\",\r\n\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\t\"name\": \"ForceInactive\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.ForceInactive\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"SetForBatchPrinting\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.SetForBatchPrinting\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"CardWatch\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.CardWatch\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\"\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"Stop\",\r\n\t\t\t\t\t\t\"display\": \"CommonForm.Options.Stop\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12 optionsCheckbox\"\r\n\t\t\t\t\t}]\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t\tvar additionalOptions = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"additionalOptionsContainer\",\r\n\t\t\t\"display\": \"PersonForm.tabs.optionsTab.additionalOptions\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"groupHtmlClass\": \"row additionalOptionsContainer\",\r\n\t\t\t\"fields\": []\r\n\t\t}));\r\n\t\t\r\n\t\tvar stopField = _.find(options.fields[0].fields[0].fields, (item) => item.name === 'Stop');\r\n\t\tstopField.onChange = params.onChange;\r\n\t\tvar AvailableGroups = params.AvailableGroups;\r\n\t\tfor (var i = AvailableGroups.length - 1; i >= 0; i--) {\r\n\t\t\tvar groupName = \"GroupOptions.\" + AvailableGroups[i].Name.replace(/ /g, '');\r\n\t\t\tif(!checkGroupContains(additionalOptions.fields, groupName))\r\n\t\t\t{\r\n\t\t\t\tadditionalOptions.fields.push({\r\n\t\t\t\t\t\t\"name\": groupName,\r\n\t\t\t\t\t\t\"typeMetaFieldName\": \"Groups\",\r\n\t\t\t\t\t\t\"display\": i18n.t(\"CommonForm.AdditionalOptions.\" + AvailableGroups[i].Name),\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\"groupHtmlClass\": \"col-md-6 additionalOptionsCheckbox\"\r\n\t\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"OptionsTab\",\r\n\t\t\t\"display\": \"PersonForm.tabs.optionsTab.title\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [options, additionalOptions]\r\n\t\t}];\r\n\t};\r\n\r\n\tvar checkGroupContains = function(group, groupName){\r\n\t\treturn _.find(group, function(g){return g.name === groupName; });\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar buildFields = function (){\r\n\t\tvar name = {\r\n\t\t\t\"name\": \"NameContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"Name.Family\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.LastName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText last-name-field-container\",\r\n\t\t\t\t\t\"autofocus\": true\r\n\t\t\t\t}, {\r\n\t\t\t\t\t\"name\": \"Name.Given\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.FirstName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText\"\r\n\t\t\t\t}, {\r\n\t\t\t\t\t\"name\": \"Name.Other\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Credential.MiddleName\",\r\n\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width inputText\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t};\r\n\r\n\t\t//\r\n\t\treturn [JSON.parse(JSON.stringify(\r\n\t\t{\r\n\t\t\t\"name\": \"name\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"fields\": [name]\r\n\t\t}))];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar cards = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"Credentials\",\r\n\t\t\t\"display\": \"PersonForm.card.title\",\r\n\t\t\t\"showLabel\": false,\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t}));\r\n\r\n\t\tcards.type = params.Cards.componentToLoad;\r\n\t\tcards.credentialsTemplate = params.Cards.TemplateCredentials;\r\n\t\tcards.rows = JSON.parse(JSON.stringify(params.Cards.availableRows));\r\n\t\tcards.columns = JSON.parse(JSON.stringify(params.Cards.displayColumns));\r\n\t\tcards.personUri = params.Cards.personUri;\r\n\t\tcards.isStopped = params.Cards.isStopped;\r\n\t\tcards.pageTitle = params.Cards.pageTitle;\r\n\t\tcards.onBadgeClick = params.Cards.onBadgeClick;\r\n\t\tcards.disableBadgeButton = params.Cards.disableBadgeButton;\r\n\t\tcards.facilityCustomerCodes = params.Cards.facilityCustomerCodes;\r\n\t\tcards.subcomponentsFieldsChanged = params.subcomponentsFieldsChanged;\r\n\t\tcards.addDisabled = params.Cards.addDisabled;\r\n\t\tif (params.MetaData){\r\n\t\t\tcards.min = params.MetaData.find(x => x.Name === \"MinLength\").Meta;\r\n\t\t\tcards.max = params.MetaData.find(x => x.Name === \"MaxLength\").Meta;\r\n\t\t}\r\n\t\tcards.savedCallback = params.savedCallback;\r\n\t\tcards.updateChildrenModel = params.updateChildrenModel;\r\n\t\tcards.parentResetFlags = params.parentResetFlags;\r\n\t\tcards.componentType = params.componentType;\r\n\r\n\t\treturn [{\r\n\t\t\t\"name\": \"CardsFieldset\",\r\n\t\t\t\"display\": \"PersonForm.cards.title\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-xs-12\",\r\n\t\t\t\"fields\": [cards]\r\n\t\t}];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar status = require('__components/person/PersonStatus');\r\n\r\n\tvar pictures = JSON.parse(JSON.stringify({\r\n\t\t\t\t\"name\": \"PicturesContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"col-lg-2 col-md-3 col-sm-4 col-xs-12 u-mb-xl person-face-container\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"Status\",\r\n\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width\",\r\n\t\t\t\t\t\"fontSize\": 'xx-large'\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"Face\",\r\n\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\"type\": \"image_capture\",\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"imageFormat\": \"3:4\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"full-width\"\r\n\t\t\t\t}]\r\n\t}));\r\n\r\n\tvar buildFields = function (params){\r\n\t\tpictures.fields[0].type = status;\r\n\t\tpictures.fields[0].status = params.PersonStatus.status;\r\n\t\treturn [pictures];\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar accessRightsContainer = require('__components/person/AccessRightsField').AccessRightsFieldVisitContainer;\r\n\tvar _ = require('lodash');\r\n\tvar structure = [{\r\n\t\t\"name\": \"accessRights\",\r\n\t\t\"display\": \"PersonForm.tabs.accessRightsTab.title\",\r\n\t\t\"type\": \"tab\",\r\n\t\t\"fields\": [{\r\n\t\t\t\"name\": \"container\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"AssignedAccessTargets\",\r\n\t\t\t\t\"display\": \"Access Rights\",\r\n\t\t\t\t\"type\": accessRightsContainer,\r\n\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t}]\r\n\t\t}]\r\n\t}];\r\n\r\n\tvar buildFields = function(params){\r\n\t\tstructure[0].fields[0].fields[0].assignedAccessTargets = params.AssignedAccessTargets ? params.AssignedAccessTargets : [];\r\n\t\tstructure[0].fields[0].fields[0].onChange = params.onChange;\r\n\t\tstructure[0].fields[0].fields[0].useNewModel = params.useNewModel;\r\n\t\tstructure[0].fields[0].fields[0].typeMeta = params.typeMeta;\r\n\t\tstructure[0].visible = params.visible;\r\n\t\tstructure[0].fields[0].fields[0].personUri = params.personUri;\r\n\t\treturn structure;\r\n\t};\r\n\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar AuthStore = require('__stores/AuthStore');\r\n\r\n\r\n\r\n\tvar buildFields = function (params){\r\n\t\tvar approvingOfficial = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"approvingOfficial\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"approvingOfficialContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"ApprovingOfficial\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.ApprovingOfficial\",\r\n\t\t\t\t\t\"optionName\": \"Name.FormattedName\",\r\n\t\t\t\t\t\"optionValue\": \"$uri\",\r\n\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t\tvar personIdentifier = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"personIdentifierContainer\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"PersonIdentifier\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.PersonIdentifier\",\r\n\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t }));\r\n\r\n\t\tvar badgeFormatList = JSON.parse(JSON.stringify({\r\n\t\t\t\"name\": \"badgeFormatList\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"container\",\r\n\t\t\t\"groupHtmlClass\": \"col-md-12\",\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"badgeFormatListContainer\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"no-gutter row\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"BadgeFormat\",\r\n\t\t\t\t\t\"display\": \"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.BadgeFormatList\",\r\n\t\t\t\t\t\"optionName\": \"Name\",\r\n\t\t\t\t\t\"optionValue\": \"$uri\",\r\n\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-md-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}));\r\n\r\n\t\tvar approvingOficialField = _.find(approvingOfficial.fields[0].fields, function(o) {return o.name === \"ApprovingOfficial\"; });\r\n\t\tapprovingOficialField.options = params.ApprovingOfficial.options;\r\n\t\tvar badgeFormatListField = _.find(badgeFormatList.fields[0].fields, function(o) {return o.name === \"BadgeFormat\"; });\r\n\t\tbadgeFormatListField.options = params.BadgeFormatList.options;\r\n\t\tbadgeFormatListField.handleFieldChange = params.BadgeFormatList.onChange;\r\n\t\tbadgeFormatListField.readOnly = params.BadgeFormatList.readOnly;\r\n\t\tvar isHSE = AuthStore.getState().systemDetails !== null && AuthStore.getState().systemDetails.SystemType === \"HSE\";\r\n\r\n\t\tvar fields = [\r\n\t\t\tapprovingOfficial,\r\n\t\t\tbadgeFormatList\r\n\t\t];\r\n\t\tif(isHSE){\r\n\t\t\tfields.splice(1, 0, personIdentifier);\r\n\t\t}\r\n\t\treturn [\r\n\t\t{\r\n\t\t\t\"name\": \"belowName\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"groupHtmlClass\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"fields\": fields\r\n\t\t}];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar buildFields = function (params){\r\n\t\treturn [JSON.parse(JSON.stringify(\r\n\t\t\t{\r\n\t\t\t\"name\": \"biometrics\",\r\n\t\t\t\"display\": \"PersonForm.tabs.biometricsTab.title\",\r\n\t\t\t\"type\": \"tab\",\r\n\t\t\t\"visible\": params.visible,\r\n\t\t\t\"fields\": [{\r\n\t\t\t\t\"name\": \"container\",\r\n\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\"groupHtmlClass\": \"biometrics-tab\",\r\n\t\t\t\t\"fields\": [{\r\n\t\t\t\t\t\"name\": \"Signature\",\r\n\t\t\t\t\t\"display\": \"\",\r\n\t\t\t\t\t\"showLabel\": false,\r\n\t\t\t\t\t\"type\": \"image_capture\",\r\n\t\t\t\t\t\"imageFormat\": \"1:2\",\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"groupHtmlClass\": \"col-xs-12\"\r\n\t\t\t\t}]\r\n\t\t\t}]\r\n\t\t}))];\r\n\t};\r\n\tmodule.exports = {\r\n\t\tbuildFields: buildFields\r\n\t};\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar AuditActions = require('__actions/AuditActions');\r\n\tvar AuditHandler = require('__api/AuditHandler');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\r\n\tclass AuditStore {\r\n\t\tconstructor() {\r\n\t\t\tthis.isStoreInitialized = false;\r\n\t\t\tthis.filter = \"no filter\";\r\n\t\t\tthis.bindActions(AuditActions);\r\n\t\t\tthis.pageSize = 20;\r\n\t\t\tthis.isNotConfigured = true;\r\n\t\t}\r\n\t\tsetInitialized() {\r\n\t\t\tif (this.descriptor) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tisStoreInitialized: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\tloadDescriptor() {\r\n\t\t\tAuditHandler.loadDescriptor().then(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.descriptor = data.payload;\r\n\t\t\t\t\tthis.setInitialized();\r\n\t\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tonInitStore() {\r\n\t\t\tif (!this.isStoreInitialized) {\r\n\t\t\t\tthis.loadDescriptor();\r\n\t\t\t}\r\n\t\t}\r\n\t\tonLoadAuditConfiguration(filter) {\r\n\t\t\tAuditHandler.loadAuditConfiguration().then((response) => {\r\n\t\t\t\tif (response.successful) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdata: response.payload\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tonLoadEvents(filter) {\r\n\t\t\tAuditHandler.loadAuditEvents().then((response) => {\r\n\t\t\t\tif (response.successful) {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tevents: response.payload\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tonApplyFilter(query) {\r\n\t\t\tvar filter = query.Query.getFilter();\r\n\t\t\tvar sortBy = query.Query.getSortBy();\r\n\r\n\t\t\tthis.filter = JSON.stringify(filter);\r\n\t\t\tthis.sortBy = JSON.stringify(sortBy);\r\n\t\t\tAuditHandler.loadAuditEvents(filter, sortBy).then(\r\n\t\t\t\t(data) => {\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdataQuery: data.payload,\r\n\t\t\t\t\t\tcolumns: query.Query.view.columns,\r\n\t\t\t\t\t\tisNotConfigured: false,\r\n\t\t\t\t\t});\r\n\t\t\t\t\tthis.emitChange();\r\n\t\t\t\t});\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tonSaveConfiguration(model) {\r\n\t\t\tAuditHandler.saveConfiguration(model).then((response) => {\r\n\t\t\t\tif (response.successful) {\r\n\t\t\t\t\tAuditActions.loadAuditConfiguration({});\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tmodule.exports = alt.createStore(AuditStore, 'AuditStore');\r\n})();\r\n","(function() {\r\n\t'use strict';\r\nclass AuditConfigurationFields {\r\n\tget(){\r\n\tvar fields = [\r\n\t\t{\r\n\t\t\t\"name\": \"_\",\r\n\t\t\t\"description\": \"\",\r\n\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\"noLegend\": true,\r\n\t\t\t\"fields\": []\r\n\t\t}];\r\n\t\treturn fields;\r\n\t}\r\n}\r\nmodule.exports = new AuditConfigurationFields();\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar config = require('__src/Configuration');\r\nvar homePageOptions = config.dictionaries.homePageOptions;\r\n//var themeOptions = config.dictionaries.themeOptions;\r\nvar dateHelper = require('__infrastructure/dateHelper');\r\n\r\n// TODO add list\r\n\r\nconst GeneralFields = {\r\n //NOTE: lngOptions must be sent as parameter because is loaded on server side\r\n get: (lngOptions) => {\r\n var fields =\r\n [{\r\n \"name\": \"general.defaultTimeoutIsOverridable\",\r\n \"display\": \"general.defaultTimeoutIsOverridable\",\r\n \"type\": \"checkbox\"\r\n },\r\n {\r\n \"name\": \"general.defaultTimeout\",\r\n \"display\": \"general.defaultTimeout\",\r\n \"type\": \"number\",\r\n \"default\": 2,\r\n \"placeholder\": \"Default timeout\",\r\n \"hasContainer\": true,\r\n \"validation\": [\"required\", {\r\n \"name\": \"min_value\",\r\n \"value\": 2,\r\n \"allowZero\": true\r\n }, {\r\n \"name\": \"max_value\",\r\n \"value\": 120\r\n }]\r\n },\r\n // {\r\n // \"name\": \"general.minTimeout\",\r\n // \"display\": \"general.minTimeout\",\r\n // \"type\": \"number\",\r\n // \"placeholder\": \"Minimum timeout\",\r\n // \"hasContainer\": true,\r\n // \"validation\": [\"required\", {\r\n // \"name\": \"min_value\",\r\n // \"value\": 2\r\n // }, {\r\n // \"name\": \"max_value\",\r\n // \"value\": 120\r\n // }]\r\n // },\r\n // {\r\n // \"name\": \"general.maxTimeout\",\r\n // \"type\": \"number\",\r\n // \"display\": \"general.maxTimeout\",\r\n // \"placeholder\": \"Maximum timeout\",\r\n // \"hasContainer\": true,\r\n // \"validation\": [\"required\", {\r\n // \"name\": \"min_value\",\r\n // \"value\": 2\r\n // }, {\r\n // \"name\": \"max_value\",\r\n // \"value\": 120\r\n // }]\r\n // },\r\n {\r\n \"name\": \"general.defaultLngIsOverridable\",\r\n \"display\": \"general.defaultLngIsOverridable\",\r\n \"type\": \"checkbox\"\r\n },\r\n {\r\n \"name\": \"general.defaultLng\",\r\n \"display\": \"general.defaultLng\",\r\n \"type\": \"select\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": true,\r\n \"options\": lngOptions,\r\n \"hasContainer\": true,\r\n \"ignoreTranslation\": true\r\n },\r\n {\r\n \"name\": \"general.dateFormat\",\r\n \"display\": \"general.dateFormat\",\r\n \"type\": \"select2\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": false,\r\n \"options\": dateHelper.getLanguages(),\r\n \"hasContainer\": true,\r\n \"ignoreTranslation\": true\r\n },\r\n {\r\n \"name\": \"general.defaultHomePageIsOverridable\",\r\n \"display\": \"general.defaultHomePageIsOverridable\",\r\n \"type\": \"checkbox\"\r\n },\r\n {\r\n \"name\": \"general.defaultHomePage\",\r\n \"display\": \"general.defaultHomePage\",\r\n \"type\": \"select\",\r\n \"validation\": ['required'],\r\n \"translateOptions\": true,\r\n \"options\": homePageOptions,\r\n \"hasContainer\": true\r\n },\r\n // {\r\n // \"name\": \"general.defaultTheme\",\r\n // \"display\": \"general.defaultTheme\",\r\n // \"type\": \"select\",\r\n // \"validation\": ['required'],\r\n // \"translateOptions\": true,\r\n // \"options\": themeOptions,\r\n // \"hasContainer\": true\r\n // },\r\n // {\r\n // \"name\": \"owin.httpsEnabled\",\r\n // \"display\": \"owin.httpsEnabled\",\r\n // \"type\": \"checkbox\"\r\n // },\r\n {\r\n \"name\": \"general.uploadImagesEnabled\",\r\n \"display\": \"general.uploadImagesEnabled\",\r\n \"type\": \"checkbox\"\r\n }];\r\n return fields;\r\n }\r\n}\r\nmodule.exports = GeneralFields;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tclass ApiFields {\r\n\t\t//NOTE: companyOptions must be sent as parameter because is loaded on server side\r\n\t\tget(data) {\r\n\t\t\tvar {companyOptions, unregisterClient} = data;\r\n\t\t\tvar fields = [{\r\n\t\t\t\t\"name\": \"api.defaultCompanyIsOverridable\",\r\n\t\t\t\t\"display\": \"api.defaultCompanyIsOverridable\",\r\n\t\t\t\t\"type\": \"checkbox\"\r\n\t\t\t},\r\n\t\t\t\t/*{\r\n\t\t\t\t\t\"name\": \"api.defaultCompany\",\r\n\t\t\t\t\t\"display\": \"api.defaultCompany\",\r\n\t\t\t\t\t\"type\": \"select2\",\r\n\t\t\t\t\t\"options\": companyOptions,\r\n\t\t\t\t\t\"hasContainer\": true\r\n\t\t\t\t},*/\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"apiContainer\",\r\n\t\t\t\t\t\"type\": \"container\",\r\n\t\t\t\t\t\"groupHtmlClass\": \"row\",\r\n\t\t\t\t\t\"fields\": [\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"name\": \"api.baseUrl\",\r\n\t\t\t\t\t\t\t\"display\": \"api.baseUrl\",\r\n\t\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\t\"hasContainer\": false,\r\n\t\t\t\t\t\t\t\"readOnly\": true\r\n\t\t\t\t\t\t},\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\"name\": \"api.unregisterClient\",\r\n\t\t\t\t\t\t\t\"display\": \"api.unregisterClient\",\r\n\t\t\t\t\t\t\t\"type\": \"button\",\r\n\t\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\t\"clickHandler\": unregisterClient,\r\n\t\t\t\t\t\t\t\"htmlClass\": \"form-btn-bottom\"\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"api.defaultServerPageSize\",\r\n\t\t\t\t\t\"display\": \"api.defaultServerPageSize\",\r\n\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\"placeholder\": \"Maximum server page size\",\r\n\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\"validation\": [\"required\", {\r\n\t\t\t\t\t\t\"name\": \"min_value\",\r\n\t\t\t\t\t\t\"value\": 1\r\n\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\"name\": \"max_value\",\r\n\t\t\t\t\t\t\"value\": 50\r\n\t\t\t\t\t}]\r\n\t\t\t\t}\r\n\t\t\t\t// {\r\n\t\t\t\t// \t\"name\": \"api.maxServerPageSize\",\r\n\t\t\t\t// \t\"display\": \"api.maxServerPageSize\",\r\n\t\t\t\t// \t\"type\": \"number\",\r\n\t\t\t\t// \t\"placeholder\": \"Maximum server page size\",\r\n\t\t\t\t// \t\"hasContainer\": true,\r\n\t\t\t\t// \t\"validation\": [\"required\", {\r\n\t\t\t\t// \t\t\"name\": \"min_value\",\r\n\t\t\t\t// \t\t\"value\": 100\r\n\t\t\t\t// \t}, {\r\n\t\t\t\t// \t\t\"name\": \"max_value\",\r\n\t\t\t\t// \t\t\"value\": 10000\r\n\t\t\t\t// \t}]\r\n\t\t\t\t// }\r\n\t\t\t\t];\r\n\t\t\treturn fields;\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new ApiFields();\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar config = require('__src/Configuration');\r\nvar alarmSoundOptions = config.dictionaries.alarmSoundOptions;\r\nmodule.exports = [\r\n // {\r\n // \"name\": \"alarms.multipleSelectionEnabled\",\r\n // \"display\": \"alarms.multipleSelectionEnabled\",\r\n // \"type\": \"checkbox\"\r\n // },\r\n {\r\n \"name\": \"alarms.commentMandatory\",\r\n \"display\": \"alarms.commentMandatory\",\r\n \"type\": \"checkbox\"\r\n },\r\n {\r\n \"name\": \"alarms.alarmSound\",\r\n \"display\": \"alarms.alarmSound\",\r\n \"type\": \"checkbox\"\r\n },\r\n {\r\n \"name\": \"alarms.quickActionsIsOverridable\",\r\n \"display\": \"alarms.quickActionsIsOverridable\",\r\n \"type\": \"checkbox\"\r\n },\r\n // {\r\n // \"name\": \"alarms.alarmSound\",\r\n // \"display\": \"alarms.alarmSound\",\r\n // \"type\": \"select\",\r\n // \"validation\": ['required'],\r\n // \"translateOptions\": true,\r\n // \"options\": [{value: true, name: 'Yes'}, {value: false, name: 'No'}],\r\n // \"hasContainer\": true\r\n // },\r\n {\r\n \"name\": \"alarms.defaultServerPageSizeAlarm\",\r\n \"display\": \"alarms.defaultServerPageSizeAlarm\",\r\n \"type\": \"number\",\r\n \"placeholder\": \"Maximum server page size\",\r\n \"hasContainer\": true,\r\n \"validation\": [\"required\", {\r\n \"name\": \"min_value\",\r\n \"value\": 20\r\n }, {\r\n \"name\": \"max_value\",\r\n \"value\": 120\r\n }]\r\n }\r\n // {\r\n // \"name\": \"alarms.maxServerPageSize\",\r\n // \"display\": \"alarms.maxServerPageSize\",\r\n // \"type\": \"number\",\r\n // \"placeholder\": \"Maximum server page size\",\r\n // \"hasContainer\": true,\r\n // \"validation\": [\"required\", {\r\n // \"name\": \"min_value\",\r\n // \"value\": 100\r\n // }, {\r\n // \"name\": \"max_value\",\r\n // \"value\": 10000\r\n // }]\r\n // }\r\n ];\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tclass SmtpFields {\r\n\t\tget(sendEmailHandler){\r\n\t\t\tvar fields = [{\r\n\t\t\t\t\t\"name\": \"smtp.generalSettings\",\r\n\t\t\t\t\t\"display\": \"smtp.generalSettings\",\r\n\t\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\t\"fields\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.sender\",\r\n\t\t\t\t\t\t\"display\": \"smtp.sender\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.host\",\r\n\t\t\t\t\t\t\"display\": \"smtp.host\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.port\",\r\n\t\t\t\t\t\t\"display\": \"smtp.port\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"validation\": [\"required\", {\r\n\t\t\t\t\t\t\t\"name\": \"min_value\",\r\n\t\t\t\t\t\t\t\"value\": 0\r\n\t\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\t\"name\": \"max_value\",\r\n\t\t\t\t\t\t\t\"value\": 65535\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.timeout\",\r\n\t\t\t\t\t\t\"display\": \"smtp.timeout\",\r\n\t\t\t\t\t\t\"type\": \"number\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"validation\": [\"required\", {\r\n\t\t\t\t\t\t\t\"name\": \"min_value\",\r\n\t\t\t\t\t\t\t\"value\": 0\r\n\t\t\t\t\t\t}, {\r\n\t\t\t\t\t\t\t\"name\": \"max_value\",\r\n\t\t\t\t\t\t\t\"value\": 999\r\n\t\t\t\t\t\t}]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.sendashtml\",\r\n\t\t\t\t\t\t\"display\": \"smtp.sendashtml\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"validation\": [\"required\"]\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.sslenabled\",\r\n\t\t\t\t\t\t\"display\": \"smtp.sslenabled\",\r\n\t\t\t\t\t\t\"type\": \"checkbox\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"validation\": [\"required\"]\r\n\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\t\"name\": \"smtp.authenticationSettings\",\r\n\t\t\t\t\t\"display\": \"smtp.authenticationSettings\",\r\n\t\t\t\t\t\"type\": \"fieldset\",\r\n\t\t\t\t\t\"fields\": [\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.username\",\r\n\t\t\t\t\t\t\"display\": \"smtp.username\",\r\n\t\t\t\t\t\t\"type\": \"text\",\r\n\t\t\t\t\t\t\"hasContainer\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"smtp.password\",\r\n\t\t\t\t\t\t\"display\": \"smtp.password\",\r\n\t\t\t\t\t\t\"type\": \"password\",\r\n\t\t\t\t\t\t\"hasContainer\": true\r\n\t\t\t\t\t},\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\"name\": \"click\",\r\n\t\t\t\t\t\t\"display\": \"smtp.sendTestEmail\",\r\n\t\t\t\t\t\t\"type\": \"button\",\r\n\t\t\t\t\t\t\"hasContainer\": true,\r\n\t\t\t\t\t\t\"htmlClass\": \"smtpButton\",\r\n\t\t\t\t\t\t\"clickHandler\": sendEmailHandler\r\n\t\t\t\t\t}\r\n\t\t\t\t\t]\r\n\t\t\t\t}];\r\n\t\t\t\treturn fields;\r\n\t\t\t}\r\n}\r\nmodule.exports = new SmtpFields();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\r\n\tconst ShowMessage = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tcloseMessage: false\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tconst { autoHide, showAlways, timer } = this.props;\r\n\t\t\tif(autoHide === true && showAlways !== true) {\r\n\t\t\t\tsetTimeout(this.handleCloseMessage, timer);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps){\r\n\t\t\tif (this.state.closeMessage) {\r\n\t\t\t\tthis.setState({closeMessage: false});\r\n\t\t\t}\r\n\t\t\tif(nextProps.autoHide === true && nextProps.showAlways !== true) {\r\n\t\t\t\tsetTimeout(this.handleCloseMessage, nextProps.timer);\r\n\t\t\t}\r\n\t\t},\r\n\t\thandleCloseMessage(){\r\n\t\t\tif (!this.state.closeMessage && this.toastContainer) {\r\n\t\t\t\tMessageActions.reset();\r\n\t\t\t\tthis.setState({closeMessage: true});\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetToastClass() {\r\n\t\t\tswitch(this.props.type){\r\n\t\t\t\tcase 'alert-success':\r\n\t\t\t\t\treturn 'toast-success';\r\n\t\t\t\tcase 'alert-error' :\r\n\t\t\t\t\treturn 'toast-error';\r\n\t\t\t\tcase 'alert-warning ' :\r\n\t\t\t\t\treturn 'toast-warning';\r\n\t\t\t\tdefault:\r\n\t\t\t\t\treturn 'toast-info';\r\n\t\t\t}\r\n\t\t},\r\n\t\trender () {\r\n\t\t\tconst { showAlways, message, type } = this.props;\r\n\t\t\treturn (\r\n\t\t\t\t!this.state.closeMessage &&\r\n\t\t\t\t
    { this.toastContainer = div}} className=\"toast-top-right\" aria-live=\"polite\" role=\"alert\">\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t
    {message}
    \r\n\t\t\t\t\t\t{type === 'alert-error' && this.handleCloseMessage()}>}\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = ShowMessage;\r\n\r\n})();\r\n","(function(){\r\n'use strict';\r\nclass OwinFields {\r\n //NOTE: companyOptions must be sent as parameter because is loaded on server side\r\n get(data){\r\n var {uploader, validator, parseCertificateHandler, onChangeHandler} = data;\r\n var {uploaderType, uploaderHandler} = uploader;\r\n var {validatorType, isValid, certificateThumbprint} = validator;\r\n var fields = [\r\n {\r\n \"name\": \"certificatePassword\",\r\n \"description\": \"\",\r\n \"noLegend\": true,\r\n \"groupHtmlClass\": \"full-width u-mt\",\r\n \"type\": \"fieldset\",\r\n \"fields\": [{\r\n \"name\": \"certificate\",\r\n \"display\": \"settings.owin.certificate\",\r\n \"hasContainer\": true,\r\n \"type\": \"FileForm\",\r\n \"accept\": \".pfx\",\r\n \"onUpload\": parseCertificateHandler\r\n },\r\n {\r\n \"name\": \"password\",\r\n \"display\": \"settings.owin.password\",\r\n \"hasContainer\": false,\r\n \"type\": \"password\",\r\n \"handleFieldChange\": onChangeHandler\r\n },\r\n {\r\n \"name\": \"upload\",\r\n \"display\": \"settings.owin.upload\",\r\n \"hasContainer\": false,\r\n \"type\": uploaderType,\r\n \"onClick\": uploaderHandler\r\n },\r\n {\r\n \"name\": \"validator\",\r\n \"display\": \"settings.owin.validation\",\r\n \"type\": validatorType,\r\n \"hasContainer\": false,\r\n \"isValid\": isValid,\r\n \"certificateThumbprint\": certificateThumbprint\r\n }]\r\n },\r\n {\r\n \"name\": \"httpsEnabled\",\r\n \"description\": \"\",\r\n \"noLegend\": true,\r\n \"type\": \"fieldset\",\r\n \"fields\": [{\r\n \"name\": \"httpsEnabled\",\r\n \"display\": \"settings.owin.httpsEnabled\",\r\n \"type\": \"checkbox\"\r\n }]\r\n }];\r\n return fields;\r\n }\r\n}\r\nmodule.exports = new OwinFields();\r\n})();\r\n","(function(){\r\n'use strict';\r\nclass LanguagePackFields {\r\n //NOTE: companyOptions must be sent as parameter because is loaded on server side\r\n get(data){\r\n var {lngOptions, fileTypeOptions, parseFileHandler, downloader, changeHandler, formDisabled} = data;\r\n var {downloaderType, downloaderHandler} = downloader;\r\n var fields = [{\r\n \"name\": \"languagePacks\",\r\n \"type\": \"container\",\r\n \"fields\": [{\r\n \"name\": \"language\",\r\n \"display\": \"lngSettings.LanguageOfPack\",\r\n \"type\": \"select2\",\r\n \"options\": lngOptions,\r\n \"hasContainer\": false,\r\n \"onChange\":changeHandler\r\n\r\n },\r\n {\r\n \"name\": \"file\",\r\n \"hasContainer\": false,\r\n \"type\": \"FileForm\",\r\n \"onUpload\": parseFileHandler,\r\n \"accept\":\".json\",\r\n \"hasContainer\": false,\r\n \"htmlClass\": \"width-60 u-mt-m\",\r\n \"disabled\":formDisabled\r\n },\r\n {\r\n \"name\": \"download\",\r\n \"hasContainer\": false,\r\n \"type\": downloaderType,\r\n \"onClick\": downloaderHandler,\r\n \"htmlClass\": \"u-mt-m\",\r\n \"groupHtmlClass\": \"col-sm-1\"\r\n }\r\n // {\r\n // \"name\": \"fileType\",\r\n // \"display\": \"Type of upload\",\r\n // \"type\": \"select\",\r\n // \"options\": fileTypeOptions,\r\n // \"hasContainer\": false\r\n // }\r\n ]\r\n }\r\n ];\r\n return fields;\r\n }\r\n}\r\nmodule.exports = new LanguagePackFields();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar Logger = require(\"__infrastructure/Logger\");\r\n\tvar moment = require('moment');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\r\n\tclass ScreensUtils {\r\n\t\tconstructor(opts) {\r\n\t\t\tthis.logger = opts && opts.logger ? opts.logger : new Logger({\r\n\t\t\t\tname: 'ScreensUtils'\r\n\t\t\t});\r\n\t\t}\r\n\t\t//NOTE: used in Visitor/Carholder edit screen\r\n\t\tfilterApprovingOfficials(approvingOfficials) {\r\n\t\t\tvar filtered = [];\r\n\t\t\tif (!approvingOfficials) {\r\n\t\t\t\treturn filtered;\r\n\t\t\t}\r\n\t\t\tfiltered = _.filter(approvingOfficials, function(item) {\r\n\t\t\t\treturn moment().isBetween(item.AuthorityBegins, item.AuthorityEnds);\r\n\t\t\t});\r\n\t\t\treturn filtered;\r\n\t\t}\r\n\t\tgetLocatorColumns() {\r\n\t\t\tvar visitHistoryColumns = [\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"Where.Description\",\r\n\t\t\t\t\tdisplay: \"CommonForm.Locator.Description\",\r\n\t\t\t\t\tname: \"Where.Description\",\r\n\t\t\t\t\tfield_type: \"String\"\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"Time\",\r\n\t\t\t\t\tdisplay: \"CommonForm.Locator.Time\",\r\n\t\t\t\t\tname: \"Time\",\r\n\t\t\t\t\tfield_type: Consts.fieldTypes.String\r\n\t\t\t\t},\r\n\t\t\t\t{\r\n\t\t\t\t\tName: \"Date\",\r\n\t\t\t\t\tdisplay: \"CommonForm.Locator.Date\",\r\n\t\t\t\t\tname: \"Date\",\r\n\t\t\t\t\tfield_type: Consts.fieldTypes.String\r\n\t\t\t\t}];\r\n\r\n\t\t\treturn visitHistoryColumns;\r\n\t\t}\r\n\t\tgetLocatorRowsWithTimeDateColumns(rows){\r\n\t\t\tvar returnValue = _.map(rows, function(item){\r\n\t\t\t\titem.Time = moment(item.When).format(\"hh:mm:ss a\");\r\n\t\t\t\titem.Date = moment(item.When).format(\"L\");\r\n\t\t\t\treturn item;\r\n\t\t\t});\r\n\r\n\t\t\treturn returnValue || [];\r\n\t\t}\r\n\t\tgetApprovingOfficialSaveFormatValue(value, templateValue) {\r\n\t\t\tvar type = Object.prototype.toString.call(value);\r\n\t\t\tif (type !== \"[object Object]\") {\r\n\t\t\t\t//NOTE: if undefined, means that user deleted value so, send default to API in order to delete\r\n\t\t\t\tvar returnValue = value ? {\"$uri\": value} : templateValue ? {\"$uri\": templateValue.$uri.replace(\"WithAvailability\", \"\")} : undefined;\r\n\t\t\t} else {\r\n\t\t\t\treturnValue = value;\r\n\t\t\t}\r\n\t\t\treturn returnValue;\r\n\t\t}\r\n\t\tgetBadgeFormatSaveFormatValue(value) {\r\n\t\t\tif (value) {\r\n\t\t\t\treturn {\"$uri\": value};\r\n\t\t\t} else {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t}\r\n\t\tgetVisitorEscortSaveFormatValue(value, templateValue) {\r\n\t\t\tif (value.$uri === undefined) {\r\n\t\t\t\t//NOTE: if undefined, means that user deleted value so, send default to API in order to delete\r\n\t\t\t\tvar returnValue = templateValue ? {\"$uri\": templateValue.$uri} : undefined;\r\n\t\t\t} else {\r\n\t\t\t\treturnValue = value;\r\n\t\t\t}\r\n\t\t\treturn returnValue;\r\n\t\t}\r\n\t\tgetVisitingSaveFormatValue(value, templateValue) {\r\n\t\t\tif (value.Name && (typeof value.Name === 'object') && value.Name.Given === undefined) {\r\n\t\t\t\t//NOTE: if undefined, means that user deleted value so, send default to API in order to delete\r\n\t\t\t\tvar returnValue = templateValue ? {\"$uri\": templateValue.$uri} : undefined;\r\n\t\t\t} else {\r\n\t\t\t\treturnValue = value;\r\n\t\t\t}\r\n\t\t\treturn returnValue;\r\n\t\t}\r\n\t\tbadgeAssignedAccessRigths(badgeUri, badgeList){\r\n\t\t\tvar returnValue = [];\r\n\t\t\tvar badge = _.find(badgeList, function(b) {\r\n\t\t\t\treturn b.$uri === badgeUri;\r\n\t\t\t});\r\n\r\n\t\t\tif (badge !== undefined) {\r\n\t\t\t\tif (_.has(badge, 'AccessRights.Access')) {\r\n\t\t\t\t\treturnValue = badge.AccessRights.Access;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn returnValue;\r\n\t\t}\r\n\t\tbadgeAssignedAccessRigthsAccessRightsTabFormatted(rightsList) {\r\n\t\t\treturn _.map(rightsList, function(b) {\r\n\t\t\t\treturn {AccessTarget: {\r\n\t\t\t\t\t$uri: b.AccessTarget.$uri,\r\n\t\t\t\t\tDescription: b.AccessTarget.Description\r\n\t\t\t\t}};\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetNestedProperty(model, field) {\r\n\t\t\tvar propModel = model;\r\n\t\t\tvar propNames = field.split(\".\");\r\n\t\t\tvar propName = propNames[propNames.length - 1];\r\n\t\t\tif (propNames.length > 1) {\r\n\t\t\t\tfor (var i = 0; i < propNames.length - 1; i++) {\r\n\t\t\t\t\tif (propModel) {\r\n\t\t\t\t\t\tpropModel = _.has(propModel, propNames[i]) ? propModel[propNames[i]] : null;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tpropName = propNames[propNames.length - 1];\r\n\t\t\t}\r\n\r\n\t\t\treturn _.has(propModel, propName) ? propModel[propName] : null;\r\n\t\t}\r\n\t\tformatCustomAttributeName(name) {\r\n\t\t\tvar nameWOSpace = name.replace(/\\s+/g, '_');\r\n\t\t\treturn (\"s\".concat(nameWOSpace)); //this is for the case where name starts with number\r\n\t\t}\r\n\t\tgetQueryForLink(params) {\r\n\t\t\tvar query = \"\";\r\n\t\t\tfor (var i = 0; i < params.length; i++) {\r\n\t\t\t\tquery += params[i].value + \"&\";\r\n\t\t\t}\r\n\t\t\tif (query.length > 0) {\r\n\t\t\t\tquery = query.substring(0, query.length - 1);\r\n\t\t\t}\r\n\t\t\treturn {uri: query};\r\n\t\t}\r\n\t\tgetQueryForLinkPermission(params) {\r\n\t\t\tvar query = \"\";\r\n\t\t\tfor (var i = 0; i < params.length; i++) {\r\n\t\t\t\tquery += params[i].value + \"&\";\r\n\t\t\t}\r\n\t\t\tif (query.length > 0) {\r\n\t\t\t\tquery = query.substring(0, query.length - 1);\r\n\t\t\t}\r\n\t\t\treturn query;\r\n\t\t}\r\n\t\tbypassReadonlyHiddenField(callback, params, fields, fieldName) {\r\n\t\t\tvar property = this.getNestedProperty(fields, fieldName);\r\n\t\t\tif (property && (!property.visible || property.readOnly)) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t} else {\r\n\t\t\t\treturn callback.apply(this, params);\r\n\t\t\t}\r\n\t\t}\r\n\t\tgetPersonStatus(model) {\r\n\t\t\tif (model.Stop){\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstatus: \"CommonForm.CardStatus.Stop\",\r\n\t\t\t\t\tcolor: \"black\",\r\n\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (model.OnVacation) {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstatus: \"CommonForm.CardStatus.OnVacation\",\r\n\t\t\t\t\tcolor: \"orange\",\r\n\t\t\t\t\t\"width\": \"40px\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (!model.$uri){\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstatus: \"CommonForm.CardStatus.New\",\r\n\t\t\t\t\tcolor: \"blue\",\r\n\t\t\t\t\twidth: \"40px\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (model.ForceInactive || (model.Credentials.length > 0 && _.every(model.Credentials, {\"Active\": false}))){\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstatus: \"CommonForm.CardStatus.Inactive\",\r\n\t\t\t\t\tcolor: \"red\",\r\n\t\t\t\t\twidth: \"70px\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\tif (model.Credentials.length > 0){\r\n\t\t\t\treturn {\r\n\t\t\t\t\tstatus: \"CommonForm.CardStatus.Active\",\r\n\t\t\t\t\tcolor: \"green\",\r\n\t\t\t\t\twidth: \"60px\"\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t\treturn {\r\n\t\t\t\tstatus: \"CommonForm.CardStatus.Inactive\",\r\n\t\t\t\tcolor: \"red\",\r\n\t\t\t\twidth: \"70px\"\r\n\t\t\t};\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new ScreensUtils();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tclass LongRunOperationActions {\r\n\t\tconstructor() {\r\n\t\t}\r\n\t\toperationIsLongRun(){\r\n\t\t\t//raised after 1 second\r\n\t\t\tsetTimeout(() => this.dispatch(), 1000);\r\n\t\t}\r\n\t\toperationStart(){\r\n\t\t\tsetTimeout(() => this.dispatch(), 0);\r\n\t\t}\r\n\t\toperationFinish(){\r\n\t\t\tsetTimeout(() => this.dispatch(), 0);\r\n\t\t}\r\n\t}\r\n\tmodule.exports = alt.createActions(LongRunOperationActions);\r\n})();\r\n","import alt from '__base/alt';\r\nimport _ from 'lodash';\r\n\r\nimport AppStorage from '__infrastructure/AppStorage';\r\nimport UserProfileActions from '__actions/UserProfileActions';\r\nimport MessageActions from '__containers/Notifications/actions';\r\nimport AppActions from '__actions/AppActions';\r\nimport UserProfileHandler from '__api/UserProfileHandler';\r\nimport config from '__src/Configuration.js';\r\n\r\nconst errorHandler = config.appErrorHandler;\r\nconst storeKey = 'UserProfileStore';\r\n\r\nconst defaultState = {\r\n UserName: '',\r\n userProfile: {},\r\n loaded: false\r\n};\r\n\r\nclass UserProfileStore {\r\n constructor() {\r\n this.state = defaultState;\r\n this.bindActions(UserProfileActions);\r\n this.on('init', this.onInitStore);\r\n }\r\n onInitStore() {\r\n const storage = AppStorage.get(storeKey);\r\n if (storage) {\r\n _.assign(this, storage);\r\n }\r\n }\r\n\r\n onLoadUserProfile(userName) {\r\n if (userName !== undefined) {\r\n this.UserName = userName;\r\n }\r\n if (this.UserName !== '') {\r\n UserProfileHandler.loadUserProfile(this.UserName).then((data) => {\r\n const { successful, status, payload } = data;\r\n if (successful) {\r\n this.updateUserProfile(payload);\r\n }\r\n }).catch(errorHandler);\r\n } else {\r\n this.userProfile = {};\r\n }\r\n }\r\n\r\n onSaveUserPreferences(preferences) {\r\n UserProfileHandler.savePreferences(preferences).then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n this.updateUserProfile(payload);\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: 'messages.saveSuccessful',\r\n });\r\n if (payload.passwordChangeStatus.Status !== 200) {\r\n MessageActions.addNotification({\r\n type: 'error',\r\n apiMessage: payload.passwordChangeStatus.Message,\r\n });\r\n }\r\n this.emitChange();\r\n } else {\r\n //NOTE: do not raise error; it will be treated general by interceptor\r\n }\r\n }).catch(errorHandler);\r\n //prevent change on component\r\n return false;\r\n }\r\n\r\n updateUserProfile(userProfile) {\r\n this.setState({\r\n userProfile,\r\n loaded: true\r\n });\r\n this.emitChange();\r\n\r\n AppStorage.set(storeKey, this);\r\n if (_.has(userProfile.userPreferences.general, 'defaultLng')) {\r\n AppActions.changeLanguage(userProfile.userPreferences.general.defaultLng);\r\n }\r\n }\r\n\r\n static getDefaultCompany() {\r\n return this.state.userProfile.userPreferences.api.defaultCompany;\r\n }\r\n\r\n static getCurrentUser() {\r\n return this.state.userProfile;\r\n }\r\n}\r\n\r\nexport default alt.createStore(UserProfileStore, 'UserProfileStore');\r\n","import { Promise } from 'es6-promise';\r\nimport superagent from '__infrastructure/Superagent-wrapper';\r\nimport apiRoutes from '__infrastructure/ApiRoutes';\r\nimport config from '__src/Configuration';\r\n// eslint-disable-next-line no-unused-vars\r\nimport regeneratorRuntime from \"regenerator-runtime\";\r\n\r\nexport const fetchTypeMeta = async (uri) => {\r\n\tconst CompaniesStore = require('__stores/CompaniesStore');\r\n\tconst company = CompaniesStore.state.selectedCompany.Description || '';\r\n\tconst url = `${config.apiRoot}${apiRoutes.cardHolders.baseRoute}${apiRoutes.cardHolders.routes.credentialTypeMeta}?uri=${uri}`;\r\n\tconst headers = new Headers();\r\n\theaders.append('company', company);\r\n\r\n\tconst request = new Request(url, {\r\n\t\theaders: new Headers({\r\n\t\t\t'company': company\r\n\t\t}),\r\n\t\tcredentials: 'include'\r\n\t});\r\n\r\n\t// const data = await fetch(url, {\r\n\t// \tcredentials: 'include'\r\n\t// });\r\n\r\n\tconst data = await fetch(request);\r\n\tconst { TypeMeta } = await data.json();\r\n\treturn TypeMeta;\r\n}\r\n\r\nclass CardHoldersHandler{\r\n\tloadCardHolders(filter, sortBy, company, pageSize){\r\n\t\tconst url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\tconst query = {\r\n\t\t\tfilter: filter.filter,\r\n\t\t\tsort: sortBy.sortBy,\r\n\t\t\tlimit: pageSize,\r\n\t\t};\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent.base\r\n\t\t\t.get(url)\r\n\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t.query(query)\r\n\t\t\t.withCredentials()\r\n\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tloadMore(uri, company){\r\n\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.app.routes.loadmore;\r\n\t\tvar query = {};\r\n\t\tquery.uri = uri;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.get(url)\r\n\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t.query(query)\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tloadDescriptor(){\r\n\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.app.routes.descriptor;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.get(url)\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tloadPermissions(){\r\n\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.permissions;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.get(url)\r\n\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tsaveCardholder(cardholder, company){\r\n\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\treturn new Promise(resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.post(url, cardholder)\r\n\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tloadTemplate(){\r\n\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.template;\r\n\t\treturn new Promise(resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.get(url)\r\n\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n}\r\n\r\nexport default new CardHoldersHandler;\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar Query = require('__components/common/query/Query');\r\n\tvar ViewFooter = require('__components/common/multiview/ViewFooter');\r\n\tvar QueryMultiviewMixin = require('__components/common/QueryMultiviewMixin');\r\n\tvar _ = require('lodash');\r\n\tvar Hotkey = require('__infrastructure/Hotkey.js');\r\n\tvar ReactSticky = require('react-sticky');\r\n\tvar { Sticky, StickyContainer } = ReactSticky;\r\n\tvar { debounce } = require('lodash');\r\n\tHotkey.activate();\r\n\tHotkey.activate('keydown');\r\n\r\n\tvar QueryableMultiView = React.createClass({\r\n\t\tmixins: [QueryMultiviewMixin, Hotkey.mixin('handleHotkey')],\r\n\t\tpropTypes: {\r\n\t\t\tclientSortAndFilter: React.PropTypes.bool,\t\t\t\t//should internal, client side sorting and filtering be used\r\n\t\t\tcolumns: React.PropTypes.array,\t\t\t\t\t\t\t//[], column definitions\r\n\t\t\tdisplayTypes: React.PropTypes.array,\t\t\t\t\t//definition of the view objects\r\n\t\t\tfilterDateField: React.PropTypes.string,\t\t\t\t//field name to use for date sorting, if omitted no date filters are shown\r\n\t\t\tfilterDateFrom: React.PropTypes.instanceOf(Date),\r\n\t\t\tfilterDateTo: React.PropTypes.instanceOf(Date),\r\n\t\t\tsortDir: React.PropTypes.string,\r\n\t\t\tsortField: React.PropTypes.string,\r\n\t\t\trows: React.PropTypes.array,\t\t\t\t\t\t\t//[], the data rows\r\n\t\t\tupdateFilterField: React.PropTypes.func,\t\t\t\t//action for store\r\n\t\t\tuserLink: React.PropTypes.string,\t\t\t\t\t\t//optional router route to use for user links\r\n\t\t\tviewType: React.PropTypes.number,\t\t\t\t\t\t//the active view index\r\n\t\t\tclientPagination: React.PropTypes.bool,\t\t\t\t\t//offers client side pagination\r\n\t\t\tclientPageSize: React.PropTypes.number,\t\t\t\t\t//page size for client pagination\r\n\t\t\tclientSelection: React.PropTypes.bool,\t\t\t\t\t//allow client to select items\r\n\t\t\tmultiselectEnabled: React.PropTypes.bool\t\t\t\t//enable multi select; default is disabled,\r\n\t\t},\r\n\t\thandleHotkey(e) {\r\n\t\t\tif (e.type === \"keydown\" && e.key === \"Shift\") {\r\n\t\t\t\tthis.state.shiftKey = true;\r\n\t\t\t} else if (e.type === \"keyup\" && e.key === \"Shift\") {\r\n\t\t\t\tthis.state.shiftKey = false;\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tif (this.props.serverFilter) {\r\n\t\t\t\tthis.debouncedServerFilter = debounce(this.props.serverFilter, 700);\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tview: this.state ? this.state.view : {},\r\n\t\t\t\tshiftKey: this.state ? this.state.shiftKey : false,\r\n\t\t\t\tstartSelectionRow: this.state ? this.state.startSelectionRow : {},\r\n\t\t\t\tlistFilter: this.state ? this.state.listFilter : {},\r\n\t\t\t\tsortArray: this.state ? this.state.sortArray : [],\r\n\t\t\t\tfiltersOpen: false\r\n\t\t\t};\r\n\t\t},\r\n\t\tgetDefaultProps() {\r\n\t\t\treturn {\r\n\t\t\t\tcolumns: [],\r\n\t\t\t\tmultiselectEnabled: false\r\n\t\t\t};\r\n\t\t},\r\n\t\trenderFrozenMessage(){\r\n\t\t\tif (this.props.isFrozen) {\r\n\t\t\t\treturn (

    Long polling is paused while a selection is active.

    );\r\n\t\t\t}\r\n\t\t},\r\n\t\topenFilters(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tthis.setState({filtersOpen: true});\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {\r\n\t\t\t\tclientSortAndFilter,\r\n\t\t\t\tdisplayTypes,\r\n\t\t\t\tclientPagination,\r\n\t\t\t\tpaginationObject,\r\n\t\t\t\tclientSelection,\r\n\t\t\t\tmultiselectEnabled,\r\n\t\t\t\tloadingData,\r\n\t\t\t\tshowNetworkError,\r\n\t\t\t\tselectedColumns,\r\n\t\t\t\tfilterByApiName,\r\n\t\t\t\tisNotConfigured\r\n\t\t\t} = this.props;\r\n\t\t\tvar {pageSizeChanged} = this.props;\r\n\t\t\tvar {viewType, filter, quickFilterData, sortData, view} = this.state;\r\n\t\t\tvar filterRegex = new RegExp(filter, \"i\");\r\n\t\t\tvar filteredRows = clientSortAndFilter ? this.getFilteredRows() : this.props.tableSorting ? this.getSortedRows() : this.props.rows || [];\r\n\t\t\tvar clientPager = clientPagination === true ? this.getClientPager(filteredRows) : null;\r\n\t\t\tvar rows = clientPagination === true ? this.getClientPageRows(filteredRows) : filteredRows;\r\n\t\t\tvar clientSelector = clientSelection === true ? this.getClientSelector(filteredRows, rows, clientPager, multiselectEnabled) : null;\r\n\t\t\t//NOTE: override the default behavior of row selected\r\n\t\t\tif(clientSelector){\r\n\t\t\t\tclientSelector.select = this.selectRow;\r\n\t\t\t}\r\n\t\t\tvar ViewTpl = displayTypes[viewType].tpl;\r\n\t\t\tvar ItemTpl = displayTypes[viewType].itemtpl || null;\r\n\t\t\tvar sortField = clientSortAndFilter ? this.state.sortField : this.props.sortField;\r\n\t\t\tvar sortDir = clientSortAndFilter ? this.state.sortDir : this.props.sortDir;\r\n\t\t\tconst ServerPagination = paginationObject && paginationObject.component;\r\n\t\t\tif (this.props.selectedColumns && this.props.columns.length === 0 && this.props.selectedColumns.length > 0) {\r\n\t\t\t\tArray.prototype.push.apply(this.props.columns, this.props.selectedColumns);\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{clientPagination && }\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.renderFrozenMessage()}\r\n\t\t\t\t\t{\r\n\t\t\t\t\t(this.state.view.columns) ?\r\n\t\t\t\t\t
    \r\n\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\t\t\t\t\t{ paginationObject ? : null }\r\n\t\t\t\t\t
    : ''\r\n\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\trenderviewIsNotConfigured() {\r\n\t\t\treturn (
    {i18n.t(\"CommonForm.ConfigureView\")}
    );\r\n\t\t},\r\n\t\tprocessViewChange(view) {\r\n\t\t\tthis.props.columns.length = 0;\r\n\t\t\tArray.prototype.push.apply(this.props.columns, view.columns);\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tview: view || {}\r\n\t\t\t\t});\r\n\t\t\t},0);\r\n\t\t},\r\n\t\tselectRow(row) {\r\n\t\t\tvar {clientSortAndFilter, clientPagination, multiselectEnabled} = this.props;\r\n\t\t\tvar rows = clientSortAndFilter ? this.getFilteredRows() : this.props.rows;\r\n\t\t\trows = clientPagination === true ? this.getClientPageRows(rows) : rows;\r\n\t\t\tvar selected = this.isRowSelected(row);\r\n\t\t\tthis.changeSingleSelectedRow(row);\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tselectMultiple(row) {\r\n\t\t\tvar {clientSortAndFilter, clientPagination, multiselectEnabled} = this.props;\r\n\t\t\tvar rows = clientSortAndFilter ? this.getFilteredRows() : this.props.rows;\r\n\t\t\trows = clientPagination === true ? this.getClientPageRows(rows) : rows;\r\n\t\t\tvar selected = this.isRowSelected(row);\r\n\t\t\tif (!multiselectEnabled && !selected && this.state.selectedRows.length > 0){\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar lastRowDeselected = selected ? row : null;\r\n\t\t\tthis.changeSelectedRow(row);\r\n\t\t\tif(this.state.shiftKey === true){\r\n\t\t\t\tvar lastIndex = _.indexOf(rows, this.state.lastRowSelected);\r\n\t\t\t\tvar index = _.indexOf(rows, row);\r\n\t\t\t\tvar start = index < lastIndex ? index : lastIndex;\r\n\t\t\t\tvar end = index < lastIndex ? lastIndex : index;\r\n\t\t\t\tvar selection = _.slice(rows, start, end + 1);\r\n\t\t\t\t_.map(selection, (r)=>{\r\n\t\t\t\t\tthis.changeSelectedRow(r, !selected);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif(!selected){\r\n\t\t\t\tthis.state.lastRowSelected = row;\r\n\t\t\t}\r\n\t\t\tif(lastRowDeselected){\r\n\t\t\t\tthis.state.lastRowDeselected = lastRowDeselected;\r\n\t\t\t}\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tonListSortChange(sortArray){\r\n\t\t\tthis.state.sortArray = sortArray;\r\n\t\t},\r\n\t\tinvalidateFiltersOpen() {\r\n\t\t\tthis.state.filtersOpen = false;\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = QueryableMultiView;\r\n\r\n})();\r\n","/*eslint no-console:0*/\r\n(function(){\r\n'use strict';\r\n\r\n//ensure we have a console\r\nvar console = window.console || {\r\n \"info\": function() {},\r\n \"log\": function() {},\r\n \"error\": function() {},\r\n \"warn\": function() {}\r\n};\r\n\r\nvar _ = require('lodash');\r\n/*\r\nfunction stackTrace() {\r\n var err = new Error();\r\n return err.stack;\r\n}\r\n*/\r\n/*\r\n* Provides Logger class\r\n*/\r\nclass Logger {\r\n\tconstructor(opts) {\r\n\t\tvar defaults = {\r\n\t\t\tname: 'default logger',\r\n\t\t\tlevel: 3\r\n\t\t};\r\n\r\n\t\t_.extend(this, defaults, opts);\r\n\t\tthis.logLevels = {\r\n\t\t\t\"debug\": 1,\r\n\t\t\t\"info\": 2,\r\n\t\t\t\"warn\": 3,\r\n\t\t\t\"error\": 4,\r\n\t\t\t\"fatal\": 5\r\n\t\t};\r\n\t}\r\n\r\n\t_buildMsg(params){\r\n\t\tvar paramMsg = Array.isArray(params.msg) ? params.msg : [params.msg];\r\n\t\tvar messages = [];\r\n\t\tparamMsg.forEach(msg =>{\r\n\t\t\tmessages.push(typeof msg === 'string' ? msg : JSON.stringify(msg));\r\n\t\t});\r\n\r\n\t\t//send this to the server\r\n\t\t//var remoteMessage = `${this.name}::${params.level.toUpperCase()}:: ${messages.join('| ')}`;\r\n\t\treturn `${this.name}::${params.level.toUpperCase()}::`;\r\n\t}\r\n\t/**\r\n\t* Logs msg at specified level.\r\n\t* @level - log level (string)\r\n\t* @msg - message to be logged (string)\r\n\t*/\r\n\tlog(level, ...msg) {\r\n\t\tif (this[level]){\r\n\t\t\tthis[level](msg);\r\n\t\t}\r\n\t}\r\n\tdebug(...msg){\r\n\t\tvar message = this._buildMsg({\r\n\t\t\tlevel: 'debug',\r\n\t\t\tmsg: msg\r\n\t\t});\r\n\t\tconsole.log(message, ...msg);\r\n\t}\r\n\tinfo(...msg){\r\n\t\tvar message = this._buildMsg({\r\n\t\t\tlevel: 'info',\r\n\t\t\tmsg: msg\r\n\t\t});\r\n\t\tconsole.info(message, ...msg);\r\n\t}\r\n\twarn(...msg){\r\n\t\tvar message = this._buildMsg({\r\n\t\t\tlevel: 'warn',\r\n\t\t\tmsg: msg\r\n\t\t});\r\n\t\tconsole.warn(message, ...msg);\r\n\t}\r\n\terror(...msg){\r\n\t\tvar message = this._buildMsg({\r\n\t\t\tlevel: 'error',\r\n\t\t\tmsg: msg\r\n\t\t});\r\n\t\tconsole.error(message, ...msg);\r\n\t}\r\n\tfatal(...msg){\r\n\t\t//var stack = stackTrace();\r\n\t\tvar message = this._buildMsg({\r\n\t\t\tlevel: 'fatal',\r\n\t\t\tmsg: msg\r\n\t\t});\r\n\t\tconsole.error(message, ...msg);\r\n\t}\r\n\ttable(msg){\r\n\t\tif (console.table && (typeof msg === 'object' || Array.isArray(msg))){\r\n\t\t\tconsole.table(msg);\r\n\t\t}\r\n\t}\r\n}\r\n\r\nmodule.exports = Logger;\r\n})();\r\n\r\n","import R from 'ramda';\r\n\r\nfunction updateNeighbours(idx, list, newPage) {\r\n let newList = list;\r\n const beforePage = newList[idx - 1];\r\n const afterPage = newList[idx + 1];\r\n const hasCurrentPage = R.has('currentPage');\r\n if (beforePage) {\r\n newList = R.update(idx - 1, R.merge(beforePage, { currentPage: newPage.Prev }), newList);\r\n if (!hasCurrentPage(newPage)) {\r\n newList = R.update(idx, R.merge(newPage, { currentPage: beforePage.Next }), newList);\r\n }\r\n }\r\n if (afterPage) {\r\n newList = R.update(idx + 1, R.merge(afterPage, { currentPage: newPage.Next }), newList);\r\n if (!hasCurrentPage(newPage)) {\r\n newList = R.update(idx, R.merge(newPage, { currentPage: afterPage.Prev }), newList);\r\n }\r\n }\r\n return newList;\r\n}\r\n\r\nfunction pushNewPage(list, page, pageNumber) {\r\n const newPage = R.merge(page, { pageNumber });\r\n const isCurrentPage = R.propEq('pageNumber', pageNumber);\r\n const currentPageIndex = R.findIndex(isCurrentPage)(list);\r\n if (currentPageIndex > -1) {\r\n const newList = R.update(currentPageIndex, newPage, list);\r\n return updateNeighbours(currentPageIndex, newList, newPage);\r\n }\r\n return updateNeighbours(list.length, list.concat([newPage]), newPage);\r\n}\r\n\r\nexport default pushNewPage;\r\n","(function() {\r\n\t'use strict';\r\n\tvar config = require('__src/Configuration.js');\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\r\n\tclass AuditHandler {\r\n\t\tloadAuditConfiguration() {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.audit;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.get(url)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadAuditEvents(filter, sortBy) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.events;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\tquery.sort = sortBy.sortBy;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.get(url)\r\n\t\t\t\t\t.query(query)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadDescriptor() {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.descriptor;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.get(url)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tsaveConfiguration(model) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.save;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t\t.post(url, model)\r\n\t\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new AuditHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar StatisticsStore = require('__stores/StatisticsStore');\r\n\tvar i18n = require('i18next-client');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tconst { Link } = require('react-router-dom');\r\n\r\n\tvar Cardholders = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar storeState = StatisticsStore.getState();\r\n\t\t\treturn {\r\n\t\t\t\tloaded: storeState.isStoreInitialized,\r\n\t\t\t\terror: storeState.initializationFailed,\r\n\t\t\t\tstatistics: storeState.statistics,\r\n\t\t\t\tisNetworkDown: storeState.isNetworkDown\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tStatisticsStore.listen(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tStatisticsStore.unlisten(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tif(this.state.loaded === false){\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tvar errorInfo =
    \r\n\t\t\t\t

    {this.state.isNetworkDown? i18n.t(\"Error.LoadingStatisticsNetworkDown\") : i18n.t(\"Error.LoadingStatistics\")}

    \r\n\t\t\t\t\t\t\t
    ;\r\n\t\t\tvar statistics = this.state.statistics;\r\n\t\t\tvar {ActiveCards, InactiveCards, TotalCards} = statistics || {};\r\n\t\t\tActiveCards = ActiveCards !== undefined ? ActiveCards : \"?\";\r\n\t\t\tInactiveCards = InactiveCards !== undefined ? InactiveCards : \"?\";\r\n\t\t\tTotalCards = TotalCards !== undefined ? TotalCards : \"?\";\r\n\t\t\tvar uriQuery = (op)=>{\r\n\t\t\t\tvar query = {filters: []};\r\n\t\t\t\tquery.filters.push(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfield: {name: \"Credentials.Active\", field_type: Consts.fieldTypes.boolean},\r\n\t\t\t\t\t\t\tconditions: [{condition: op, value: \"true\"}],\r\n\t\t\t\t\t\t\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\treturn encodeURIComponent(JSON.stringify({Query: query}));\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\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
    {i18n.t(\"Widgets.CardHolders.ActiveCards\") + \": \" + ActiveCards}
    \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
    {i18n.t(\"Widgets.CardHolders.InactiveCards\") + \": \" + InactiveCards}
    \r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\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
    \r\n\t\t\t\t\t\t\t\t
    {i18n.t(\"Widgets.CardHolders.TotalCards\") + \": \" + TotalCards}
    \r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.state.error === true ? errorInfo : null}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tonChangeStatisticsStore(){\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t}\r\n\t});\r\n\tmodule.exports = Cardholders;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar StatisticsStore = require('__stores/StatisticsStore');\r\n\tvar i18n = require('i18next-client');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar moment = require('moment');\r\n\tconst { Link } = require('react-router-dom');\r\n\r\n\tvar Visitors = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar storeState = StatisticsStore.getState();\r\n\t\t\treturn {\r\n\t\t\t\tloaded: storeState.isStoreInitialized,\r\n\t\t\t\terror: storeState.initializationFailed,\r\n\t\t\t\tstatistics: storeState.statistics\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tStatisticsStore.listen(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tStatisticsStore.unlisten(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tif(this.state.loaded === false){\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tvar errorInfo =
    \r\n\t\t\t\t\t\t\t\t

    {i18n.t(\"Error.LoadingStatistics\")}

    \r\n\t\t\t\t\t\t\t
    ;\r\n\t\t\tvar statistics = this.state.statistics;\r\n\t\t\tvar {ActiveVisitorCards, InactiveVisitorCards, TodaysVisitors, TotalVisitorCards, SignedInVisitors, AvailableVisitorCards} = statistics || {};\r\n\t\t\tActiveVisitorCards = ActiveVisitorCards !== undefined ? ActiveVisitorCards : \"?\";\r\n\t\t\tInactiveVisitorCards = InactiveVisitorCards !== undefined ? InactiveVisitorCards : \"?\";\r\n\t\t\tTodaysVisitors = TodaysVisitors !== undefined ? TodaysVisitors : \"?\";\r\n\t\t\tTotalVisitorCards = TotalVisitorCards !== undefined ? TotalVisitorCards : \"?\";\r\n\t\t\tSignedInVisitors = SignedInVisitors !== undefined ? SignedInVisitors : \"?\";\r\n\t\t\tAvailableVisitorCards = AvailableVisitorCards !== undefined ? AvailableVisitorCards : \"?\";\r\n\t\t\tvar todaysVisitorsQuery = ()=>{\r\n\t\t\t\tvar query = {filters: []};\r\n\t\t\t\tquery.filters.push(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfield: {name: \"ArrivalDateTime\", field_type: Consts.fieldTypes.datetime},\r\n\t\t\t\t\t\t\tconditions: [{condition: \"Eq\", value: moment().unix()}],\r\n\t\t\t\t\t\t\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\treturn encodeURIComponent(JSON.stringify({Query: query}));\r\n\t\t\t};\r\n\t\t\tvar signedInVisitorsQuery = ()=>{\r\n\t\t\t\tvar query = {filters: []};\r\n\t\t\t\tquery.filters.push(\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tfield: {name: \"SignedIn\", field_type: Consts.fieldTypes.boolean},\r\n\t\t\t\t\t\t\tconditions: [{condition: \"Eq\", value: true}],\r\n\t\t\t\t\t\t\tguid: Util.generateGuid()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t);\r\n\t\t\t\treturn encodeURIComponent(JSON.stringify({Query: query}));\r\n\t\t\t};\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\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\t
    \r\n\t\t\t\t\t\t\t\t\t
    {i18n.t(\"Widgets.Visitors.TodaysVisitors\") + \": \" + TodaysVisitors}
    \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\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
    {i18n.t(\"Widgets.Visitors.AvailableVisitorCards\") + \": \" + TotalVisitorCards}
    \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\t
    \r\n\t\t\t\t\t\t\t\t\t
    {i18n.t(\"Widgets.Visitors.SignedInVisitors\") + \": \" + SignedInVisitors}
    \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\t\t\t\t
    \r\n\t\t\t\t\t{this.state.error === true ? errorInfo : null}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tonChangeStatisticsStore(){\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t}\r\n\t});\r\n\tmodule.exports = Visitors;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar StatisticsStore = require('__stores/StatisticsStore');\r\n\tvar i18n = require('i18next-client');\r\n\tvar AlarmsUtil = require('__containers/Alarms/utils');\r\n\tconst { Link } = require('react-router-dom');\r\n\r\n\tvar Alarms = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar storeState = StatisticsStore.getState();\r\n\t\t\treturn {\r\n\t\t\t\tloaded: storeState.isStoreInitialized,\r\n\t\t\t\terror: storeState.initializationFailed,\r\n\t\t\t\tstatistics: storeState.statistics,\r\n\t\t\t\tisNetworkDown: storeState.isNetworkDown\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tStatisticsStore.listen(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tStatisticsStore.unlisten(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\trender() {\r\n\r\n\t\t\tif(this.state.loaded === false){\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tvar errorInfo =
    \r\n\t\t\t\t\t\t\t\t

    {this.state.isNetworkDown? i18n.t(\"Error.LoadingStatisticsNetworkDown\") : i18n.t(\"Error.LoadingStatistics\")}

    \r\n\t\t\t\t\t\t\t
    ;\r\n\t\t\tvar statistics = this.state.statistics;\r\n\t\t\tvar {HighestPriorityAlarm, NewAlarms, AcknowledgedAlarms, TotalAlarms} = statistics || {};\r\n\t\t\tHighestPriorityAlarm = HighestPriorityAlarm !== undefined ? HighestPriorityAlarm : \"?\";\r\n\t\t\tNewAlarms = NewAlarms !== undefined ? NewAlarms : \"?\";\r\n\t\t\tAcknowledgedAlarms = AcknowledgedAlarms !== undefined ? AcknowledgedAlarms : \"?\";\r\n\t\t\tTotalAlarms = TotalAlarms !== undefined ? TotalAlarms : \"?\";\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\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
    {i18n.t(\"Widgets.Alarms.NewAlarms\") + \": \" + NewAlarms}
    \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
    {i18n.t(\"Widgets.Alarms.AcknowledgedAlarms\") + \": \" + AcknowledgedAlarms}
    \r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\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
    {i18n.t(\"Widgets.Alarms.HighestPriorityAlarm\") + \": \" + HighestPriorityAlarm}
    \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
    {i18n.t(\"Widgets.Alarms.TotalAlarms\") + \": \" + TotalAlarms}
    \r\n\t\t\t\t\t\t\t

    \r\n\t\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.state.error === true ? errorInfo : null}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tonChangeStatisticsStore(){\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t}\r\n\r\n\t});\r\n\tmodule.exports = Alarms;\r\n})();\r\n","\r\nimport Consts from'__infrastructure/Consts';\r\nimport Util from '__infrastructure/Util';\r\n\r\nconst AlarmsUtil = {\r\n getStateAlarmsQuery(state) {\r\n const query = { filters: [] };\r\n query.filters.push(\r\n {\r\n field: { name: \"AlarmState\", field_type: Consts.fieldTypes.select },\r\n conditions: [{ condition: \"Eq\", value: state }],\r\n guid: Util.generateGuid()\r\n }\r\n );\r\n return encodeURIComponent(JSON.stringify({ Query: query }));\r\n },\r\n\r\n getPriorityAlarmsQuery(priority) {\r\n const query = {\r\n filters: [{\r\n field: { name: \"Priority\", field_type: Consts.fieldTypes.number },\r\n conditions: [{ condition: \"Eq\", value: priority }],\r\n guid: Util.generateGuid()\r\n }]\r\n };\r\n return encodeURIComponent(JSON.stringify({ Query: query }));\r\n }\r\n};\r\n\r\nexport default AlarmsUtil;\r\n\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\r\n\tvar Empty = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn null;\r\n\t\t},\r\n\t\trender() {\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t}\r\n\t});\r\n\tmodule.exports = Empty;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar PropTypes = React.PropTypes;\r\n\tvar ItemTypes = require('./Constants').ItemTypes;\r\n\t//var dragSource = require('react-dnd').DragSource;\r\n\tvar WidgetContainer = require('./WidgetContainer');\r\n\tvar _ = require('lodash');\r\n\r\n\t// var widgetSource = {\r\n\t// \tbeginDrag: function (props) {\r\n\t// \t\treturn {};\r\n\t// \t}\r\n\t// };\r\n\t// function collect(connect, monitor) {\r\n\t// \treturn {\r\n\t// \t\t//connectDragSource: connect.dragSource(),\r\n\t// \t\tisDragging: monitor.isDragging()\r\n\t// \t};\r\n\t// }\r\n\tvar Widget = React.createClass({\r\n\t\tpropTypes: {\r\n\t\t\t// connectDragSource: PropTypes.func.isRequired,\r\n\t\t\t// isDragging: PropTypes.bool.isRequired\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\treturn {rows: 1};\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {Type, Location, connectDragSource, isDragging, HasContainer, Settings} = this.props;\r\n\t\t\tisDragging = false;\r\n\t\t\tvar {start, end} = Location;\r\n\t\t\tvar defaultHeight = (end.row - start.row + 1) * 97.5;\r\n\t\t\tvar propHeight = Settings ? Settings.height : null;\r\n\t\t\tvar paddingMargin = {paddingLeft: '15px', marginLeft: '-15px', paddingRight: '15px', marginRight: '-15px'};\r\n\t\t\t//var style = {height: propHeight ? propHeight : defaultHeight + 'px'};\r\n\t\t\tvar style = {};\r\n\t\t\t//TODO: only in design; now everytime\r\n\t\t\t//style.border = 'solid 1px gray';\r\n\t\t\tvar widget;\r\n\t\t\tif(HasContainer === true){\r\n\t\t\t\twidget =
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    ;\r\n\t\t\t}\r\n\t\t\telse{\r\n\t\t\t\twidget =
    \r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t
    ;\r\n\t\t\t}\r\n\t\t\t//return widget;\r\n\t\t\t// return connectDragSource(\r\n\t\t\t// \t
    \r\n\t\t\t// \t\t{widget}\r\n\t\t\t// \t
    \r\n\t\t\t// );\r\n\t\t\treturn (
    \r\n\t\t\t\t\t{widget}\r\n\t\t\t\t
    );\r\n\t\t}\r\n\t});\r\n\tmodule.exports = Widget;\r\n\t//module.exports = Widget;\r\n})();\r\n","exports.ItemTypes = {\r\n\tWIDGET: 'widget',\r\n\tCARDHOLDER: 'cardholder'\r\n};\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar StatisticsStore = require('__stores/StatisticsStore');\r\n\tvar dateHelper = require('__infrastructure/dateHelper');\r\n\tvar WidgetContainer = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\tvar storeState = StatisticsStore.getState();\r\n\t\t\treturn {\r\n\t\t\t\tlastUpdate: storeState.lastUpdate\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tStatisticsStore.listen(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tStatisticsStore.unlisten(this.onChangeStatisticsStore);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {Type, Settings} = this.props;\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t \r\n\t\t\t\t\t\t{dateHelper.format(this.state.lastUpdate.toDate(), 'datetime')}  \r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tonChangeStatisticsStore(){\r\n\t\t\tthis.setState(this.getInitialState());\r\n\t\t}\r\n\t});\r\n\tmodule.exports = WidgetContainer;\r\n})();\r\n","var Alt = require('alt');\r\nvar alt = new Alt();\r\nvar chromeDebug = require('alt/utils/chromeDebug');\r\n\r\nchromeDebug(alt);\r\n\r\nmodule.exports = alt;\r\n","import { head, tail, split, compose } from 'ramda';\r\nimport qs from 'qs';\r\n\r\nexport const parseQuery = compose(\r\n qs.parse,\r\n head,\r\n tail,\r\n split('?')\r\n);\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar VisitsHandler = require('__api/VisitsHandler').default;\r\n\tvar appConfig = require('__src/Configuration.js');\r\n\tvar errorHandler = appConfig.appErrorHandler;\r\n\tvar Promise = require('es6-promise').Promise;\r\n\r\n\tclass VisitsActions {\r\n\t\tconstructor() {\r\n\t\t\tthis.generateActions('initializeStoreForList');\r\n\t\t\tthis.generateActions('initializeStoreForPerson');\r\n\t\t\tthis.generateActions('saveVisitSuccessfull');\r\n\t\t\tthis.generateActions('applyFilter');\r\n\t\t\tthis.generateActions('quickFilter');\r\n\t\t\tthis.generateActions('querySearch');\r\n\t\t\tthis.generateActions('loadMore');\r\n\t\t\tthis.generateActions('loadAvailableAccessTargets');\r\n\t\t\tthis.generateActions('loadAvailableTimeCodes');\r\n\t\t\tthis.generateActions('loadAccessTargetDefinition');\r\n\t\t\tthis.generateActions('loadMoreAccessTargets');\r\n\t\t}\r\n\t}\r\n\r\n\tclass VisitsActionsCreator {\r\n\t\tconstructor() {\r\n\t\t\tvar actions = alt.createActions(VisitsActions);\r\n\t\t\t_.assign(this, actions);\r\n\t\t}\r\n\t\tsearchVisitor(name){\r\n\t\t\treturn VisitsHandler.findVisitor('Name.Given.con:' + name);\r\n\t\t}\r\n\t\tsaveVisitor(visitor){\r\n\t\t\tvar returnPromise = new Promise((resolve) => {\r\n\t\t\tif(visitor.$uri){\r\n\t\t\t\tVisitsHandler.updateVisitor(visitor).then((data) => {\r\n\t\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\t\tresolve(data);\r\n\t\t\t\t\tif(successful){\r\n\t\t\t\t\t\t//TODO: set card holder id\r\n\t\t\t\t\t\tthis.saveVisitSuccessfull(visitor);\r\n\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\telse{\r\n\t\t\t\t\t\t//NOTE: do not raise error; it will be treated general by interceptor\r\n\t\t\t\t\t}\r\n\t\t\t\t}).catch(errorHandler);\r\n\t\t\t}\r\n\t\t\telse\r\n\t\t\t{\r\n\t\t\t\tVisitsHandler.saveVisitor(visitor).then((data) => {\r\n\t\t\t\tvar {successful, status} = data;\r\n\t\t\t\tresolve(data);\r\n\t\t\t\tif(successful){\r\n\t\t\t\t\tthis.saveVisitSuccessfull(visitor);\r\n\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\t//NOTE: do not raise error; it will be treated general by interceptor\r\n\t\t\t\t}\r\n\t\t\t\t}).catch(errorHandler);\r\n\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn returnPromise;\r\n\t\t}\r\n\t\tdeleteVisit(personUri, visitUri){\r\n\t\t\treturn VisitsHandler.deleteVisit(personUri, visitUri);\r\n\t\t}\r\n\t\tgetVisitorByUri(uri) {\r\n\t\t\treturn VisitsHandler.getVisitorByUri(uri);\r\n\t\t}\r\n\t\tgetVisitorPermissions(uri) {\r\n\t\t\treturn VisitsHandler.getVisitorPermissions(uri);\r\n\t\t}\r\n\t\tgetAccessTargets(){\r\n\t\t\treturn VisitsHandler.getAccessTargets();\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new VisitsActionsCreator();\r\n})();\r\n","import alt from '__base/alt';\r\n\r\nclass UserProfileActions {\r\n constructor() {\r\n this.generateActions('failed');\r\n this.generateActions('initStore');\r\n this.generateActions('saveUserPreferences');\r\n }\r\n\r\n loadUserProfile(data) {\r\n setTimeout(() => this.dispatch(data), 0);\r\n }\r\n}\r\n\r\nexport default alt.createActions(UserProfileActions);\r\n","import React from 'react';\r\nimport R from 'ramda';\r\nimport Select from 'react-select';\r\nimport autoBind from 'react-autobind';\r\nimport i18n from 'i18next-client';\r\nimport { Table } from 'react-bootstrap';\r\nimport TimeCodeIcon from 'react-icons/lib/go/clock';\r\nimport CheckedIcon from 'react-icons/lib/fa/check-circle-o';\r\nimport Consts from '__infrastructure/Consts';\r\nimport { Input, getAppearance } from './assignmentScreen';\r\n\r\nexport function FilterList(query, keys = [], property = 'Description', comparator = R.contains) {\r\n if (!query || query === Consts.accessTargetsType.all) {\r\n return R.filter(R.always(true));\r\n }\r\n return R.filter(R.anyPass(keys.map((k) => {\r\n return R.ifElse(\r\n R.has(k),\r\n (obj) => {\r\n return R.propSatisfies(comparator(R.toLower(query)), k, R.map((ks) => {\r\n if (ks) {\r\n if (ks[property]) {\r\n return R.toLower(ks[property]);\r\n }\r\n // if it's an object but does not have the required property\r\n if ((typeof ks === 'object') && (ks !== null)) {\r\n return '';\r\n }\r\n // if it's not an object\r\n return R.toLower(ks);\r\n }\r\n return '';\r\n }, obj));\r\n },\r\n R.always(false)\r\n );\r\n })));\r\n}\r\nconst alter = (columnName, value, items) => R.map(\r\n R.when(R.propEq('columnName', columnName), R.assoc('value', value)),\r\n items\r\n);\r\n\r\nclass ARTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n searchQuery: '',\r\n openedTHFilter: null,\r\n thFilters: [\r\n { columnName: 'Description', value: '' },\r\n { columnName: 'TimeCode', value: '' },\r\n { columnName: 'Type', value: 'all' }\r\n ]\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { thFilters } = this.state;\r\n const shouldResetFilters = nextProps.assignedCodes.length === 0;\r\n if (shouldResetFilters) {\r\n const newThFilters = thFilters.map(col =>\r\n alter(col.columnName, col === 'Type' ? Consts.accessTargetsType.all : '', col));\r\n this.setState({ searchQuery: '', thFilters: newThFilters });\r\n }\r\n }\r\n\r\n renderColHeaders() {\r\n const { columns, onAssignedSelect } = this.props;\r\n const { openedTHFilter, thFilters } = this.state;\r\n const currentThFilter = col => R.find(R.propEq('columnName', col))(thFilters);\r\n return (\r\n \r\n {\r\n columns.map((col, i) => (\r\n \r\n {col}\r\n
    \r\n {openedTHFilter === col ?\r\n this.renderThFilter(col) :\r\n \r\n {currentThFilter(col) &&\r\n currentThFilter(col).value &&\r\n currentThFilter(col).value !== Consts.accessTargetsType.all ?\r\n this.onThClear(col)} /> :\r\n null\r\n }\r\n this.onThClick(col)}>{i18n.t(`AccessRights.TableColumns.${col}`)}\r\n }\r\n
    \r\n \r\n ))\r\n }\r\n \r\n )\r\n }\r\n\r\n onThClick(col) {\r\n this.setState({\r\n openedTHFilter: col\r\n })\r\n }\r\n onThClear(col) {\r\n const { thFilters } = this.state;\r\n const newThFilters = alter(col, col === 'Type' ? Consts.accessTargetsType.all : '', thFilters);\r\n this.setState({ thFilters: newThFilters });\r\n }\r\n renderThFilter(key) {\r\n const { thFilters, openedTHFilter } = this.state;\r\n const style = { width: key.length * 10 + 'px', padding: '0 5px', position: 'relative', top: '-5px' };\r\n const currentThFilter = R.find(R.propEq('columnName', openedTHFilter))(thFilters);\r\n if (key === 'Type') {\r\n return (\r\n
    \r\n this.onThClick(null)}\r\n clearable={false}\r\n options={this.props.asyncFilterOptions}\r\n />\r\n
    \r\n );\r\n }\r\n return ( this.onThClick(null)}\r\n />);\r\n }\r\n\r\n onSearchAssigned(e) {\r\n const searchQuery = e.target.value.toLowerCase();\r\n this.setState({ searchQuery });\r\n }\r\n onSearchAssignedByColumn(e) {\r\n const { openedTHFilter, thFilters } = this.state;\r\n const value = openedTHFilter === 'Type' ? e.value : e.target.value.toLowerCase();\r\n const newThFilters = alter(openedTHFilter, value, thFilters);\r\n this.setState({ thFilters: newThFilters });\r\n }\r\n renderAssignedAccessTargets(item, idx) {\r\n const { Type, Description, TimeCode = {} } = item;\r\n const { Icon, color, className } = getAppearance(Type);\r\n const { onAssignedSelect, selectedAssignedCodes, detailsItem, shouldDisplayDetailsIconSelected } = this.props;\r\n const key = `${idx}-${Description}`;\r\n const isSelected = selectedAssignedCodes ? R.contains(item, selectedAssignedCodes) : null;\r\n const classes = `acc_row ${className} ${isSelected ? 'selected' : ''}`;\r\n const itemClasses = `acc_item ${className} ${isSelected ? 'selected' : ''}`;\r\n const iconClasses = `hoverIcon ${Description === detailsItem.Description && Type === detailsItem.Type && shouldDisplayDetailsIconSelected ? 'selected' : ''}`;\r\n // this is done for seamless integration when using the table for just displaying\r\n const onClickEvent = onAssignedSelect ? onAssignedSelect : item => null;\r\n return (\r\n onClickEvent(item)} className={classes} key={key}>\r\n \r\n \r\n {Type}\r\n \r\n \r\n \r\n
    \r\n \r\n this.props.onRequestDetails(e, item)} />\r\n \r\n {isSelected && }\r\n {Description}\r\n
    \r\n \r\n \r\n
    \r\n { Type !== 'AccessCode' && Type !== 'Area' ?\r\n : null }\r\n {TimeCode.Description}\r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n assignedCodes,\r\n onAssignedSelect\r\n } = this.props;\r\n const { searchQuery, thFilters } = this.state;\r\n const styleHeight = onAssignedSelect ? '245px' : '195px';\r\n const styleMaxHeight = onAssignedSelect ? '198px' : '148px';\r\n const filteredByAllColumns = FilterList(searchQuery, ['Description', 'TimeCode'])(assignedCodes);\r\n let filteredByColumn = filteredByAllColumns;\r\n for (let i = 0; i < thFilters.length; i += 1) {\r\n filteredByColumn = FilterList(\r\n thFilters[i].value,\r\n [thFilters[i].columnName],\r\n thFilters[i].columnName === 'Type' ? 'Type' : 'Description',\r\n thFilters[i].columnName === 'Type' ? R.equals : R.contains\r\n )(filteredByColumn);\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n { assignedCodes.length ?\r\n
    \r\n
    \r\n \r\n \r\n {this.renderColHeaders()}\r\n \r\n \r\n {filteredByColumn.map(this.renderAssignedAccessTargets)}\r\n \r\n
    \r\n
    \r\n
    \r\n :

    {i18n.t('AccessRights.NoItemsAssigned')}

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n};\r\n\r\nexport default ARTable;\r\n","import React from 'react';\r\nimport { Dropdown, MenuItem } from 'react-bootstrap';\r\nimport AltContainer from 'alt-container';\r\nimport CompaniesStore from '__stores/CompaniesStore';\r\nimport CompaniesActions from '__actions/CompaniesActions';\r\n\r\nconst ClientsDropdown = (props) => {\r\n const { companies = [], selectCompany, selectedCompany, disabled = false } = props;\r\n const componentClass = disabled ? 'disabledDropdown' : '';\r\n return (\r\n companies.length > 1 &&\r\n \r\n \r\n \r\n \r\n {selectedCompany ? selectedCompany.Description : ''}\r\n \r\n \r\n \r\n {\r\n disabled\r\n ?\r\n \r\n :\r\n \r\n {companies.map(company => (\r\n selectCompany(company)} key={company.Description}>\r\n {company.Description}\r\n \r\n ))}\r\n \r\n }\r\n \r\n );\r\n};\r\n\r\nconst ClientSelector = props => (\r\n \r\n \r\n \r\n);\r\n\r\nexport default ClientSelector;\r\n","// LIBS\r\nimport React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport { NavLink } from 'react-router-dom';\r\nimport autoBind from 'react-autobind';\r\nimport { map, compose, omit, groupBy, prop, propOr, find, toPairs, propEq } from 'ramda';\r\n\r\n// COMPONENTS\r\nimport AuthenticatedComponent from '__components/common/AuthenticatedComponent';\r\n\r\n// HELPERS\r\nconst groupRoutes = compose(\r\n map(g => ({ links: g[1], name: g[0] })),\r\n toPairs,\r\n omit(['null', undefined]),\r\n groupBy(prop('group'))\r\n);\r\n\r\nconst findActiveGroup = (routes, location) => compose(\r\n propOr('', 'group'),\r\n find(propEq('path', location.pathname))\r\n)(routes);\r\n\r\nconst groupIcons = {\r\n Operation: 'desktop',\r\n Configure: 'cogs',\r\n Setup: 'desktop',\r\n};\r\n\r\n// TopMenu Component\r\nclass TopMenu extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n const { location, routes } = props;\r\n const activeGroup = findActiveGroup(routes, location);\r\n this.state = {\r\n subMenuLinks: [],\r\n showSubMenu: false,\r\n activeGroup,\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { isCollapsed, location, routes } = nextProps;\r\n // NOTE we are setting the active group manually when clicking on a group in order to\r\n // display the selected style. However if we close the submenu by clicking outside\r\n // we need to show the active menu based on curren location again.\r\n const locationActiveGroup = findActiveGroup(routes, location);\r\n this.setState((state) => {\r\n const { activeGroup } = state;\r\n // menu is closed and the active group in the state is different than the one in the router\r\n const isCurrentActiveGroupCorrect = !isCollapsed && activeGroup !== locationActiveGroup;\r\n return {\r\n showSubMenu: !isCollapsed,\r\n activeGroup: isCurrentActiveGroupCorrect ? activeGroup : locationActiveGroup,\r\n };\r\n });\r\n }\r\n\r\n showSubmenu(activeGroup, links) {\r\n this.props.toggleMenu(false);\r\n this.setState({ showSubMenu: true, subMenuLinks: links, activeGroup });\r\n }\r\n\r\n hideSubmenu() {\r\n this.props.toggleMenu(true);\r\n this.setState({ showSubMenu: false, subMenuLinks: [] });\r\n }\r\n\r\n renderSubmenu() {\r\n const { subMenuLinks } = this.state;\r\n const Links = subMenuLinks.filter(l => !l.dontShowInMenu);\r\n return (\r\n
      { this.subMenu = ref; }} className=\"group-menu Operation-menu\">\r\n { Links.map((link, i) => (\r\n
    • \r\n \r\n \r\n {` ${i18n.t(link.name)}`}\r\n \r\n
    • \r\n ))}\r\n
    \r\n );\r\n }\r\n\r\n renderGroup({ name, links }) {\r\n const { activeGroup } = this.state;\r\n const classes = `topMenuGroup unselectable ${name === activeGroup ? 'active' : ''}`;\r\n return (\r\n
  • \r\n \r\n
  • \r\n );\r\n }\r\n\r\n render() {\r\n const { routes = [] } = this.props;\r\n const groupedRoutes = groupRoutes(routes);\r\n const { showSubMenu } = this.state;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n { map(this.renderGroup, groupedRoutes) }\r\n
    \r\n
    \r\n
    \r\n {showSubMenu ? this.renderSubmenu() : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default TopMenu;\r\n","import React from 'react';\r\nimport { Dropdown } from 'react-bootstrap';\r\nimport StatisticsStore from '__stores/StatisticsStore';\r\nimport AppStore from '__stores/AppStore';\r\nimport i18n from 'i18next-client';\r\nimport alarmSound from '__assets/sounds/alert.mp3';\r\nimport { Link } from 'react-router-dom';\r\nimport autoBind from 'react-autobind';\r\n\r\nclass AlarmNotifications extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n const statisticsState = StatisticsStore.getState();\r\n const settingsState = AppStore.getState();\r\n this.state = {\r\n loaded: statisticsState.isStoreInitialized,\r\n error: statisticsState.initializationFailed,\r\n statistics: statisticsState.statistics,\r\n hasAlarmSound: settingsState.AppConfiguration.settings.alarms.alarmSound,\r\n activeAlarm: statisticsState.statistics.NewAlarms > 0,\r\n show: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n StatisticsStore.listen(this.onChangeStatisticsStore);\r\n }\r\n\r\n componentWillUnmount() {\r\n StatisticsStore.unlisten(this.onChangeStatisticsStore);\r\n }\r\n\r\n stopAlarm() {\r\n this.setState({ activeAlarm: false });\r\n }\r\n\r\n toggleAlarmSound() {\r\n this.setState({ hasAlarmSound: !this.state.hasAlarmSound });\r\n }\r\n\r\n getNotificationColor(HighestPriorityAlarm, NewAlarms, AcknowledgedAlarms) {\r\n if (NewAlarms) {\r\n return 'red';\r\n }\r\n if (HighestPriorityAlarm) {\r\n return 'yellow';\r\n }\r\n if (AcknowledgedAlarms) {\r\n return 'blue';\r\n }\r\n return 'green';\r\n }\r\n\r\n onChangeStatisticsStore(store) {\r\n const { statistics, isStoreInitialized, initializationFailed } = store;\r\n if (statistics) {\r\n this.setState({\r\n loaded: isStoreInitialized,\r\n error: initializationFailed,\r\n statistics,\r\n activeAlarm: statistics.NewAlarms > 0\r\n });\r\n }\r\n }\r\n\r\n onToggle() {\r\n this.setState({ show: !this.state.show });\r\n }\r\n\r\n render() {\r\n if (this.state.loaded === false) {\r\n return null;\r\n }\r\n const { statistics, show } = this.state;\r\n let { HighestPriorityAlarm, NewAlarms, AcknowledgedAlarms } = statistics || {};\r\n HighestPriorityAlarm = HighestPriorityAlarm !== undefined ? HighestPriorityAlarm : '?';\r\n NewAlarms = (NewAlarms !== undefined && NewAlarms !== null) ? NewAlarms : '?';\r\n AcknowledgedAlarms = AcknowledgedAlarms !== undefined ? AcknowledgedAlarms : '?';\r\n const color = this.getNotificationColor(HighestPriorityAlarm, NewAlarms, AcknowledgedAlarms);\r\n const { hasAlarmSound, activeAlarm } = this.state;\r\n return (\r\n \r\n \r\n this._alarmBell = c} className={`fa fa-bell ${color} ${activeAlarm ? 'glow' : ''}`} />\r\n {\r\n activeAlarm ? \r\n \r\n
  • \r\n \r\n \r\n {i18n.t('AlarmNotifications.HighestPriorityAlarm')}\r\n {HighestPriorityAlarm}\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n {i18n.t('AlarmNotifications.NewAlarms')}\r\n {NewAlarms}\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n \r\n {i18n.t('AlarmNotifications.AcknowledgedAlarms')}\r\n {AcknowledgedAlarms}\r\n \r\n
  • \r\n
  • \r\n {i18n.t('AlarmNotifications.All')}\r\n
  • \r\n
  • \r\n \r\n \r\n {hasAlarmSound ? '' : i18n.t('AlarmNotifications.Mute')}\r\n \r\n
  • \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default AlarmNotifications;\r\n","// LIBS\r\nimport React from 'react';\r\nimport { Link, withRouter, NavLink } from 'react-router-dom';\r\nimport { Sticky } from 'react-sticky';\r\nimport AltContainer from 'alt-container';\r\nimport i18n from 'i18next-client';\r\nimport autoBind from 'react-autobind';\r\nimport _ from 'lodash';\r\n\r\n// STORES\r\nimport UserProfileStore from '__stores/UserProfileStore';\r\n\r\n// COMPONENTS\r\nimport Button from 'react-bootstrap/lib/Button';\r\nimport MenuItem from 'react-bootstrap/lib/MenuItem';\r\nimport LngSelector from '__components/common/LngSelector';\r\nimport ClientSelector from '__components/common/ClientSelector';\r\nimport AuthenticatedComponent from '__components/common/AuthenticatedComponent';\r\nimport Menu from '__containers/App/menu/TopMenu';\r\nimport AlarmNotifications from '__containers/alarms/alarmsWidget';\r\nimport Collapse from 'react-bootstrap/lib/Collapse';\r\nimport Dropdown from 'react-bootstrap/lib/Dropdown';\r\n\r\nclass TopNavigation extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n open: false,\r\n };\r\n }\r\n\r\n closeSubMenu() {\r\n // mainMenu is a ref to the Menu component\r\n this.mainMenu.hideSubmenu();\r\n }\r\n\r\n render() {\r\n const { AuthStore, version, location, userProfile, AuthActions } = this.props;\r\n const userAuthenticated = AuthStore.IsUserAuthenticated;\r\n const companySelectorDisabled = location.pathname === '/CardHolder' || location.pathname === '/Visit';\r\n const { open } = this.state;\r\n return (\r\n // IF\r\n userAuthenticated ?\r\n \r\n
    \r\n
    \r\n this.setState({ open: !open })}\r\n >\r\n Toggle navigation\r\n \r\n \r\n \r\n \r\n {version}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n
      \r\n \r\n
    • \r\n {i18n.t('Dashboard')}\r\n
    • \r\n \r\n {_.indexOf(AuthStore.allowedSegments, \"appsettings\") !== -1\r\n ?
    • {i18n.t(\"appsettings\")}
    • \r\n : null}\r\n \r\n \r\n {userProfile.FirstName + \" \"}\r\n \r\n \r\n \r\n
    • \r\n \r\n \r\n \r\n {i18n.t(\"User profile\")}\r\n \r\n
    • \r\n
    • \r\n \r\n \r\n \r\n {i18n.t('Logout')}\r\n \r\n
    • \r\n
      \r\n
      \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n { this.mainMenu = m }} {...this.props} />\r\n
    \r\n
    \r\n // ELSE\r\n :\r\n
    \r\n
    \r\n this.setState({ open: !open })}\r\n >\r\n Toggle navigation\r\n \r\n \r\n \r\n \r\n {version}\r\n
    \r\n \r\n
    \r\n
      \r\n \r\n
    \r\n
    \r\n
    \r\n { this.mainMenu = m; }}\r\n {...this.props}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction MenuWithUserData(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n// EXPORT WITH withRouter HoC in order to have current route props\r\nexport default withRouter(MenuWithUserData);\r\n","import React from 'react';\r\nimport CloseIcon from 'react-icons/lib/fa/times-circle';\r\n\r\nfunction MaximizeModal({ show, content, closeFunc }) {\r\n if (!show) return null;\r\n return (\r\n
    \r\n \r\n
    \r\n
      \r\n {content}\r\n
    \r\n
    \r\n
    \r\n );\r\n}\r\n\r\nexport default MaximizeModal;\r\n","import R from 'ramda';\r\nimport alt from '__base/alt';\r\n\r\nimport actions from './actions';\r\n\r\nfunction* idMaker() {\r\n let index = 0;\r\n while (true) {\r\n yield index++;\r\n }\r\n}\r\n\r\nconst generateId = idMaker();\r\n\r\nclass NotificationsStore {\r\n constructor() {\r\n this.notifications = [];\r\n this.bindActions(actions);\r\n }\r\n\r\n onAddNotification(notification) {\r\n if (notification.type === 'connection-lost') {\r\n return this.setState({\r\n notifications: [R.merge(notification, { id: generateId.next().value })]\r\n .concat(this.notifications.filter(({ type }) => type !== 'connection-lost')),\r\n });\r\n }\r\n if (notification.type === 'alarms-warning') {\r\n return this.setState({\r\n notifications: [R.merge(notification, { id: generateId.next().value })]\r\n .concat(this.notifications.filter(({ type }) => type !== 'alarms-warning')),\r\n });\r\n }\r\n return this.setState({\r\n notifications: [R.merge(notification, { id: generateId.next().value })]\r\n .concat(this.notifications.filter(({ message }) => message !== notification.message)),\r\n });\r\n }\r\n\r\n onDeleteNotification(toDeleteId) {\r\n this.setState({\r\n notifications: this.notifications.filter(({ id }) => id !== toDeleteId)\r\n });\r\n }\r\n\r\n onResetConnectionLost() {\r\n this.setState({\r\n notifications: this.notifications.filter(({ type }) => type !== 'connection-lost')\r\n });\r\n }\r\n}\r\n\r\nexport default alt.createStore(NotificationsStore, 'NotificationsStore');\r\n","import React from 'react';\r\nimport CloseIcon from 'react-icons/lib/fa/times-circle';\r\nimport i18n from 'i18next-client';\r\n\r\nclass Notification extends React.Component {\r\n componentDidMount() {\r\n setTimeout(() => {\r\n const { id, type } = this.props.notification;\r\n if (type === 'error' || type === 'connection-lost') {\r\n return;\r\n }\r\n return this.props.deleteNotification(id);\r\n }, 5000);\r\n }\r\n\r\n render() {\r\n const { notification, index } = this.props;\r\n const { message, apiMessage, type = '', id } = notification;\r\n const textMsg = apiMessage || i18n.t(message);\r\n const style = {\r\n backgroundColor: (() => {\r\n switch (type) {\r\n case 'error':\r\n return '#BD362F';\r\n case 'info':\r\n case 'connection-lost':\r\n case 'alarms-warning':\r\n return '#2F96B4';\r\n case 'warning':\r\n return '#ffc107';\r\n case 'success':\r\n default:\r\n return '#51A351';\r\n }\r\n })()\r\n };\r\n return (\r\n \r\n )\r\n }\r\n}\r\n\r\nexport default Notification;\r\n","/* react/prop-types: 0 */\r\nimport React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport AltContainer from 'alt-container';\r\n\r\nimport Actions from './actions';\r\nimport Store from './store';\r\nimport NotificationItem from './Notification';\r\n\r\nclass Notifications extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n render() {\r\n const {\r\n notifications,\r\n deleteNotification,\r\n } = this.props;\r\n\r\n\r\n return (\r\n
    \r\n {notifications.map((n, i) =>\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction NotificationsContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NotificationsContainer;\r\n","import alt from '__base/alt';\r\nimport LongRunOperationActions from '__actions/LongRunOperationActions';\r\n\r\nclass LongRunOperationStore {\r\n constructor() {\r\n this.isLongRun = false;\r\n this.running = false;\r\n this.bindActions(LongRunOperationActions);\r\n }\r\n\r\n onOperationStart() {\r\n this.isLongRun = false;\r\n this.running = true;\r\n // is long run will be dispached after 1 second\r\n LongRunOperationActions.operationIsLongRun();\r\n this.emitChange();\r\n }\r\n\r\n onOperationIsLongRun() {\r\n if (this.running === true) {\r\n this.isLongRun = true;\r\n }\r\n // prevent on change store event\r\n this.emitChange();\r\n }\r\n\r\n onOperationFinish() {\r\n if (this.isLongRun === true) {\r\n this.isLongRun = false;\r\n }\r\n if (this.running === true) {\r\n this.running = false;\r\n }\r\n this.emitChange();\r\n }\r\n}\r\n\r\nexport default alt.createStore(LongRunOperationStore, 'LongRunOperationStore');\r\n","\r\nimport React from 'react';\r\nimport Modal from 'react-bootstrap/lib/Modal';\r\nimport Loading from '__components/common/Loading';\r\nimport i18n from 'i18next-client';\r\n\r\nimport LongRunOperationStore from '__stores/LongRunOperationStore';\r\nimport LongRunOperationActions from '__actions/LongRunOperationActions';\r\nimport AltContainer from 'alt-container';\r\nimport autoBind from 'react-autobind';\r\n\r\nclass NotifyLongRun extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n render() {\r\n const { isLongRun } = this.props;\r\n if (!isLongRun) {\r\n return null;\r\n }\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction NotifyLongRunContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default NotifyLongRunContainer;\r\n","import React from 'react';\r\nimport Input from 'react-bootstrap/lib/Input';\r\nimport i18n from 'i18next-client';\r\n\r\nimport AuthStore from '__stores/AuthStore';\r\nimport AppStore from '__stores/AppStore';\r\nimport AuthActions from '__actions/AuthActions';\r\nimport { Redirect } from 'react-router-dom';\r\nimport AltContainer from 'alt-container';\r\nimport autoBind from 'react-autobind';\r\n\r\nclass Login extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n userName: '',\r\n password: '',\r\n apiAddress: '',\r\n isClientRegistered: true,\r\n };\r\n }\r\n\r\n validationLength(object) {\r\n if (!this.state.submited) {\r\n return 'default';\r\n }\r\n\r\n if (object.length === 0) {\r\n return 'error';\r\n }\r\n\r\n return 'default';\r\n }\r\n\r\n handleChange(e) {\r\n e.preventDefault();\r\n return this.setState({\r\n [e.target.name]: e.target.value,\r\n });\r\n }\r\n\r\n doLogin(e) {\r\n e.preventDefault();\r\n const { userName, password, apiAddress, isClientRegistered } = this.state;\r\n if (!userName || !password || (!apiAddress && !isClientRegistered)) {\r\n return this.setState({\r\n submited: true,\r\n });\r\n }\r\n this.setState({\r\n submited: true,\r\n });\r\n return this.props.loginUser(userName, password, apiAddress);\r\n }\r\n\r\n renderAPIRegister(rowStyle) {\r\n const appState = this.props.AppStore.isClientRegistered;\r\n if (appState === true || appState === undefined) {\r\n return null;\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 render() {\r\n const rowStyle = { marginBottom: '5px' };\r\n const isClientRegistered = this.props.AppStore.isClientRegistered || false;\r\n const { location } = this.props;\r\n const redirectUrl = location.state && location.state.from ? location.state.from : '/';\r\n if (\r\n this.props.AuthStore.IsUserAuthenticated\r\n && (this.props.AppStore.AppConfiguration\r\n && this.props.AppStore.AppConfiguration.dataLoaded === true)\r\n ) {\r\n return ;\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
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {this.renderAPIRegister(rowStyle)}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    {i18n.t('BrandingText')}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction LoginContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default LoginContainer;\r\n","import React from 'react';\r\n\r\nimport AuthStore from '__stores/AuthStore';\r\nimport AppStore from '__stores/AppStore';\r\nimport AuthActions from '__actions/AuthActions';\r\nimport { Redirect } from 'react-router-dom';\r\nimport AltContainer from 'alt-container';\r\nimport autoBind from 'react-autobind';\r\n\r\nclass Logout extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.props.logoutUser();\r\n }, 0);\r\n }\r\n\r\n\r\n render() {\r\n return null;\r\n }\r\n}\r\n\r\nfunction LogoutContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default LogoutContainer;\r\n","import React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport FaAngleRight from 'react-icons/lib/fa/angle-right';\r\nimport FaAngleLeft from 'react-icons/lib/fa/angle-left';\r\nimport R from 'ramda';\r\n\r\nexport function getTail(item, list) {\r\n const isItemInList = R.contains(item, list);\r\n if (isItemInList) {\r\n const itemIndex = R.indexOf(item, list);\r\n if (itemIndex === 0) {\r\n return R.take(3, list);\r\n }\r\n\r\n if (itemIndex === list.length - 1) {\r\n return R.takeLast(3, list);\r\n }\r\n\r\n return [list[itemIndex - 1], list[itemIndex], list[itemIndex + 1]];\r\n }\r\n return R.takeLast(3, list);\r\n}\r\n\r\nclass Pagination extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n goToNewPage(e, payload) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.props.action(payload);\r\n }\r\n\r\n renderPageNumber(page, index) {\r\n const { loadingData, storedPages } = this.props;\r\n const currentPage = this.getCurrentPage();\r\n const key = `${index}-${storedPages[index].Next}`;\r\n if (page === '...') {\r\n return
  • ...
  • ;\r\n }\r\n if (page.pageNumber === currentPage.pageNumber) {\r\n return
  • {page.pageNumber}
  • ;\r\n }\r\n if (loadingData) {\r\n return
  • {page.pageNumber}
  • ;\r\n }\r\n return
  • this.goToNewPage(e, { url: page.currentPage, pageNumber: page.pageNumber })}>{page.pageNumber}
  • ;\r\n }\r\n\r\n getCurrentPage() {\r\n const { storedPages, pageNumber } = this.props;\r\n const idx = Number(pageNumber) - 1;\r\n const currentPage = storedPages[idx];\r\n if (!currentPage && storedPages.length === 1) {\r\n return storedPages[0];\r\n } else if (!currentPage && storedPages.length > 1) {\r\n return storedPages[storedPages.length - 1];\r\n }\r\n return currentPage;\r\n }\r\n\r\n renderSplitedPageNumbers() {\r\n const { storedPages } = this.props;\r\n const currentPage = this.getCurrentPage();\r\n if (storedPages.length > 4) {\r\n const splittedList = R.splitAt(1, storedPages);\r\n const tailList = getTail(currentPage, splittedList[1]);\r\n const renderableList = splittedList[0]\r\n .concat(['...'])\r\n .concat(tailList);\r\n return renderableList.map(this.renderPageNumber);\r\n }\r\n return storedPages.map(this.renderPageNumber);\r\n }\r\n\r\n render() {\r\n const { Next, Prev, storedPages = [], hasMore, loadingData } = this.props;\r\n const currentPage = this.getCurrentPage();\r\n if (!storedPages.length) {\r\n return null;\r\n }\r\n return (\r\n
    \r\n {currentPage && currentPage.pageNumber !== 1 && !loadingData\r\n ? this.goToNewPage(e, { url: Prev, pageNumber: currentPage.pageNumber - 1 })} />\r\n : \r\n }\r\n\r\n
      \r\n { this.renderSplitedPageNumbers() }\r\n
    \r\n {Next && hasMore && !loadingData\r\n ? this.goToNewPage(e, { url: Next, pageNumber: currentPage && currentPage.pageNumber + 1 })} />\r\n : \r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Pagination;\r\n","import Table from '__components/common/tables/Table';\r\nimport TableRow from '__components/common/tables/TableRow';\r\n\r\nimport Grid from '__components/common/grid/StandardGrid';\r\nimport GridItem from '__components/common/grid/ImageGridItem';\r\n\r\nconst displayTypes = [{\r\n name: 'Table',\r\n icon: 'table',\r\n tpl: Table,\r\n itemtpl: TableRow\r\n}, {\r\n name: 'Grid',\r\n icon: 'th-large',\r\n tpl: Grid,\r\n itemtpl: GridItem\r\n}];\r\n\r\nexport default displayTypes;\r\n","import alt from '__base/alt';\r\nimport PersonHandler from '__api/PersonHandler';\r\n\r\nclass CardHoldersActions {\r\n constructor() {\r\n this.generateActions('initializeStore');\r\n this.generateActions('applyFilter');\r\n this.generateActions('quickFilter');\r\n this.generateActions('querySearch');\r\n this.generateActions('removePersonOnClient');\r\n this.generateActions('resetStore');\r\n }\r\n\r\n loadMore(params) {\r\n return params;\r\n }\r\n\r\n deletePerson(uri) {\r\n return PersonHandler.deletePerson(uri);\r\n }\r\n\r\n getPersonPermissions(uri) {\r\n return PersonHandler.getPersonPermissions(uri);\r\n }\r\n}\r\n\r\nexport default alt.createActions(CardHoldersActions);\r\n","import alt from '__base/alt';\r\nimport R from 'ramda';\r\nimport CardHoldersHandler from '__api/CardHoldersHandler';\r\nimport QueryUtils from '__infrastructure/QueryUtils';\r\nimport pushNewPage from '__infrastructure/PaginationHelpers';\r\nimport AuthActions from '__actions/AuthActions';\r\nimport AppActions from '__actions/AppActions';\r\nimport AppStore from '__stores/AppStore';\r\n\r\nimport CardHoldersActions from './actions';\r\n\r\nclass CardHoldersStore {\r\n constructor() {\r\n this.isStoreInitialized = false;\r\n this.isPermissionsInitialized = false;\r\n this.bindActions(CardHoldersActions);\r\n this.bindActions(AuthActions);\r\n this.bindActions(AppActions);\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.columnFilters = [];\r\n this.storedPages = [];\r\n this.hasMore = false;\r\n this.isNotConfigured = true;\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.currentPageNumber = 0;\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n }\r\n initialState() {\r\n this.currentQuickSearchText = '';\r\n this.currentQuickSearchFilterText = '';\r\n this.currentQuickSearchColumnsFilterText = '';\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.pageSize = null;\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.storedPages = [];\r\n this.isNotConfigured = true;\r\n this.currentPageNumber = 0;\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n }\r\n onLogoutUser() {\r\n this.initialState();\r\n }\r\n setInitialized() {\r\n if (this.descriptor) {\r\n this.setState({\r\n isStoreInitialized: true\r\n });\r\n }\r\n }\r\n setPermissionsInitialized() {\r\n if (this.CanAdd !== undefined && this.CanDelete !== undefined) {\r\n this.setState({\r\n isPermissionsInitialized: true\r\n });\r\n }\r\n }\r\n loadDescriptor() {\r\n CardHoldersHandler.loadDescriptor().then((data) => {\r\n this.descriptor = data.payload;\r\n this.setInitialized();\r\n });\r\n return false;\r\n }\r\n setListData(data, pageNumber) {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= this.pageSize && Count !== 0;\r\n const currentPage = R.find(R.propEq('pageNumber', pageNumber), this.storedPages);\r\n const currentPageNumber = currentPage ? pageNumber : this.currentPageNumber + 1;\r\n this.setState({\r\n loadingData: false,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n hasMore,\r\n currentPageNumber,\r\n storedPages: hasMore\r\n ? pushNewPage(this.storedPages, R.omit(['Data', 'ignoreNext'], data.payload), currentPageNumber)\r\n : this.storedPages,\r\n data: hasMore\r\n ? data.payload\r\n : this.data,\r\n });\r\n return false;\r\n }\r\n loadPermissions() {\r\n CardHoldersHandler.loadPermissions().then((data) => {\r\n this.CanAdd = data.payload.CanAdd;\r\n this.CanDelete = data.payload.CanDelete;\r\n this.setPermissionsInitialized();\r\n });\r\n return false;\r\n }\r\n getFilterData(data) {\r\n const { Query, PageSize, Company } = data;\r\n this.setState({ loadingData: true });\r\n return {\r\n filter: Query.getFilter(),\r\n sortBy: Query.getSortBy(),\r\n pageSize: PageSize,\r\n company: Company\r\n };\r\n }\r\n onInitializeStore() {\r\n if (!this.isStoreInitialized) {\r\n this.loadDescriptor();\r\n }\r\n if (!this.isPermissionsInitialized) {\r\n this.loadPermissions();\r\n }\r\n\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n storedPages: [],\r\n });\r\n if (this.currentQuery) {\r\n this.onApplyFilter(this.currentQuery);\r\n }\r\n }\r\n getInitialData(newFilter, sortBy, company, pageSize, query) {\r\n const roleSettings = AppStore.getRoleSettings();\r\n const appSettings = AppStore.getSettings();\r\n const limit = pageSize || (roleSettings && roleSettings.api ? roleSettings.api.defaultServerPageSize : appSettings && appSettings.api && appSettings.api.defaultServerPageSize);\r\n if (this.isConfigureViewWithEmptyFilters(newFilter)) {\r\n setTimeout(() => {\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n isNetworkDown: false,\r\n columns: query ? query.Query.view.columns : this.columns,\r\n loadingData: false,\r\n storedPages: [],\r\n hasMore: false,\r\n currentPageNumber: 0,\r\n isNotConfigured: true,\r\n });\r\n }, 0);\r\n } else {\r\n CardHoldersHandler.loadCardHolders(newFilter, sortBy, company, limit).then((data) => {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= limit && Count !== 0;\r\n this.setState({\r\n data: data.payload,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n columns: query ? query.Query.view.columns : this.columns,\r\n hasMore,\r\n pageSize: limit,\r\n loadingData: false,\r\n isNotConfigured: false,\r\n currentPageNumber: 1,\r\n storedPages: hasMore || this.storedPages.length !== 0\r\n ? [R.merge(\r\n R.omit(['Data', 'ignoreNext'], data.payload),\r\n { pageNumber: 1, currentPage: data.reqUrl }\r\n )]\r\n : this.storedPages\r\n });\r\n });\r\n }\r\n }\r\n onApplyFilter(query) {\r\n if (this.currentQuery && this.storedPages.length > 1 && this.currentQuery.Id === query.Id && (!this.currentQuickSearchText || !this.currentQuickSearchColumnsFilterData)) {\r\n const currentPage = R.find(R.propEq('pageNumber', this.currentPageNumber || 1), this.storedPages);\r\n setTimeout(() => {\r\n CardHoldersActions.loadMore({ url: currentPage.currentPage, pageNumber: currentPage.pageNumber });\r\n }, 0);\r\n return null;\r\n }\r\n this.waitFor(AppStore.dispatchToken);\r\n this.setState({\r\n currentQuery: query,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const { sortBy, pageSize, company } = this.getFilterData(query);\r\n const newFilter = this.createSearchFilter();\r\n\r\n this.getInitialData(newFilter, sortBy, company, pageSize, query);\r\n return false;\r\n }\r\n onLoadMore({ url, pageNumber }) {\r\n this.setState({ loadingData: true });\r\n CardHoldersHandler\r\n .loadMore(url, this.company)\r\n .then(data => this.setListData(data, pageNumber));\r\n }\r\n onQuerySearch({ queryText, callbackAction }) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, company, pageSize } = this.getFilterData(this.currentQuery);\r\n const currentQuickSearchFilterText = queryText ? `Name.Family.Lk:${queryText}|Name.Given.Lk:${queryText}|Credentials.CardNumberDisplay.Lk:${queryText}` : '';\r\n this.setState({\r\n currentQuickSearchFilterText,\r\n currentQuickSearchText: queryText,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n // when searching on the table column\r\n onQuickFilter(quickFilterData) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, company, pageSize } = this.getFilterData(this.currentQuery);\r\n let newFilterText = '';\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const k in quickFilterData) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (quickFilterData.hasOwnProperty(k)) {\r\n newFilterText += `${k}.lk:${quickFilterData[k]},`;\r\n }\r\n }\r\n newFilterText = newFilterText.slice(0, -1);\r\n this.setState({\r\n currentQuickSearchColumnsFilterText: newFilterText,\r\n currentQuickSearchColumnsFilterData: quickFilterData,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n createSearchFilter() {\r\n const currentFilterText = this.getFilterData(this.currentQuery).filter;\r\n return {\r\n filter: `${currentFilterText.filter ? currentFilterText.filter +',' : ''}${this.currentQuickSearchColumnsFilterText ? this.currentQuickSearchColumnsFilterText +',': ''}${this.currentQuickSearchFilterText || ''}`\r\n };\r\n }\r\n isConfigureViewWithEmptyFilters(filter) {\r\n return (this.currentQuery.Id === 'none' && filter.filter === '');\r\n }\r\n onRemovePersonOnClient(uri) {\r\n this.setState({\r\n data: R.merge(this.data, { Data: this.data.Data.filter(v => v.$uri !== uri) }),\r\n });\r\n }\r\n onResetStore() {\r\n this.initialState();\r\n }\r\n}\r\n\r\nexport default alt.createStore(CardHoldersStore, 'CardHoldersStore');\r\n","const defaultColumns = [\r\n {\r\n name: 'FaceUri',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.FaceUri',\r\n display: 'FaceUri',\r\n filter: false,\r\n sort: false,\r\n field_type: 'Image'\r\n },\r\n {\r\n name: 'Name.Family',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.Name.Family',\r\n display: 'Name.Family',\r\n filter: true,\r\n sort: true,\r\n field_type: 'String'\r\n },\r\n {\r\n name: 'Name.Given',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.Name.Given',\r\n display: 'Name.Given',\r\n filter: true,\r\n sort: true,\r\n field_type: 'String'\r\n },\r\n {\r\n name: 'Name.FormattedName',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.Name.FormattedName',\r\n display: 'Name.FormattedName',\r\n filter: false,\r\n sort: false,\r\n field_type: 'Link',\r\n to: '/Person',\r\n params: [\r\n {\r\n name: '$uri',\r\n queryName: 'uri'\r\n }\r\n ]\r\n },\r\n {\r\n name: 'Credentials.CardNumberDisplay',\r\n localizationKey: 'Cards',\r\n display: 'Credentials',\r\n collection: 'Credentials',\r\n filter: true,\r\n sort: true,\r\n field_type: 'List'\r\n }\r\n];\r\n\r\nexport default defaultColumns;\r\n","// CardHolders list page\r\n\r\nimport React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport _ from 'lodash';\r\nimport ConfirmModal from '__components/common/forms/ConfirmModal';\r\nimport AltContainer from 'alt-container';\r\nimport autoBind from 'react-autobind';\r\nimport { omit } from 'ramda';\r\n\r\nimport QueryableMultiView from '__components/common/query/QueryableMultiView';\r\nimport Loading from '__components/common/Loading';\r\nimport ActionButtonsTitle from '__components/common/title/ActionButtonsTitle';\r\nimport AppStore from '__stores/AppStore';\r\nimport ScreensUtils from '__components/common/ScreensUtils';\r\nimport MessageActions from '__containers/Notifications/actions';\r\nimport CompaniesStore from '__stores/CompaniesStore';\r\nimport Pagination from '__components/common/Pagination';\r\nimport displayTypes from '__infrastructure/displayTypes';\r\n\r\nimport CardHoldersActions from './actions';\r\nimport CardHoldersStore from './store.js';\r\nimport defaultColumns from './statics/defaultColumns';\r\n\r\nclass Cardholders extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n selectedCardHolder: null,\r\n showConfirmModal: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { isStoreInitialized } = this.props;\r\n if (!isStoreInitialized) {\r\n setTimeout(() => {\r\n this.props.Actions.initializeStore();\r\n }, 0);\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.data !== this.props.data) {\r\n this.setState({ selectedCardHolder: null, showConfirmModal: false });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { history } = this.props;\r\n setTimeout(() => {\r\n if (history && history.location.pathname !== '/CardHolder') {\r\n this.props.Actions.resetStore();\r\n }\r\n }, 0);\r\n }\r\n\r\n querySearch(data) {\r\n setTimeout(() => {\r\n this.props.Actions.querySearch(data);\r\n }, 0);\r\n }\r\n\r\n serverFilter(quickFilterData) {\r\n this.props.Actions.quickFilter(quickFilterData);\r\n }\r\n\r\n selectCardHolder(row) {\r\n let { selectedCardHolder } = this.state;\r\n selectedCardHolder = selectedCardHolder && selectedCardHolder.$uri === row.$uri ? null : row;\r\n this.setState({\r\n selectedCardHolder\r\n });\r\n if (selectedCardHolder) {\r\n this.getRowPermissions(selectedCardHolder, null, 'selectRow');\r\n }\r\n }\r\n\r\n // #README left this here as reference in case we get back multiple row selection.\r\n // Don't use state, use the store's state and actions to keep views as slim as posible\r\n // selectionChanged(){\r\n // let items = this.multiView.getSelectedRows();\r\n // let selectedItems = false;\r\n // if (items.length > 0){\r\n // selectedItems = true;\r\n // items[0].permissions = items[0].permissions || {};\r\n // }\r\n // if(items.length > 0 && items[0]['permissions'].CanEdit === undefined){\r\n // this.loadPermissions(items[0]['$uri']).then((data) => {\r\n // if (data.successful) {\r\n // this.state.selectedItem[0]['permissions'] = data.payload;\r\n // this.setState({});\r\n // }\r\n // });\r\n // }\r\n // this.setState({\r\n // selectedItems: selectedItems,\r\n // selectedItem: items\r\n // });\r\n // }\r\n\r\n addNewPerson() {\r\n const { location } = this.props;\r\n this.props.history.push({\r\n pathname: '/CardHolder',\r\n search: `query=${this.generateCompanyQuery()}`,\r\n state: { listUrl: `${location.pathname}${location.search}` }\r\n });\r\n }\r\n\r\n editPerson() {\r\n const { selectedCardHolder } = this.state;\r\n if (selectedCardHolder) {\r\n this.props.history.push({\r\n pathname: '/CardHolder',\r\n search: `uid=${selectedCardHolder.$uri}&query=${this.generateCompanyQuery()}`,\r\n // eslint-disable-next-line no-restricted-globals\r\n state: { listUrl: `${location.pathname}${ location.search}` }\r\n });\r\n }\r\n }\r\n\r\n deletePerson() {\r\n const { selectedCardHolder } = this.state;\r\n if (selectedCardHolder) {\r\n const { $uri } = selectedCardHolder;\r\n setTimeout(() => {\r\n this.props.Actions.deletePerson($uri).then((data) => {\r\n if (data.successful) {\r\n this.setState({ selectedCardHolder: null });\r\n this.props.Actions.removePersonOnClient($uri);\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: i18n.t('messages.deleteSuccessful'),\r\n });\r\n }\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n checkEditPermissions(row) {\r\n if (row.permissions && (row.permissions.CanEdit || row.permissions.CanGet)) {\r\n return this.props.history.push({\r\n pathname: '/CardHolder',\r\n search: `uid=${row.$uri}&query=${this.generateCompanyQuery()}`,\r\n // eslint-disable-next-line no-restricted-globals\r\n state: { listUrl: `${location.pathname}${location.search}` }\r\n });\r\n }\r\n if (row.permissions && (row.permissions.NotFound)) {\r\n this.props.Actions.removePersonOnClient(row.$uri);\r\n this.setState({ selectedCardHolder: null });\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('RecordDoesNotExists'),\r\n });\r\n }\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('InsufficientRightsAPI'),\r\n });\r\n }\r\n\r\n checkDeletePermissions(row) {\r\n if (row.permissions && (row.permissions.CanDelete)) {\r\n return this.showModal();\r\n }\r\n if (row.permissions && (row.permissions.NotFound)) {\r\n this.props.Actions.removePersonOnClient(row.$uri);\r\n this.setState({ selectedCardHolder: null });\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('RecordDoesNotExists'),\r\n });\r\n }\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('InsufficientRightsAPI'),\r\n });\r\n }\r\n\r\n getRowPermissions(row, params, type) {\r\n const QueryParams = params || [{\r\n name: 'Person.$uri',\r\n queryName: 'uri',\r\n value: row.$uri,\r\n }];\r\n this.props.Actions.getPersonPermissions(ScreensUtils.getQueryForLinkPermission(QueryParams)).then((data) => {\r\n if (data && data.successful) {\r\n // eslint-disable-next-line no-param-reassign\r\n row.permissions = data.payload;\r\n if (type === 'selectRow') {\r\n return this.setState({\r\n selectedCardHolder: row\r\n });\r\n }\r\n if (type === 'delete') {\r\n return this.checkDeletePermissions(row);\r\n }\r\n return this.checkEditPermissions(row);\r\n } else if (data && data.statusCode === 404) {\r\n this.props.Actions.removePersonOnClient(row.$uri);\r\n return this.setState({ selectedCardHolder: null });\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n closeConfirmationModal() {\r\n this.setState({ showConfirmModal: false });\r\n }\r\n\r\n showModal() {\r\n this.setState({ showConfirmModal: true });\r\n }\r\n\r\n generateCompanyQuery() {\r\n const queryOnlyCompany = { Query: { company: CompaniesStore.state.selectedCompany.$uri } };\r\n return encodeURIComponent(JSON.stringify(queryOnlyCompany));\r\n }\r\n\r\n buildTableActions() {\r\n const { CanAdd } = this.props;\r\n const { selectedCardHolder } = this.state;\r\n let Delete = {\r\n name: 'Delete',\r\n faClass: 'fa-trash',\r\n onClick: this.getRowPermissions.bind(null, selectedCardHolder, null, 'delete'),\r\n disabled: 'disabled',\r\n };\r\n let Add = {\r\n name: 'Add',\r\n faClass: 'fa-plus',\r\n buttonClass: 'btn-add-action',\r\n onClick: this.addNewPerson,\r\n };\r\n let Edit = {\r\n name: 'Edit',\r\n faClass: 'fa-pencil',\r\n onClick: this.getRowPermissions.bind(null, selectedCardHolder, null, 'edit'),\r\n disabled: 'disabled',\r\n };\r\n const permissions = selectedCardHolder && selectedCardHolder.permissions;\r\n const removeDisabled = omit(['disabled']);\r\n Add = CanAdd ? removeDisabled(Add) : Add;\r\n Delete = permissions && permissions.CanDelete ? removeDisabled(Delete) : Delete ;\r\n Edit = permissions && (permissions.CanDelete || permissions.CanGet) ? removeDisabled(Edit) : Edit;\r\n // this is the order they will be displayed\r\n return [Edit, Delete, Add];\r\n }\r\n\r\n render() {\r\n const {\r\n isStoreInitialized,\r\n data,\r\n location,\r\n route,\r\n history,\r\n loadingData,\r\n storedPages,\r\n Actions,\r\n descriptor,\r\n currentQuickSearchText,\r\n currentQuickSearchColumnsFilterData,\r\n hasMore,\r\n isNotConfigured,\r\n currentPageNumber,\r\n } = this.props;\r\n const { selectedCardHolder } = this.state;\r\n const router = {\r\n location,\r\n route,\r\n history\r\n };\r\n const rows = data ? data.Data : undefined;\r\n const actions = this.buildTableActions();\r\n\r\n if (descriptor && descriptor.Fields) {\r\n let field = _.find(descriptor.Fields, { name: 'Name.FormattedName' });\r\n field.params = [{ name: '$uri', queryName: 'uri' }];\r\n field.to = '/Person';\r\n field.field_type = 'Link';\r\n }\r\n\r\n const roleSettings = AppStore.getRoleSettings();\r\n const limit = roleSettings && roleSettings.api ? roleSettings.api.defaultServerPageSize : AppStore.getSettings().api.defaultServerPageSize;\r\n const { Next, Prev } = data || {};\r\n const paginationObject = {\r\n limit,\r\n Next,\r\n Prev,\r\n storedPages: storedPages || [],\r\n hasMore,\r\n action: Actions.loadMore,\r\n component: Pagination,\r\n pageNumber: currentPageNumber,\r\n loadingData,\r\n };\r\n\r\n if (!isStoreInitialized) {\r\n return ();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { this.multiView = ref; }}\r\n loadingData={loadingData}\r\n withCompany\r\n paginationObject={paginationObject}\r\n hasFullHeight\r\n clientSelection={false}\r\n // selectionChanged={this.selectionChanged}\r\n viewIsNotConfigured={isNotConfigured}\r\n dataDescriptor={descriptor}\r\n router={router}\r\n applyAction={Actions.applyFilter}\r\n querySearchAction={this.querySearch}\r\n quickSearchText={currentQuickSearchText}\r\n currentQuickSearchColumnsFilterData={currentQuickSearchColumnsFilterData}\r\n rows={rows}\r\n tableFilter={false}\r\n tableSorting={false}\r\n displayTypes={displayTypes}\r\n titleColumn='Name.FormattedName'\r\n showNetworkError={false}\r\n selectedColumns={defaultColumns}\r\n linkClicked={this.getRowPermissions}\r\n serverFilter={this.serverFilter}\r\n clickHandler={this.selectCardHolder}\r\n selectedRow={selectedCardHolder ? selectedCardHolder.$uri : false}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction CardholdersContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default CardholdersContainer;\r\n","\r\nimport React from 'react';\r\nimport Person from '__components/person/Person';\r\nimport { parseQuery } from '__infrastructure/queryHelper';\r\n\r\nfunction PersonRoute(props) {\r\n const { uid } = parseQuery(props.location.search);\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default PersonRoute;\r\n","import alt from '__base/alt';\r\n\r\nclass AuditActions {\r\n constructor() {\r\n this.generateActions('initStore');\r\n }\r\n\r\n loadAuditConfiguration(filter) {\r\n return filter;\r\n }\r\n\r\n loadEvents(filter) {\r\n return filter;\r\n }\r\n\r\n setPageSize(pageSize) {\r\n return pageSize;\r\n }\r\n\r\n applyFilter(query) {\r\n return query;\r\n }\r\n\r\n saveConfiguration(model) {\r\n return model;\r\n }\r\n}\r\n\r\nexport default alt.createActions(AuditActions);\r\n","\r\nimport alt from '__base/alt';\r\n\r\nimport AuditHandler from '__api/AuditHandler';\r\nimport MessageActions from '__containers/Notifications/actions';\r\n\r\nimport AuditActions from './actions';\r\n\r\nclass AuditStore {\r\n constructor() {\r\n this.bindActions(AuditActions);\r\n this.isStoreInitialized = false;\r\n this.filter = 'no filter';\r\n this.pageSize = 25;\r\n this.isNotConfigured = true;\r\n }\r\n setInitialized() {\r\n if (this.descriptor) {\r\n this.setState({\r\n isStoreInitialized: true\r\n });\r\n }\r\n }\r\n onSetPageSize(pageSize) {\r\n this.setState({ pageSize });\r\n }\r\n loadDescriptor() {\r\n AuditHandler.loadDescriptor().then(\r\n (data) => {\r\n this.descriptor = data.payload;\r\n this.setInitialized();\r\n });\r\n return false;\r\n }\r\n onInitStore() {\r\n if (!this.isStoreInitialized) {\r\n this.loadDescriptor();\r\n }\r\n }\r\n onLoadAuditConfiguration() {\r\n AuditHandler.loadAuditConfiguration().then((response) => {\r\n if (response.successful) {\r\n this.setState({\r\n data: response.payload\r\n });\r\n }\r\n });\r\n }\r\n onLoadEvents() {\r\n AuditHandler.loadAuditEvents().then((response) => {\r\n if (response.successful) {\r\n this.setState({\r\n events: response.payload\r\n });\r\n }\r\n });\r\n }\r\n onApplyFilter(query) {\r\n const filter = query.Query.getFilter();\r\n const sortBy = query.Query.getSortBy();\r\n\r\n this.filter = JSON.stringify(filter);\r\n this.sortBy = JSON.stringify(sortBy);\r\n AuditHandler.loadAuditEvents(filter, sortBy).then(\r\n (data) => {\r\n this.setState({\r\n dataQuery: data.payload,\r\n columns: query.Query.view.columns,\r\n isNotConfigured: false,\r\n });\r\n this.emitChange();\r\n });\r\n return false;\r\n }\r\n onSaveConfiguration(model) {\r\n AuditHandler.saveConfiguration(model).then((response) => {\r\n if (response.successful) {\r\n AuditActions.loadAuditConfiguration({});\r\n MessageActions.addNotification({\r\n message: 'messages.saveSuccessful',\r\n type: 'succcess',\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default alt.createStore(AuditStore, 'AuditStore');\r\n","const defaultColumns = [\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.CategoryName',\r\n name: 'CategoryName',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: true,\r\n field_type: 'LinkedSelect',\r\n Viewable: true,\r\n defaultViewable: false,\r\n GroupBy: true\r\n },\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.EventTypeName',\r\n name: 'EventTypeName',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: false,\r\n field_type: 'LinkedSelect',\r\n Viewable: true,\r\n defaultViewable: false,\r\n LinkedQueryFieldDescriptor: null,\r\n GroupBy: true\r\n },\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.When',\r\n name: 'When',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: true,\r\n field_type: 'Datetime',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null,\r\n GroupBy: true\r\n },\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.IP',\r\n name: 'IP',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null,\r\n GroupBy: true\r\n },\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.Who',\r\n name: 'Who',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: true,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null,\r\n GroupBy: true\r\n },\r\n {\r\n localizationKey: 'G4S.SymmetryWeb.ClientModel.Audit.AuditEvent.Details',\r\n name: 'Details',\r\n ApiFilterName: null,\r\n filter: false,\r\n Sortable: false,\r\n field_type: 'Details',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null,\r\n GroupBy: true\r\n }\r\n];\r\n\r\nexport default defaultColumns;\r\n","import i18n from 'i18next-client';\r\nimport React from 'react';\r\nimport AltContainer from 'alt-container';\r\nimport autoBind from 'react-autobind';\r\n\r\nimport Loading from '__components/common/Loading';\r\nimport QueryableMultiView from '__components/common/query/QueryableMultiView';\r\nimport ActionButtonsTitle from '__components/common/title/ActionButtonsTitle';\r\nimport displayTypes from '__infrastructure/displayTypes';\r\n\r\nimport AuditStore from './store';\r\nimport AuditActions from './actions';\r\nimport defaultColumns from './statics/defaultColumns';\r\n\r\nclass AuditEvents extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n componentDidMount() {\r\n setTimeout(() => {\r\n this.props.Actions.initStore();\r\n }, 0);\r\n }\r\n\r\n pageSizeChanged(size) {\r\n this.props.Actions.setPageSize(size);\r\n }\r\n\r\n render() {\r\n const {\r\n isStoreInitialized,\r\n dataQuery,\r\n descriptor,\r\n pageSize,\r\n Actions,\r\n isNotConfigured,\r\n location,\r\n route,\r\n history,\r\n } = this.props;\r\n if (!isStoreInitialized) {\r\n return ();\r\n }\r\n const router = {\r\n location,\r\n route,\r\n history\r\n };\r\n const rows = dataQuery ? dataQuery.Payload : [];\r\n const title = i18n.t('Pages.AuditEvents');\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction AuditEventsContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AuditEventsContainer;\r\n","import React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport AltContainer from 'alt-container';\r\nimport G4SForm from '__components/common/forms/Form';\r\nimport AppStore from '__stores/AppStore';\r\nimport AuthStore from '__stores/AuthStore';\r\nimport AuthActions from '__actions/AuthActions';\r\nimport Loading from '__components/common/Loading';\r\nimport _ from 'lodash';\r\nimport i18n from 'i18next-client';\r\nimport UserProfileStore from '__stores/UserProfileStore';\r\nimport UserProfileActions from '__actions/UserProfileActions';\r\nimport FormUtils from '__components/common/forms/FormUtils';\r\nimport preferencesFields from './Preferences';\r\n\r\nclass UserProfile extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n hideMessage: true\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { Actions } = nextProps;\r\n if (nextProps.UserName !== this.props.UserName) {\r\n Actions.loadUserProfile(this.state.UserName);\r\n }\r\n }\r\n\r\n componentWillMount() {\r\n setTimeout(() => this.props.AActions.redirectToChangePassword(false), 0);\r\n }\r\n\r\n render() {\r\n const { loaded, userProfile, connectionDetails } = this.props;\r\n if (!loaded) {\r\n return ;\r\n }\r\n const dictionaries = AppStore.getDictionaries();\r\n const { FirstName, LastName, userPreferences, role } = userProfile;\r\n let fields = preferencesFields.get(\r\n dictionaries.supportedLngs,\r\n null,\r\n { defaultLngIsOverridable: !userPreferences.general.defaultLngIsOverridable,\r\n defaultHomePageIsOverridable: !userPreferences.general.defaultHomePageIsOverridable,\r\n defaultTimeoutIsOverridable: !userPreferences.general.defaultTimeoutIsOverridable\r\n }\r\n );\r\n fields = FormUtils.filterFields(fields, _.merge(userPreferences.general, userPreferences.api, userPreferences.alarms));\r\n fields = FormUtils.translateFields(fields, 'settings');\r\n const passwordFields = {\r\n name: 'Password',\r\n display: 'userProfile.changePassword.title',\r\n description: '',\r\n type: 'fieldset',\r\n groupHtmlClass: 'row',\r\n fields: [{\r\n name: 'api.password',\r\n alternativeName: 'Password',\r\n display: 'settings.api.Password',\r\n type: 'password',\r\n hasContainer: true,\r\n min: '2'\r\n },\r\n {\r\n name: 'api.confirmPassword',\r\n display: 'settings.api.ConfirmPassword',\r\n type: 'password',\r\n hasContainer: true,\r\n validation: [{\r\n name: 'twoFieldsMatch',\r\n customValidationFunction: this.customValidationFunction,\r\n message: 'settings.api.confirmationPasswordMatchMessage'\r\n }]\r\n }]\r\n };\r\n if (FormUtils.getVisibleFromTypeMeta('Password', connectionDetails.Account.TypeMeta)) {\r\n fields.push(passwordFields);\r\n }\r\n//fields.push(passwordFields);\r\n const formFields = [{\r\n name: 'userPreferences',\r\n type: 'fieldset',\r\n display: i18n.t('userProfile.preferences.title'),\r\n fields\r\n }];\r\n\r\n const title = `${i18n.t('userProfile.title')} ${FirstName} ${LastName} ( ${role} )`;\r\n return (\r\n
    \r\n this.state.form = f}\r\n title={title}\r\n iconClass=\"fa fa-cogs\"\r\n formFields={formFields}\r\n typeMeta={_.assign({}, connectionDetails.Account.TypeMeta)}\r\n model={userPreferences}\r\n saveFunc={this.saveFunc}\r\n disableDirtyFields={true}\r\n />\r\n
    \r\n );\r\n }\r\n\r\n customValidationFunction(value, params) {\r\n const { form } = this.state;\r\n return value === form.getCurrentValue().api.password;\r\n }\r\n\r\n saveFunc(model) {\r\n const { Actions } = this.props;\r\n Actions.saveUserPreferences(model);\r\n this.setState({});\r\n }\r\n}\r\n\r\nfunction UserProfileContainer(props) {\r\n return (\r\n ({ ...Profile, ...App, ...Auth, Actions, AActions })}\r\n actions={{ Actions: UserProfileActions, AActions: AuthActions }}\r\n >\r\n \r\n \r\n );\r\n}\r\nexport default UserProfileContainer;\r\n","import alt from '__base/alt';\r\nimport VisitsHandler from '__api/VisitsHandler';\r\n\r\nclass VisitListActions {\r\n constructor() {\r\n this.generateActions('initializeStore');\r\n this.generateActions('applyFilter');\r\n this.generateActions('quickFilter');\r\n this.generateActions('querySearch');\r\n this.generateActions('removeVisitorOnClient');\r\n this.generateActions('resetStore');\r\n }\r\n\r\n loadMore(params) {\r\n return params;\r\n }\r\n\r\n deleteVisitor(uri) {\r\n return VisitsHandler.deleteVisit(uri);\r\n }\r\n\r\n getVisitorPermissions(uri) {\r\n return VisitsHandler.getVisitorPermissions(uri);\r\n }\r\n}\r\n\r\nexport default alt.createActions(VisitListActions);\r\n","const storeDescriptor = {\r\n SourceTypeName: 'G4S.SymmetryWeb.ClientDomain.DTO.Visit',\r\n Fields: [{\r\n name: 'Visitor.Message',\r\n ApiFilterName: 'Message',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Visits',\r\n ApiFilterName: 'Visits',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.DeactivateAtThreatLevel',\r\n ApiFilterName: 'DeactivateAtThreatLevel',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.ForceInactive',\r\n ApiFilterName: 'ForceInactive',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.SetForBatchPrinting',\r\n ApiFilterName: 'SetForBatchPrinting',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.CardWatch',\r\n ApiFilterName: 'CardWatch',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.PersonIdentifier',\r\n ApiFilterName: 'PersonIdentifier',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Stop',\r\n ApiFilterName: 'Stop',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Name.Given',\r\n ApiFilterName: 'Name.Given',\r\n Filterable: true,\r\n Sortable: true,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Name.Family',\r\n ApiFilterName: 'Name.Family',\r\n Filterable: true,\r\n Sortable: true,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Name.Other',\r\n ApiFilterName: 'Name.Other',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Name.FormattedName',\r\n ApiFilterName: 'Name.FormattedName',\r\n Filterable: false,\r\n Sortable: false,\r\n params: [{ name: 'Visitor.$uri', queryName: 'uri' }],\r\n to: '/Visit',\r\n field_type: 'Link',\r\n Viewable: true,\r\n defaultViewable: false,\r\n defaultOrderNr: 3,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Visits.ArrivalDateTime',\r\n ApiFilterName: 'Visitor.Visits.ArrivalDateTime',\r\n Filterable: false,\r\n Sortable: true,\r\n field_type: 'prettydatetime',\r\n Viewable: true,\r\n defaultViewable: false,\r\n defaultOrderNr: 1,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Visitor.Visits.DepartureDateTime',\r\n ApiFilterName: 'Visitor.Visits.DepartureDateTime',\r\n Filterable: false,\r\n Sortable: true,\r\n field_type: 'prettydatetime',\r\n Viewable: true,\r\n defaultViewable: false,\r\n defaultOrderNr: 2,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'VisitingName',\r\n ApiFilterName: 'Visits.VisitingName',\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'String',\r\n Viewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.CardNumberDisplay',\r\n ApiFilterName: 'Credentials.CardNumberDisplay',\r\n Filterable: true,\r\n Sortable: true,\r\n display: 'Credentials',\r\n collection: 'Credentials',\r\n field_type: 'List',\r\n Viewable: true,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.ActiveDate',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Datetime',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.InactiveDate',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Datetime',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.ExpirationDate',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Datetime',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.Lost',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.ForceCardInactive',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.Active',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n }, {\r\n name: 'Credentials.Temporary',\r\n ApiFilterName: null,\r\n Filterable: false,\r\n Sortable: false,\r\n field_type: 'Boolean',\r\n Viewable: false,\r\n defaultViewable: false,\r\n QueryFieldOptions: null,\r\n LinkedQueryFieldDescriptor: null\r\n },\r\n {\r\n name: 'Visitor.Visits.Status',\r\n ApiFilterName: 'Visitor.Visits.Status',\r\n Filterable: true,\r\n Sortable: true,\r\n field_type: 'Select',\r\n Viewable: true,\r\n defaultViewable: false,\r\n defaultOrderNr: 4,\r\n LinkedQueryFieldDescriptor: null,\r\n QueryFieldOptions: [{\r\n Value: 'Pending',\r\n Title: null,\r\n localizationKey: 'VisitState.Pending',\r\n ParentId: null\r\n },\r\n {\r\n Value: 'Active',\r\n Title: null,\r\n localizationKey: 'VisitState.Active',\r\n ParentId: null\r\n },\r\n {\r\n Value: 'Closed',\r\n Title: null,\r\n localizationKey: 'VisitState.Closed',\r\n ParentId: null\r\n },\r\n {\r\n Value: 'Stop',\r\n Title: null,\r\n localizationKey: 'VisitState.Stop',\r\n ParentId: null\r\n },\r\n {\r\n Value: 'Historic',\r\n Title: null,\r\n localizationKey: 'VisitState.Historic',\r\n ParentId: null\r\n }]\r\n }]\r\n};\r\n\r\nexport default storeDescriptor;\r\n","import alt from '__base/alt';\r\nimport R from 'ramda';\r\nimport VisitsHandler from '__api/VisitsHandler';\r\nimport QueryUtils from '__infrastructure/QueryUtils';\r\nimport pushNewPage from '__infrastructure/PaginationHelpers';\r\nimport AuthActions from '__actions/AuthActions';\r\nimport AppActions from '__actions/AppActions';\r\nimport AppStore from '__stores/AppStore';\r\nimport VisitListActions from './actions';\r\nimport storeDescriptor from './statics/storeDescriptor';\r\n\r\nclass VisitorListStore {\r\n constructor() {\r\n this.bindActions(VisitListActions);\r\n this.bindActions(AuthActions);\r\n this.bindActions(AppActions);\r\n this.isStoreInitialized = false;\r\n this.isPermissionsInitialized = false;\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.columnFilters = [];\r\n this.storedPages = [];\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.currentPageNumber = 0;\r\n this.CanAdd = false;\r\n this.CanDelete = false;\r\n this.hasMore = false;\r\n this.isNotConfigured = true;\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n }\r\n initialState() {\r\n this.currentQuickSearchText = '';\r\n this.currentQuickSearchFilterText = '';\r\n this.currentQuickSearchColumnsFilterText = '';\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.storedPages = [];\r\n this.hasMore = false;\r\n this.isNotConfigured = true;\r\n this.currentPageNumber = 0;\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n }\r\n onLogoutUser() {\r\n this.initialState();\r\n }\r\n setInitialized() {\r\n if (this.descriptor) {\r\n this.setState({\r\n isStoreInitialized: true\r\n });\r\n }\r\n }\r\n loadDescriptor() {\r\n VisitsHandler.loadDescriptor().then((data) => {\r\n this.descriptor = storeDescriptor;\r\n this.setInitialized();\r\n });\r\n return false;\r\n }\r\n setListData(data, pageNumber) {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= this.pageSize && Count !== 0;\r\n const currentPage = R.find(R.propEq('pageNumber', pageNumber), this.storedPages);\r\n const currentPageNumber = currentPage ? pageNumber : this.currentPageNumber + 1;\r\n this.setState({\r\n loadingData: false,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n hasMore,\r\n currentPageNumber,\r\n storedPages: hasMore\r\n ? pushNewPage(this.storedPages, R.omit(['Data', 'ignoreNext'], data.payload), currentPageNumber)\r\n : this.storedPages,\r\n data: hasMore\r\n ? data.payload\r\n : this.data,\r\n });\r\n return false;\r\n }\r\n loadPermissions() {\r\n VisitsHandler.loadPermissions().then((data) => {\r\n const { CanAdd, CanDelete } = data.payload;\r\n this.CanAdd = CanAdd;\r\n this.CanDelete = CanDelete;\r\n this.setState({\r\n isPermissionsInitialized: true,\r\n });\r\n });\r\n return false;\r\n }\r\n getFilterData(data) {\r\n const { Query, PageSize, Company } = data;\r\n this.setState({ loadingData: true });\r\n return {\r\n filter: Query.getFilter(),\r\n sortBy: Query.getSortBy(),\r\n pageSize: PageSize,\r\n company: Company\r\n };\r\n }\r\n onInitializeStore() {\r\n if (!this.isPermissionsInitialized) {\r\n this.loadPermissions();\r\n }\r\n\r\n this.loadDescriptor();\r\n\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n hasMore: false,\r\n storedPages: [],\r\n });\r\n if (this.currentQuery) {\r\n // configure view logic here #todo\r\n this.onApplyFilter(this.currentQuery);\r\n }\r\n }\r\n getInitialData(newFilter, sortBy, company, pageSize, query) {\r\n const roleSettings = AppStore.getRoleSettings();\r\n const appSettings = AppStore.getSettings();\r\n const limit = pageSize || (roleSettings && roleSettings.api ? roleSettings.api.defaultServerPageSize : appSettings && appSettings.api && appSettings.api.defaultServerPageSize);\r\n if (this.isConfigureViewWithEmptyFilters(newFilter)) {\r\n setTimeout(() => {\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n isNetworkDown: false,\r\n columns: query ? query.Query.view.columns : this.columns,\r\n loadingData: false,\r\n hasMore: false,\r\n currentPageNumber: 0,\r\n isNotConfigured: true,\r\n storedPages: [],\r\n });\r\n }, 0);\r\n } else {\r\n VisitsHandler.loadVisits(newFilter, sortBy, company, limit).then((data) => {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= limit && Count !== 0;\r\n this.setState({\r\n data: data.payload,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n columns: query ? query.Query.view.columns : this.columns,\r\n hasMore,\r\n pageSize: limit,\r\n loadingData: false,\r\n isNotConfigured: false,\r\n currentPageNumber: 1,\r\n storedPages: hasMore || this.storedPages.length !== 0\r\n ? [R.merge(\r\n R.omit(['Data', 'ignoreNext'], data.payload),\r\n { pageNumber: 1, currentPage: data.reqUrl }\r\n )]\r\n : this.storedPages\r\n });\r\n });\r\n }\r\n }\r\n\r\n onApplyFilter(query) {\r\n if (this.currentQuery && this.storedPages.length > 1 && this.currentQuery.Id === query.Id && (!this.currentQuickSearchText || !this.currentQuickSearchColumnsFilterData)) {\r\n const currentPage = R.find(R.propEq('pageNumber', this.currentPageNumber || 1), this.storedPages);\r\n setTimeout(() => {\r\n VisitListActions.loadMore({ url: currentPage.currentPage, pageNumber: currentPage.pageNumber });\r\n }, 0);\r\n return null;\r\n }\r\n this.waitFor(AppStore.dispatchToken);\r\n this.setState({\r\n currentQuery: query,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const { sortBy, pageSize, company } = this.getFilterData(query);\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize, query);\r\n return false;\r\n }\r\n\r\n onLoadMore({ url, pageNumber }) {\r\n this.setState({ loadingData: true });\r\n VisitsHandler\r\n .loadMore(url, this.company)\r\n .then(data => this.setListData(data, pageNumber));\r\n }\r\n onQuerySearch({ queryText, callbackAction }) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, pageSize, company } = this.getFilterData(this.currentQuery);\r\n const currentQuickSearchFilterText = queryText ? `Name.Family.Lk:${queryText}|Name.Given.Lk:${queryText}|Credentials.CardNumberDisplay.Lk:${queryText}` : '';\r\n this.setState({\r\n currentQuickSearchFilterText,\r\n currentQuickSearchText: queryText,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.emitChange();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n // when searching on the table column\r\n onQuickFilter(quickFilterData) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, pageSize, company } = this.getFilterData(this.currentQuery);\r\n let newFilterText = '';\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const k in quickFilterData) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (quickFilterData.hasOwnProperty(k)) {\r\n newFilterText += `${k}.lk:${quickFilterData[k]},`;\r\n }\r\n }\r\n newFilterText = newFilterText.slice(0, -1);\r\n this.setState({\r\n currentQuickSearchColumnsFilterText: newFilterText,\r\n currentQuickSearchColumnsFilterData: quickFilterData,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n createSearchFilter() {\r\n const currentFilterText = this.getFilterData(this.currentQuery).filter;\r\n return {\r\n // eslint-disable-next-line prefer-template\r\n filter: `${currentFilterText.filter ? currentFilterText.filter + ',' : ''}${this.currentQuickSearchColumnsFilterText ? this.currentQuickSearchColumnsFilterText + ',' : ''}${this.currentQuickSearchFilterText || ''}`\r\n };\r\n }\r\n isConfigureViewWithEmptyFilters(filter) {\r\n return (this.currentQuery.Id === 'none' && filter.filter === '');\r\n }\r\n onRemoveVisitorOnClient(uri) {\r\n this.setState({\r\n data: R.merge(this.data, { Data: this.data.Data.filter(v => v.Visitor.$uri !== uri) }),\r\n });\r\n }\r\n onResetStore() {\r\n this.initialState();\r\n }\r\n}\r\n\r\nexport default alt.createStore(VisitorListStore, 'VisitorListStore');\r\n","const defaultColumns = [\r\n {\r\n name: 'Visitor.Name.Family',\r\n ApiFilterName: 'Name.Family',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Visit.Visitor.Name.Family',\r\n filter: true,\r\n sort: true,\r\n field_type: 'String',\r\n defaultViewable: true,\r\n }, {\r\n name: 'Visitor.Name.Given',\r\n ApiFilterName: 'Name.Given',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Visit.Visitor.Name.Given',\r\n filter: true,\r\n sort: true,\r\n field_type: 'String'\r\n }, {\r\n name: 'Visitor.Name.FormattedName',\r\n localizationKey: 'G4S.SymmetryWeb.ClientDomain.DTO.Visit.Visitor.Name.FormattedName',\r\n ApiFilterName: 'Name.FormattedName',\r\n filter: false,\r\n sort: false,\r\n field_type: 'Link',\r\n to: '/Visit',\r\n params: [{\r\n name: 'Visitor.$uri',\r\n queryName: 'uri'\r\n }]\r\n }, {\r\n name: 'Credentials.CardNumberDisplay',\r\n localizationKey: 'Cards',\r\n ApiFilterName: 'Credentials.CardNumberDisplay',\r\n display: 'Credentials',\r\n collection: 'Credentials',\r\n filter: true,\r\n sort: true,\r\n field_type: 'List'\r\n }\r\n];\r\n\r\nexport default defaultColumns;\r\n","// NPM libs\r\nimport React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport autoBind from 'react-autobind';\r\nimport AltContainer from 'alt-container';\r\nimport { omit } from 'ramda';\r\n// Components\r\nimport Loading from '__components/common/Loading';\r\nimport ActionButtonsTitle from '__components/common/title/ActionButtonsTitle';\r\nimport QueryableMultiView from '__components/common/query/QueryableMultiView';\r\nimport ScreensUtils from '__components/common/ScreensUtils';\r\nimport Pagination from '__components/common/Pagination';\r\nimport ConfirmModal from '__components/common/forms/ConfirmModal';\r\n// Project absolue paths imports\r\nimport AppStore from '__stores/AppStore';\r\nimport displayTypes from '__infrastructure/displayTypes';\r\nimport CompaniesStore from '__stores/CompaniesStore';\r\nimport MessageActions from '__containers/Notifications/actions';\r\n// Container relative imports\r\nimport VisitsStore from './store';\r\nimport VisitsActions from './actions';\r\nimport defaultColumns from './statics/defaultColumns';\r\n\r\nclass Visitors extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n selectedVisitor: false,\r\n showConfirmModal: false,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { isStoreInitialized } = this.props;\r\n if (!isStoreInitialized) {\r\n setTimeout(() => {\r\n this.props.Actions.initializeStore();\r\n }, 0);\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (nextProps.data !== this.props.data) {\r\n this.setState({ selectedVisitor: null, showConfirmModal: false });\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n const { history } = this.props;\r\n setTimeout(() => {\r\n if (history && history.location.pathname !== '/Visit') {\r\n this.props.Actions.resetStore();\r\n }\r\n }, 0);\r\n }\r\n\r\n // #README left this here as reference in case we get back multiple row selection.\r\n // Don't use state, use the store's state and actions to keep views as slim as posible\r\n // selectionChanged() {\r\n // const items = this.multiView.getSelectedRows();\r\n // let selectedItems = false;\r\n // if (items.length > 0) {\r\n // selectedItems = true;\r\n // items[0].permissions = items[0].permissions || {};\r\n // }\r\n // if (items.length > 0 && items[0]['permissions'].CanEdit === undefined) {\r\n // this.loadPermissions(items[0]['Visitor']['$uri']).then((data) => {\r\n // if (data.successful) {\r\n // this.state.selectedItem[0]['permissions'] = data.payload;\r\n // this.setState({});\r\n // }\r\n // });\r\n // }\r\n // this.setState({\r\n // selectedItems,\r\n // selectedItem: items\r\n // });\r\n // }\r\n\r\n querySearch(data) {\r\n setTimeout(() => {\r\n this.props.Actions.querySearch(data);\r\n }, 0);\r\n }\r\n\r\n addNewVisitor() {\r\n this.props.history.push({\r\n pathname: '/Visit',\r\n search: `query=${this.generateCompanyQuery()}`,\r\n state: { listUrl: `${location.pathname}${location.search}` }\r\n });\r\n }\r\n\r\n serverFilter(quickFilterData) {\r\n this.props.Actions.quickFilter(quickFilterData);\r\n }\r\n\r\n getRowPermissions(row, params, type) {\r\n const QueryParams = params || [{\r\n name: 'Visitor.$uri',\r\n queryName: 'uri',\r\n value: row.Visitor.$uri,\r\n }];\r\n this.props.Actions.getVisitorPermissions(ScreensUtils.getQueryForLinkPermission(QueryParams)).then((data) => {\r\n if (data && data.successful) {\r\n // eslint-disable-next-line no-param-reassign\r\n row.permissions = data.payload;\r\n if (type === 'selectRow') {\r\n return this.setState({\r\n selectedVisitor: row\r\n });\r\n }\r\n if (type === 'delete') {\r\n return this.checkDeletePermissions(row);\r\n }\r\n return this.checkEditPermissions(row);\r\n } else if (data && data.statusCode === 404) {\r\n this.props.Actions.removeVisitorOnClient(row.Visitor.$uri);\r\n return this.setState({ selectedVisitor: null });\r\n }\r\n return null;\r\n });\r\n }\r\n\r\n checkEditPermissions(row) {\r\n if (row.permissions && (row.permissions.CanEdit || row.permissions.CanGet)) {\r\n return this.props.history.push({\r\n pathname: '/Visit',\r\n search: `uid=${row.Visitor.$uri}&query=${this.generateCompanyQuery()}`,\r\n // eslint-disable-next-line no-restricted-globals\r\n state: { listUrl: `${location.pathname}${location.search}` }\r\n });\r\n }\r\n if (row.permissions && (row.permissions.NotFound)) {\r\n this.props.Actions.removeVisitorOnClient(row.Visitor.$uri);\r\n this.setState({ selectedVisitor: null });\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('RecordDoesNotExists'),\r\n });\r\n }\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('InsufficientRightsAPI'),\r\n });\r\n }\r\n\r\n checkDeletePermissions(row) {\r\n if (row.permissions && (row.permissions.CanDelete)) {\r\n return this.showModal();\r\n }\r\n if (row.permissions && (row.permissions.NotFound)) {\r\n this.props.Actions.removeVisitorOnClient(row.Visitor.$uri);\r\n this.setState({ selectedVisitor: null });\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('RecordDoesNotExists'),\r\n });\r\n }\r\n return MessageActions.addNotification({\r\n type: 'error',\r\n message: i18n.t('InsufficientRightsAPI'),\r\n });\r\n }\r\n\r\n deleteVisitor() {\r\n const { selectedVisitor } = this.state;\r\n if (selectedVisitor) {\r\n const { $uri } = selectedVisitor.Visitor;\r\n setTimeout(() => {\r\n this.props.Actions.deleteVisitor($uri).then((data) => {\r\n if (data.successful) {\r\n this.setState({ selectedVisitor: null });\r\n this.props.Actions.removeVisitorOnClient($uri);\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: i18n.t('messages.deleteSuccessful'),\r\n });\r\n }\r\n });\r\n }, 0);\r\n }\r\n }\r\n\r\n showModal() {\r\n this.setState({ showConfirmModal: true });\r\n }\r\n\r\n closeConfirmationModal() {\r\n this.setState({ showConfirmModal: false });\r\n }\r\n\r\n selectVisitor(row) {\r\n let { selectedVisitor } = this.state;\r\n selectedVisitor = selectedVisitor && selectedVisitor.Visitor.$uri === row.Visitor.$uri ? null : row;\r\n this.setState({\r\n selectedVisitor\r\n });\r\n if (selectedVisitor) {\r\n this.getRowPermissions(selectedVisitor, null, 'selectRow');\r\n }\r\n }\r\n\r\n generateCompanyQuery() {\r\n const queryOnlyCompany = { Query: { company: CompaniesStore.state.selectedCompany.$uri } };\r\n return encodeURIComponent(JSON.stringify(queryOnlyCompany));\r\n }\r\n\r\n buildTableActions() {\r\n const { CanAdd } = this.props;\r\n const { selectedVisitor } = this.state;\r\n let Delete = {\r\n name: 'Delete',\r\n faClass: 'fa-trash',\r\n onClick: this.getRowPermissions.bind(null, selectedVisitor, null, 'delete'),\r\n disabled: 'disabled',\r\n };\r\n let Add = {\r\n name: 'Add',\r\n faClass: 'fa-plus',\r\n buttonClass: 'btn-add-action',\r\n onClick: this.addNewVisitor,\r\n disabled: 'disabled',\r\n };\r\n let Edit = {\r\n name: 'Edit',\r\n faClass: 'fa-pencil',\r\n onClick: this.getRowPermissions.bind(null, selectedVisitor, null, 'edit'),\r\n disabled: 'disabled',\r\n };\r\n const permissions = selectedVisitor && selectedVisitor.permissions;\r\n const removeDisabled = omit(['disabled']);\r\n Add = CanAdd ? removeDisabled(Add) : Add;\r\n Delete = permissions && permissions.CanDelete ? removeDisabled(Delete) : Delete;\r\n Edit = permissions && (permissions.CanDelete || permissions.CanGet) ? removeDisabled(Edit) : Edit;\r\n // this is the order they will be displayed\r\n return [Edit, Delete, Add];\r\n }\r\n\r\n render() {\r\n const {\r\n isPermissionsInitialized,\r\n data,\r\n location,\r\n route,\r\n history,\r\n loadingData,\r\n storedPages,\r\n Actions,\r\n descriptor,\r\n currentQuickSearchText,\r\n currentQuickSearchColumnsFilterData,\r\n hasMore,\r\n isNotConfigured,\r\n currentPageNumber,\r\n } = this.props;\r\n const actions = this.buildTableActions();\r\n const router = {\r\n location,\r\n route,\r\n history\r\n };\r\n const rows = data ? data.Data : undefined;\r\n const roleSettings = AppStore.getRoleSettings();\r\n const limit = roleSettings && roleSettings.api ? roleSettings.api.defaultServerPageSize : AppStore.getSettings().api.defaultServerPageSize;\r\n const { Next, Prev } = data || {};\r\n const paginationObject = {\r\n limit,\r\n Next,\r\n Prev,\r\n storedPages: storedPages || [],\r\n hasMore,\r\n action: Actions.loadMore,\r\n component: Pagination,\r\n pageNumber: currentPageNumber,\r\n loadingData,\r\n };\r\n if (!isPermissionsInitialized) {\r\n return ();\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n { this.multiView = ref; }}\r\n loadingData={loadingData}\r\n withCompany\r\n paginationObject={paginationObject}\r\n hasFullHeight\r\n clientSelection={false}\r\n dataDescriptor={descriptor}\r\n router={router}\r\n viewIsNotConfigured={isNotConfigured}\r\n applyAction={Actions.applyFilter}\r\n rows={rows}\r\n selectedRow={this.state.selectedVisitor ? this.state.selectedVisitor.Visitor.$uri : false}\r\n selectedRowCompare=\"Visitor\"\r\n tableFilter={false}\r\n tableSorting={false}\r\n displayTypes={displayTypes}\r\n titleColumn='Name.FormattedName'\r\n serverFilter={this.serverFilter}\r\n filterByApiName\r\n linkClicked={this.getRowPermissions}\r\n querySearchAction={this.querySearch}\r\n quickSearchText={currentQuickSearchText}\r\n currentQuickSearchColumnsFilterData={currentQuickSearchColumnsFilterData}\r\n clickHandler={this.selectVisitor}\r\n selectedColumns={defaultColumns}\r\n />\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction VisitorListContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default VisitorListContainer;\r\n","import R from 'ramda';\r\n\r\n// PARAMS\r\n// filters: list of filters generated by the Query Component\r\n// list: a list of items that need to be filtered\r\n// wildcards: a list of wildcards that need to be replaced in filters | Empty by default\r\n\r\nconst formatFilters = R.map(f => ({\r\n field: R.pathOr('', ['field', 'name'], f),\r\n value: R.propOr('', 'value', R.head(R.propOr([], 'conditions', f))),\r\n condition: R.propOr('', 'condition', R.head(R.propOr([], 'conditions', f)))\r\n}));\r\n\r\nconst lkComparator = R.curry((a, b) => {\r\n if (R.is(String, a)) {\r\n return R.contains(R.toLower(a), R.toLower(b));\r\n } else if (R.is(Number, a)) {\r\n return R.contains(R.toString(a), R.toString(b));\r\n }\r\n return R.contains(a, b);\r\n});\r\n\r\nconst notLkComparator = R.complement(lkComparator);\r\n\r\nconst extractConditions = R.cond([\r\n [R.propEq('condition', 'eq'), p => R.propSatisfies(R.equals(p.value), p.field)],\r\n [R.propEq('condition', 'neq'), p => R.propSatisfies(R.curry((a, b) => a !== b)(p.value), p.field)],\r\n [R.propEq('condition', 'lk'), p => R.propSatisfies(lkComparator(p.value), p.field)],\r\n [R.propEq('condition', 'con'), p => R.propSatisfies(lkComparator(p.value), p.field)],\r\n [R.propEq('condition', 'nlk'), p => R.propSatisfies(notLkComparator(p.value), p.field)],\r\n [R.propEq('condition', 'ncon'), p => R.propSatisfies(notLkComparator(p.value), p.field)],\r\n [R.propEq('condition', 'gt'), p => R.propSatisfies(R.gt(p.value), p.field)],\r\n [R.propEq('condition', 'gte'), p => R.propSatisfies(R.gte(p.value), p.field)],\r\n [R.propEq('condition', 'lt'), p => R.propSatisfies(R.lt(p.value), p.field)],\r\n [R.propEq('condition', 'lte'), p => R.propSatisfies(R.lte(p.value), p.field)],\r\n [R.T, R.always(true)]\r\n]);\r\n\r\nconst replaceWildcards = R.curry((wildcards, filters) => R.map((f) => {\r\n const currentWildcard = R.find(r => r.wildcard === f.value, wildcards);\r\n return currentWildcard ? R.merge(f, {\r\n value: currentWildcard ? currentWildcard.replacement : f.value\r\n }, f) : f;\r\n})(filters));\r\n\r\nconst filterBy = (filters = [], items = [], wildcards = []) =>\r\n R.compose(\r\n R.filter,\r\n R.allPass,\r\n R.map(extractConditions),\r\n replaceWildcards(wildcards),\r\n formatFilters\r\n )(filters)(items);\r\n\r\nexport default filterBy;\r\n","import alt from '__base/alt';\r\n\r\nclass AlarmsActions {\r\n constructor() {\r\n this.generateActions('initStore');\r\n this.generateActions('startSignalR');\r\n this.generateActions('stopSignalR');\r\n this.generateActions('disconnectFromHub');\r\n this.generateActions('connectToHub');\r\n this.generateActions('selectAlarm');\r\n this.generateActions('resetStore');\r\n this.generateActions('quickFilter');\r\n this.generateActions('querySearch');\r\n }\r\n\r\n updateAlarmList(data) {\r\n return data;\r\n }\r\n\r\n applyFilter(data) {\r\n return data;\r\n }\r\n\r\n loadMore(data) {\r\n return data;\r\n }\r\n}\r\n\r\nexport default alt.createActions(AlarmsActions);\r\n","import alt from '__base/alt';\r\nimport R from 'ramda';\r\nimport { hubConnection } from 'signalr-no-jquery';\r\n\r\nimport StatisticsStore from '__stores/StatisticsStore';\r\nimport AuthStore from '__stores/AuthStore';\r\nimport AppStore from '__stores/AppStore';\r\nimport MessageActions from '__containers/Notifications/actions';\r\nimport pushNewPage from '__infrastructure/PaginationHelpers';\r\nimport filterBy from '__infrastructure/Filter';\r\nimport QueryUtils from '__infrastructure/QueryUtils';\r\n\r\nimport AlarmsHandler from '__api/AlarmsHandler';\r\nimport AlarmsActions from './actions';\r\n\r\nconst doubleDecode = R.pipe(\r\n decodeURIComponent,\r\n decodeURIComponent\r\n);\r\n\r\nconst PagLinkReplace = (next, alarm, direction) => {\r\n if (!alarm) {\r\n return next;\r\n }\r\n const url = doubleDecode(next);\r\n const trimmedUrl = R.pipe(\r\n R.split(`&${direction}=`),\r\n R.head\r\n )(url);\r\n const { $uri, LastModifiedDate } = alarm;\r\n return encodeURIComponent(\r\n `${trimmedUrl}&after=LastModifiedDate:${LastModifiedDate},Id:${$uri}`\r\n );\r\n};\r\n\r\n// signalR\r\nconst Connection = hubConnection();\r\nlet hubProxy;\r\n\r\n// filter and sort helpers\r\nconst filterByStatus = status => R.filter(R.propEq('AlarmState', status));\r\nconst sortByPriorityAndTime = R.sort((a, b) =>\r\n (a['Reporting.Priority'] - b['Reporting.Priority'] || new Date(b.LastModifiedDate) - new Date(a.LastModifiedDate))\r\n);\r\nconst sortNew = R.compose(\r\n sortByPriorityAndTime,\r\n filterByStatus('New')\r\n);\r\nconst sortAcknowledged = R.compose(\r\n sortByPriorityAndTime,\r\n filterByStatus('Acknowledged')\r\n);\r\nexport const sortAlarms = R.compose(\r\n R.flatten,\r\n R.ap([sortNew, sortAcknowledged]),\r\n R.of\r\n);\r\n\r\nclass AlarmsStore {\r\n constructor() {\r\n this.bindActions(AlarmsActions);\r\n this.isStoreInitialized = false;\r\n this.filter = 'no filter';\r\n this.company = '';\r\n this.updated = false;\r\n this.pageSize = null;\r\n this.isPermissionsInitialized = false;\r\n this.isNotConfigured = true;\r\n this.loadingData = false;\r\n this.selectedAlarm = null;\r\n this.storedPages = [];\r\n this.hasMore = false;\r\n this.isNotConfigured = true;\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.currentPageNumber = 0;\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n Connection.error(this.onError);\r\n Connection.reconnected(this.onReconnected);\r\n Connection.disconnected(this.onDisconnected);\r\n hubProxy = Connection.createHubProxy('alarmsHub');\r\n hubProxy.on('updateData', d => this.updateAlarmList(d));\r\n }\r\n initialState() {\r\n this.currentQuickSearchText = '';\r\n this.currentQuickSearchFilterText = '';\r\n this.currentQuickSearchColumnsFilterText = '';\r\n this.currentQuickSearchColumnsFilterData = {};\r\n this.pageSize = null;\r\n this.currentQuery = { Query: QueryUtils.getQueryObject({}), Id: 'none' };\r\n this.storedPages = [];\r\n this.isNotConfigured = true;\r\n this.currentPageNumber = 0;\r\n this.selectedAlarm = null,\r\n this.data = {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n };\r\n }\r\n onError() {\r\n if (AuthStore.state && AuthStore.state.IsUserAuthenticated) {\r\n setTimeout(() => {\r\n MessageActions.addNotification({\r\n message: 'signalrError',\r\n type: 'error',\r\n });\r\n }, 0);\r\n }\r\n }\r\n onReconnected() {\r\n MessageActions.resetConnectionLost();\r\n }\r\n onConnectToHub() {\r\n if (this.isConnectionOpen !== true) {\r\n Connection.logging = true;\r\n Connection.start({ transport: ['webSockets', 'longPolling', 'serverSentEvents', 'foreverFrame'] })\r\n .done(() => {\r\n this.isConnectionOpen = true;\r\n })\r\n .fail(() => {\r\n this.isConnectionOpen = false;\r\n });\r\n }\r\n }\r\n onDisconnectFromHub() {\r\n if (this.isConnectionOpen === true) {\r\n Connection.stop();\r\n this.isConnectionOpen = false;\r\n }\r\n }\r\n\r\n // connection has been lost and the attempt to reconnect has timed out.\r\n onDisconnected() {\r\n if (this.isConnectionOpen === true) {\r\n setTimeout(() => {\r\n Connection.start({ transport: ['webSockets', 'longPolling', 'serverSentEvents', 'foreverFrame'] });\r\n }, 5000); // Restart connection after 5 seconds only if was not disconnected by the onDisconnectFromHub method\r\n }\r\n }\r\n startPolling(filter, sortBy, pageSize) {\r\n // const filterUri = filter && filter.filter && `filter=${filter.filter}&`;\r\n const sortUri = 'sort=USN&';\r\n const queryString = `${sortUri || ''}limit=${pageSize}`;\r\n hubProxy.invoke('startPolling', encodeURIComponent(queryString));\r\n }\r\n stopPolling() {\r\n if (this.isConnectionOpen) {\r\n hubProxy.invoke('stopPolling');\r\n }\r\n }\r\n setPermissionsInitialized() {\r\n if (this.permissions !== undefined) {\r\n this.setState({\r\n isPermissionsInitialized: true\r\n });\r\n }\r\n }\r\n setInitialized() {\r\n if (this.descriptor) {\r\n this.setState({\r\n isStoreInitialized: true\r\n });\r\n }\r\n }\r\n loadDescriptor() {\r\n AlarmsHandler.loadDescriptor().then(\r\n (data) => {\r\n this.descriptor = data.payload;\r\n this.setInitialized();\r\n });\r\n return false;\r\n }\r\n loadPermissions() {\r\n AlarmsHandler.loadPermissions().then(\r\n (data) => {\r\n this.permissions = {\r\n CanAdd: data.payload.CanAdd,\r\n CanDelete: data.payload.CanDelete,\r\n CanEdit: data.payload.CanEdit\r\n };\r\n this.setPermissionsInitialized();\r\n });\r\n return false;\r\n }\r\n onInitStore() {\r\n if (!this.isStoreInitialized) {\r\n this.loadDescriptor();\r\n }\r\n if (!this.isPermissionsInitialized) {\r\n this.loadPermissions();\r\n }\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n storedPages: [],\r\n });\r\n if (this.currentQuery) {\r\n this.onApplyFilter(this.currentQuery);\r\n }\r\n }\r\n isConfigureViewWithEmptyFilters(filter) {\r\n return (this.currentQuery.Id === 'none' && R.isEmpty(filter));\r\n }\r\n onSelectAlarm(selectedAlarm) {\r\n const selectedAlarmIndex = R.indexOf(selectedAlarm, this.data.Data);\r\n this.setState({\r\n selectedAlarm,\r\n selectedAlarmIndex\r\n });\r\n }\r\n setListData(data, pageNumber) {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= this.pageSize && Count !== 0;\r\n const currentPage = R.find(R.propEq('pageNumber', pageNumber), this.storedPages);\r\n const currentPageNumber = currentPage ? pageNumber : this.currentPageNumber + 1;\r\n const sortedAlarms = sortAlarms(data.payload.Data);\r\n this.setState({\r\n loadingData: false,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n hasMore,\r\n currentPageNumber,\r\n selectedAlarm: hasMore ? sortedAlarms[0] : this.data.Data.find(a => a.$uri === this.selectedAlarm && this.selectedAlarm.$uri),\r\n storedPages: hasMore\r\n ? pushNewPage(this.storedPages, R.omit(['Data', 'ignoreNext'], data.payload), currentPageNumber)\r\n : this.storedPages,\r\n data: hasMore\r\n ? R.merge(data.payload, { Data: sortedAlarms })\r\n : this.data,\r\n });\r\n return false;\r\n }\r\n getInitialData(newFilter, sortBy, query) {\r\n const roleSettings = AppStore.getRoleSettings();\r\n const appSettings = AppStore.getSettings();\r\n const limit = roleSettings && roleSettings.api\r\n ? roleSettings.alarms.defaultServerPageSizeAlarm\r\n : appSettings &&\r\n appSettings.alarms &&\r\n appSettings.alarms.defaultServerPageSizeAlarm;\r\n if (this.isConfigureViewWithEmptyFilters(newFilter)) {\r\n setTimeout(() => {\r\n this.setState({\r\n data: {\r\n Data: [],\r\n Next: null,\r\n Prev: null,\r\n },\r\n limit,\r\n isNetworkDown: false,\r\n columns: query ? query.Query.view.columns : this.columns,\r\n loadingData: false,\r\n storedPages: [],\r\n hasMore: false,\r\n currentPageNumber: 0,\r\n isNotConfigured: true,\r\n });\r\n }, 0);\r\n } else {\r\n AlarmsHandler.loadAlarms(newFilter, sortBy, limit).then((data) => {\r\n const { Count } = data.payload;\r\n const hasMore = Count <= limit && Count !== 0;\r\n const sortedData = R.merge(data.payload, { Data: sortAlarms(data.payload.Data) });\r\n this.setState({\r\n data: sortedData,\r\n isNetworkDown: data.status === 'NetworkDown',\r\n columns: query ? query.Query.view.columns : this.columns,\r\n hasMore,\r\n loadingData: false,\r\n isNotConfigured: false,\r\n currentPageNumber: 1,\r\n selectedAlarm: sortedData && sortedData.Data && sortedData.Data[0],\r\n pageSize: limit,\r\n pollingSettings: {\r\n filter: newFilter,\r\n sortBy,\r\n pageSize: limit,\r\n },\r\n storedPages: hasMore || this.storedPages.length !== 0\r\n ? [R.merge(\r\n R.omit(['Data', 'ignoreNext'], data.payload),\r\n { pageNumber: 1, currentPage: data.reqUrl }\r\n )]\r\n : this.storedPages\r\n });\r\n this.startPolling(newFilter, sortBy, limit);\r\n });\r\n }\r\n }\r\n onApplyFilter(query) {\r\n this.stopPolling();\r\n if (this.currentQuery && this.storedPages.length > 1 && this.currentQuery.Id === query.Id && (!this.currentQuickSearchText || !this.currentQuickSearchColumnsFilterData)) {\r\n const currentPage = R.find(R.propEq('pageNumber', this.currentPageNumber || 1), this.storedPages);\r\n setTimeout(() => {\r\n AlarmsHandler.loadMore({ url: currentPage.currentPage, pageNumber: currentPage.pageNumber });\r\n }, 0);\r\n return null;\r\n }\r\n this.waitFor(AppStore.dispatchToken);\r\n const newFilter = query.Query.getFilter();\r\n const sortBy = query.Query.getSortBy();\r\n // const pageSize = query.PageSize;\r\n const wildcardValue = StatisticsStore.getHighestPriorityAlarm();\r\n this.setState({\r\n currentQuery: query,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n loadingData: true,\r\n selectedAlarm: null,\r\n wildcards: wildcardValue ? [{\r\n wildcard: 'hgstpr',\r\n replacement: wildcardValue,\r\n }] : [],\r\n });\r\n\r\n this.getInitialData(newFilter, sortBy, query, wildcardValue);\r\n return false;\r\n }\r\n createSearchFilter() {\r\n const currentFilterText = this.getFilterData(this.currentQuery).filter;\r\n return {\r\n filter: `${currentFilterText.filter ? currentFilterText.filter + ',' : ''}${this.currentQuickSearchColumnsFilterText ? this.currentQuickSearchColumnsFilterText + ',' : ''}${this.currentQuickSearchFilterText || ''}`\r\n };\r\n }\r\n getFilterData(data) {\r\n const { Query, PageSize, Company } = data;\r\n this.setState({ loadingData: true });\r\n return {\r\n filter: Query.getFilter(),\r\n sortBy: Query.getSortBy(),\r\n pageSize: PageSize,\r\n company: Company\r\n };\r\n }\r\n onQuerySearch({ queryText, callbackAction }) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, company, pageSize } = this.getFilterData(this.currentQuery);\r\n const currentQuickSearchFilterText = queryText ? `CausedBy.What.Description.Lk:${queryText}|CausedBy.Where.Description.Lk:${queryText}|CausedBy.Who.Person.Name.Family.Lk:${queryText}|CausedBy.Who.Person.Name.Given.Lk:${queryText}` : '';\r\n this.setState({\r\n currentQuickSearchFilterText,\r\n currentQuickSearchText: queryText,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n // when searching on the table column\r\n onQuickFilter(quickFilterData) {\r\n // eslint-disable-next-line prefer-const\r\n let { sortBy, company, pageSize } = this.getFilterData(this.currentQuery);\r\n let newFilterText = '';\r\n // eslint-disable-next-line no-restricted-syntax\r\n for (const k in quickFilterData) {\r\n // eslint-disable-next-line no-prototype-builtins\r\n if (quickFilterData.hasOwnProperty(k)) {\r\n newFilterText += `${k}.lk:${quickFilterData[k]},`;\r\n }\r\n }\r\n newFilterText = newFilterText.slice(0, -1);\r\n this.setState({\r\n currentQuickSearchColumnsFilterText: newFilterText,\r\n currentQuickSearchColumnsFilterData: quickFilterData,\r\n currentPageNumber: 0,\r\n storedPage: [],\r\n });\r\n const newFilter = this.createSearchFilter();\r\n this.getInitialData(newFilter, sortBy, company, pageSize);\r\n return false;\r\n }\r\n onLoadMore({ url, pageNumber }) {\r\n this.setState({ loadingData: true });\r\n if (pageNumber === 1) {\r\n const { filter, sortBy, pageSize } = this.pollingSettings;\r\n return AlarmsHandler.loadAlarms(filter, sortBy, pageSize)\r\n .then(data => this.setListData(data, pageNumber));\r\n }\r\n return AlarmsHandler\r\n .loadMore(url, this.company)\r\n .then(data => this.setListData(data, pageNumber));\r\n }\r\n updateAlarmList(data) {\r\n const { Payload } = data;\r\n const { Data = [] } = Payload || {};\r\n if (!Payload || !Payload.Data.length) {\r\n return;\r\n }\r\n let newAlarms = Data;\r\n let updatedAlarmList = this.data.Data.reduce((accum, obj) => {\r\n // check if the object from polling payload allready exists in the list\r\n const found = R.find(R.propEq('$uri', obj.$uri), Data);\r\n if (found) {\r\n newAlarms = newAlarms.filter(a => a.$uri !== found.$uri);\r\n // eslint-disable-next-line no-mixed-operators\r\n if (obj.AlarmState && obj.AlarmState === 'Cleared' || found.AlarmState && found.AlarmState === 'Cleared') {\r\n // if the alarm is cleared don't add it to the list\r\n return accum;\r\n }\r\n // if the alarm is found and not cleared merge it with the old one\r\n return accum.concat([R.mergeDeepRight(obj, found)]);\r\n }\r\n return accum.concat([obj]);\r\n }, []);\r\n // if you are not on the first page return the accum without adding the new alarms\r\n if (this.currentPageNumber > 1 && newAlarms.filter(a => a.AlarmState === 'New').length > 0) {\r\n MessageActions.addNotification({\r\n type: 'alarms-warning',\r\n message: 'addedAlarmsOnTheFirstPage',\r\n });\r\n } else if (newAlarms.length > 0 && this.currentPageNumber === 1) {\r\n // if you are on the first page add the alarms to the begining of the list\r\n newAlarms.map(a => R.merge({ longPollingNewAlarm: true }, a));\r\n updatedAlarmList = newAlarms.concat(updatedAlarmList);\r\n }\r\n // sort the alarms acordingly to the SW business logic\r\n updatedAlarmList = filterBy(this.currentQuery.Query.filters, updatedAlarmList, this.wildcards);\r\n updatedAlarmList = sortAlarms(updatedAlarmList);\r\n updatedAlarmList = R.slice(0, this.pageSize, updatedAlarmList);\r\n // set the selected alarm to the updated selected alarm or to the first element of the list if selected does not exist\r\n let selectedAlarmFromPolling = this.selectedAlarm ? R.find(R.propEq('$uri', this.selectedAlarm.$uri), Data) : null;\r\n selectedAlarmFromPolling = selectedAlarmFromPolling && selectedAlarmFromPolling.AlarmState !== 'Cleared' ?\r\n selectedAlarmFromPolling : 'cleared';\r\n // eslint-disable-next-line no-mixed-operators\r\n const selectedAlarm = selectedAlarmFromPolling === 'cleared' ? updatedAlarmList && updatedAlarmList[0] : selectedAlarmFromPolling || this.selectedAlarm || updatedAlarmList && updatedAlarmList[0] || null;\r\n this.setState({\r\n data: R.merge(\r\n this.data,\r\n {\r\n Data: updatedAlarmList,\r\n Next: this.currentPageNumber === 1 ? PagLinkReplace(this.data.Next, R.last(updatedAlarmList), 'after') : this.data.Next,\r\n Prev: this.currentPageNumber === 1 ? PagLinkReplace(this.data.Prev, R.head(updatedAlarmList), 'before') : this.data.Prev\r\n }\r\n ),\r\n selectedAlarm,\r\n });\r\n }\r\n onResetStore() {\r\n this.initialState();\r\n }\r\n}\r\n\r\nexport default alt.createStore(AlarmsStore, 'AlarmsStore');\r\n","/* eslint-disable react/no-danger */\r\nimport React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport Select from 'react-select';\r\nimport R from 'ramda';\r\nimport Consts from '__infrastructure/Consts';\r\nimport { Link } from 'react-router-dom';\r\nimport autoBind from 'react-autobind';\r\nimport MaximizeIcon from 'react-icons/lib/md/fullscreen';\r\nimport dateHelper from '__infrastructure/dateHelper';\r\n\r\nimport AlarmsHandler from '__api/AlarmsHandler';\r\nimport Loading from '__components/common/Loading';\r\nimport AppActions from '__actions/AppActions';\r\n\r\nclass Alarm extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n personType: undefined\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n this.getPersonType(this.props.alarm.personUri);\r\n this._isMounted = true;\r\n }\r\n\r\n componentWillUnmount() {\r\n this._isMounted = false;\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const current = this.props.alarm;\r\n const next = nextProps.alarm;\r\n\r\n if (current.$uri !== next.$uri || current.Comments.length !== next.Comments.length) {\r\n if (this.scrollContainer) {\r\n this.scrollContainer.scrollTo(0, 0);\r\n }\r\n this.setState({ showConfirmModal: false, personType: undefined });\r\n }\r\n if (current.$uri !== next.$uri) {\r\n this.getPersonType(next.personUri);\r\n }\r\n }\r\n\r\n handleActions(type) {\r\n const { updateAlarm, alarm, comment } = this.props;\r\n return updateAlarm(\r\n [R.merge(alarm, {\r\n AlarmState: alarm.SourceState === 'RequiresReset' ? 'Acknowledged' : type,\r\n Comments: [{ Comment: comment }]\r\n })],\r\n (alarm.SourceState === 'RequiresReset' && type === 'Cleared') ? 'AlarmNotifications.RequiresReset' : undefined\r\n );\r\n }\r\n\r\n getPredefinedComments(input, callback) {\r\n AlarmsHandler.loadPredefinedComments(this.props.alarm.$uri).then(\r\n data => (\r\n callback(null, {\r\n options: data.payload.map(c => ({ value: c.Comment, label: c.Title })),\r\n complete: false\r\n })\r\n )\r\n );\r\n }\r\n\r\n insertPredefined(message) {\r\n const comment = this.props.comment ? (`${this.props.comment}\\r\\n${message.value}`) : `${message.value}`;\r\n this.props.updateComment(comment);\r\n }\r\n\r\n getPersonType(personUri) {\r\n if (personUri !== null && personUri !== '') {\r\n let permissions = {};\r\n AlarmsHandler.getPersonPermissions(personUri).then((data) => {\r\n if (!this._isMounted) {\r\n return null;\r\n }\r\n if (data.successful) {\r\n permissions = data.payload;\r\n }\r\n if (permissions.CanEdit || permissions.CanGet) {\r\n let personType = '';\r\n if ((R.startsWith('$:{c6b7d92c-f10f-0d0d', personUri) ||\r\n R.startsWith('$:{4607e99e-836b-941c', personUri))) {\r\n personType = Consts.personType.cardholder;\r\n }\r\n if ((R.startsWith('$:{5c121584-d2f3-2e6f', personUri) ||\r\n R.startsWith('$:{cc3e5672-a447-35b9', personUri))) {\r\n personType = Consts.personType.visitor;\r\n }\r\n this.setState({ personType });\r\n } else {\r\n this.setState({ personType: '' });\r\n }\r\n });\r\n } else {\r\n this.setState({ personType: '' });\r\n }\r\n }\r\n\r\n insertHtml(html) {\r\n // regex to only get the content of the body tag\r\n // eslint-disable-next-line no-useless-escape\r\n const reg = /\\]*\\>([^]*)\\<\\/body/m;\r\n const content = html.match(reg)[1];\r\n return { __html: content };\r\n }\r\n\r\n render() {\r\n const { permissions, alarm } = this.props;\r\n const {\r\n Comments,\r\n AlarmInstructions,\r\n personUri,\r\n AlarmState,\r\n LastModifiedDate,\r\n $uri,\r\n } = alarm;\r\n const What = this.props.alarm['CausedBy.What.Description'];\r\n const Where = this.props.alarm['CausedBy.Where.Description'];\r\n const Who = this.props.alarm['CausedBy.Who.Person.Name.FormattedName'];\r\n const Instructions = AlarmInstructions.length ?\r\n AlarmInstructions.map((item, i) => (\r\n
  • \r\n
    \r\n
  • \r\n ))\r\n : null;\r\n // eslint-disable-next-line no-mixed-operators\r\n const containerHeight = { height: `${window.innerHeight * 0.418 - 100}px` };\r\n const { personType } = this.state;\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {What} @ {Where} | {AlarmState}

    \r\n

    {dateHelper.format(LastModifiedDate, 'datetime')}

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

    {i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Alarm.Instructions')}

    \r\n
    \r\n
      { this.scrollContainer = ref; }} className=\"full-content\">\r\n {\r\n Instructions\r\n ?
      \r\n AppActions.openMaximizeModal(Instructions)}>\r\n \r\n \r\n
      \r\n {Instructions}\r\n
      \r\n
      \r\n :
    • {i18n.t('NoInstructions')}
    • \r\n }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    {i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Alarm.Comments')}

    \r\n
    \r\n
      \r\n {Comments.length > 0\r\n ? Comments.map((c, i) =>
    • {c}
    • )\r\n :
    • {i18n.t('NoComments')}
    • }\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    {i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Alarm.NewComment')}

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

    {i18n.t('G4S.SymmetryWeb.ClientDomain.DTO.Alarm.Details')}

    \r\n {\r\n personType === undefined\r\n ? \r\n :
    \r\n {\r\n personType === Consts.personType.cardholder\r\n ? \r\n {Who}\r\n \r\n : personType === Consts.personType.visitor\r\n ? \r\n {Who}\r\n \r\n : {Who}\r\n }\r\n
    \r\n }\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Alarm;\r\n","import React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport R from 'ramda';\r\nimport autoBind from 'react-autobind';\r\nimport AltContainer from 'alt-container';\r\nimport { withRouter } from 'react-router';\r\nimport { Prompt } from 'react-router-dom';\r\n\r\nimport QueryableMultiView from '__components/common/query/QueryableMultiView';\r\nimport Loading from '__components/common/Loading';\r\nimport ActionButtonsTitle from '__components/common/title/ActionButtonsTitle';\r\nimport ConfirmationModal from '__components/common/ConfirmationModal';\r\nimport MessageActions from '__containers/Notifications/actions';\r\nimport Util from '__infrastructure/Util';\r\nimport displayTypes from '__infrastructure/displayTypes';\r\nimport AlarmsHandler from '__api/AlarmsHandler';\r\nimport Pagination from '__components/common/Pagination';\r\n\r\nimport AppStore from '__stores/AppStore';\r\nimport CompaniesStore from '__stores/CompaniesStore';\r\nimport AlarmsStore from './store';\r\nimport AlarmsActions from './actions';\r\nimport Alarm from './alarm';\r\n\r\nclass Alarms extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n showLeaveModal: false,\r\n nextRoute: null,\r\n currentComment: ''\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { isStoreInitialized } = this.props;\r\n if (!isStoreInitialized) {\r\n setTimeout(() => {\r\n this.props.Actions.initStore();\r\n }, 0);\r\n }\r\n }\r\n\r\n componentWillUnmount() {\r\n setTimeout(() => {\r\n this.props.Actions.stopSignalR();\r\n this.props.Actions.disconnectFromHub();\r\n this.props.Actions.resetStore();\r\n }, 0);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (!nextProps.isConnectionOpen) {\r\n setTimeout(() => {\r\n this.props.Actions.connectToHub();\r\n }, 0);\r\n }\r\n const { data, Actions, currentPageNumber } = nextProps;\r\n if (data && data.Data && data.Data.length === 0 && data.Next && this.props.data.Data.length === 1) {\r\n Actions.loadMore({ url: data.Next, pageNumber: currentPageNumber });\r\n }\r\n }\r\n\r\n querySearch(data) {\r\n setTimeout(() => {\r\n this.props.Actions.querySearch(data);\r\n }, 0);\r\n }\r\n\r\n selectAlarm(row) {\r\n const { selectedAlarm, Actions } = this.props;\r\n if (!selectedAlarm || selectedAlarm.$uri !== row.$uri) {\r\n if (this.state.currentComment) {\r\n return this.setState({ showLeaveModal: true, nextSelectedRow: row });\r\n }\r\n this.setState({ nextRoute: null, showLeaveModal: false, currentComment: '' });\r\n return Actions.selectAlarm(row);\r\n }\r\n if (this.state.currentComment) {\r\n return this.setState({ showLeaveModal: true, nextSelectedRow: 'deselect' });\r\n }\r\n return Actions.selectAlarm(null);\r\n }\r\n\r\n updateAlarm(update, message) {\r\n const { currentComment } = this.state;\r\n const { commentMandatory } = AppStore.getRoleSettings().alarms;\r\n if (!currentComment && commentMandatory) {\r\n MessageActions.addNotification({\r\n message: 'AlarmNotifications.AlarmCommentMandatory',\r\n type: 'error',\r\n });\r\n } else {\r\n const payload = update.map(alarm => R.merge(\r\n alarm,\r\n {\r\n Comments: alarm.Comments.map(c => ({ Comment: Util.unixToWindowsNewLine(c.Comment) }))\r\n }\r\n ));\r\n AlarmsHandler.updateAlarms(payload).then((data) => {\r\n if (data.successful) {\r\n MessageActions.addNotification({\r\n message: message || 'messages.saveSuccessful',\r\n type: 'success',\r\n });\r\n }\r\n this.setState({ currentComment: '', showLeaveModal: false });\r\n if (this.state.nextRoute) {\r\n return this.props.router.history.push({\r\n pathname: this.state.nextRoute.pathname,\r\n search: ''\r\n });\r\n }\r\n return null;\r\n });\r\n }\r\n }\r\n\r\n updateComment(e) {\r\n const value = e.target ? e.target.value : e;\r\n this.setState({ currentComment: value });\r\n }\r\n\r\n closeModal(closeAfterConfirm = false) {\r\n const { nextRoute, nextSelectedRow } = this.state;\r\n if (nextSelectedRow) {\r\n this.setState({ showLeaveModal: false, currentComment: '', nextSelectedRow: null });\r\n return this.props.Actions.selectAlarm(nextSelectedRow === 'deselect' ? null : nextSelectedRow);\r\n }\r\n\r\n this.setState({ showLeaveModal: false });\r\n\r\n if (nextRoute && closeAfterConfirm !== 'afterSubmit') {\r\n return this.props.router.history.push({\r\n pathname: nextRoute.pathname,\r\n search: '',\r\n });\r\n }\r\n return null;\r\n }\r\n\r\n hideModal() {\r\n this.setState({ showLeaveModal: false });\r\n }\r\n\r\n openModal() {\r\n if (this.state.currentComment !== '') {\r\n this.setState({ showLeaveModal: true });\r\n }\r\n }\r\n\r\n saveComment() {\r\n return this.updateAlarm([R.merge(this.props.selectedAlarm, {\r\n AlarmState: 'Acknowledged',\r\n Comments: [\r\n {\r\n Comment: this.state.currentComment\r\n }\r\n ]\r\n })]);\r\n }\r\n\r\n serverFilter(quickFilterData) {\r\n this.props.Actions.quickFilter(quickFilterData);\r\n }\r\n\r\n render() {\r\n const {\r\n isStoreInitialized,\r\n isPermissionsInitialized,\r\n location,\r\n route,\r\n history,\r\n data,\r\n descriptor,\r\n permissions,\r\n isNotConfigured,\r\n Actions,\r\n selectedAlarm,\r\n storedPages,\r\n hasMore,\r\n currentPageNumber,\r\n loadingData,\r\n currentQuickSearchColumnsFilterData,\r\n currentQuickSearchText,\r\n } = this.props;\r\n if (!isStoreInitialized || !isPermissionsInitialized) {\r\n return ();\r\n }\r\n const roleSettings = AppStore.getRoleSettings();\r\n const limit = roleSettings && roleSettings.api ? roleSettings.api.defaultServerPageSize : AppStore.getSettings().api.defaultServerPageSize;\r\n const router = {\r\n location,\r\n route,\r\n history\r\n };\r\n const rows = data ? data.Data : [];\r\n const { Next, Prev } = data || {};\r\n const tableHeightRatio = 0.38;\r\n const paginationObject = {\r\n limit,\r\n Next,\r\n Prev,\r\n storedPages: storedPages || [],\r\n hasMore,\r\n action: Actions.loadMore,\r\n component: Pagination,\r\n pageNumber: currentPageNumber,\r\n loadingData,\r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n { this.multiView = ref; }}\r\n hasFullHeight\r\n loadingData={loadingData}\r\n viewIsNotConfigured={isNotConfigured}\r\n paginationObject={paginationObject}\r\n withCompany\r\n clientSelection={false}\r\n querySearchAction={this.querySearch}\r\n quickSearchText={currentQuickSearchText}\r\n currentQuickSearchColumnsFilterData={currentQuickSearchColumnsFilterData}\r\n serverFilter={this.serverFilter}\r\n dataDescriptor={descriptor}\r\n router={router}\r\n applyAction={Actions.applyFilter}\r\n rows={rows}\r\n tableFilter={false}\r\n tableSorting={false}\r\n tableHeightRatio={tableHeightRatio}\r\n clickHandler={this.selectAlarm}\r\n selectedRow={selectedAlarm ? selectedAlarm.$uri : false}\r\n displayTypes={displayTypes}\r\n titleColumn=\"CausedBy.What.Description\"\r\n showNetworkError={false}\r\n />\r\n
    \r\n {selectedAlarm && rows.length > 0 && !loadingData ?\r\n :\r\n null\r\n }\r\n \r\n
    \r\n );\r\n }\r\n}\r\n\r\nconst AlarmsWithRouter = withRouter(Alarms);\r\n\r\nfunction AlarmsContainer(props) {\r\n return (\r\n ({ ...Companies, ...AlarmsProps, Actions })}\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nexport default AlarmsContainer;\r\n","\r\nimport React from 'react';\r\nimport i18n from 'i18next-client';\r\n\r\nfunction Unauthorized() {\r\n return (\r\n
    \r\n

    \r\n \r\n {i18n.t('unauthorized')}\r\n

    \r\n
    \r\n );\r\n}\r\n\r\nexport default Unauthorized;\r\n","\r\nimport { Promise } from 'es6-promise';\r\nimport superagent from '__infrastructure/Superagent-wrapper';\r\nimport apiRoutes from '__infrastructure/ApiRoutes';\r\nimport config from '__src/Configuration';\r\nimport Consts from '__infrastructure/Consts';\r\n\r\nclass AccessCodesHandler {\r\n loadDescriptor() {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.app.routes.descriptor;\r\n return new Promise((resolve) => {\r\n superagent\r\n .get(url)\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n getAccessTargets(filter, limit) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.accessTargets;\r\n const query = {\r\n filter: filter.filter,\r\n limit: limit || Consts.accessTargetLimit\r\n };\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url)\r\n .withCredentials()\r\n .query(query)\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n loadMoreAccessTargets(uri) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.accessTargetsLoadMore;\r\n const query = {\r\n uri\r\n };\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url)\r\n .withCredentials()\r\n .set(superagent.companyHeaderFor())\r\n .query(query)\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n getTimeCodes(filter) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.timeCodes;\r\n const query = {};\r\n query.filter = filter.filter;\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url)\r\n .withCredentials()\r\n .query(query)\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n getAccessCodesPermissions(uri) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.cardHolderPermissions;\r\n return new Promise((resolve) => {\r\n superagent\r\n .get(url, { uri })\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n getAccessTargetDefinition({ $uri, Type }) {\r\n const lastSegment = Type === 'AccessCode'\r\n ? apiRoutes.accessCodes.routes.accessCodeDefinition\r\n : apiRoutes.accessCodes.routes.accessTargetDefinition;\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + lastSegment;\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url, { uri: $uri })\r\n .withCredentials()\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n createAccessCode(payload) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute;\r\n return new Promise((resolve) => {\r\n superagent\r\n .post(url, payload)\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n updateAccessCode(payload) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute;\r\n return new Promise((resolve) => {\r\n superagent\r\n .put(url, payload)\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n deleteAccessCode(uri) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute;\r\n return new Promise((resolve) => {\r\n superagent\r\n .del(url)\r\n .query({ uri })\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n getAccesCodes(filter, limit) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.accessCodes;\r\n const query = {\r\n filter: filter.filter,\r\n limit: limit || Consts.accessTargetLimit,\r\n sort: 'Description'\r\n };\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url)\r\n .withCredentials()\r\n .query(query)\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n loadCollectionPermissions() {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.permissions;\r\n return new Promise((resolve) => {\r\n superagent.base\r\n .get(url)\r\n .withCredentials()\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n });\r\n }\r\n\r\n loadAccesCodePermissions(uri) {\r\n const url = config.apiRoot + apiRoutes.accessCodes.baseRoute + apiRoutes.accessCodes.routes.accessCodePermissions;\r\n return new Promise((resolve) => {\r\n superagent\r\n .get(url, { uri })\r\n .set(superagent.companyHeaderFor())\r\n .end((err, res) => superagent.onEnd(resolve, err, res));\r\n });\r\n }\r\n}\r\n\r\nexport default new AccessCodesHandler();\r\n","import alt from '__base/alt';\r\n\r\nclass AccessCodesActions {\r\n constructor() {\r\n this.generateActions('initStore');\r\n this.generateActions('applyFilter');\r\n this.generateActions('loadAccessCodes');\r\n this.generateActions('loadMoreAccessCodes');\r\n this.generateActions('loadAvailableAccessTargets');\r\n this.generateActions('loadTimeCodes');\r\n this.generateActions('loadAccessTargetDefinition');\r\n this.generateActions('loadMoreAccessTargets');\r\n this.generateActions('toggleFormModal');\r\n this.generateActions('loadAccessCodePermissions');\r\n this.generateActions('resetCurrentItemPermission');\r\n this.generateActions('loadCollectionPermissions');\r\n }\r\n\r\n createAccessCode(params) {\r\n return params;\r\n }\r\n\r\n updateAccessCode(params) {\r\n return params;\r\n }\r\n\r\n deleteAccessCode(params) {\r\n return params;\r\n }\r\n\r\n loadAccessCodePermissions(params) {\r\n return params;\r\n }\r\n}\r\n\r\nexport default alt.createActions(AccessCodesActions);\r\n","import alt from '__base/alt';\r\nimport R from 'ramda';\r\n\r\nimport Consts from '__infrastructure/Consts';\r\nimport Util from '__infrastructure/Util';\r\nimport QueryUtils from '__infrastructure/QueryUtils';\r\nimport AccessCodesHandler from '__api/AccessCodesHandler';\r\nimport AccessCodesActions from '__actions/AccessCodesActions';\r\nimport MessageActions from '__containers/Notifications/actions';\r\n\r\nexport function getFilterObj(type = Consts.accessTargetsType.all, descriptionValue = '') {\r\n const query = { filters: [], view: {} };\r\n const accessCodeFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'AccessCode' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const withoutAccessCodesFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.neq, value: 'AccessCode' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const doorFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'Door' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const areaFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'Area' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const doorGroupFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'DoorGroup' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const floorGroupFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'FloorGroup' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const descriptionFilter = {\r\n field: { name: 'Description', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.lk, value: descriptionValue }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n switch (type) {\r\n case Consts.accessTargetsType.accesCode:\r\n query.filters.push(accessCodeFilter);\r\n break;\r\n case Consts.accessTargetsType.door:\r\n query.filters.push(doorFilter);\r\n break;\r\n case Consts.accessTargetsType.doorGroup:\r\n query.filters.push(doorGroupFilter);\r\n break;\r\n case Consts.accessTargetsType.area:\r\n query.filters.push(areaFilter);\r\n break;\r\n case Consts.accessTargetsType.floorGroup:\r\n query.filters.push(floorGroupFilter);\r\n break;\r\n case Consts.accessTargetsType.all:\r\n default:\r\n query.filters.push(withoutAccessCodesFilter);\r\n break;\r\n }\r\n\r\n if (descriptionValue) {\r\n query.filters.push(descriptionFilter);\r\n }\r\n\r\n return query;\r\n}\r\n\r\nconst defaultState = {\r\n availableAccessTargets: [],\r\n availableAccessTargetsHasMore: false,\r\n availableAccessTargetsNextLink: '',\r\n accessTargetsLoaded: false,\r\n accessCodes: [],\r\n accessCodesHasMore: false,\r\n accessCodesTargetsNextLink: '',\r\n accessCodesLoaded: false,\r\n timeCodes: [],\r\n timeCodesLoaded: false,\r\n accessTargetDefinition: null,\r\n loadedAccessTargetDefinition: false,\r\n formModalOpen: false,\r\n editedItem: {},\r\n currentItemPermissions: {},\r\n canAdd: false,\r\n canDelete: false\r\n};\r\n\r\nclass AccessCodes {\r\n constructor() {\r\n this.state = defaultState;\r\n this.bindActions(AccessCodesActions);\r\n }\r\n\r\n onLoadAvailableAccessTargets({ type, descriptionValue }) {\r\n const query = getFilterObj(type, descriptionValue);\r\n AccessCodesHandler.getAccessTargets(QueryUtils.getQueryObject(query).getFilter()).then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n accessTargetsLoaded: true,\r\n availableAccessTargets: successful ? payload.Data.map(R.omit(['TypeMeta'])) : [],\r\n availableAccessTargetsHasMore: successful ? payload.Next && payload.Data.length === Consts.accessTargetLimit : false,\r\n availableAccessTargetsNextLink: successful ? payload.Next : '',\r\n });\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadAccessCodes(descriptionValue = '') {\r\n const query = { filters: [], view: {} };\r\n const descriptionFilter = {\r\n field: { name: 'Description', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.lk, value: descriptionValue }],\r\n guid: Util.generateGuid()\r\n };\r\n if (descriptionValue) {\r\n query.filters.push(descriptionFilter);\r\n }\r\n\r\n AccessCodesHandler.getAccesCodes(QueryUtils.getQueryObject(query).getFilter(), 40).then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n accessCodesLoaded: true,\r\n accessCodes: successful ? payload.Data.map(R.omit(['TypeMeta'])) : [],\r\n accessCodesHasMore: successful ? payload.Next && payload.Data.length === 40 : false,\r\n accessCodesNextLink: successful ? payload.Next : '',\r\n });\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadMoreAccessTargets(uri) {\r\n AccessCodesHandler.loadMoreAccessTargets(uri).then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n availableAccessTargets: successful ? this.availableAccessTargets.concat(payload.Data.map(R.omit(['TypeMeta']))) : [],\r\n availableAccessTargetsHasMore: successful\r\n ? data.payload.Next &&\r\n (payload.Data.length === Consts.accessTargetLimit ||\r\n payload.Data.length < Consts.accessTargetLimit ||\r\n payload.Data.length === 0)\r\n : false,\r\n availableAccessTargetsNextLink: successful ? data.payload.Next : '',\r\n });\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadTimeCodes() {\r\n this.setState({ timeCodes: [], timeCodesLoaded: false });\r\n this.emitChange();\r\n\r\n const query = { filters: [], view: {} };\r\n const accessTimeCodeFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string },\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'Access' }],\r\n guid: Util.generateGuid()\r\n };\r\n\r\n const generalTimeCodeFilter = {\r\n field: { name: 'Type', field_type: Consts.fieldTypes.string},\r\n conditions: [{ condition: Consts.apiFilters.eq, value: 'General' }],\r\n guid: Util.generateGuid()\r\n };\r\n accessTimeCodeFilter.separator = '|';\r\n query.filters.push(accessTimeCodeFilter);\r\n query.filters.push(generalTimeCodeFilter);\r\n AccessCodesHandler.getTimeCodes(QueryUtils.getQueryObject(query).getFilter()).then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n timeCodes: successful ? payload.Data : [],\r\n timeCodesLoaded: true\r\n });\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadMoreAccessCodes(uri) {\r\n AccessCodesHandler.loadMoreAccessTargets(uri).then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n accessCodes: successful ? this.state.accessCodes.concat(payload.Data) : [],\r\n accessCodesHasMore: successful\r\n ? data.payload.Next &&\r\n (payload.Data.length === 40 ||\r\n payload.Data.length < 40 ||\r\n payload.Data.length === 0)\r\n : false,\r\n accessCodesNextLink: successful ? data.payload.Next : '',\r\n });\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadAccessTargetDefinition(obj) {\r\n this.setState({ loadedAccessTargetDefinition: false });\r\n AccessCodesHandler.getAccessTargetDefinition(obj).then((data) => {\r\n const { successful, payload } = data;\r\n if (obj.Type === 'AccessCode' && successful) {\r\n this.setState({\r\n editedItem: {\r\n $uri: obj.$uri,\r\n Description: obj.Description,\r\n AccessRights: payload,\r\n },\r\n formModalOpen: true,\r\n });\r\n } else {\r\n this.setState({\r\n accessTargetDefinition: successful ? payload : null,\r\n loadedAccessTargetDefinition: true,\r\n });\r\n }\r\n this.emitChange();\r\n });\r\n }\r\n\r\n toggleFormModal(formModalOpen) {\r\n this.setState({\r\n formModalOpen,\r\n editedItem: {},\r\n currentItemPermissions: {}\r\n });\r\n }\r\n\r\n onCreateAccessCode(accode) {\r\n AccessCodesHandler.createAccessCode(accode).then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: 'messages.saveSuccessful',\r\n});;\r\n this.setState({\r\n accessCodes: R.append(R.omit(['TypeMeta'], payload), this.state.accessCodes),\r\n formModalOpen: false,\r\n });\r\n }\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onUpdateAccessCode(accode) {\r\n AccessCodesHandler.updateAccessCode(accode).then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: 'messages.saveSuccessful',\r\n});;\r\n const accessCodes = R.adjust(\r\n o => R.merge(o, { Description: accode.Description }),\r\n R.findIndex(R.propEq('$uri', accode.$uri), this.state.accessCodes),\r\n this.state.accessCodes\r\n );\r\n this.setState({\r\n formModalOpen: false,\r\n editedItem: {},\r\n currentItemPermissions: {},\r\n accessCodes,\r\n });\r\n }\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onDeleteAccessCode(uri) {\r\n AccessCodesHandler.deleteAccessCode(uri).then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n MessageActions.addNotification({\r\n type: 'success',\r\n message: 'messages.deleteSuccessful',\r\n });\r\n this.setState({ accessCodes: this.state.accessCodes.filter(r => uri !== r.$uri) });\r\n // this.setState({\r\n // formModalOpen: false,\r\n // editedItem: {},\r\n // });\r\n } else if (data.statusCode === 404) {\r\n this.setState({ accessCodes: this.state.accessCodes.filter(r => uri !== r.$uri) });\r\n }\r\n this.emitChange();\r\n });\r\n }\r\n\r\n onLoadCollectionPermissions() {\r\n AccessCodesHandler.loadCollectionPermissions().then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n this.setState({\r\n canAdd: payload.CanAdd,\r\n canDelete: payload.CanDelete\r\n });\r\n }\r\n });\r\n }\r\n\r\n onResetCurrentItemPermission() {\r\n this.setState({\r\n currentItemPermissions: {}\r\n });\r\n }\r\n onLoadAccessCodePermissions(item) {\r\n this.setState({\r\n currentItemPermissions: { loaded: false, item }\r\n });\r\n AccessCodesHandler.loadAccesCodePermissions(item.$uri).then((data) => {\r\n const { successful, payload } = data;\r\n if (successful) {\r\n if (payload.NotFound) {\r\n this.setState({ accessCodes: this.state.accessCodes.filter(r => item.$uri !== r.$uri) });\r\n MessageActions.addNotification({\r\n type: 'error',\r\n message: 'RecordDoesNotExists',\r\n });\r\n return;\r\n }\r\n if (!payload.CanEdit) {\r\n MessageActions.addNotification({\r\n type: 'error',\r\n message: 'InsufficientRightsAPI',\r\n });\r\n }\r\n this.setState({\r\n currentItemPermissions: { canEdit: payload.CanEdit, notFound: payload.NotFound, loaded: true, item }\r\n });\r\n }\r\n });\r\n }\r\n}\r\n\r\nexport default alt.createStore(AccessCodes, 'AccessCodesStore');\r\n","import React from 'react';\r\nimport { Modal } from 'react-bootstrap';\r\nimport autoBind from 'react-autobind';\r\nimport i18n from 'i18next-client';\r\nimport ConfirmModal from '__components/common/forms/ConfirmModal';\r\nimport { merge, equals } from 'ramda';\r\n\r\nimport AssignmentScreen from '__components/person/AccessRights/assignmentScreen';\r\n\r\nfunction validateName(value, max = 40) {\r\n return value.length && value.length <= max;\r\n}\r\n\r\nclass FormModal extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n assigned: props.assignedCodes,\r\n Description: props.name || '',\r\n formValid: true,\r\n showLeaveConfirm: false,\r\n };\r\n }\r\n\r\n updateState(assigned) {\r\n this.setState({ assigned });\r\n }\r\n\r\n saveData(e) {\r\n e.preventDefault();\r\n const { assigned, Description } = this.state;\r\n const formValid = validateName(Description);\r\n const obj = {\r\n Description,\r\n AccessRights: assigned.map((t) => {\r\n const at = { AccessTarget: { $uri: t.$uri } };\r\n if (t.TimeCode) {\r\n return merge(at, { TimeCode: { $uri: t.TimeCode.$uri } });\r\n }\r\n return at;\r\n })\r\n };\r\n return formValid\r\n ? this.props.saveFunc(obj)\r\n : this.setState({ formValid });\r\n }\r\n\r\n updateName(e) {\r\n const isValid = validateName(e.target.value);\r\n this.setState({\r\n Description: e.target.value,\r\n formValid: isValid,\r\n });\r\n }\r\n\r\n closeModal() {\r\n const { Description, assigned } = this.state;\r\n const { name, assignedCodes, cancelFunc } = this.props;\r\n if (equals(Description, name) && equals(assigned, assignedCodes)) {\r\n return cancelFunc();\r\n }\r\n return this.setState({\r\n showLeaveConfirm: true,\r\n });\r\n }\r\n\r\n toggleReturnConfirmationModal() {\r\n this.setState({\r\n showLeaveConfirm: !this.state.showLeaveConfirm\r\n });\r\n }\r\n\r\n render() {\r\n const {\r\n cancelFunc,\r\n show,\r\n } = this.props;\r\n const { Description, formValid } = this.state;\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n { !formValid && Field required and maximum 40 chars }\r\n
    \r\n
    \r\n
    \r\n \r\n {i18n.t('CommonForm.returnText')}\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\nexport default FormModal;\r\n","import React from 'react';\r\nimport R from 'ramda';\r\nimport Select from 'react-select';\r\nimport autoBind from 'react-autobind';\r\nimport i18n from 'i18next-client';\r\nimport { Table } from 'react-bootstrap';\r\nimport TimeCodeIcon from 'react-icons/lib/go/clock';\r\nimport CheckedIcon from 'react-icons/lib/fa/check-circle-o';\r\nimport Consts from '__infrastructure/Consts';\r\nimport { Input, getAppearance } from './assignmentScreen';\r\n\r\nexport function FilterList(query, keys = [], property = 'Description', comparator = R.contains) {\r\n if (!query || query === Consts.accessTargetsType.all) {\r\n return R.filter(R.always(true));\r\n }\r\n return R.filter(R.anyPass(keys.map((k) => {\r\n return R.ifElse(\r\n R.has(k),\r\n (obj) => {\r\n return R.propSatisfies(comparator(R.toLower(query)), k, R.map((ks) => {\r\n if (ks) {\r\n if (ks[property]) {\r\n return R.toLower(ks[property]);\r\n }\r\n // if it's an object but does not have the required property\r\n if ((typeof ks === 'object') && (ks !== null)) {\r\n return '';\r\n }\r\n // if it's not an object\r\n return R.toLower(ks);\r\n }\r\n return '';\r\n }, obj));\r\n },\r\n R.always(false)\r\n );\r\n })));\r\n}\r\nconst alter = (columnName, value, items) => R.map(\r\n R.when(R.propEq('columnName', columnName), R.assoc('value', value)),\r\n items\r\n);\r\n\r\nclass ARTable extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n searchQuery: '',\r\n openedTHFilter: null,\r\n thFilters: [\r\n { columnName: 'Description', value: '' },\r\n { columnName: 'TimeCode', value: '' },\r\n { columnName: 'Type', value: 'all' }\r\n ]\r\n };\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { thFilters } = this.state;\r\n const shouldResetFilters = nextProps.assignedCodes.length === 0;\r\n if (shouldResetFilters) {\r\n const newThFilters = thFilters.map(col =>\r\n alter(col.columnName, col === 'Type' ? Consts.accessTargetsType.all : '', col));\r\n this.setState({ searchQuery: '', thFilters: newThFilters });\r\n }\r\n }\r\n\r\n renderColHeaders() {\r\n const { columns, onAssignedSelect } = this.props;\r\n const { openedTHFilter, thFilters } = this.state;\r\n const currentThFilter = col => R.find(R.propEq('columnName', col))(thFilters);\r\n return (\r\n \r\n {\r\n columns.map((col, i) => (\r\n \r\n {col}\r\n
    \r\n {openedTHFilter === col ?\r\n this.renderThFilter(col) :\r\n \r\n {currentThFilter(col) &&\r\n currentThFilter(col).value &&\r\n currentThFilter(col).value !== Consts.accessTargetsType.all ?\r\n this.onThClear(col)} /> :\r\n null\r\n }\r\n this.onThClick(col)}>{i18n.t(`AccessRights.TableColumns.${col}`)}\r\n }\r\n
    \r\n \r\n ))\r\n }\r\n \r\n )\r\n }\r\n\r\n onThClick(col) {\r\n this.setState({\r\n openedTHFilter: col\r\n })\r\n }\r\n onThClear(col) {\r\n const { thFilters } = this.state;\r\n const newThFilters = alter(col, col === 'Type' ? Consts.accessTargetsType.all : '', thFilters);\r\n this.setState({ thFilters: newThFilters });\r\n }\r\n renderThFilter(key) {\r\n const { thFilters, openedTHFilter } = this.state;\r\n const style = { width: key.length * 10 + 'px', padding: '0 5px', position: 'relative', top: '-5px' };\r\n const currentThFilter = R.find(R.propEq('columnName', openedTHFilter))(thFilters);\r\n if (key === 'Type') {\r\n return (\r\n
    \r\n this.onThClick(null)}\r\n clearable={false}\r\n options={this.props.asyncFilterOptions}\r\n />\r\n
    \r\n );\r\n }\r\n return ( this.onThClick(null)}\r\n />);\r\n }\r\n\r\n onSearchAssigned(e) {\r\n const searchQuery = e.target.value.toLowerCase();\r\n this.setState({ searchQuery });\r\n }\r\n onSearchAssignedByColumn(e) {\r\n const { openedTHFilter, thFilters } = this.state;\r\n const value = openedTHFilter === 'Type' ? e.value : e.target.value.toLowerCase();\r\n const newThFilters = alter(openedTHFilter, value, thFilters);\r\n this.setState({ thFilters: newThFilters });\r\n }\r\n renderAssignedAccessTargets(item, idx) {\r\n const { Type, Description, TimeCode = {} } = item;\r\n const { Icon, color, className } = getAppearance(Type);\r\n const { onAssignedSelect, selectedAssignedCodes, detailsItem, shouldDisplayDetailsIconSelected } = this.props;\r\n const key = `${idx}-${Description}`;\r\n const isSelected = selectedAssignedCodes ? R.contains(item, selectedAssignedCodes) : null;\r\n const classes = `acc_row ${className} ${isSelected ? 'selected' : ''}`;\r\n const itemClasses = `acc_item ${className} ${isSelected ? 'selected' : ''}`;\r\n const iconClasses = `hoverIcon ${Description === detailsItem.Description && Type === detailsItem.Type && shouldDisplayDetailsIconSelected ? 'selected' : ''}`;\r\n // this is done for seamless integration when using the table for just displaying\r\n const onClickEvent = onAssignedSelect ? onAssignedSelect : item => null;\r\n return (\r\n onClickEvent(item)} className={classes} key={key}>\r\n \r\n \r\n {Type}\r\n \r\n \r\n \r\n
    \r\n \r\n this.props.onRequestDetails(e, item)} />\r\n \r\n {isSelected && }\r\n {Description}\r\n
    \r\n \r\n \r\n
    \r\n { Type !== 'AccessCode' && Type !== 'Area' ?\r\n : null }\r\n {TimeCode.Description}\r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n render() {\r\n const {\r\n assignedCodes,\r\n onAssignedSelect\r\n } = this.props;\r\n const { searchQuery, thFilters } = this.state;\r\n const styleHeight = onAssignedSelect ? '245px' : '195px';\r\n const styleMaxHeight = onAssignedSelect ? '198px' : '148px';\r\n const filteredByAllColumns = FilterList(searchQuery, ['Description', 'TimeCode'])(assignedCodes);\r\n let filteredByColumn = filteredByAllColumns;\r\n for (let i = 0; i < thFilters.length; i += 1) {\r\n filteredByColumn = FilterList(\r\n thFilters[i].value,\r\n [thFilters[i].columnName],\r\n thFilters[i].columnName === 'Type' ? 'Type' : 'Description',\r\n thFilters[i].columnName === 'Type' ? R.equals : R.contains\r\n )(filteredByColumn);\r\n }\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n { assignedCodes.length ?\r\n
    \r\n
    \r\n \r\n \r\n {this.renderColHeaders()}\r\n \r\n \r\n {filteredByColumn.map(this.renderAssignedAccessTargets)}\r\n \r\n
    \r\n
    \r\n
    \r\n :

    {i18n.t('AccessRights.NoItemsAssigned')}

    }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )\r\n }\r\n};\r\n\r\nexport default ARTable;\r\n","import React from 'react';\r\nimport { Button } from 'react-bootstrap';\r\nimport autoBind from 'react-autobind';\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\nimport R from 'ramda';\r\nimport i18n from 'i18next-client';\r\nimport { debounce } from 'lodash';\r\n\r\nimport DoorGroupIcon from 'react-icons/lib/go/versions';\r\nimport AccessCodeIcon from 'react-icons/lib/fa/cubes';\r\nimport DoorIcon from 'react-icons/lib/go/sign-in';\r\nimport TimeCodeIcon from 'react-icons/lib/go/clock';\r\nimport AreaIcon from 'react-icons/lib/md/map';\r\nimport FloorGroup from 'react-icons/lib/go/server';\r\nimport CheckedIcon from 'react-icons/lib/fa/check-circle-o';\r\nimport Select from 'react-select';\r\nimport Consts from '__infrastructure/Consts';\r\nimport ARTable, { FilterList } from './table';\r\nimport Details from './details';\r\n\r\nexport function getAppearance(type) {\r\n switch (type) {\r\n case Consts.accessTargetsType.doorGroup:\r\n return {\r\n Icon: DoorGroupIcon,\r\n className: 'door_group',\r\n color: '#009688',\r\n };\r\n case 'AccessCode':\r\n return {\r\n Icon: AccessCodeIcon,\r\n className: 'acc_code',\r\n color: '#009688',\r\n };\r\n case Consts.accessTargetsType.door:\r\n return {\r\n Icon: DoorIcon,\r\n className: 'door',\r\n color: '#03A9F4',\r\n };\r\n case Consts.accessTargetsType.area:\r\n return {\r\n Icon: AreaIcon,\r\n className: 'area',\r\n color: '#4CAF50',\r\n };\r\n case Consts.accessTargetsType.floorGroup:\r\n return {\r\n Icon: FloorGroup,\r\n className: 'floor_group',\r\n color: '#7E57C2',\r\n };\r\n case Consts.accessTargetsType.timeCode:\r\n default:\r\n return {\r\n Icon: TimeCodeIcon,\r\n className: 'time_code',\r\n color: '#03A9F4',\r\n };\r\n }\r\n}\r\n\r\nconst toggleListElement = (item, list) => (\r\n // if the list contains the item we remove it\r\n // otherwise we add it\r\n R.ifElse(\r\n R.contains(item),\r\n R.without([item]),\r\n R.append(item)\r\n )(list)\r\n);\r\n\r\nexport function getFormattedTimecodes(timeCodes) {\r\n return timeCodes.map(t => R.merge(t, { label: t.Description, value: t.$uri }));\r\n}\r\n\r\nexport const Input = props => ;\r\n\r\nclass AssignmentScreen extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.searchChangedDebounced = debounce((type, descriptionValue) => {\r\n props.searchAction({ type, descriptionValue });\r\n }, 500);\r\n const { data = [], assignedCodes = [], timeCodes = [] } = this.props;\r\n const availableCodes = R.without(assignedCodes.map(R.omit('TimeCode')), data);\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n\r\n this.state = {\r\n availableCodes,\r\n selectedAvailableCodes: [],\r\n selectedAssignedCodes: [],\r\n assignedCodes,\r\n accessTarget: null,\r\n asgSearchQuery: '',\r\n avSearchQuery: '',\r\n selectedTimeCode: formattedTimeCodes.length > 0 ? formattedTimeCodes[0] : '',\r\n openedTHFilter: null,\r\n selectedAsyncFilter: '',\r\n };\r\n }\r\n\r\n onSearchAvailable(e) {\r\n e.persist();\r\n this.setState(() => ({\r\n avSearchQuery: e.target.value,\r\n }));\r\n const type = this.state.selectedAsyncFilter || 'all';\r\n this.searchChangedDebounced(type, e.target.value);\r\n }\r\n\r\n onChangeAsyncFilter(e) {\r\n this.setState((state, props) => {\r\n return {\r\n selectedAsyncFilter: e.value,\r\n }\r\n });\r\n this.searchChangedDebounced(e.value, this.state.avSearchQuery);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { timeCodes } = nextProps;\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n this.setState((prevState) => ({\r\n availableCodes: R.without(R.filter(f => f.Type === Consts.accessTargetsType.accesCode || f.Type === Consts.accessTargetsType.area, nextProps.assignedCodes).map(R.omit('TimeCode')), nextProps.data),\r\n selectedTimeCode: prevState.selectedTimeCode || (formattedTimeCodes.length > 0 ? formattedTimeCodes[0] : '')\r\n }));\r\n }\r\n\r\n onAvailableSelect(item) {\r\n const selectedAvailableCodes = toggleListElement(item, this.state.selectedAvailableCodes);\r\n this.setState({\r\n selectedAvailableCodes\r\n });\r\n }\r\n\r\n onAssignedSelect(item) {\r\n const selectedAssignedCodes = toggleListElement(item, this.state.selectedAssignedCodes);\r\n this.setState({\r\n selectedAssignedCodes\r\n });\r\n }\r\n\r\n onChangeSelectedCode(e) {\r\n this.setState({ selectedTimeCode: e });\r\n this.props.onRequestDetails(null, e);\r\n }\r\n\r\n render() {\r\n const {\r\n availableCodes,\r\n selectedAvailableCodes,\r\n selectedAssignedCodes,\r\n avSearchQuery,\r\n selectedTimeCode,\r\n selectedAsyncFilter,\r\n assignedCodes,\r\n } = this.state;\r\n const {\r\n timeCodes,\r\n detailsItem,\r\n accessTargetsLoaded,\r\n availableTimeCodesLoaded,\r\n loadedAccessTargetDefinition,\r\n } = this.props;\r\n const formattedTimeCodes = getFormattedTimecodes(timeCodes);\r\n const filteredByDesc = FilterList(avSearchQuery, ['Description'])(availableCodes);\r\n const filteredByAll = FilterList(\r\n selectedAsyncFilter,\r\n ['Type'],\r\n 'Type',\r\n R.equals\r\n )(filteredByDesc);\r\n const withoutAssignedAccessCodes = filteredByAll.filter(o => !(R.find(R.propEq('$uri', o.$uri), assignedCodes) && o.Type === 'AccessCode'));\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 {withoutAssignedAccessCodes.map((ac, idx) => this.renderAvailable(ac, idx))}\r\n {!accessTargetsLoaded ?\r\n
    :\r\n null\r\n }\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n 0 ? formattedTimeCodes[0] : '')}\r\n renderThFilter={this.renderThFilter}\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 onAssignAccessCodes() {\r\n const { selectedAvailableCodes, assignedCodes, availableCodes, selectedTimeCode } = this.state;\r\n // if item is not AccessCode or Area type, it can already be in the assigned list with same timecode\r\n // do not add it anymore\r\n // use getIDFromUri to get the last part of the uri (ID) because available.uri != assigned.uri\r\n // only the ID is equal\r\n const uniques = R.filter((sac) => {\r\n if (sac.Type !== Consts.accessTargetsType.accesCode &&\r\n sac.Type !== Consts.accessTargetsType.area) {\r\n return !R.contains(true, assignedCodes.map(ac =>\r\n ac.$uri === sac.$uri &&\r\n ac.TimeCode.$uri === selectedTimeCode.$uri));\r\n }\r\n return true;\r\n }, selectedAvailableCodes);\r\n const currentlyAssigned = assignedCodes.concat(uniques.map((sac) => {\r\n return sac.Type !== Consts.accessTargetsType.accesCode && sac.Type !== Consts.accessTargetsType.area ? R.merge(sac, { TimeCode: selectedTimeCode }) : sac;\r\n }));\r\n this.props.updateParentState(currentlyAssigned);\r\n this.setState({\r\n selectedAvailableCodes: [],\r\n // only remove item from available for AccessCodes, Area\r\n availableCodes: R.without(R.filter(f =>\r\n f.Type === Consts.accessTargetsType.accesCode || f.Type === Consts.accessTargetsType.area, selectedAvailableCodes), availableCodes),\r\n // add the TimeCode only for items that are not AccessCode, Areas\r\n assignedCodes: currentlyAssigned\r\n });\r\n }\r\n\r\n onRemoveAccessRight() {\r\n const { selectedAssignedCodes, assignedCodes, availableCodes } = this.state;\r\n // if item is not AccessCode type, it can already be in the available list\r\n // do not add it anymore\r\n // use getIDFromUri to get the last part of the uri (ID) because available.uri != assigned.uri\r\n // only the ID is equal\r\n const uniques = R.filter((sac) => {\r\n if (sac.Type !== Consts.accessTargetsType.accesCode &&\r\n sac.Type !== Consts.accessTargetsType.area) {\r\n return !R.contains(true, availableCodes.map(ac =>\r\n ac.$uri === sac.$uri));\r\n }\r\n return true;\r\n }, selectedAssignedCodes);\r\n const currentlyAssigned = R.without(selectedAssignedCodes, assignedCodes)\r\n this.props.updateParentState(currentlyAssigned);\r\n this.setState({\r\n selectedAssignedCodes: [],\r\n availableCodes: availableCodes.concat(uniques.map(R.dissoc('TimeCode'))),\r\n assignedCodes: currentlyAssigned\r\n });\r\n }\r\n renderAvailable(accessTarget, idx) {\r\n const { Type, Description } = accessTarget;\r\n const { Icon, className } = getAppearance(Type);\r\n const isSelected = R.contains(accessTarget, this.state.selectedAvailableCodes);\r\n const classes = `acc_item ${className} ${isSelected ? 'selected' : ''}`;\r\n const key = `${idx}-${Description}`;\r\n const iconClasses = `hoverIcon ${Description === this.props.detailsItem.Description && Type === this.props.detailsItem.Type ? 'selected' : ''}`;\r\n return (\r\n
    this.onAvailableSelect(accessTarget)}>\r\n \r\n this.props.onRequestDetails(e, accessTarget)} />\r\n \r\n {isSelected && }\r\n {Description}\r\n
    \r\n );\r\n }\r\n\r\n onLoadMore() {\r\n const { nextLink, onLoadMore } = this.props;\r\n if (nextLink) {\r\n onLoadMore(nextLink);\r\n }\r\n }\r\n};\r\n\r\nexport default AssignmentScreen;\r\n","import React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport { isEmpty } from 'ramda';\r\nimport autoBind from 'react-autobind';\r\nimport { getAppearance } from './assignmentScreen';\r\n\r\nconst colorStyle = { color: '#067D8B' };\r\n\r\nclass Details extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return nextProps.shouldUpdate === true;\r\n }\r\n\r\n renderAccessTargetsDetails(detailsItem) {\r\n if (!detailsItem) return null;\r\n if (!detailsItem.Details) {\r\n return (
    );\r\n }\r\n return (\r\n
  • \r\n
      \r\n { detailsItem.Details.map(this.renderAccesTargetDetail) }\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n renderAccesTargetDetail(t) {\r\n const style = { color: '#067D8B', padding: '5px' };\r\n const desc = (t.AccessTarget && t.AccessTarget.Description) || (t && t.Description) || '';\r\n return (\r\n
  • \r\n {desc}\r\n { t.TimeCode && t.TimeCode.Description && ` @ ${t.TimeCode.Description}` }\r\n
  • \r\n );\r\n }\r\n\r\n render() {\r\n const { detailsItem, noTitle = null, loaded } = this.props;\r\n const DetailsIcon = getAppearance(detailsItem ? detailsItem.Type : 'TimeCode');\r\n return (\r\n (!isEmpty(detailsItem) || noTitle) &&\r\n
    \r\n { !noTitle &&\r\n

    \r\n \r\n {` ${detailsItem.Description} - ${i18n.t('PersonForm.tabs.accessRightsTab.Definition')}`}\r\n

    \r\n }\r\n
      \r\n {loaded\r\n ? detailsItem && detailsItem.Details && detailsItem.Details.length\r\n ? this.renderAccessTargetsDetails(detailsItem)\r\n :
    • No details
    • \r\n :
      \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Details;\r\n","import React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport AccessCodeIcon from 'react-icons/lib/go/keyboard';\r\nimport { isEmpty } from 'ramda';\r\nimport ConfirmModal from '__components/common/forms/ConfirmModal';\r\nimport i18n from 'i18next-client';\r\n\r\nimport DeleteIcon from 'react-icons/lib/md/delete';\r\nimport EditIcon from 'react-icons/lib/md/edit';\r\nimport DownIcon from 'react-icons/lib/fa/angle-down';\r\nimport UpIcon from 'react-icons/lib/fa/angle-up';\r\n\r\nimport Details from '__components/Person/AccessRights/details';\r\nimport AccessCodesHandler from '__api/AccessCodesHandler';\r\n\r\nclass AcCard extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n opened: false,\r\n loaded: false,\r\n details: {},\r\n showDeleteConfirmModal: false\r\n };\r\n }\r\n\r\n deleteItem() {\r\n const { item, deleteAction } = this.props;\r\n deleteAction(item.$uri);\r\n }\r\n\r\n toggleDeleteConfirmationModal() {\r\n const { showDeleteConfirmModal } = this.state;\r\n this.setState({\r\n showDeleteConfirmModal: !showDeleteConfirmModal\r\n });\r\n }\r\n\r\n componentDidUpdate(prevProps, prevState) {\r\n if (prevState.opened !== this.state.opened || this.state.details !== prevState.details) {\r\n this.props.reloadMasonry();\r\n }\r\n }\r\n\r\n getDetails() {\r\n const { $uri, Type } = this.props.item;\r\n AccessCodesHandler.getAccessTargetDefinition({ $uri, Type })\r\n .then((data) => {\r\n const { successful, payload } = data;\r\n this.setState({\r\n details: successful ? { Details: payload, Description: this.props.Description } : {},\r\n loaded: true,\r\n });\r\n });\r\n }\r\n\r\n toggleDetails() {\r\n const { opened } = this.state;\r\n this.setState({\r\n opened: !opened\r\n });\r\n return this.getDetails();\r\n }\r\n\r\n onEdit(item) {\r\n this.setState({\r\n opened: false,\r\n });\r\n return this.props.onEdit(null, item);\r\n }\r\n\r\n render() {\r\n const { opened, details, loaded } = this.state;\r\n const { item, canDelete, permissions } = this.props;\r\n const deleteConfirmModal = ();\r\n const canEdit = permissions.item && permissions.item.$uri === item.$uri ? permissions.canEdit : true;\r\n return (\r\n
    \r\n {deleteConfirmModal}\r\n
    \r\n
    \r\n

    {item.Description}

    \r\n
    \r\n this.onEdit(item)} role=\"Button\" className={`edit-ac ac-action ${!canEdit ? 'disabledPointerEvents' : ''}`}>\r\n {permissions.item && permissions.item.$uri === item.$uri && !permissions.loaded ? : }\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Details\r\n {opened\r\n ? \r\n : \r\n }\r\n
    \r\n
    \r\n { opened &&\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\nexport default AcCard;\r\n","import React from 'react';\r\nimport autoBind from 'react-autobind';\r\nimport AltContainer from 'alt-container';\r\nimport R from 'ramda';\r\nimport { debounce } from 'lodash';\r\nimport i18n from 'i18next-client';\r\nimport Masonry from 'react-masonry-component';\r\nimport InfiniteScroll from 'react-infinite-scroller';\r\n\r\nimport Consts from '__infrastructure/Consts';\r\nimport AccessCodesStore from '__stores/AccessCodesStore';\r\nimport CompaniesStore from '__stores/CompaniesStore';\r\nimport AccessCodesActions from '__actions/AccessCodesActions';\r\nimport FormModal from './Form';\r\nimport AcCard from './Card';\r\n\r\nclass AccessCodes extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n const { loadAccessCodes } = this.props.Actions;\r\n this.searchChangedDebounced = debounce((descriptionValue) => {\r\n loadAccessCodes(descriptionValue);\r\n }, 500);\r\n this.state = {\r\n detailsItem: {},\r\n searchQuery: '',\r\n windowInner: 200,\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n const { loadAccessCodes, loadCollectionPermissions } = this.props.Actions;\r\n document.title = i18n.t('AccessCodes');\r\n setTimeout(() => {\r\n loadAccessCodes();\r\n }, 0);\r\n\r\n setTimeout(() => {\r\n loadCollectionPermissions();\r\n }, 0);\r\n\r\n window.addEventListener('orientationchange', this.orientationChanged());\r\n }\r\n\r\n componentWillUnmout() {\r\n window.removeEventListener('orientationchange', this.orientationChanged());\r\n }\r\n\r\n orientationChanged() {\r\n this.setState({\r\n windowInner: 200,\r\n });\r\n this.reloadMasonry();\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { loadAccessCodes } = this.props.Actions;\r\n const companyChanged = nextProps.selectedCompany.$uri !== this.props.selectedCompany.$uri;\r\n\r\n if ((nextProps.currentItemPermissions.item === this.props.currentItemPermissions.item) && nextProps.currentItemPermissions.loaded &&\r\n nextProps.currentItemPermissions.canEdit) {\r\n this.loadModalData();\r\n this.onRequestDetails(null, nextProps.currentItemPermissions.item);\r\n }\r\n this.setState(prevState => ({\r\n detailsItem: R.merge(\r\n prevState.detailsItem,\r\n nextProps.accessTargetDefinition && R.has('Type', prevState.detailsItem)\r\n ? { Details: nextProps.accessTargetDefinition }\r\n : {}\r\n ),\r\n searchQuery: companyChanged ? '' : this.state.searchQuery,\r\n }));\r\n if (companyChanged) {\r\n loadAccessCodes();\r\n }\r\n }\r\n\r\n saveFunc(data) {\r\n const { editedItem, Actions } = this.props;\r\n const { $uri } = editedItem;\r\n if ($uri) {\r\n return Actions.updateAccessCode(R.merge(data, { $uri }));\r\n }\r\n return Actions.createAccessCode(data);\r\n }\r\n\r\n loadModalData() {\r\n const {\r\n loadAvailableAccessTargets,\r\n loadTimeCodes,\r\n } = this.props.Actions;\r\n loadAvailableAccessTargets({ type: 'All' });\r\n loadTimeCodes();\r\n }\r\n\r\n cancelFunc() {\r\n this.props.Actions.toggleFormModal(false);\r\n }\r\n\r\n searchQuery(e) {\r\n e.persist();\r\n this.setState(() => ({\r\n searchQuery: e.target.value,\r\n }));\r\n this.searchChangedDebounced(e.target.value);\r\n }\r\n\r\n openModal() {\r\n this.loadModalData();\r\n this.props.Actions.toggleFormModal(true);\r\n }\r\n\r\n deleteAccessCode($uri) {\r\n this.props.Actions.deleteAccessCode($uri);\r\n }\r\n\r\n onLoadMore() {\r\n const { accessCodesNextLink, Actions } = this.props;\r\n if (accessCodesNextLink) {\r\n Actions.loadMoreAccessCodes(accessCodesNextLink);\r\n }\r\n }\r\n\r\n onRequestEdit(e, item) {\r\n if (e) {\r\n e.stopPropagation();\r\n }\r\n const { Actions } = this.props;\r\n Actions.loadAccessCodePermissions(item);\r\n\r\n // this.loadModalData();\r\n // this.onRequestDetails(null, item);\r\n }\r\n\r\n onRequestDetails(e, item) {\r\n if (e) {\r\n e.stopPropagation();\r\n }\r\n const { Type, Description, $uri } = item;\r\n const { Actions } = this.props;\r\n const { detailsItem } = this.state;\r\n if (Description === detailsItem.Description && Type === detailsItem.Type) {\r\n return this.setState({ detailsItem: {} });\r\n }\r\n switch (Type) {\r\n case Consts.accessTargetsType.accesCode:\r\n Actions.resetCurrentItemPermission();\r\n return Actions.loadAccessTargetDefinition(item);\r\n case Consts.accessTargetsType.doorGroup:\r\n Actions.loadAccessTargetDefinition(item);\r\n return this.setState({\r\n detailsItem: R.merge(this.props.details, { Type: Type || 'TimeCode', Description: Description || item })\r\n });\r\n case Consts.accessTargetsType.door: {\r\n const details = [{\r\n AccessTarget: { Description },\r\n TimeCode: { Description: item.TimeCode ? item.TimeCode.Description : '' }\r\n }];\r\n return this.setState({\r\n detailsItem: R.mergeAll([\r\n {},\r\n this.props.details,\r\n { Details: details },\r\n { Type: Type || 'TimeCode', Description: Description || item }\r\n ])\r\n });\r\n }\r\n case Consts.accessTargetsType.timeCode:\r\n return this.setState({\r\n detailsItem: R.merge(this.props.details, { Type: Type || 'TimeCode', Description: Description || item })\r\n });\r\n default:\r\n return this.setState({ detailsItem: {} });\r\n }\r\n }\r\n\r\n reloadMasonry() {\r\n if (this.masonry) {\r\n return this.masonry.masonry.layout();\r\n }\r\n return null;\r\n }\r\n\r\n render() {\r\n const {\r\n accessCodes,\r\n availableAccessTargets,\r\n timeCodes,\r\n timeCodesLoaded,\r\n accessTargetsLoaded,\r\n accessCodesLoaded,\r\n availableAccessTargetsNextLink,\r\n accessTargetsHasMore,\r\n Actions,\r\n accessCodesHasMore,\r\n loadedAccessTargetDefinition,\r\n formModalOpen,\r\n editedItem,\r\n canAdd,\r\n canDelete,\r\n currentItemPermissions,\r\n } = this.props;\r\n const {\r\n detailsItem,\r\n searchQuery,\r\n windowInner,\r\n } = this.state;\r\n const assignedCodesForEdited = R.isEmpty(editedItem) ? [] : editedItem.AccessRights.map(ar => R.merge(ar.AccessTarget, { TimeCode: ar.TimeCode }));\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {i18n.t('AccessCodes')}\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 { accessCodesLoaded\r\n ?\r\n \r\n \r\n
    \r\n }\r\n >\r\n { this.masonry = m; }}\r\n >\r\n {R.uniqBy(R.prop('$uri'), accessCodes).map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n :\r\n
    \r\n \r\n {i18n.t('CommonForm.PleaseWait')}\r\n
    \r\n }\r\n {accessCodesLoaded && !accessCodes.length &&\r\n

    No access codes

    \r\n }\r\n
    \r\n
    \r\n { formModalOpen &&\r\n (\r\n { value: o, label: i18n.t(`AccessRights.Type.${o}`) }))}\r\n getAccessTargetDefinition={Actions.loadAccessTargetDefinition}\r\n onLoadMore={Actions.loadMoreAccessTargets}\r\n hasMoreData={accessTargetsHasMore}\r\n nextLink={availableAccessTargetsNextLink}\r\n accessTargetsLoaded={accessTargetsLoaded}\r\n /> }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nfunction AccessCodesContainer(props) {\r\n return (\r\n ({ ...Codes, ...Companies, Actions })}\r\n actions={{ Actions: AccessCodesActions }}\r\n >\r\n \r\n \r\n );\r\n}\r\n\r\nexport default AccessCodesContainer;\r\n","import React from 'react';\r\nimport { Route, Redirect } from 'react-router-dom';\r\nimport R from 'ramda';\r\n\r\nimport AuthStore from '__stores/AuthStore';\r\nimport LoginPage from '__containers/Login';\r\nimport LogoutPage from '__containers/Logout';\r\nimport CardHolders from '__containers/CardHolders';\r\nimport PersonRoute from '__components/person/PersonRoute';\r\nimport Visit from '__components/visitors/Visit';\r\nimport AuditConfiguration from '__components/audit/AuditConfiguration';\r\nimport AuditEvents from '__containers/Audit';\r\nimport UserProfile from '__components/userProfile/UserProfile';\r\nimport AppSettings from '__components/app/AppSettings';\r\nimport OwinSettings from '__components/app/OwinSettings';\r\nimport LngSettings from '__components/app/LngSettings';\r\nimport Dashboard from '__components/widgets/Dashboard';\r\nimport ImageGallerySetup from '__components/imageGallerySetup/ImageGallerySetup';\r\nimport Visits from '__containers/Visitors';\r\nimport Alarms from '__containers/Alarms';\r\nimport UnauthorizedPage from '__containers/Unauthorized';\r\nimport AccessCodes from '__containers/AccessCodes';\r\n\r\n// HELPERS\r\nexport const getRootPath = R.compose(\r\n R.head,\r\n R.tail,\r\n R.split('/')\r\n);\r\n\r\n// This component is used to restrict access to a route when logged out or withou permissions\r\nexport function PrivateRoute({ component: Component, location, defaultUrl, ...rest }) {\r\n return (\r\n {\r\n const appState = AuthStore.getState();\r\n const { allowedSegments = [] } = appState;\r\n const allowedRoutes = allowedSegments.reduce((acum, obj) => {\r\n acum.push(obj);\r\n if (obj === 'CardHolders') {\r\n acum.push('CardHolder');\r\n }\r\n if (obj === 'Visits') {\r\n acum.push('Visit');\r\n }\r\n return acum;\r\n }, []);\r\n if (!appState.IsUserAuthenticated && !appState.SessionExpired) {\r\n return ;\r\n }\r\n if (appState.IsUserAuthenticated && location.pathname !== '/' && !R.contains(getRootPath(location.pathname), allowedRoutes)) {\r\n return ;\r\n }\r\n if (appState.redirectToChangePassword && location.pathname !== '/userProfile') {\r\n return ;\r\n }\r\n return ;\r\n }}\r\n />\r\n );\r\n}\r\n\r\nexport function HomeRoute({ defaultUrl }) {\r\n return (\r\n \r\n );\r\n}\r\n\r\n// JSON structure of the routes\r\nexport const routes = [\r\n // Operation\r\n {\r\n id: 1,\r\n name: 'Alarms',\r\n component: Alarms,\r\n path: '/Alarms',\r\n group: 'Operation',\r\n iconClass: 'fa fa-bell-o',\r\n protected: true,\r\n exact: true,\r\n }, {\r\n id: 2,\r\n name: 'CardHolders',\r\n component: CardHolders,\r\n path: '/CardHolders',\r\n group: 'Operation',\r\n iconClass: 'fa fa-credit-card',\r\n protected: true,\r\n exact: true,\r\n }, {\r\n id: 2.1,\r\n name: 'Cardholder',\r\n group: 'Operation',\r\n component: PersonRoute,\r\n path: '/CardHolder',\r\n protected: true,\r\n dontShowInMenu: true,\r\n },\r\n // {\r\n // id: 2.2,\r\n // name: 'EditCardholder',\r\n // group: 'Operation',\r\n // component: PersonRoute,\r\n // path: '/CardHolder',\r\n // protected: true,\r\n // dontShowInMenu: true,\r\n // },\r\n {\r\n id: 3,\r\n name: 'Visits',\r\n group: 'Operation',\r\n component: Visits,\r\n path: '/Visits',\r\n iconClass: 'glyphicon glyphicon-user',\r\n protected: true,\r\n exact: true,\r\n }, {\r\n id: 3.1,\r\n name: 'Visitor',\r\n component: Visit,\r\n group: 'Operation',\r\n path: '/Visit',\r\n protected: true,\r\n dontShowInMenu: true,\r\n },\r\n {\r\n id: 3.2,\r\n name: 'AccessCodes',\r\n component: AccessCodes,\r\n path: '/AccessCodes',\r\n group: 'Operation',\r\n iconClass: 'fa fa-cubes',\r\n protected: true,\r\n },\r\n // {\r\n // id: 3.2,\r\n // name: 'EditVisitor',\r\n // component: Visit,\r\n // group: 'Operation',\r\n // path: '/Visits/:uid',\r\n // protected: true,\r\n // dontShowInMenu: true,\r\n // },\r\n {\r\n id: 4,\r\n name: 'AuditEvents',\r\n component: AuditEvents,\r\n path: '/AuditEvents',\r\n group: 'Operation',\r\n iconClass: 'fa fa-search-plus',\r\n localAdminOnly: true,\r\n protected: true,\r\n },\r\n // Configure\r\n {\r\n id: 5,\r\n name: 'appsettings',\r\n component: AppSettings,\r\n path: '/appsettings',\r\n group: 'Configure',\r\n iconClass: 'fa fa-cog',\r\n protected: true,\r\n }, {\r\n id: 6,\r\n name: 'Audit',\r\n component: AuditConfiguration,\r\n path: '/Audit',\r\n group: 'Configure',\r\n iconClass: 'fa fa-list',\r\n protected: true,\r\n },\r\n // Setup\r\n {\r\n id: 7,\r\n name: 'WebHosting',\r\n component: OwinSettings,\r\n path: '/WebHosting',\r\n group: 'Setup',\r\n iconClass: 'fa fa-connectdevelop',\r\n protected: true,\r\n }, {\r\n id: 8,\r\n name: 'LngSettings',\r\n component: LngSettings,\r\n path: '/LngSettings',\r\n group: 'Setup',\r\n iconClass: 'fa fa-language',\r\n protected: true,\r\n }, {\r\n id: 9,\r\n name: 'ImageGallerySetup',\r\n component: ImageGallerySetup,\r\n path: '/ImageGallerySetup',\r\n group: 'Setup',\r\n iconClass: 'fa fa-picture-o',\r\n protected: true,\r\n },\r\n // General\r\n {\r\n id: 11,\r\n name: 'Dashboard',\r\n component: Dashboard,\r\n path: '/Dashboard',\r\n group: null,\r\n iconClass: 'fa fa-picture-o',\r\n protected: true,\r\n }, {\r\n id: 12,\r\n name: 'UserProfile',\r\n component: UserProfile,\r\n path: '/userProfile',\r\n group: null,\r\n iconClass: '',\r\n protected: true,\r\n }, {\r\n id: 13,\r\n name: 'Login',\r\n component: LoginPage,\r\n path: '/login',\r\n group: null,\r\n iconClass: '',\r\n }, {\r\n id: 13,\r\n name: 'Logout',\r\n component: LogoutPage,\r\n path: '/logout',\r\n group: null,\r\n iconClass: '',\r\n }, {\r\n id: 14,\r\n name: 'Unauthorized',\r\n component: UnauthorizedPage,\r\n path: '/unauthorized',\r\n group: null,\r\n iconClass: '',\r\n },\r\n];\r\n","import React from 'react';\r\nimport { BrowserRouter, Route, Switch, Redirect } from 'react-router-dom';\r\nimport Button from 'react-bootstrap/lib/Button';\r\nimport i18n from 'i18next-client';\r\nimport { StickyContainer } from 'react-sticky';\r\nimport autoBind from 'react-autobind';\r\nimport Modal from 'react-bootstrap/lib/Modal';\r\nimport R from 'ramda';\r\nimport AltContainer from 'alt-container';\r\n\r\n// not used because they are styles and only need to be imported\r\n// eslint-disable-next-line no-unused-vars\r\nimport styles from '__styles/themes/SymmetryWeb_default.less';\r\n// eslint-disable-next-line no-unused-vars\r\nimport selectVirtStyles from 'react-virtualized-select/styles.css';\r\n\r\nimport Loading from '__components/common/Loading';\r\nimport ConfirmationModal from '__components/common/ConfirmationModal';\r\nimport FormUtils from '__components/common/forms/FormUtils';\r\nimport TopNavigation from '__containers/App/TopNavigation';\r\nimport MaximizeModal from '__components/common/MaximizeModal';\r\n\r\nimport AppActions from '__actions/AppActions';\r\nimport AuthActions from '__actions/AuthActions';\r\n\r\nimport AppStore from '__stores/AppStore';\r\nimport AuthStore from '__stores/AuthStore';\r\n\r\nimport Messenger from '__containers/Notifications';\r\nimport dateHelper from '__infrastructure/dateHelper';\r\n\r\nimport Person from '__components/person/Person';\r\nimport menuGroups from './RouterMenuGroups.js';\r\nimport NotifyLongRun from './NotifyLongRun';\r\n\r\nimport { routes, PrivateRoute, HomeRoute } from './Routes';\r\n\r\n\r\nconst languageSelector = R.pathOr('en', ['general', 'dateFormat']);\r\n\r\nconst getDefaultUrl = (string, links) => R.compose(\r\n R.prop('path'),\r\n R.find(i => R.toLower(i.name) === string)\r\n)(links);\r\n\r\nclass App extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n this.state = {\r\n menuCollapsed: true,\r\n showChangePasswordModal: false\r\n };\r\n }\r\n\r\n componentDidMount() {\r\n if (this.props.AppStore.IsAppInitialized === false) {\r\n this.props.AppActions.loadAppConfiguration();\r\n this.props.AppActions.loadVersion();\r\n }\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n const { passwordExpiryDays } = nextProps.AuthStore;\r\n if (this.props.AuthStore.passwordExpiryDays !== passwordExpiryDays) {\r\n this.setState({\r\n showChangePasswordModal: passwordExpiryDays !== -1,\r\n });\r\n }\r\n }\r\n\r\n componentWillUpdate() {\r\n dateHelper.initialize(languageSelector(AppStore.getRoleSettings()));\r\n }\r\n\r\n toggleMenu(menuCollapsed) {\r\n this.setState({\r\n menuCollapsed,\r\n });\r\n }\r\n\r\n menuUncollapse() {\r\n this.setState({\r\n menuCollapsed: true\r\n });\r\n }\r\n\r\n extendCurrentSession() {\r\n this.props.AuthActions.extendSession();\r\n }\r\n goToChangePassword() {\r\n this.props.AuthActions.redirectToChangePassword(true);\r\n }\r\n closeChangePasswordModal() {\r\n this.setState({ showChangePasswordModal: false });\r\n }\r\n\r\n render() {\r\n const {\r\n IsUserAuthenticated,\r\n SessionExpiresSoon,\r\n SessionExpired,\r\n ShouldRefreshBrowser,\r\n allowedSegments,\r\n connectionDetails,\r\n wrongAPIVersion,\r\n } = this.props.AuthStore;\r\n const { displayMaximizeModal } = this.props.AppStore;\r\n const { showChangePasswordModal, menuCollapsed } = this.state;\r\n const { closeMaximizeModal } = this.props.AppActions;\r\n const { AppConfiguration, version } = this.props.AppStore;\r\n const { defaultHomePage } = this.props;\r\n const blurAppClassName = menuCollapsed ? '' : ' appBlur';\r\n const defaultUrl = defaultHomePage ? getDefaultUrl(defaultHomePage, routes) : '/CardHolders';\r\n if (!IsUserAuthenticated) {\r\n document.title = 'SymmetryWEB';\r\n }\r\n const isAllowedToChangePassword = connectionDetails ? FormUtils.getVisibleFromTypeMeta('Password', connectionDetails.Account.TypeMeta) : false;\r\n const filteredRoutesByPermissions = routes.reduce((acum, obj, i, arr) => {\r\n if (R.contains(obj.name, allowedSegments)) {\r\n acum.push(obj);\r\n }\r\n return acum;\r\n }, []);\r\n\r\n const supportedLngs = AppConfiguration && AppConfiguration.dictionaries ? AppConfiguration.dictionaries.supportedLngs : [];\r\n return (\r\n \r\n
    \r\n {/* Redirect to login at auto log off */}\r\n { !IsUserAuthenticated && SessionExpired && window.location.pathname !== '/login' ? : null }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n { AppConfiguration.displayRouter\r\n ?\r\n \r\n \r\n {\r\n routes.map((r, i) => {\r\n if (r.protected) {\r\n return \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 if (this.state.cardDetails !== undefined) {\r\n return (\r\n
    \r\n {\r\n this.setState({\r\n cardPresented: false\r\n });\r\n }}\r\n />\r\n
    );\r\n }\r\n })()}\r\n
    \r\n \r\n
    \r\n

    {i18n.t('SessionExpiresSoon')}
    {i18n.t('PressExtend')}

    \r\n
    \r\n
    \r\n
    \r\n { isAllowedToChangePassword ?\r\n :\r\n \r\n }\r\n \r\n
    \r\n

    {i18n.t('WrongAPIVersion')}

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

    {i18n.t('RefreshBrowser')}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {this.state.menuCollapsed ? '' :
    }\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\nfunction AppContainer(props) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default AppContainer;\r\n","import ReactDOM from 'react-dom';\r\nimport React from 'react';\r\nimport jQueryDeferred from 'signalr-no-jquery/build/jQueryShim';\r\nimport WebFont from 'webfontloader';\r\n\r\n// POLYFILLS for older browser compatibility\r\nimport 'whatwg-fetch';\r\nimport 'element-closest';\r\nimport 'babel-polyfill';\r\n\r\nimport App from '__containers/App';\r\nimport { AppContainer } from 'react-hot-loader';\r\n\r\n// jquery default ajax headers set to false for signalR correct behaviour\r\njQueryDeferred.defaultAjaxHeaders = { cache: false };\r\n\r\n// load google fonts while loading to prevent situations with default font\r\n// by using the google font link tag\r\nWebFont.load({\r\n google: {\r\n families: ['Lato']\r\n }\r\n});\r\n\r\nfunction renderApp(Component) {\r\n return (\r\n \r\n \r\n \r\n );\r\n}\r\n\r\n// used only in development env to reload the code on save(hot reloading)\r\nif (module.hot) {\r\n module.hot.accept('__containers/App', () => {\r\n ReactDOM.render(\r\n renderApp(App),\r\n document.getElementById('content')\r\n );\r\n });\r\n}\r\n\r\n// this renders the app in the DOM\r\nReactDOM.render(\r\n renderApp(App),\r\n document.getElementById('content')\r\n);\r\n","import React from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport superAgentWrapper from '__infrastructure/Superagent-wrapper';\r\nimport imgPromise from '__infrastructure/imagePromise';\r\n\r\nclass ImageLoader extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n this.loadImage = this.loadImage.bind(this);\r\n this.zoomInImage = this.zoomInImage.bind(this);\r\n this.zoomOutImage = this.zoomOutImage.bind(this);\r\n this.state = {\r\n loading: true,\r\n image: '',\r\n imagePromise: null,\r\n };\r\n }\r\n\r\n loadImage(src) {\r\n const imagePromise = imgPromise(src);\r\n this.setState({\r\n imagePromise,\r\n });\r\n imagePromise\r\n .then(image => this.setState({ image: image.src, loading: false, imagePromise: null }))\r\n .catch(() => imagePromise.cancel());\r\n }\r\n\r\n componentDidMount() {\r\n this.loadImage(this.props.src);\r\n }\r\n\r\n componentWillUnmount() {\r\n const { imagePromise } = this.state;\r\n if (imagePromise) {\r\n imagePromise.cancel();\r\n }\r\n }\r\n\r\n zoomInImage(origin, columnName, imageIndex, columnsLength) {\r\n let elem = this.img;\r\n const elemHeight = elem ? elem.height : 60;\r\n const containerElem = elem.closest('.table-fixed-container');\r\n const scrolled = (window.pageYOffset !== undefined) ? window.pageYOffset : (document.documentElement || document.body.parentNode || document.body).scrollTop;\r\n let x = elem.width + elem.offsetLeft;\r\n let y = elem.offsetTop - scrolled;\r\n elem = elem.offsetParent;\r\n while (elem) {\r\n x += elem.offsetLeft;\r\n y += elem.offsetTop;\r\n elem = elem.offsetParent;\r\n }\r\n const containerScrollTop = containerElem ? containerElem.scrollTop : 0;\r\n const top = `${y - containerScrollTop - elemHeight}px`;\r\n const left = x;\r\n const imagePosition = (imageIndex >= columnsLength - 2) ? 'right' : 'left';\r\n const imageStyle = {\r\n [imagePosition]: imagePosition === 'left' ? left : (containerElem.scrollWidth - left) + 80,\r\n zIndex: 100,\r\n position: 'fixed',\r\n top,\r\n };\r\n const { company } = superAgentWrapper.companyHeaderFor();\r\n const imageViewer = ;\r\n const content = document.getElementById('zoomImageContainer');\r\n ReactDOM.render(imageViewer, content);\r\n }\r\n\r\n zoomOutImage() {\r\n const content = document.getElementById('zoomImageContainer');\r\n ReactDOM.render(
    , content);\r\n }\r\n\r\n componentWillReceiveProps(nextProps) {\r\n if (this.props.src !== nextProps.src) {\r\n this.setState({ loading: true });\r\n this.loadImage(nextProps.src);\r\n }\r\n }\r\n\r\n render() {\r\n const { image, loading } = this.state;\r\n const { style, className, origin, imgIndex, columnsLength, columnName } = this.props;\r\n return (\r\n
    \r\n { loading\r\n ? \r\n : { this.img = img; }}\r\n onMouseOut={this.zoomOutImage}\r\n onBlur={this.zoomOutImage}\r\n onMouseOver={() => this.zoomInImage(origin, columnName, imgIndex, columnsLength)}\r\n src={image}\r\n className={className}\r\n style={style}\r\n />\r\n }\r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default ImageLoader;\r\n","import CancelablePromise from 'cancelable-promise';\r\n/* eslint-disable no-param-reassign */\r\n\r\n\r\nexport function convertToBase64(file, callback) {\r\n const coolFile = {};\r\n function readerOnload(e) {\r\n const base64 = btoa(e);\r\n coolFile.base64 = base64;\r\n callback(coolFile);\r\n }\r\n\r\n const reader = new FileReader();\r\n reader.onload = readerOnload;\r\n\r\n coolFile.filetype = file.type;\r\n coolFile.size = file.size;\r\n coolFile.filename = file.name;\r\n reader.readAsBinaryString(file);\r\n}\r\n\r\n\r\nexport default function loadImage(image, attributes) {\r\n if (!image) {\r\n return CancelablePromise.reject();\r\n } else if (typeof image === 'string') {\r\n /* Create a from a string */\r\n const src = image;\r\n image = new Image();\r\n Object.keys(attributes || {}).forEach(name =>\r\n image.setAttribute(name, attributes[name])\r\n );\r\n image.src = src;\r\n } else if (image.length !== undefined) {\r\n /* Treat as multiple images */\r\n\r\n // Momentarily ignore errors\r\n const reflected = [].map.call(image, img => loadImage(img, attributes).catch(err => err));\r\n\r\n return CancelablePromise.all(reflected).then((results) => {\r\n const loaded = results.filter(x => x.naturalWidth);\r\n if (loaded.length === results.length) {\r\n return loaded;\r\n }\r\n // eslint-disable-next-line prefer-promise-reject-errors\r\n return Promise.reject({\r\n loaded,\r\n errored: results.filter(x => !x.naturalWidth)\r\n });\r\n });\r\n } else if (image.tagName.toUpperCase() !== 'IMG') {\r\n return CancelablePromise.reject();\r\n }\r\n\r\n const promise = new CancelablePromise((resolve, reject) => {\r\n function fulfill() {\r\n if (image.naturalWidth) {\r\n resolve(image);\r\n } else {\r\n reject(image);\r\n }\r\n image.removeEventListener('load', fulfill);\r\n image.removeEventListener('error', fulfill);\r\n }\r\n if (image.naturalWidth) {\r\n // If the browser can determine the naturalWidth the\r\n // image is already loaded successfully\r\n resolve(image);\r\n } else if (image.complete) {\r\n // If the image is complete but the naturalWidth is 0px\r\n // it is probably broken\r\n reject(image);\r\n } else {\r\n image.addEventListener('load', fulfill);\r\n image.addEventListener('error', fulfill);\r\n }\r\n });\r\n promise.image = image;\r\n return promise;\r\n}\r\n","(function() {\r\n 'use strict';\r\n var alt = require('__base/alt');\r\n var _ = require('lodash');\r\n var AppStorage = require('__infrastructure/AppStorage');\r\n var AppActions = require('__actions/AppActions');\r\n var AuthActions = require('__actions/AuthActions');\r\n var MessageActions = require('__containers/Notifications/actions').default;\r\n var AuthHandle = require('__api/AuthHandler');\r\n var AppHandle = require('__api/AppHandler');\r\n var appConfig = require('__src/Configuration.js');\r\n var UserProfileStore = require('__stores/UserProfileStore').default;\r\n var errorHandler = appConfig.appErrorHandler;\r\n var _authStoreKey = \"AuthStore\";\r\n\r\n class AppStore {\r\n constructor() {\r\n this.IsAppInitialized = false;\r\n this.AppConfiguration = {\r\n dataLoaded: false,\r\n displayRouter: false,\r\n };\r\n this.resetToDefault = false;\r\n this.displayMaximizeModal = false;\r\n this.bindActions(AppActions);\r\n }\r\n onLoadAppConfiguration() {\r\n AppHandle.loadSettings()\r\n .then((data) => {\r\n var { successful, payload } = data;\r\n if (successful) {\r\n AppActions.loadAppConfigurationSuccessful(payload);\r\n } else {\r\n //if cannot receive the configuration from server do nothing\r\n }\r\n })\r\n .catch(errorHandler);\r\n\r\n //prevent change on component\r\n return false;\r\n }\r\n onOpenMaximizeModal(content) {\r\n this.setState({ displayMaximizeModal: content });\r\n }\r\n onCloseMaximizeModal() {\r\n this.setState({ displayMaximizeModal: false });\r\n }\r\n onLoadVersion() {\r\n AppHandle.loadVersion().then((data) => {\r\n var { successful, payload } = data;\r\n if (successful) {\r\n //AppActions.loadAppConfigurationSuccessful(payload);\r\n this.version = payload;\r\n } else {\r\n //if cannot receive the configuration from server do nothing\r\n }\r\n })\r\n .catch(errorHandler);\r\n }\r\n onSaveAppSettings(dataToSave) {\r\n var { settings, roleName } = dataToSave;\r\n settings.resetToDefault = this.resetToDefault;\r\n this.resetToDefault = false;\r\n return AppHandle.saveSettings(settings, roleName);\r\n }\r\n onSaveAppSettingsSuccessful(dataSaved) {\r\n var { settings, roleName } = dataSaved;\r\n if (roleName !== undefined) {\r\n if (_.has(this.AppConfiguration.roleSettings, roleName)) {\r\n settings.resetToDefault = false;\r\n this.AppConfiguration.roleSettings[roleName] = dataSaved.roleSettings[roleName];\r\n }\r\n } else {\r\n //NOTE: update application settings\r\n if (settings.resetToDefault === true) {\r\n //NOTE: reset all role settings to app settings\r\n settings.resetToDefault = false;\r\n this.AppConfiguration.roles.map(role => {\r\n var roleSettings = this.AppConfiguration.roleSettings[role];\r\n this.AppConfiguration.roleSettings[role] = _.assign({}, roleSettings, settings);\r\n });\r\n }\r\n this.AppConfiguration.settings = settings;\r\n this.AppConfiguration.roles.map(role => {\r\n var roleSettings = dataSaved.roleSettings[role];\r\n this.AppConfiguration.roleSettings[role] = _.assign(roleSettings);\r\n });\r\n //this.AppConfiguration.roleSettings = dataSaved.roleSettings;\r\n }\r\n //this.AppConfiguration.settings = settings;\r\n this.emitChange();\r\n }\r\n onDefaultLngChanged(defaultLng) {\r\n //NOTE prevent event if language is the same\r\n if (defaultLng === this.AppConfiguration.defaultLng) {\r\n return false;\r\n }\r\n var that = this;\r\n setTimeout(() => _.merge(that.AppConfiguration, defaultLng), 0);\r\n this.emitChange();\r\n }\r\n onInitializeApp(config) {\r\n //this.IsAppInitialized = true;\r\n _.merge(this.AppConfiguration, config);\r\n var roles = [];\r\n _.forOwn(this.AppConfiguration.roleSettings, function(value, key) {\r\n roles.push(key);\r\n });\r\n this.AppConfiguration.roles = roles;\r\n\r\n var storage = AppStorage.get(_authStoreKey);\r\n var token = \"\";\r\n if (storage) {\r\n token = storage.Token;\r\n }\r\n\r\n AuthHandle.dummyCall(token)\r\n //raise logout\r\n .then((authenticated) => {\r\n this.AppConfiguration.displayRouter = true;\r\n if (authenticated.authenticated) {\r\n AuthActions.userAuthenticated({\r\n allowedSegments: authenticated.allowedSegments,\r\n systemDetails: authenticated.systemDetails,\r\n connectionDetails: authenticated.connectionDetails,\r\n userProfile: authenticated.userProfile,\r\n });\r\n //load roles\r\n if (Object.keys(this.AppConfiguration.roleSettings).length === 0) {\r\n AppActions.loadRolesSettings();\r\n }\r\n } else {\r\n AuthActions.logout();\r\n }\r\n\r\n })\r\n //raise session expired\r\n //.then(authenticated => {if(!authenticated) {AuthActions.sessionExpired(); }})\r\n .catch(errorHandler);\r\n AuthHandle.checkApiStatus().then((data) => {\r\n this.setState({ isClientRegistered: data.payload, IsAppInitialized: true });\r\n });\r\n }\r\n onLoadRolesSettings() {\r\n this.AppConfiguration.dataLoaded = false;\r\n AppHandle.loadRolesSettings()\r\n .then((data) => {\r\n var { successful, payload } = data;\r\n if (successful) {\r\n this.AppConfiguration.roleSettings = payload;\r\n } else {\r\n this.AppConfiguration.roleSettings = {};\r\n }\r\n var roles = [];\r\n _.forOwn(this.AppConfiguration.roleSettings, function(value, key) {\r\n roles.push(key);\r\n });\r\n this.AppConfiguration.roles = roles;\r\n this.AppConfiguration.dataLoaded = true;\r\n this.emitChange();\r\n })\r\n .catch(errorHandler);\r\n\r\n //prevent change on component\r\n return false;\r\n }\r\n static resetToDefault(resetToDefault) {\r\n this.state.resetToDefault = resetToDefault;\r\n }\r\n static getRoleSettings(roleName) {\r\n if (roleName === undefined) {\r\n roleName = UserProfileStore.getCurrentUser().role;\r\n }\r\n var roleSettings = this.state.AppConfiguration.roleSettings;\r\n if (_.has(roleSettings, roleName)) {\r\n return roleSettings[roleName];\r\n }\r\n return null;\r\n }\r\n static getSettings() {\r\n return this.state.AppConfiguration.settings;\r\n }\r\n static getDictionaries() {\r\n return this.state.AppConfiguration.dictionaries;\r\n }\r\n static resetClientRegistered() {\r\n this.state.isClientRegistered = false;\r\n }\r\n static changeClientRegisted() {\r\n this.state.isClientRegistered = true;\r\n }\r\n //NOTE: reset language to application default from user default\r\n static resetLanguage() {\r\n var app = this.state.AppConfiguration;\r\n var defaultLng = app.defaultLng;\r\n var appDefaultLng = app.settings.general.defaultLng;\r\n if (defaultLng !== appDefaultLng) {\r\n AppActions.changeLanguage(appDefaultLng);\r\n }\r\n }\r\n static saveAppSettings(dataToSave) {\r\n var { settings, roleName } = dataToSave;\r\n settings.resetToDefault = this.resetToDefault;\r\n this.resetToDefault = false;\r\n return AppHandle.saveSettings(settings, roleName);\r\n }\r\n onCardPresented(details) {\r\n this.setState({\r\n cardPresented: true\r\n });\r\n this.setState({\r\n cardDetails: details\r\n });\r\n }\r\n }\r\n\r\n module.exports = alt.createStore(AppStore, 'AppStore');\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar Logger = require('./Logger');\r\n\tvar _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\tvar dateHelper = require('__infrastructure/dateHelper');\r\n\t/*\r\n\t* Provides form validation routines and handling\r\n\t*/\r\n\r\n\tif (!String.prototype.includes) {\r\n String.prototype.includes = function(search, start) {\r\n if (typeof start !== 'number') {\r\n start = 0;\r\n }\r\n\r\n if (start + search.length > this.length) {\r\n return false;\r\n } else {\r\n return this.indexOf(search, start) !== -1;\r\n }\r\n \t};\r\n\t}\r\n\r\n\tfunction hasLowercaseAmPM(str) {\r\n return str.includes('am') || str.includes('pm');\r\n\t}\r\n\r\n\tclass Validation {\r\n\t\tconstructor(opts) {\r\n\t\t\t/**\r\n\t\t\t* begin validation routines. Routines return true if value passes logic\r\n\t\t\t* @constructor\r\n\t\t\t*/\r\n\r\n\t\t\tthis.logger = opts && opts.logger ? opts.logger : new Logger({\r\n\t\t\t\tname: 'Validation'\r\n\t\t\t});\r\n\t\t\tthis.routines = {\r\n\t\t\t\temail: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i8n.t('UIValidations.EmailFormat');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\tvar re = /^([\\w-]+(?:\\.[\\w-]+)*)@((?:[\\w-]+\\.)*\\w[\\w-]{0,66})\\.([a-z]{2,6}(?:\\.[a-z]{2})?)$/i;\r\n\t\t\t\t\t\treturn !value ? true : re.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tis_string_number: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidStringNumber');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\tvar re = /^\\d+$/;\r\n\t\t\t\t\t\treturn !value ? true : re.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tis_password_number: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidPasswordNumber');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\tvar digitsOrAsterisk = /^[*0-9]+$/i;\r\n\t\t\t\t\t\treturn !value ? true : digitsOrAsterisk.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tis_float: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidDecimal');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\treturn value === +value && value !== (value | 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tis_integer: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidInteger');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\treturn value === +value && value === (value | 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tis_number: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidNumber');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\t//return isNaN(value);\r\n\t\t\t\t\t\treturn !value ? true : parseInt(value, 10);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tphone: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidPhone');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\t// http://stackoverflow.com/a/123666/109941\r\n\t\t\t\t\t\tvar re = /^(?:(?:\\+?1\\s*(?:[.-]\\s*)?)?(?:\\(\\s*([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9])\\s*\\)|([2-9]1[02-9]|[2-9][02-8]1|[2-9][02-8][02-9]))\\s*(?:[.-]\\s*)?)?([2-9]1[02-9]|[2-9][02-9]1|[2-9][02-9]{2})\\s*(?:[.-]\\s*)?([0-9]{4})(?:\\s*(?:#|x\\.?|ext\\.?|extension)\\s*(\\d+))?$/i;\r\n\t\t\t\t\t\treturn !value ? true : re.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tmin_length: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.MinLength') + params.length;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tvar length = parseInt(params.length, 10);\r\n\t\t\t\t\t\tif (typeof value === \"number\") {\r\n\t\t\t\t\t\t\tvalue = value.toString();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn !value ? true : value.length >= length;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tmax_length: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.MaxLength') + params.length;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tvar length = parseInt(params.length, 10);\r\n\t\t\t\t\t\tif (typeof value === \"number\") {\r\n\t\t\t\t\t\t\tvalue = value.toString();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn !value ? true : value.length <= length;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tmin_value: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\tif (typeof params.value.toUTCString === \"function\"){\r\n\t\t\t\t\t\t\treturn i18n.t('UIValidations.MinValue') + dateHelper.format(params.value, 'datetime');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.MinValue') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\treturn !value && params.allowZero ? true : value >= params.value;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tmax_value: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.MaxValue') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\treturn !value ? true : value <= params.value;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\trequired: {\r\n\t\t\t\t\tdesc() {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.Required');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\tvar retval = false;\r\n\t\t\t\t\t\tif (value === undefined || value === null) {\r\n\t\t\t\t\t\t\tretval = false;\r\n\t\t\t\t\t\t} else if (Array.isArray(value)) {\r\n\t\t\t\t\t\t\tretval = value.length !== 0;\r\n\t\t\t\t\t\t} else if (typeof value === \"string\") {\r\n\t\t\t\t\t\t\tretval = value.trim().length !== 0;\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tretval = true;\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\treturn retval;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\toneOf: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.OneOf');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tvar found = _.find(params.value, function(v) {\r\n\t\t\t\t\t\t\treturn value === v;\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\treturn found !== undefined;\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\ttwoFieldsMatch: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t(params.message);\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\treturn params.customValidationFunction.call(this, value, params);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tregexExpression: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.RegexValidation') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tvar re = new RegExp(params.value, \"i\");\r\n\t\t\t\t\t\treturn !value ? true : re.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tcustomSymmetryMask: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.CustomSymmetryRegex') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tvar regex = \"^\";\r\n\t\t\t\t\t\tvar needsEscaping = \" \\.*?+[{|()^$\";\r\n\r\n\t\t\t\t\t\tfor (var i = 0; i < params.value.length; i++) {\r\n\t\t\t\t\t\t\tif (params.value[i] === \"#\") {\r\n\t\t\t\t\t\t\t\tregex += \"\\\\w\";\r\n\t\t\t\t\t\t\t} else if (params.value[i] === \"0\") {\r\n\t\t\t\t\t\t\t\tregex += \"\\\\d\";\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tif (needsEscaping.indexOf(params.value[i]) > -1) {\r\n\t\t\t\t\t\t\t\t\tvar escapedChar = \"\\\\\" + params.value[i];\r\n\t\t\t\t\t\t\t\t\tregex += escapedChar;\r\n\t\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\t\tregex += params.value[i];\r\n\t\t\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tregex += \"$\"\r\n\t\t\t\t\t\tvar re = new RegExp(regex);\r\n\t\t\t\t\t\treturn !value ? true : re.test(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tisDateInFormat: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidDateFormat') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tconst format = params && params.value ? params.value.toUpperCase() : '';\r\n\t\t\t\t\t\treturn !value ? true : dateHelper.isInFormat(value, format);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tisTimeInFormat: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidDateFormat') + params.value;\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value, params) {\r\n\t\t\t\t\t\tconst format = params && params.value ? params.value : '';\r\n\t\t\t\t\t\tswitch (format) {\r\n\t\t\t\t\t\t\tcase 'h:mm':\r\n\t\t\t\t\t\t\tcase 'H:MM':\r\n\t\t\t\t\t\t\t\treturn !value || dateHelper.isInFormat(value, 'h:mm');\r\n\t\t\t\t\t\t\tcase 'hh:mm $':\r\n\t\t\t\t\t\t\t\treturn !value || dateHelper.isInFormat(value, 'hh:mm a') && hasLowercaseAmPM(value);\r\n\t\t\t\t\t\t\tcase 'h:mm $':\r\n\t\t\t\t\t\t\t\treturn !value || dateHelper.isInFormat(value, 'h:mm a') && hasLowercaseAmPM(value);\r\n\t\t\t\t\t\t\tcase 'hh:mm':\r\n\t\t\t\t\t\t\tcase 'HH:MM':\r\n\t\t\t\t\t\t\tcase 'HH:mm':\r\n\t\t\t\t\t\t\tcase 'hh:MM':\r\n\t\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\t\treturn !value || dateHelper.isInFormat(value, 'HH:mm');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tisDate: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidDate');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\treturn !value && value !== '' ? true : dateHelper.isValid(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tisDateWarning: {\r\n\t\t\t\t\tdesc(params) {\r\n\t\t\t\t\t\treturn i18n.t('UIValidations.ValidDate');\r\n\t\t\t\t\t},\r\n\t\t\t\t\trule(value) {\r\n\t\t\t\t\t\tif (!value) {\r\n\t\t\t\t\t\t\treturn true\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\treturn dateHelper.isValid(value);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t}\r\n\t\t_toTitleCase(field) {\r\n\t\t\treturn field\r\n\t\t\t\t// insert a space before all caps\r\n\t\t\t\t.replace(/([A-Z])/g, ' $1')\r\n\t\t\t\t.replace(/_/g, \" \").replace(/\\w\\S*/g, function(txt) {\r\n\t\t\t\treturn txt.charAt(0).toUpperCase() + txt.substr(1).toLowerCase();\r\n\t\t\t})\r\n\t\t\t\t// uppercase the first character\r\n\t\t\t\t.replace(/^./, function(str) {\r\n\t\t\t\t\treturn str.toUpperCase();\r\n\t\t\t\t});\r\n\t\t}\r\n\t\t/**\r\n\t\t* Returns a named routine obj.\r\n\t\t* @params - string or object defining the routine parameters\r\n\t\t*/\r\n\t\t_getRoutine(params) {\r\n\t\t\tvar name = (typeof params === \"object\") && (params !== null) ? params.name : params;\r\n\t\t\tif (!this.routines[name]) {\r\n\t\t\t\tthis.logger.error(\"_getRoutine failed for \", params, name, this.routines);\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn this.routines[name];\r\n\t\t}\r\n\t\t/**\r\n\t\t* Returns validation description for a given routine rule.\r\n\t\t* @params - string or object defining the routine parameters\r\n\t\t*/\r\n\t\tgetDesc(params) {\r\n\t\t\treturn this._getRoutine(params).desc(params);\r\n\t\t}\r\n\t\t/**\r\n\t\t* Returns result of validation.\r\n\t\t* Returns blank on pass, otherwise contains error message\r\n\t\t* @val - current value to be assessed\r\n\t\t* @params - string or object defining the routine parameters\r\n\t\t*/\r\n\t\tvalidate(val, params) {\r\n\t\t\tvar obj = this._getRoutine(params);\r\n\t\t\tif (!obj) {\r\n\t\t\t\tthis.logger.error('validation.validate :: unknown routine', params);\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\r\n\t\t\t//trim it if it's a string\r\n\t\t\tval = typeof val === \"string\" ? val.trim() : val;\r\n\r\n\t\t\treturn obj.rule(val, params) ? '' : this.getDesc(params);\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new Validation();\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\tvar _ = require('lodash');\r\n\r\n\tclass AppHandler{\r\n\t\t//make this call when app is loading configruation\r\n\t\tloadSettings(){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.app.routes.settings;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadVersion() {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.app.routes.version;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadRolesSettings(){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.app.routes.rolesSettings;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadRoleSettings(roleName){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.app.routes.settings;\r\n\t\t\turl += \"/\" + roleName;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tsendTestEmail(smtpSettings){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.sendEmailTest;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.post(url, smtpSettings)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\t//make this call to save app configuration\r\n\t\tsaveSettings(settings, roleName){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.app.routes.settings;\r\n\t\t\tif(roleName !== undefined){\r\n\t\t\t\turl += \"/\" + encodeURIComponent(roleName);\r\n\t\t\t}\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.post(url, settings)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tuploadCertificate(base64StringFile, password){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.uploadCertificate;\r\n\t\t\tvar data = {\r\n\t\t\t\tBase64String: base64StringFile,\r\n\t\t\t\tPassword: password\r\n\t\t\t};\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.post(url, data)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tuploadLanguageFile(base64StringFile, language, fileType){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.uploadLanguageFile;\r\n\t\t\tvar data = {\r\n\t\t\t\tBase64String: base64StringFile,\r\n\t\t\t\tLanguage: language,\r\n\t\t\t\tFileType: fileType\r\n\t\t\t};\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.post(url, data)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tverifyHttpsCertificateInstalled() {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.verifyHttpsCertificateInstalled;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetLanguageFile(language){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.getLanguageFile;\r\n\t\t\tvar data = {\r\n\t\t\t\tLanguage: language\r\n\t\t\t};\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, data)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tcheckLanguageFile(language){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.admin.baseRoute + apiRoutes.admin.routes.checkLanguageFile;\r\n\t\t\tvar data = {\r\n\t\t\t\tLanguage: language\r\n\t\t\t};\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, data)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n}\r\n\r\nmodule.exports = new AppHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar React = require('react');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Input = reactBootstrap.Input;\r\n\r\n\tvar Select = React.createClass({\r\n\r\n\t\tgetInitialState() {\r\n\t\t\tvar state = {\r\n\t\t\t\tedit: true\r\n\t\t\t};\r\n\t\t\tstate.selectedItem = this.props.selectedItem;\r\n\t\t\tstate.itemSelected = state.selectedItem !== undefined ? true : false;\r\n\t\t\treturn state;\r\n\t\t},\r\n\t\tonChangeSelected(data) {\r\n\t\t\tvar queryId = this.refs.filterSelect.getValue();\r\n\t\t\tif (queryId !== \"placeholder\") {\r\n\t\t\t\tthis.state.selectedItem = queryId;\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemSelected: true\r\n\t\t\t\t});\r\n\t\t\t\tthis.props.onChange(data);\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemSelected: false,\r\n\t\t\t\t\tselectedItem: \"placeholder\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tthis.state.selectedItem = nextProps.selectedItem;\r\n\t\t\tif (nextProps.selectedItem !== undefined) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemSelected: true\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\titemSelected: false,\r\n\t\t\t\t\tselectedItem: \"placeholder\"\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tclearSelectedItem() {\r\n\t\t\tthis.setState({\r\n\t\t\t\titemSelected: false,\r\n\t\t\t\tselectedItem: \"placeholder\"\r\n\t\t\t});\r\n\t\t},\r\n\t\tgetValue() {\r\n\t\t\treturn this.refs.filterSelect.getValue();\r\n\t\t},\r\n\t\trenderPlaceholder(){\r\n\t\t\tif (this.props.placeholder && !this.state.itemSelected) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tif (this.props.children.length === 0) {\r\n\t\t\t\tthis.state.selectedItem = \"placeholder\";\r\n\t\t\t\tthis.state.itemSelected = false;\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\r\n\t\t\t\t\r\n\t\t\t\t\t{this.renderPlaceholder()}\r\n\t\t\t\t\t{this.props.children}\r\n\t\t\t\t\r\n\t\t\t\t);\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = Select;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\tvar MessageActions = require('__containers/Notifications/actions').default;\r\n\tvar PersonHandler = require('__api/PersonHandler');\r\n\tvar appConfig = require('__src/Configuration.js');\r\n\tvar errorHandler = appConfig.appErrorHandler;\r\n\tvar Promise = require('es6-promise').Promise;\r\n\r\n\tclass PersonActions {\r\n\t\tconstructor() {\r\n\t\t\tthis.generateActions('initStore');\r\n\t\t\tthis.generateActions('savePersonSuccessful');\r\n\t\t\tthis.generateActions('applyFilter');\r\n\t\t\tthis.generateActions('loadAvailableAccessTargets');\r\n\t\t\tthis.generateActions('loadAvailableTimeCodes');\r\n\t\t\tthis.generateActions('loadAccessTargetDefinition');\r\n\t\t\tthis.generateActions('loadMoreAccessTargets');\r\n\t\t}\r\n\t}\r\n\r\n\tclass PersonActionsCreator {\r\n\t\tconstructor() {\r\n\t\t\tvar actions = alt.createActions(PersonActions);\r\n\t\t\t_.assign(this, actions);\r\n\t\t}\r\n\t\tsavePerson(person) {\r\n\t\t\tvar company = person.Company;\r\n\t\t\tvar returnPromise = new Promise((resolve) => {\r\n\t\t\t\tif (person.$uri) {\r\n\t\t\t\t\tPersonHandler.updatePerson(person, company).then((data) => {\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t\tvar {\r\n\t\t\t\t\t\t\tsuccessful, status\r\n\t\t\t\t\t\t} = data;\r\n\t\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\t\t//TODO: set card holder id\r\n\t\t\t\t\t\t\tthis.savePersonSuccessful(person);\r\n\t\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//NOTE: do not raise error; it will be treated general by interceptor\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch(errorHandler);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tPersonHandler.savePerson(person, company).then((data) => {\r\n\t\t\t\t\t\tvar {\r\n\t\t\t\t\t\t\tsuccessful, status\r\n\t\t\t\t\t\t} = data;\r\n\t\t\t\t\t\tresolve(data);\r\n\t\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\t\t//TODO: set card holder id\r\n\t\t\t\t\t\t\tthis.savePersonSuccessful(person);\r\n\t\t\t\t\t\t\t\tMessageActions.addNotification({\r\n\t\t\t\t\t\t\tmessage: 'messages.saveSuccessful',\r\n\t\t\t\t\t\t\ttype: 'succcess',\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t//NOTE: do not raise error; it will be treated general by interceptor\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}).catch(errorHandler);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn returnPromise;\r\n\t\t}\r\n\t\tgetPersonByUri(uri) {\r\n\t\t\treturn PersonHandler.getPersonByUri(uri);\r\n\t\t}\r\n\t\tgetVisitingEscortByUri(uri) {\r\n\t\t\treturn PersonHandler.getVisitingEscortByUri(uri);\r\n\t\t}\r\n\t\tdeletePerson(uri) {\r\n\t\t\treturn PersonHandler.deletePerson(uri);\r\n\t\t}\r\n\t\tgetAccessTargets(){\r\n\t\t\treturn PersonHandler.getAccessTargets();\r\n\t\t}\r\n\t\tgetPersonPermissions(uri) {\r\n\t\t\treturn PersonHandler.getPersonPermissions(uri);\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new PersonActionsCreator();\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nclass AppStorage {\r\n\tconstructor() {\r\n\t\tthis.storage = \tlocalStorage;\r\n\t}\r\n\tset(key, value){\r\n\t\tif(value){\r\n\t\t\tvar strValue = JSON.stringify(value);\r\n\t\t\tthis.storage.setItem(key, strValue);\r\n\t\t}\r\n\t}\r\n\tget(key){\r\n\t\tvar strValue = this.storage.getItem(key);\r\n\t\tvar value = {};\r\n\t\tif(strValue){\r\n\t\t\tvalue = JSON.parse(strValue);\r\n\t\t}\r\n\t\treturn value;\r\n\t}\r\n}\r\n\r\nmodule.exports = new AppStorage();\r\n})();\r\n\r\n\r\n\r\n","(function() {\r\n\t'use strict';\r\n\tvar _ = require('lodash');\r\n\tvar i18n = require('i18next-client');\r\n\tvar ReactDOM = require('react-dom');\r\n\tvar buildFileref = (filename) => {\r\n\t\tvar parts = filename.split('.');\r\n\t\tvar filetype = parts[parts.length - 1];\r\n\t\tvar fileref = null;\r\n\t\tif (filetype === \"js\") { //if filename is a external JavaScript file\r\n\t\t\tfileref = document.createElement('script');\r\n\t\t\tfileref.setAttribute(\"type\", \"text/javascript\");\r\n\t\t\tfileref.setAttribute(\"src\", filename);\r\n\t\t} else if (filetype === \"css\") { //if filename is an external CSS file\r\n\t\t\tfileref = document.createElement(\"link\");\r\n\t\t\tfileref.setAttribute(\"rel\", \"stylesheet\");\r\n\t\t\tfileref.setAttribute(\"type\", \"text/css\");\r\n\t\t\tfileref.setAttribute(\"href\", filename);\r\n\t\t}\r\n\t\treturn fileref;\r\n\t};\r\n\r\n\tvar customAttributeType = {\r\n\t\tList: \"List\",\r\n\t\tEditableList: \"EditableList\",\r\n\t\tFreeFormat: \"FreeFormat\",\r\n\t\tExpiryDate: \"ExpiryDate\"\r\n\t};\r\n\r\n\tvar customAttributeMaskType = {\r\n\t\tDate: \"Date\",\r\n\t\tCustom: \"Custom\",\r\n\t\tTime: \"Time\",\r\n\t\tMaxLength: \"MaxLength\",\r\n\t};\r\n\t/*\r\n\t* Provides utility functions\r\n\t*/\r\n\tclass Util {\r\n\t\tconstructor() {\r\n\t\t\tthis.loadedFiles = [];\r\n\t\t}\r\n\r\n\t\tarrayMoveUp(array, index, by) {\r\n\t\t\t//var index = _.findLastIndex(array,value),\r\n\t\t\tvar newPos = [];\r\n\t\t\tfor (var i = 0; i < index.length; i++) {\r\n\t\t\t\tnewPos.push(index[i] - (by || 1));\r\n\t\t\t}\r\n\r\n\t\t\tfor (var j = 0; j < newPos.length; j++) {\r\n\t\t\t\tvar value = array[newPos[j] + 1];\r\n\t\t\t\tarray.splice(newPos[j] + 1, 1);\r\n\t\t\t\tarray.splice(newPos[j], 0, value);\r\n\t\t\t}\r\n\r\n\t\t}\r\n\r\n\t\tarrayMoveDown(array, index, by) {\r\n\t\t\tvar newPos = [];\r\n\t\t\tfor (var i = 0; i < index.length; i++) {\r\n\t\t\t\tnewPos.push(Number(index[i]) + (by || 1));\r\n\t\t\t}\r\n\t\t\tfor (var j = newPos.length - 1; j >= 0; j--) {\r\n\t\t\t\tvar value = array[newPos[j] - 1];\r\n\t\t\t\tarray.splice(newPos[j] - 1, 1);\r\n\t\t\t\tarray.splice(newPos[j], 0, value);\r\n\t\t\t}\r\n\t\t}\r\n\t\t/**\r\n\t\t* Returns formatted phone string.\r\n\t\t* @phone - phone number to be formatted\r\n\t\t*/\r\n\t\tphoneFormat(phone) {\r\n\t\t\treturn phone ? phone.replace(/[^0-9]/g, '')\r\n\t\t\t\t.replace(/(\\d{3})(\\d{3})(\\d{4})/, \"($1) $2-$3\") : phone;\r\n\t\t}\r\n\t\tgenerateGuid() { // http://stackoverflow.com/a/8809472/109941\r\n\t\t\tvar d = new Date().getTime();\r\n\t\t\tvar uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n\t\t\t\tvar r = (d + Math.random() * 16) % 16 | 0;\r\n\t\t\t\td = Math.floor(d / 16);\r\n\t\t\t\treturn (c === 'x' ? r : (r & 0x7 | 0x8)).toString(16);\r\n\t\t\t});\r\n\t\t\treturn uuid;\r\n\t\t}\r\n\t\tisGuid(stringToTest) {\r\n\t\t\tif (!stringToTest) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t if (stringToTest[0] === \"{\") {\r\n\t stringToTest = stringToTest.substring(1, stringToTest.length - 1);\r\n\t }\r\n\t var regexGuid = /^(\\{){0,1}[0-9a-fA-F]{8}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{4}\\-[0-9a-fA-F]{12}(\\}){0,1}$/gi;\r\n\t return regexGuid.test(stringToTest);\r\n\t\t}\r\n\t\tgenerateKey() { // http://stackoverflow.com/a/8809472/109941\r\n\t\t\treturn (\"0000\" + (Math.random() * Math.pow(36, 4) << 0).toString(36)).slice(-4);\r\n\t\t}\r\n\t\t/**\r\n\t\t* Dynamically load a js or css file\r\n\t\t* tracks previously loaded files to prevent double loading.\r\n\t\t* @filename - relative path to file (as it should appear in th escript tag)\r\n\t\t* @cb - optional callback to execute after loading\r\n\t\t*/\r\n\t\tloadFile(filename, cb) {\r\n\t\t\tif (this.loadedFiles.indexOf(filename) === -1) {\r\n\t\t\t\tvar fileref = buildFileref(filename);\r\n\r\n\t\t\t\tthis.loadedFiles.push(filename);\r\n\r\n\t\t\t\tif (typeof fileref !== undefined) {\r\n\t\t\t\t\tif (cb) {\r\n\t\t\t\t\t\tfileref.onload = cb;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tdocument.getElementsByTagName(\"head\")[0].appendChild(fileref);\r\n\t\t\t\t}\r\n\t\t\t} else if (cb) {\r\n\t\t\t\tcb();\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\ttoCamel(o) {\r\n\t\t\treturn (o instanceof Array) ? this._toCamelArray(o) : this._toCamelObject(o);\r\n\t\t}\r\n\t\t_toCamelArray(o) {\r\n\t\t\tvar build = [];\r\n\t\t\tvar key, value;\r\n\t\t\tfor (key in o) {\r\n\t\t\t\tif (!o.hasOwnProperty(key)) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tvalue = o[key];\r\n\r\n\t\t\t\tif (value !== null && typeof value === \"object\") {\r\n\t\t\t\t\tvalue = this.toCamel(value);\r\n\t\t\t\t}\r\n\t\t\t\tbuild.push(value);\r\n\t\t\t}\r\n\t\t\treturn build;\r\n\t\t}\r\n\t\t_toCamelObject(o) {\r\n\t\t\tvar destKey, key, value;\r\n\t\t\tvar build = {};\r\n\t\t\tfor (key in o) {\r\n\t\t\t\tif (!o.hasOwnProperty(key)) {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tdestKey = (key.charAt(0).toLowerCase() + key.slice(1) || key).toString();\r\n\t\t\t\tvalue = o[key];\r\n\t\t\t\tif (value !== null && typeof value === \"object\") {\r\n\t\t\t\t\tvalue = this.toCamel(value);\r\n\t\t\t\t}\r\n\r\n\t\t\t\tbuild[destKey] = value;\r\n\t\t\t}\r\n\t\t\treturn build;\r\n\t\t}\r\n\t\tgetIndicesOf(searchStr, str, caseSensitive) {\r\n\t\t\tvar indices = [];\r\n\t\t\tif(!str || !searchStr){\r\n\t\t\t\treturn indices;\r\n\t\t\t}\r\n\t\t\t//searchStr = searchStr.replace(new RegExp(\"\\\\/\", 'g') ,\"/\");\r\n\t\t\tsearchStr = searchStr.split(\"\\\\/\").join(\"/\");\r\n\t\t\tsearchStr = searchStr.toString();\r\n\t\t\tstr = str.toString();\r\n\t\t\tvar startIndex = 0;\r\n\t\t\tvar searchStrLen = searchStr.length;\r\n\t\t\tif(searchStrLen === 0){\r\n\t\t\t\treturn indices;\r\n\t\t\t}\r\n\t\t\tvar index;\r\n\t\t\tvar values = [];\r\n\t\t\tif (!caseSensitive) {\r\n\t\t\t\tstr = str.toLowerCase();\r\n\t\t\t\tsearchStr = searchStr.toLowerCase();\r\n\t\t\t}\r\n\t\t\tindex = str.indexOf(searchStr, startIndex);\r\n\t\t\twhile (index > -1) {\r\n\t\t\t\tindices.push(index);\r\n\t\t\t\tstartIndex = index + searchStrLen;\r\n\t\t\t\tvalues.push(str.substring(index, startIndex));\r\n\t\t\t\tindex = str.indexOf(searchStr, startIndex);\r\n\t\t\t}\r\n\t\t\treturn indices;\r\n\t\t}\r\n\t\tgetHighlightText(filterRegex, retval) {\r\n\t\t\tvar vals = [];\r\n\t\t\tif (retval == null || retval === undefined) {\r\n\t\t\t\treturn vals;\r\n\t\t\t}\r\n\t\t\tif (filterRegex && filterRegex.source !== \"(?:)\" && String(retval).search(filterRegex) > -1) {\r\n\t\t\t\tvar indices = this.getIndicesOf(filterRegex.source.toLowerCase(), retval, false);\r\n\t\t\t\tvar start = 0;\r\n\t\t\t\tvar part = \"\";\r\n\r\n\t\t\t\tfor (var i = 0; i < indices.length; i++) {\r\n\t\t\t\t\tpart = retval.toString().substring(start, indices[i]);\r\n\t\t\t\t\tif (part !== \"\") {\r\n\t\t\t\t\t\tvals.push({\r\n\t\t\t\t\t\t\tvalue: part,\r\n\t\t\t\t\t\t\tmark: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpart = retval.toString().substring(indices[i], filterRegex.source.length + indices[i]);\r\n\t\t\t\t\tif (part !== \"\") {\r\n\t\t\t\t\t\tvals.push({\r\n\t\t\t\t\t\t\tvalue: part,\r\n\t\t\t\t\t\t\tmark: true\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tstart = indices[i] + filterRegex.source.length;\r\n\t\t\t\t}\r\n\t\t\t\tif (start < retval.length) {\r\n\t\t\t\t\tpart = retval.toString().substring(start, retval.length);\r\n\t\t\t\t\tif (part !== \"\") {\r\n\t\t\t\t\t\tvals.push({\r\n\t\t\t\t\t\t\tvalue: part,\r\n\t\t\t\t\t\t\tmark: false\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn vals;\r\n\t\t}\r\n\t\tprintArea(ref) {\r\n\t\t\tvar printArea = ReactDOM.findDOMNode(ref);\r\n\t\t\tvar printContainer = document.getElementById('printContainer');\r\n\t\t\tprintContainer.innerHTML = printArea.innerHTML;\r\n\t\t\twindow.print();\r\n\t\t\tprintContainer.innerHTML = \"\";\r\n\t\t}\r\n\t\tstringFromDate(date) {\r\n\t\t\tvar day = date.getDate(); // yields day\r\n\t\t\tvar month = date.getMonth(); // yields month\r\n\t\t\tvar year = date.getFullYear(); // yields year\r\n\t\t\t// var hour = date.getHours(); // yields hours\r\n\t\t\t// var minute = date.getMinutes(); // yields minutes\r\n\t\t\t// var second = date.getSeconds(); // yields seconds\r\n\r\n\t\t\t// After this construct a string with the above results as below\r\n\t\t\t//var stringDate = day + \"/\" + month + \"/\" + year + \" \" + hour + ':' + minute + ':' + second;\r\n\t\t\tvar stringDate = day + \"/\" + month + \"/\" + year;\r\n\t\t\treturn stringDate;\r\n\t\t}\r\n\t\tgroupBy(array, f) {\r\n\t\t\tvar groups = {};\r\n\t\t\tarray.forEach(function(o) {\r\n\t\t\t\tvar group = f(o);\r\n\t\t\t\tgroups[group] = groups[group] || [];\r\n\t\t\t\tgroups[group].push(o);\r\n\t\t\t});\r\n\t\t\treturn Object.keys(groups).map(function(group) {\r\n\t\t\t\treturn {\"GroupName\": group, expanded: true, GroupValues: groups[group]};\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetBase64ImageFromImgUrl(img) {\r\n\t\t\t// Create an empty canvas element\r\n\t\t\tvar canvas = document.createElement(\"canvas\");\r\n\t\t\tcanvas.width = img.width;\r\n\t\t\tcanvas.height = img.height;\r\n\r\n\t\t\t// Copy the image contents to the canvas\r\n\t\t\tvar ctx = canvas.getContext(\"2d\");\r\n\t\t\tctx.drawImage(img, 0, 0, img.width, img.height);\r\n\r\n\t\t\t// Get the data-URL formatted image\r\n\t\t\t//var dataURL = canvas.toDataURL(\"image/png\");\r\n\t\t\tvar dataURL = canvas.toDataURL(\"image/jpeg\", 1.0);\r\n\t\t\treturn dataURL;\r\n\t\t\t//dataURL.replace(/^data:image\\/(png|jpg);base64,/, \"\");\r\n\t\t}\r\n\t\t//NOTE: return the locatization string for display; if the object has a location key will be used\r\n\t\tlocalizeDisplay(object){\r\n\t\t\tif(object.localizationKey){\r\n\t\t\t\treturn i18n.t(object.localizationKey);\r\n\t\t\t}\r\n\t\t\tif(object.display){\r\n\t\t\t\treturn i18n.t(object.display);\r\n\t\t\t}\r\n\t\t\tif(object.Display){\r\n\t\t\t\treturn i18n.t(object.Display);\r\n\t\t\t}\r\n\t\t\tif(object.name){\r\n\t\t\t\treturn i18n.t(object.name);\r\n\t\t\t}\r\n\t\t\tif(object.Name){\r\n\t\t\t\treturn i18n.t(object.Name);\r\n\t\t\t}\r\n\t\t\treturn \"No display, no name...\";\r\n\t\t}\r\n\t\tstringFormat(format){\r\n\t\t\tvar args = Array.prototype.slice.call(arguments, 1);\r\n\t\t\treturn format.replace(/{(\\d+)}/g, function(match, number) {\r\n\t\t\t\treturn typeof args[number] !== 'undefined'\r\n\t\t\t\t? args[number]\r\n\t\t\t\t: match\r\n\t\t\t\t;\r\n\t\t\t});\r\n\t\t}\r\n\t\tcustomAttributesFactory(field){\r\n\t\t\tswitch (field.Type.EntryType) {\r\n\t\t\t\t\tcase customAttributeType.List:\r\n\t\t\t\t\t\treturn this.customAttributesField(field.Type.Identifier, field.Type.MaskType, field.Type.Identifier, \"select2\", field.Mandatory, field.Type.Mask, field.Type.List);\r\n\t\t\t\t\tcase customAttributeType.EditableList:\r\n\t\t\t\t\t\treturn this.customAttributesField(field.Type.Identifier, field.Type.MaskType, field.Type.Identifier, \"combobox\", field.Mandatory, field.Type.Mask, field.Type.List);\r\n\t\t\t\t\tcase customAttributeType.FreeFormat:\r\n\t\t\t\t\tcase customAttributeType.ExpiryDate:\r\n\t\t\t\t\t\treturn this.customAttributesField(field.Type.Identifier, field.Type.MaskType, field.Type.Identifier, \"text\", field.Mandatory, field.Type.Mask, undefined);\r\n\t\t\t\t\t// case customAttributeType.ExpiryDate:\r\n\t\t\t\t\t// \t//field.Value = field.Value === \"\" ? undefined : new Date(moment.unix(field.Value).format(field.Type.Mask));\r\n\t\t\t\t\t// \tfield.Value = field.Value === \"\" ? undefined : new Date(field.Value);\r\n\t\t\t\t\t// \treturn this.customAttributesField(field.Type.Identifier, field.Value, field.Type.Identifier, \"date\", field.Mandatory, field.Type.Mask, undefined);\r\n\t\t\t\t}\r\n\t\t}\r\n\t\tcustomAttributesFieldGenerator(name, maskType, display, type, mandatory, mask, list){\r\n\t\t\tvar field = {};\r\n\t\t\tfield.name = name;\r\n\t\t\tfield.originalName = name;\r\n\t\t\tfield.display = display;\r\n\t\t\tfield.type = type;\r\n\t\t\tfield.placeholder = \"Pick a value\";\r\n\r\n\t\t\tvar validation = [];\r\n\r\n\t\t\tif (mandatory) {\r\n\t\t\t\tvalidation.push(\"required\");\r\n\t\t\t}\r\n\t\t\tswitch (maskType) {\r\n\t\t\t\tcase customAttributeMaskType.Date:\r\n\t\t\t\t\tvalidation.push({\"name\": \"isDateInFormat\", \"value\": mask});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase customAttributeMaskType.Time:\r\n\t\t\t\t\tvalidation.push({\"name\": \"isTimeInFormat\", \"value\": mask});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase customAttributeMaskType.Custom:\r\n\t\t\t\t\tvalidation.push({\"name\": \"regexExpression\", \"value\": mask});\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase customAttributeMaskType.MaxLength:\r\n\t\t\t\t\tvalidation.push({'name': 'max_length', length: field.Type.Mask});\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tfield.validation = validation;\r\n\t\t\tfield.options = list !== undefined ? list : [];\r\n\t\t\treturn field;\r\n\t\t}\r\n\t\thasClass(element, cls) {\r\n\t\t\t\treturn (' ' + element.className + ' ').indexOf(' ' + cls + ' ') > -1;\r\n\t\t}\r\n\t\tremoveEmptySpace(value) {\r\n\t\t\t// return an empty string if the value is a space;\r\n\t\t\treturn /\\s/.test(value) ? \"\" : value;\r\n\t\t}\r\n\t\tunixToWindowsNewLine(stringValue) {\r\n\t\t\treturn stringValue.replace(/\\n/g, \"\\r\\n\");\r\n\t\t}\r\n\t\tpadWithZero(number, length) {\r\n\t var str = '' + number;\r\n\t while (str.length < length) {\r\n\t str = '0' + str;\r\n\t }\r\n\r\n\t return str;\r\n\t\t}\r\n\t\tsaveByteArray(data, name) {\r\n\t var a = document.createElement(\"a\");\r\n\t document.body.appendChild(a);\r\n\r\n\t\t\tvar decodedData = this.b64DecodeUnicode(data);\r\n\t a.style = \"display: none\";\r\n\t\t\tvar blob = new Blob([decodedData], {type: \"text/json\"}),\r\n\t url = window.URL.createObjectURL(blob);\r\n\t a.href = url;\r\n\t a.download = name;\r\n\t a.click();\r\n\t window.URL.revokeObjectURL(url);\r\n\r\n\t\t}\r\n\t\tb64DecodeUnicode(str) {\r\n\t // Going backwards: from bytestream, to percent-encoding, to original string.\r\n\t return decodeURIComponent(atob(str).split('').map(function(c) {\r\n\t return '%' + ('00' + c.charCodeAt(0).toString(16)).slice(-2);\r\n\t }).join(''));\r\n\t\t}\r\n\r\n\t\tisJSON(str){\r\n\t\t\ttry {\r\n\t\t\t\tvar decodedData = this.b64DecodeUnicode(str);\r\n JSON.parse(decodedData.replace(/^\\uFEFF/, ''));\r\n \t} catch (e) {\r\n return false;\r\n \t}\r\n \treturn true;\r\n\t\t}\r\n\t\tgetIDFromUri(uri) {\r\n\t\t\tconst splitted = uri.split(':');\r\n\t\t\tif (splitted.length > 0) {\r\n\t\t\t\treturn splitted[splitted.length - 1];\r\n\t\t\t}\r\n\t\t\treturn undefined;\r\n\t\t}\r\n\t\tgenerateCompanyQuery(companyUri) {\r\n\t\t\tconst queryOnlyCompany = {Query: {company: companyUri}};\r\n\t\t\treturn encodeURIComponent(JSON.stringify(queryOnlyCompany));\r\n\t\t}\r\n\t}\r\n\r\n\r\n\tmodule.exports = new Util();\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\r\n\tclass PersonsHandler{\r\n\t\tloadPersons(filter, sortBy, company){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\tquery.sort = sortBy.sortBy;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.query(query)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadDescriptor(){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.descriptor;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tsavePerson(person, company){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.post(url, person)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tupdatePerson(person, company){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.put(url, person)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tdeletePerson(uri){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.del(url)\r\n\t\t\t\t.query({uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetPersonByUri(uri){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {id: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetVisitingEscortByUri(uri) {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.visits.baseRoute + apiRoutes.visits.routes.visitingEscortDetails;\r\n\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetAccessTargets(filter, uri){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.accessTargets;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\tquery.limit = Consts.accessTargetLimit;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.withCredentials()\r\n\t\t\t\t.query(query)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tloadMoreAccessTargets(uri){\r\n\t\t\tconst url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.accessTargetsLoadMore;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.uri = uri;\r\n\t\t\treturn new Promise( resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.withCredentials()\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.query(query)\r\n\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetTimeCodes(filter){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.timeCodes;\r\n\t\t\tvar query = {};\r\n\t\t\tquery.filter = filter.filter;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.withCredentials()\r\n\t\t\t\t.query(query)\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetPersonPermissions(uri){\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.cardHolderPermissions;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent\r\n\t\t\t\t.get(url, {uri: uri})\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetAccessTargetDefinition({ $uri, Type }) {\r\n\t\t\tconst lastSegment = Type === 'AccessCode'\r\n\t\t\t\t? apiRoutes.cardHolders.routes.accessCodeDefinition\r\n\t\t\t\t: apiRoutes.cardHolders.routes.accessTargetDefinition\r\n\t\t\tconst url = config.apiRoot + apiRoutes.cardHolders.baseRoute + lastSegment;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t.get(url, {uri: $uri})\r\n\t\t\t\t.withCredentials()\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t\tgetBadgeFormatList() {\r\n\t\t\tvar url = config.apiRoot + apiRoutes.cardHolders.baseRoute + apiRoutes.cardHolders.routes.badgeFormatList;\r\n\t\t\treturn new Promise(resolve => {\r\n\t\t\t\tsuperagent.base\r\n\t\t\t\t.get(url)\r\n\t\t\t\t.withCredentials()\r\n\t\t\t\t.set(superagent.companyHeaderFor())\r\n\t\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tmodule.exports = new PersonsHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar AuthStore = require('__stores/AuthStore');\r\n\tmodule.exports = React.createClass({\r\n\t\tgetInitialState() {\r\n\t\t\treturn AuthStore.getState();\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tAuthStore.listen(this.onChangeAuthStore);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tAuthStore.unlisten(this.onChangeAuthStore);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar Component = this.props.componentClass || \"div\";\r\n\t\t\tif (this.state.IsUserAuthenticated === true) {\r\n\t\t\t\treturn ({this.props.children});\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},\r\n\t\tonChangeAuthStore(state) {\r\n\t\t\tthis.setState(state);\r\n\t\t}\r\n\t});\r\n})();\r\n","/*eslint no-undef:1*/\r\n\r\n(function(){\r\n'use strict';\r\nvar _ = require('lodash');\r\nvar FormField = require('./FormField');\r\nvar FormUtils = require('./FormUtils');\r\nvar React = require('react');\r\nvar Validation = require(\"__infrastructure/Validate\");\r\n\r\nvar FormFieldMixin = {\r\n\tcomponentWillReceiveProps(nextProps){\r\n\t\tvar {field} = nextProps;\r\n\t\tthis.setState({\r\n\t\t\tfield: this.buildParamsObject(field),\r\n\t\t\tvalue: field.value\r\n\t\t});\r\n\t},\r\n\tgetCurrentValue(){\r\n\t\treturn typeof this.getCustomCurrentValue === 'function' ? this.getCustomCurrentValue() : this.state.value;\r\n\t},\r\n\tgetCurrentField(){\r\n\t\treturn this.state.field;\r\n\t},\r\n\tgetInitialState() {\r\n\t\tvar {field} = this.props;\r\n\t\tvar updatedField = this.buildParamsObject(field);\r\n\t\tvar defaultModel = {field: updatedField, value: updatedField.value};\r\n\t\tif (typeof this.getAdditionalModelProperties === 'function') {\r\n\t\t\treturn _.extend(defaultModel, this.getAdditionalModelProperties());\r\n\t\t} else {\r\n\t\t\treturn defaultModel;\r\n\t\t}\r\n\t},\r\n\tgetContainerInnards(field){\r\n\t\tvar {children, handleFieldChange} = this.props;\r\n\t\treturn field.fields ? field.fields.map( subField => {\r\n\t\t\treturn ;\r\n\t\t}) : children;\r\n\t},\r\n\tgetParams(field){\r\n\t\tvar tmpId = field.id || field.name;\r\n\t\treturn {\r\n\t\t\tdisplayText: field.display || Validation._toTitleCase(field.name || ''),\r\n\t\t\tnoLegend: field.noLegend || false,\r\n\t\t\tid: tmpId ? FormUtils.toValidId(tmpId) : ''\r\n\t\t};\r\n\t},\r\n\tgetCheckGroupDefaultValue(field){\r\n\t\tvar defaultValue = field.default && Array.isArray(field.default) ? field.default : [];\r\n\t\treturn Array.isArray(field.value) ? field.value : defaultValue;\r\n\t},\r\n\tbuildParamsObject(field){\r\n\t\tvar params = this.getParams(field);\r\n\r\n\t\tif (field.value === null){\r\n\t\t\tfield.value = field.default;\r\n\t\t\tif (field.type === 'array_block'){\r\n\t\t\t\tfield.value = {};\r\n\t\t\t} else if (field.type === 'select' && field.multiple){\r\n\t\t\t\tfield.value = [];\r\n\t\t\t} else if (field.type === 'check_group'){\r\n\t\t\t\tfield.value = this.getCheckGroupDefaultValue(field);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn _.extend({}, field, params);\r\n\t},\r\n\tupdateFormField(field, value){\r\n\t\tvar {handleFieldChange} = this.props;\r\n\t\tthis.validateFormField(field, value);\r\n\r\n\t\t//allow us to use a passed in handler\r\n\t\t// handleFieldChange = handleFieldChange;\r\n\r\n\t\t//update the states\r\n\t\tthis.state.field = field;\r\n\t\tthis.state.value = value;\r\n\t\tthis.setState({\r\n\t\t\tfield: field,\r\n\t\t\tvalue: value\r\n\t\t});\r\n\r\n\t\t//if defined, call it. In a form this checks our conditionals\r\n\t\t//if (handleFieldChange && (!field.errors || field.errors.length === 0)){\r\n\t\tif (handleFieldChange){\r\n\t\t\thandleFieldChange(field, value);\r\n\t\t}\r\n\t\tif (field.onChange){\r\n\t\t\tfield.onChange(field, value);\r\n\t\t}\r\n\r\n\t},\r\n\tvalidateFormField(field, value) {\r\n\t\tvar retVal = FormUtils.validateFormField(field, value);\r\n\t\tif (!retVal) {\r\n\t\t\treturn retVal;\r\n\t\t}\r\n\r\n\t\tif (typeof this.getCustomFieldErrors === 'function') {\r\n\t\t\treturn this.getCustomFieldErrors() === 0;\r\n\t\t}\r\n\t\treturn retVal;\r\n\t}\r\n};\r\n\r\nmodule.exports = FormFieldMixin;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar _ = require('lodash');\r\nvar React = require('react');\r\nvar FormUtils = require('./FormUtils');\r\n\r\nfunction snakeToCamel(s){\r\n\treturn s.charAt(0).toUpperCase() + s.slice(1)\r\n\t.replace(/(\\_\\w)/g, function(m){\r\n\t\treturn m[1].toUpperCase();\r\n\t});\r\n}\r\n\r\nvar FormField = React.createClass({\r\n\tbuildField(field){\r\n\t\tvar FieldTemplate = null;\r\n\r\n\t\tif (typeof field.type === 'string'){\r\n\t\t\tvar type = field.type.toLowerCase();\r\n\r\n\t\t\t//check the field type and render accordingly\r\n\t\t\tvar typeObj = {\r\n\t\t\t\t'file': 'FileForm',\r\n\t\t\t\t'page': 'WizardPage',\r\n\t\t\t\t'date': 'DateTime',\r\n\t\t\t\t'datetime': 'DateTime',\r\n\t\t\t\t'time': 'DateTime',\r\n\t\t\t\t'color': 'Input',\r\n\t\t\t\t'email': 'Input',\r\n\t\t\t\t'hidden': 'Input',\r\n\t\t\t\t'month': 'Input',\r\n\t\t\t\t'number': 'Input',\r\n\t\t\t\t'password': 'Input',\r\n\t\t\t\t'range': 'Input',\r\n\t\t\t\t'search': 'Input',\r\n\t\t\t\t'text': 'Input',\r\n\t\t\t\t'tel': 'Input',\r\n\t\t\t\t'url': 'Input',\r\n\t\t\t\t'week': 'Input'\r\n\t\t\t};\r\n\t\t\tvar tpl = typeObj[type] || snakeToCamel(field.type);\r\n\t\t\tFieldTemplate = require(`./formfields/${tpl}`);\r\n\t\t} else {\r\n\t\t\tFieldTemplate = field.type;\r\n\t\t}\r\n\t\treturn ;\r\n\t},\r\n\t//tunnel to child component\r\n\tgetCurrentField(){\r\n\t\t//may not have a child ref (conditionals)\r\n\t\treturn this.refs.child ? this.refs.child.getCurrentField() : null;\r\n\t},\r\n\t//tunnel to child component\r\n\tgetCurrentValue(){\r\n\t\treturn this.refs.child.getCurrentValue();\r\n\t},\r\n\t//tunnel to child component\r\n\tvalidateFormField(field, val){\r\n\t\treturn this.refs.child.validateFormField(field, val);\r\n\t},\r\n\trender() {\r\n\t\tvar {field} = this.props;\r\n\t\tif (field.hidden){\r\n\t\t\treturn
    ;\r\n\t\t} else {\r\n\t\t\tfield = _.extend({}, FormUtils.checkFieldIsValid(field));\r\n\t\t\treturn this.buildField(field);\r\n\t\t}\r\n\t}\r\n});\r\n\r\nmodule.exports = FormField;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar _ = require('lodash');\r\nvar React = require('react');\r\nvar DateTimePicker = require('__infrastructure/react-datetime');\r\nvar FieldWrapper = require('./FieldWrapper');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\nvar G4SInput = require('./Input');\r\nvar MessageActions = require('__containers/Notifications/actions').default;\r\nconst consts = require('__infrastructure/Consts');\r\nvar dateHelper = require('__infrastructure/dateHelper');\r\nconst is = require('is_js');\r\nconst { merge } = require('ramda');\r\n\r\nvar G4SDateTime = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\tonBlur() {\r\n\t\tvar {field, value} = this.state;\r\n\t\tif (value !== field.value) {\r\n\t\t\tthis.updateFormField(field, value);\r\n\t\t}\r\n\t},\r\n\tkeyPressHandler(e) {\r\n\t\tif (e.keyCode === 13 && this.picker.state.open) {\r\n\t\t\tthis.onBlur();\r\n\t\t}\r\n\t},\r\n\tcomponentDidUpdate() {\r\n\t\tdocument.addEventListener('keypress', this.keyPressHandler);\r\n\t},\r\n\tcomponentWillUnmount() {\r\n\t\tdocument.removeEventListener('keypress', this.keyPressHandler);\r\n\t},\r\n\tprocessChange(value){\r\n\t\tconst {field} = this.state;\r\n\t\tlet currentValue = value;\r\n\t\tconst defaultTime = this.props.field.defaultTime;\r\n\t\tif (dateHelper.isValid(currentValue) && !this.state.value && defaultTime) {\r\n\t\t\tcurrentValue.set('hours', defaultTime.hour);\r\n\t\t\tcurrentValue.set('minutes', defaultTime.minute);\r\n\t\t}\r\n\t\tcurrentValue = dateHelper.isInFormat(value, field.type) && dateHelper.parseValue(value)\r\n\t\t\t? dateHelper.format(value, field.type)\r\n\t\t\t: !dateHelper.isInFormat(value, field.type) && value;\r\n\t\tthis.setState({value: currentValue, changed: true});\r\n\t},\r\n\tprocessChangeOnTouch(value) {\r\n\t\tthis.processChange(value);\r\n\t\tthis.updateFormField(this.state.field, this.state.value);\r\n\t},\r\n\tisValidDate(current) {\r\n\t\tvar { field: { min, max = consts.CDateMax } } = this.state;\r\n\t\tif (min && max) {\r\n\t\t\treturn current.isAfter(dateHelper.toMomentObject(min).subtract(1, 'days')) && current.isBefore(dateHelper.toMomentObject(max));\r\n\t\t}\r\n\t\tif (min) {\r\n\t\t\treturn current.isAfter(dateHelper.toMomentObject(min).subtract(1, 'days'));\r\n\t\t}\r\n\t\tif (max) {\r\n\t\t\tcurrent.isBefore(dateHelper.toMomentObject(max));\r\n\t\t}\r\n\t\treturn true;\r\n\t},\r\n\trender() {\r\n\t\tvar field = this.state.field;\r\n\r\n\t\tvar showTime = true;\r\n\t\tvar showCalendar = true;\r\n\r\n\t\tswitch(field.type){\r\n\t\t\tcase 'date':\r\n\t\t\t\tshowTime = false;\r\n\t\t\tbreak;\r\n\t\t\tcase 'time':\r\n\t\t\t\tshowCalendar = false;\r\n\t\t\t\tbreak;\r\n\t\t\tcase 'datetime':\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t\tvar dateTimeOpts = _.pick(field, ['min', 'max', 'onSelect', 'format', 'editFormat', 'timeFormat', 'step', 'parse', 'initalView', 'finalView', 'open', 'onToggle', 'duration', 'isRtl', 'messages', 'disabled', 'readOnly']);\r\n\t\tdateTimeOpts = dateTimeOpts.readOnly ? merge(dateTimeOpts, {disabled: true}) : dateTimeOpts\r\n\r\n\t\tconst { value, changed } = this.state;\r\n\r\n\t\t// defautl to native HTML5 control for touch screen\r\n\t\t// if (is.touchDevice()) {\r\n\t\t// \treturn (\r\n\t\t// \t\t\r\n\t\t// \t\t\t\r\n\t\t// \t\t\r\n\t\t// \t);\r\n\t\t// } else {\r\n\t\t\tlet currentValue = value;\r\n\t\t\tif (!changed) {\r\n\t\t\t\tcurrentValue = dateHelper.isValid(value, field.type) && dateHelper.parseValue(value)\r\n\t\t\t\t? dateHelper.format(value, field.type)\r\n\t\t\t\t: value;\r\n\t\t\t}\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t
    {this.pickerContainer = elem}}>\r\n\t\t\t\t\t\t {this.picker = elem}}\r\n\t\t\t\t\t\t\tdisabled={field.readOnly}\r\n\t\t\t\t\t\t\tvalue={currentValue}\r\n\t\t\t\t\t\t\tdefaultValue={currentValue}\r\n\t\t\t\t\t\t\tonChange={this.processChange}\r\n\t\t\t\t\t\t\ttimeFormat={showTime && dateHelper.getFormat(field.type).time}\r\n\t\t\t\t\t\t\tinputProps={dateTimeOpts}\r\n\t\t\t\t\t\t\tisValidDate={this.isValidDate}\r\n\t\t\t\t\t\t\tdateFormat={showCalendar && dateHelper.getFormat(field.type).date}\r\n\t\t\t\t\t\t\tlocale={dateHelper.getLocale()}\r\n\t\t\t\t\t\t/>\r\n\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t}\r\n});\r\n\r\nmodule.exports = G4SDateTime;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\r\n\tclass CompaniesActions {\r\n\t\tconstructor() {\r\n\t\t\tthis.generateActions('initStore');\r\n\t\t\tthis.generateActions('loadCompanies');\r\n\t\t\tthis.generateActions('selectCompany');\r\n\t\t}\r\n\t}\r\n\r\n\tclass CompaniesActionsCreator {\r\n\t\tconstructor() {\r\n\t\t\tvar actions = alt.createActions(CompaniesActions);\r\n\t\t\t_.assign(this, actions);\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new CompaniesActionsCreator();\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\n\r\nmodule.exports = React.createClass({\r\n\tgetDefaultProps(){\r\n\t\treturn {\r\n\t\t\trenderFullScreen: true,\r\n\t\t\tisImpact: false\r\n\t\t};\r\n\t},\r\n\trender() {\r\n\t\tvar {msg, renderFullScreen, isImpact} = this.props;\r\n\t\tvar type = isImpact ? \"Impact\" : \"Simple\";\r\n\t\tvar loadingClass = (renderFullScreen ? 'LoadingScreen__' : 'LoadingComponent__' ) + type;\r\n\t\tmsg = msg || \"\";\r\n\r\n return (\r\n\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t\t{msg ? {msg} : \"\"}\r\n\t\t\t
    \r\n );\r\n\t}\r\n});\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar alt = require('__base/alt');\r\n\tvar _ = require('lodash');\r\n\r\n\tclass StatisticsActions {\r\n\t\tconstructor() {\r\n\t\t}\r\n\t\tloadData(){\r\n\t\t\tsetTimeout(() => this.dispatch(), 0);\r\n\t\t}\r\n\t\tloadSuccessfully(statistics){\r\n\t\t\tsetTimeout(() => this.dispatch(statistics), 0);\r\n\t\t}\r\n\t\tloadFailed(){\r\n\t\t\tsetTimeout(() => this.dispatch(), 0);\r\n\t\t}\r\n\t\tloadFailedNetworkDown(){\r\n\t\t\tsetTimeout(() => this.dispatch(), 0);\r\n\t\t}\r\n\t\tupdateData(data){\r\n\t\t\tsetTimeout(() => this.dispatch(data), 0);\r\n\t\t}\r\n\t}\r\n\tclass StatisticsActionsCreator {\r\n\t\tconstructor() {\r\n\t\t\tvar actions = alt.createActions(StatisticsActions);\r\n\t\t\t_.assign(this, actions);\r\n\t\t}\r\n\t}\r\n\tmodule.exports = new StatisticsActionsCreator();\r\n})();\r\n","(function(){\r\n\t'use strict';\r\n\tvar Promise = require('es6-promise').Promise;\r\n\tvar superagent = require('__infrastructure/Superagent-wrapper');\r\n\tvar apiRoutes = require('__infrastructure/ApiRoutes');\r\n\tvar config = require('__src/Configuration');\r\n\tvar LongRunOperationActions = require('__actions/LongRunOperationActions');\r\n\tvar AuthActions = require('__actions/AuthActions');\r\n\r\n\tclass AuthHandler{\r\n\t//make this call only to check if user is authenticated; use authSuperagent to get the header properly set\r\n\tdummyCall(){\r\n\t\tvar url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.dummy;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\t//NOTE: call superagent without interceptor\r\n\t\t\tsuperagent.base\r\n\t\t\t.get(url)\r\n\t\t\t.withCredentials()\r\n\t\t\t.end((err, res) =>{\r\n\t\t\t\t// Calling the end function will send the request\r\n\t\t\t\tif(err){\r\n\t\t\t\t\tresolve({authenticated: false});\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tresolve({\r\n\t\t\t\t\t\tauthenticated: true,\r\n\t\t\t\t\t\tallowedSegments: res.body.allowedSegments,\r\n\t\t\t\t\t\tsystemDetails: res.body.systemDetails,\r\n\t\t\t\t\t\tconnectionDetails: res.body.connectionDetails,\r\n\t\t\t\t\t\tuserProfile: res.body.userProfile});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t}\r\n\tlogInUser(userName, pwd, apiAddress){\r\n\t\tvar url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.login;\r\n\t\t// LongRunOperationActions.operationStart();\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.post(url)\r\n\t\t\t.send({ Username: userName, Password: pwd, ApiAddress: apiAddress})\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tlogout(){\r\n\t\tvar url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.logout;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent\r\n\t\t\t.get(url)\r\n\t\t\t.end((err, res) => superagent.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\textendSession(){\r\n\t\tvar url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.extendSession;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent.base\r\n\t\t\t.get(url)\r\n\t\t\t.withCredentials()\r\n\t\t\t.end((err, res) =>{\r\n\t\t\t\tif ((res && res.status === 401) || (err && err.status === 401)) {\r\n\t\t\t\t\t// triggered session expired\r\n\t\t\t\t\tAuthActions.sessionExpired();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t//.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tunregisterClient() {\r\n\t var url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.unregisterClient;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\tsuperagent.base\r\n\t\t\t.get(url)\r\n\t\t\t.withCredentials()\r\n\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n\tcheckApiStatus(){\r\n\t\tvar url = config.apiRoot + apiRoutes.auth.baseRoute + apiRoutes.auth.routes.registered;\r\n\t\treturn new Promise( resolve => {\r\n\t\t\t//NOTE: call superagent without interceptor\r\n\t\t\tsuperagent.base\r\n\t\t\t.get(url)\r\n\t\t\t.withCredentials()\r\n\t\t\t.end((err, res) => superagent.base.onEnd(resolve, err, res));\r\n\t\t});\r\n\t}\r\n}\r\n\r\nmodule.exports = new AuthHandler();\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar _ = require('lodash');\r\n\tvar React = require('react');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar QueryMultiviewMixin = require('__components/common/QueryMultiviewMixin');\r\n\tvar reactBootstrap = require('react-bootstrap');\r\n\tvar Input = reactBootstrap.Input;\r\n\tvar i18n = require('i18next-client');\r\n\tvar ScreensUtils = require('__components/common/ScreensUtils');\r\n\tconst R = require('ramda');\r\n\tvar { debounce } = require('lodash');\r\n\r\n\tvar Table = React.createClass({\r\n\t\tmixins: [QueryMultiviewMixin],\r\n\t\tgetDefaultProps() {\r\n\t\t\treturn {\r\n\t\t\t\tRowType: require('./TableRow'),\r\n\t\t\t\ttableSorting: false,\r\n\t\t\t\ttableGroupColumn: null,\r\n\t\t\t\tgroupedRows: [],\r\n\t\t\t\ttableHeightRatio: 1\r\n\t\t\t};\r\n\t\t},\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tquickFilter: {\r\n\t\t\t\t\ttoggle: false,\r\n\t\t\t\t\tcolumn: {}\r\n\t\t\t\t},\r\n\t\t\t\texpandedGroups: {}\r\n\t\t\t};\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tthis.scrollContainer.style.direction = this.scrollContainer.clientWidth > window.innerWidth ? 'rtl' : 'ltr';\r\n\t\t\tthis.theadPlaceholder.addEventListener(\r\n \"scroll\",\r\n () => {\r\n\t\t\t\t\tconst scrollX = this.theadPlaceholder.scrollLeft;\r\n\t\t\t\t\tconst tableWidth = this.scrollContainer.clientWidth;\r\n\t\t\t\t\tconst containerWidth = this.theadPlaceholder.clientWidth;\r\n\t\t\t\t\tconst ratio = (tableWidth - containerWidth) / 2;\r\n\t\t\t\t\tthis.scrollContainer.style.direction = (scrollX < ratio) ? 'rtl' : 'ltr';\r\n\t\t\t\t}\r\n );\r\n\t\t\tif (!this.props.tableMaxHeight && this.props.hasFullHeight) {\r\n\t\t\t\twindow.addEventListener(\r\n\t\t\t\t\t'resize',\r\n\t\t\t\t\t({ target }) => {\r\n\t\t\t\t\t\tif (this.scrollContainer) {\r\n\t\t\t\t\t\t\tthis.scrollContainer.style.direction = this.scrollContainer.clientWidth > window.innerWidth ? 'rtl' : 'ltr';\r\n\t\t\t\t\t\t\tthis.scrollContainer.style.height = `${(target.innerHeight - 255) * this.props.tableHeightRatio}px`;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcomponentDidUpdate() {\r\n\t\t\tthis.scrollContainer.style.direction = this.scrollContainer.clientWidth > window.innerWidth ? 'rtl' : 'ltr';\r\n\t\t},\r\n\t\t// componentWillUnmount() {\r\n\t\t// \tthis.theadPlaceholder.removeEventListener(\"scroll\", this);\r\n\t\t// \twindow.removeEventListener(\"resize\", this);\r\n\t\t// },\r\n\r\n\t\tonChangeHeaderFilter(all, event) {\r\n\t\t\tif (all === true) {\r\n\t\t\t\t//TODO:\r\n\t\t\t}\r\n\t\t\t//event.preventDefault();\r\n\t\t\tvar value = event.target.value;\r\n\t\t\tvar columnName = this.props.filterByApiName ? this.state.quickFilter.column.ApiFilterName : this.state.quickFilter.column.name;\r\n\t\t\tif (this.props.clientSortAndFilter) {\r\n\t\t\t\tthis.props.onChangeQuickFilter({field: columnName, value: value});\r\n\t\t\t} else {\r\n\t\t\t\tthis.props.onChangeQuickFilterServerDataHandler({field: columnName, value: value});\r\n\t\t\t}\r\n\r\n\r\n\t\t},\r\n\t\trenderSelectHead() {\r\n\t\t\tvar {clientSelector} = this.props;\r\n\t\t\tif (!clientSelector) {\r\n\t\t\t\treturn undefined;\r\n\t\t\t}\r\n\t\t\tif (!clientSelector.multiselectEnabled) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tvar {selectPage, pageSelected, oneSelected} = clientSelector;\r\n\t\t\tvar square = pageSelected\r\n\t\t\t\t? \"fa fa-check-square-o\"\r\n\t\t\t\t: (oneSelected\r\n\t\t\t\t\t? \"fa fa-minus-square-o\"\r\n\t\t\t\t\t: \"fa fa-square-o\");\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\trenderFilterHead(column) {\r\n\t\t\tvar {quickFilterData, clientSortAndFilter} = this.props;\r\n\t\t\tvar {quickFilter} = this.state;\r\n\t\t\tif (quickFilter.toggle && quickFilter.column.name === column.name) {\r\n\t\t\t\tconst placeholder = Util.localizeDisplay(quickFilter.column)\r\n\t\t\t\tconst containsBigLetters = R.anyPass([\r\n\t\t R.contains('w'),\r\n\t\t R.contains('W'),\r\n\t\t R.contains('m'),\r\n\t\t R.contains('M'),\r\n\t\t R.contains('h'),\r\n\t\t R.contains('H'),\r\n\t\t\t\t]);\r\n\t\t\t\tconst containsSmallLetters = R.anyPass([\r\n\t\t\t\t\tR.contains('l'),\r\n\t\t\t\t\tR.contains('i'),\r\n\t\t\t\t\tR.contains('I'),\r\n\t\t\t\t\tR.contains('t'),\r\n\t\t\t\t]);\r\n\t\t\t\tconst calculateInputWidth = (string) => R.compose(\r\n\t\t\t\t\t\tR.add(\r\n\t\t\t\t\t\t\tR.filter(containsBigLetters, string).length * 14 + 7\r\n\t\t\t\t\t\t),\r\n\t\t\t\t\t\tR.add(\r\n\t\t\t\t\t\t\tR.filter(containsSmallLetters, string).length * 5.66\r\n\t\t\t\t\t\t),\r\n\t\t\t\t R.multiply(7),\r\n\t\t\t\t \t\tR.length,\r\n\t\t\t\t \t\tR.reject(containsBigLetters),\r\n\t\t\t\t \t\tR.reject(containsSmallLetters)\r\n\t\t\t\t)(string)\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tvar filterSet = quickFilterData.hasOwnProperty(this.props.filterByApiName ? column.ApiFilterName : column.name)\r\n\t\t\t\t? \r\n\t\t\t\t: \"\";\r\n\t\t\treturn (\r\n\t\t\t\t!clientSortAndFilter && !column.filter ?\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{filterSet}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{Util.localizeDisplay(column)}\r\n\t\t\t\t\t :\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{filterSet}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{Util.localizeDisplay(column)}\r\n\t\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\trenderSortHead(column) {\r\n\t\t\tvar {quickFilter} = this.state;\r\n\t\t\tvar {onChangeSort, sortData} = this.props;\r\n\t\t\tif (quickFilter.toggle && quickFilter.column.name === column.name) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\tvar found = _.find(sortData, (s) => {\r\n\t\t\t\treturn s.field === column.name;\r\n\t\t\t});\r\n\t\t\tvar className = \"fa fa-sort\";\r\n\t\t\tvar clear = null;\r\n\t\t\tvar index = 0;\r\n\t\t\tif (found) {\r\n\t\t\t\tif (found.value === \"ASC\") {\r\n\t\t\t\t\tclassName = \"fa fa-arrow-up\";\r\n\t\t\t\t} else {\r\n\t\t\t\t\tclassName = \"fa fa-arrow-down\";\r\n\t\t\t\t}\r\n\t\t\t\tclear = ;\r\n\t\t\t\tindex = _.indexOf(sortData, found);\r\n\t\t\t}\r\n\t\t\tindex += 1;\r\n\t\t\tvar aas = [];\r\n\t\t\twhile (index--) {\r\n\t\t\t\taas.push(\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\taas.push(clear);\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{aas}\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\trenderHead(column) {\r\n\t\t\tif (column.field_type && column.field_type === Consts.fieldTypes.image) {\r\n\t\t\t\treturn \r\n\t\t\t\t\t\t\t\t
    \r\n\t\t\t\t\t\t\t;\r\n\t\t\t}\r\n\t\t\tif (column.field_type && column.field_type === Consts.fieldTypes.color) {\r\n\t\t\t\treturn \r\n\t\t\t\t\t
    \r\n\t\t\t\t;\r\n\t\t\t}\r\n\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t{Util.localizeDisplay(column)}\r\n\t\t\t\t\t{this.props.tableSorting === true ?\r\n\t\t\t\t\t
    {this.renderFilterHead(column)} {this.renderSortHead(column)}
    :\r\n\t\t\t\t\t
    {this.renderFilterHead(column)}
    \r\n\t\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t},\r\n\t\trenderTableBody() {\r\n\t\t\tvar { tableGroupColumn, rows } = this.props;\r\n\t\t\tif (tableGroupColumn) {\r\n\t\t\t\treturn this.renderGroupedRows(tableGroupColumn);\r\n\t\t\t} else {\r\n\t\t\t\treturn rows.map(this.getDetailsRows);\r\n\t\t\t}\r\n\t\t},\r\n\t\trenderLoadingData() {\r\n\t\t\tvar { loadingData } = this.props;\r\n\t\t\tif (loadingData) {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{i18n.t(\"CommonForm.PleaseWait\")}\r\n\t\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t},\r\n\t\trenderGroupedRows(groupBy) {\r\n\t\t\tvar { rows, columns } = this.props;\r\n\t\t\tvar expandedGroups = this.state.expandedGroups;\r\n\t\t\t//TODO: chaneg no group with id\r\n\t\t\tif (groupBy === \"No group\") {\r\n\t\t\t\treturn rows.map(this.getDetailsRows);\r\n\t\t\t}\r\n\t\t\tvar groups = [];\r\n\t\t\tvar finder = (groupTitle) => {\r\n\t\t\t\tvar found = _.find(groups, (g) => {\r\n\t\t\t\t\treturn g.title === groupTitle;\r\n\t\t\t\t});\r\n\t\t\t\treturn found;\r\n\t\t\t};\r\n\t\t\tfor (var i = 0; i <= rows.length; i++) {\r\n\t\t\t\tif (rows[i]) {\r\n\t\t\t\t\tvar groupTitle = ScreensUtils.getNestedProperty(rows[i],groupBy);\r\n\t\t\t\t\tif (!_.has(expandedGroups, groupTitle)) {\r\n\t\t\t\t\t\texpandedGroups[groupTitle] = true;\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\tvar group = finder(groupTitle);\r\n\t\t\t\t\tif (group) {\r\n\t\t\t\t\t\tgroup.rows = group.rows || [];\r\n\t\t\t\t\t\tgroup.rows.push(rows[i]);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tgroup = {\r\n\t\t\t\t\t\t\ttitle: groupTitle,\r\n\t\t\t\t\t\t\texpanded: expandedGroups[groupTitle],\r\n\t\t\t\t\t\t\trows: [rows[i]]\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tgroups.push(group);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar toRet = [];\r\n\t\t\tvar groupByColumnObject = _.find(columns, function(c) {\r\n\t\t\t\treturn c.name === groupBy;\r\n\t\t\t});\r\n\t\t\t_.map(groups, (g) => {\r\n\t\t\t\ttoRet.push(\r\n\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t{i18n.t(\"Groupedby\")} {Util.localizeDisplay(groupByColumnObject)}:\r\n\t\t\t\t\t\t\t{groupByColumnObject.field_type === Consts.fieldTypes.image ? \r\n\t\t\t\t\t\t\t: {g.title}}\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t);\r\n\t\t\t\tif (g.expanded) {\r\n\t\t\t\t\ttoRet.push(_.map(g.rows, this.getDetailsRows));\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn toRet;\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar { columns, tableFilter, rows, loadingData, tableHeightRatio, fixedMaxHeight, viewIsNotConfigured, hasFullHeight, noDataText } = this.props;\r\n\t\t\tconst tableMaxHeight = fixedMaxHeight ? fixedMaxHeight : (window.innerHeight - 255) * tableHeightRatio;\r\n\t\t\tconst tableCss = hasFullHeight ? { height: tableMaxHeight } : { minHeight: '70px' };\r\n\t\t\tvar renderRows = rows && rows.length > 0 && columns.length > 0;\r\n\t\t\tif (tableFilter) {\r\n\t\t\t\ttableFilter = (\r\n\t\t\t\t\t
    \r\n\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\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\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\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\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tvar tableHeader = (\r\n\t\t\t\t\r\n\t\t\t\t\t{(columns.length > 0) && this.props.clientSelection ? this.renderSelectHead() : null}\r\n\t\t\t\t\t{columns.map( column => this.renderHead(column)\r\n\t\t\t\t\t\t//if the column is imageColumn don't add header\r\n\t\t\t\t\t\t// if (column.field_type && column.field_type === Consts.fieldTypes.image) {\r\n\t\t\t\t\t\t// return\r\n\t\t\t\t\t\t// ;\r\n\t\t\t\t\t\t// }\r\n\t\t\t\t\t)\r\n }\r\n \r\n\t\t\t);\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t{tableFilter}\r\n\t\t\t\t\t\t
    { this.theadPlaceholder = theadPlaceholder; }}>\r\n\t\t\t\t\t\t
    { this.scrollContainer = scrollContainer; }} style={tableCss} className=\"table-fixed-container\">\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{tableHeader}\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\t\t{(renderRows && !loadingData)\r\n\t\t\t\t\t\t\t\t\t\t\t? this.renderTableBody()\r\n\t\t\t\t\t\t\t\t\t\t\t: ''}\r\n\t\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\t{(!renderRows && !loadingData && columns.length > 0 && !viewIsNotConfigured)\r\n\t\t\t\t\t\t\t\t? this.renderNoRows(noDataText)\r\n\t\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\t{viewIsNotConfigured && !loadingData\r\n\t\t\t\t\t\t\t\t? this.renderviewIsNotConfigured()\r\n\t\t\t\t\t\t\t\t: null}\r\n\t\t\t\t\t\t\t{this.renderLoadingData()}\r\n\t\t\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\trenderNoRows(noDataText) {\r\n\t\t\treturn (\r\n\t\t\t\t
    {this.props.showNetworkError? i18n.t(\"CommonForm.NoRecordsNetworkError\") : noDataText ? noDataText : i18n.t(\"CommonForm.NoRecords\")}
    \r\n\t\t\t);\r\n\t\t},\r\n\t\trenderviewIsNotConfigured() {\r\n\t\t\treturn (\r\n\t\t\t\t
    {i18n.t(\"CommonForm.ConfigureView\")}
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tgetDetailsRows(row, index) {\r\n\t\t\tvar {RowType, columns} = this.props;\r\n\t\t\tvar isDetail = _.find(columns, function(col) {\r\n\t\t\t\treturn col.field_type === Consts.fieldTypes.details;\r\n\t\t\t});\r\n\t\t\tvar rows = [];\r\n\t\t\tvar normalRow = ;\r\n\t\t\trows.push(normalRow);\r\n\t\t\tif (isDetail && row.Details.length > 0) {\r\n\t\t\t\tvar detailsRow = \r\n\t\t\t\t\t\r\n\t\t\t\t\t\t{row.Details.map((detail, i) =>
    \r\n\t\t\t\t\t\t\t{Object.getOwnPropertyNames(detail).map((item, idx) => {\r\n\t\t\t\t\t\t\t\treturn
    \r\n\t\t\t\t\t\t\t\t\t{idx === 0\r\n\t\t\t\t\t\t\t\t\t\t? {i18n.t(\"G4S.SymmetryWeb.ClientModel.Audit.Generic.\" + item)}\r\n\t\t\t\t\t\t\t\t\t\t: i18n.t(item)}\r\n\t\t\t\t\t\t\t\t\t: {i18n.t(detail[item])}\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\t\t\t\t\r\n\t\t\t\t;\r\n\t\t\t\tif (row.expanded) {\r\n\t\t\t\t\trows.push(detailsRow);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn rows;\r\n\t\t},\r\n\t\ttoggleGroup(group) {\r\n\t\t\tvar expandedGroups = this.state.expandedGroups || {};\r\n\t\t\tif (_.has(expandedGroups, group.title)) {\r\n\t\t\t\texpandedGroups[group.title] = !expandedGroups[group.title];\r\n\t\t\t} else {\r\n\t\t\t\texpandedGroups[group.title] = true;\r\n\t\t\t}\r\n\t\t\tthis.setState({expandedGroups: expandedGroups});\r\n\t\t},\r\n\t\ttoggleDetailsRow(row) {\r\n\t\t\trow.expanded = !row.expanded;\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\ttoggleQuickFilter(column) {\r\n\t\t\tthis.state.quickFilter.toggle = true;\r\n\t\t\tthis.state.quickFilter.column = column;\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tquickFilterExit() {\r\n\t\t\tthis.state.quickFilter.toggle = false;\r\n\t\t\tthis.setState({});\r\n\t\t},\r\n\t\tclearQuickFilter(column) {\r\n\t\t\tthis.state.quickFilter.column = null;\r\n\t\t\tif (this.props.clientSortAndFilter) {\r\n\t\t\t\treturn this.props.onChangeQuickFilter({field: column.name});\r\n\t\t\t}\r\n\t\t\treturn this.props.onChangeQuickFilterServerDataHandler({field: this.props.filterByApiName ? column.ApiFilterName : column.name});\r\n\t\t\tthis.setState({});\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = Table;\r\n})();\r\n","(function(){\r\n'use strict';\r\nvar superagent = require('superagent');\r\nvar consts = require('./Consts');\r\nvar superAgentWrapper = {};\r\nvar MessageActions = require('__containers/Notifications/actions').default;\r\nvar LongRunOperationActions = require('__actions/LongRunOperationActions');\r\nvar AuthActions = require('__actions/AuthActions');\r\nvar config = require('__src/Configuration.js');\r\nvar errorHandler = config.appErrorHandler;\r\n\r\nvar formatCSharpException = function formatCSharpException(body) {\r\n var type = Object.prototype.toString.call(body);\r\n if (type === \"[object Object]\") {\r\n if (body.hasOwnProperty(\"ExceptionMessage\")) {\r\n return body.ExceptionMessage;\r\n } else {\r\n return body.error || JSON.stringify(body);\r\n }\r\n } else {\r\n return body;\r\n }\r\n};\r\n\r\nvar onError = function onError(err, res) {\r\n errorHandler(err);\r\n if(err.crossDomain === true){\r\n //NOTE: this will raised when connection will be lost or the server is down.\r\n MessageActions.addNotification({type: 'connection-lost', message: \"messages.connectionLost\"});\r\n } else{\r\n var msg = res.body ? formatCSharpException(res.body) : err.message;\r\n if (err) {\r\n if (err.status == 502) {\r\n MessageActions.addNotification({ type: 'error', message: \"signalrError\" });\r\n } else if (err.status == 404) {\r\n MessageActions.addNotification({ type: 'error', message: \"RecordDoesNotExists\" });\r\n } else {\r\n MessageActions.addNotification({ type: 'error', message: msg });\r\n }\r\n } else {\r\n MessageActions.addNotification({ type: 'error', message: msg });\r\n }\r\n }\r\n};\r\n\r\nvar interceptor = require('superagent-intercept')((err, res) => {\r\n //session expired\r\n if ((res && res.status === 401) || (err && err.status === 401)) {\r\n // triggered session expired\r\n AuthActions.sessionExpired();\r\n } else if (err && err.status !== 401) {\r\n onError(err, res);\r\n //NOTE: do not reset connection lost\r\n return;\r\n }\r\n MessageActions.resetConnectionLost();\r\n});\r\n\r\n//NOTE: .set({\"Authorization\": \"Bearer \" + AuthStore.state.Token}) not needed anymore since the authentication is cookie based\r\nsuperAgentWrapper.get = function (url, data, fn) {\r\n return superagent.get(url, data, fn).use(interceptor).withCredentials();\r\n};\r\n\r\nsuperAgentWrapper.post = function (url, data, fn) {\r\n LongRunOperationActions.operationStart();\r\n return superagent.post(url, data, fn).set('Content-Type', 'application/json').withCredentials().use(interceptor);\r\n};\r\n\r\nsuperAgentWrapper.put = function (url, data, fn) {\r\n LongRunOperationActions.operationStart();\r\n return superagent.put(url, data, fn).set('Content-Type', 'application/json').use(interceptor).withCredentials();\r\n};\r\n\r\nsuperAgentWrapper.del = function (url, data, fn) {\r\n return superagent.del(url, data, fn).use(interceptor).withCredentials();\r\n};\r\n\r\nsuperAgentWrapper.onEnd = function(resolve, err, res){\r\n LongRunOperationActions.operationFinish();\r\n if (err) {\r\n var msg = res && res.body ? formatCSharpException(res.body) : err && err.message;\r\n resolve({successful: false, status: msg, statusCode: err.status});\r\n } else {\r\n resolve({successful: true, payload: res.body});\r\n }\r\n};\r\nsuperAgentWrapper.companyHeaderFor = function(company){\r\n if(company === undefined || company === null){\r\n var CompaniesStore = require('__stores/CompaniesStore');\r\n company = CompaniesStore.state.selectedCompany.Description || '';\r\n }\r\n return {'company': company};\r\n};\r\nsuperAgentWrapper.base = superagent;\r\nsuperAgentWrapper.base.onEnd = function(resolve, err, res){\r\n if (err) {\r\n var msg = res.body ? err.message + \":\" + formatCSharpException(res.body) : err.message;\r\n if (err && err.status == 502) {\r\n MessageActions.addNotification({type: 'error', message: \"signalrError\"});\r\n }\r\n resolve({successful: false, status: msg});\r\n } else {\r\n resolve({ successful: true, payload: res.body, reqUrl: res.req.url });\r\n }\r\n};\r\nmodule.exports = superAgentWrapper;\r\n})();\r\n","import React from 'react';\r\nimport i18n from 'i18next-client';\r\nimport { isEmpty } from 'ramda';\r\nimport autoBind from 'react-autobind';\r\nimport { getAppearance } from './assignmentScreen';\r\n\r\nconst colorStyle = { color: '#067D8B' };\r\n\r\nclass Details extends React.Component {\r\n constructor(props) {\r\n super(props);\r\n autoBind(this);\r\n }\r\n\r\n shouldComponentUpdate(nextProps) {\r\n return nextProps.shouldUpdate === true;\r\n }\r\n\r\n renderAccessTargetsDetails(detailsItem) {\r\n if (!detailsItem) return null;\r\n if (!detailsItem.Details) {\r\n return (
    );\r\n }\r\n return (\r\n
  • \r\n
      \r\n { detailsItem.Details.map(this.renderAccesTargetDetail) }\r\n
    \r\n
  • \r\n );\r\n }\r\n\r\n renderAccesTargetDetail(t) {\r\n const style = { color: '#067D8B', padding: '5px' };\r\n const desc = (t.AccessTarget && t.AccessTarget.Description) || (t && t.Description) || '';\r\n return (\r\n
  • \r\n {desc}\r\n { t.TimeCode && t.TimeCode.Description && ` @ ${t.TimeCode.Description}` }\r\n
  • \r\n );\r\n }\r\n\r\n render() {\r\n const { detailsItem, noTitle = null, loaded } = this.props;\r\n const DetailsIcon = getAppearance(detailsItem ? detailsItem.Type : 'TimeCode');\r\n return (\r\n (!isEmpty(detailsItem) || noTitle) &&\r\n
    \r\n { !noTitle &&\r\n

    \r\n \r\n {` ${detailsItem.Description} - ${i18n.t('PersonForm.tabs.accessRightsTab.Definition')}`}\r\n

    \r\n }\r\n
      \r\n {loaded\r\n ? detailsItem && detailsItem.Details && detailsItem.Details.length\r\n ? this.renderAccessTargetsDetails(detailsItem)\r\n :
    • No details
    • \r\n :
      \r\n }\r\n
    \r\n
    \r\n );\r\n }\r\n}\r\n\r\nexport default Details;\r\n","(function(){\r\n'use strict';\r\n\r\nvar _ = require('lodash');\r\nvar React = require('react');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\nvar Container = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\trender() {\r\n\t\tvar field = this.state.field;\r\n\r\n\t\tvar fieldDefault = {\r\n\t\t\tname: 'container' + Math.floor(Date.now() / 1000),\r\n\t\t\ttag: 'div',\r\n\t\t\tgroupHtmlClass: ''\r\n\t\t};\r\n\r\n\t\tfield = _.extend(fieldDefault, field);\r\n\r\n\t\tvar Tag = field.tag;\r\n\t\tvar {groupHtmlClass, name} = field;\r\n\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t{this.getContainerInnards(field)}\r\n\t\t\t\r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = Container;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar FieldWrapper = require('./FieldWrapper');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\nvar ButtonRadioGroup = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\tprocessChange(value){\r\n\t\tvar {field} = this.state;\r\n\r\n\t\tthis.updateFormField(field, value);\r\n\t},\r\n\trender() {\r\n\t\tvar {field, value} = this.state;\r\n\t\tvalue = value || field.default;\r\n\t\tvar {optionName, optionValue} = field;\r\n\t\toptionName = optionName || \"name\";\r\n\t\toptionValue = optionValue || \"value\";\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t
    \r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{field.options.map( opt => {\r\n\t\t\t\t\t\t\tvar display = opt[optionName] === undefined ? opt : opt[optionName];\r\n\t\t\t\t\t\t\tvar val = opt[optionValue] === undefined ? opt : opt[optionValue];\r\n\t\t\t\t\t\t\tvar fld = ;\r\n\r\n\t\t\t\t\t\t\treturn (\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\t\t\t\t
    \r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = ButtonRadioGroup;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\tvar React = require('react');\r\n\tvar i18n = require('i18next-client');\r\n\tvar _ = require('lodash');\r\n\tvar G4SForm = require('__components/common/forms/Form');\r\n\r\n\tvar optionsTab = require('./personForm/OptionsTab');\r\n\tvar nameForm = require('./personForm/Name');\r\n\tvar cardsForm = require('./personForm/Cards');\r\n\tvar picturesForm = require('./personForm/Pictures');\r\n\tvar accessRightsTab = require('./personForm/AccessRightsTab');\r\n\r\n\tvar personalDataTab = require('./personForm/PersonalData');\r\n\tvar notesTab = require('./personForm/NotesTab');\r\n\tvar biometricsTab = require('./personForm/biometricsTab');\r\n\tvar PersonActions = require('__actions/PersonActions');\r\n\tvar PersonsStore = require('__stores/PersonsStore');\r\n\tvar AuthStore = require('__stores/AuthStore');\r\n\tvar Loading = require('__components/common/Loading');\r\n\tvar CredentialsTable = require('__components/credential/CredentialsTable');\r\n\tvar BadgeModal = require('__components/credential/BadgeModal');\r\n\tvar CustomAttributesMixin = require('__components/common/customAttributes/CustomAttributesMixin');\r\n\tvar notesTabIconClass = \"fa fa-check icon-green\";\r\n\tvar belowNameForm = require('./personForm/BelowName');\r\n\tvar ScreensUtils = require('__components/common/ScreensUtils');\r\n\tvar locatorTab = require('./personForm/LocatorTab');\r\n\tvar locatorTable = require('__components/visitors/components/VisitHistoryTable');\r\n\tvar ConfirmationModal = require('__components/common/ConfirmationModal');\r\n\tvar Util = require('__infrastructure/Util');\r\n\tvar R = require('ramda');\r\n\tvar FormUtils = require('__components/common/forms/FormUtils');\r\n\tvar CredentialsActions = require('__actions/CredentialsActions');\r\n\tvar CompaniesStore = require('__stores/CompaniesStore');\r\n\tconst { fetchTypeMeta } = require('__api/CardHoldersHandler');\r\n\tvar regeneratorRuntime = require('regenerator-runtime');\r\n\tvar LongRunOperationActions = require('__actions/LongRunOperationActions');\r\n\tvar Consts = require('__infrastructure/Consts');\r\n\r\n\tvar Person = React.createClass({\r\n\t\tmixins: [CustomAttributesMixin],\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tPersonModel: {},\r\n\t\t\t\tstatus: \"\",\r\n\t\t\t\tshowBadgeConfirmation: false,\r\n\t\t\t\tshowBadgeModal: false,\r\n\t\t\t\tshowConfirmModalBadgeAccessRightSwap: false,\r\n\t\t\t\tselectedCardRow: null,\r\n\t\t\t\tshowBadgeAfterCallback: false,\r\n\t\t\t\tupdateChildrenModel: false,\r\n\t\t\t\trequireshandleSaveCallback: false,\r\n\t\t\t\taccessTargets: [],\r\n\t\t\t\ttimeCodes: [],\r\n\t\t\t\tAdvancedAccessRights: []\r\n\t\t\t};\r\n\t\t},\r\n\t\tcontextTypes: {\r\n\t\t\thistory: React.PropTypes.object,\r\n\t\t\tlocation: React.PropTypes.object\r\n\t\t},\r\n\t\tcomponentWillReceiveProps(nextProps) {\r\n\t\t\tif (this.state.personUri !== nextProps.personUri) {\r\n\t\t\t\tthis.loadPerson(nextProps.personUri);\r\n\t\t\t\tthis.loadActivity(nextProps.personUri);\r\n\t\t\t}\r\n\t\t},\r\n\t\tcomponentDidMount() {\r\n\t\t\tsetTimeout(function(){\r\n\t\t\t\tPersonActions.initStore();\r\n\t\t\t}, 0);\r\n\t\t\tPersonsStore.listen(this.onChangePersonsStore);\r\n\t\t\tthis.loadPerson(this.props.personUri);\r\n\t\t\tthis.loadActivity(this.state.personUri);\r\n\t\t},\r\n\t\tcomponentWillUnmount() {\r\n\t\t\tPersonsStore.unlisten(this.onChangePersonsStore);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {PersonModel, valuesloaded, showBadgeModal, selectedCardRow} = this.state;\r\n\t\t\tif (!valuesloaded) {\r\n\t\t\t\treturn ;\r\n\t\t\t}\r\n\t\t\tvar columns = [\r\n\t\t\t{\r\n\t\t\t\tName: \"CardNumberDisplay\",\r\n\t\t\t\tdisplay: i18n.t(\"G4S.SymmetryWeb.ClientDomain.DTO.Cardholder.CardNumber\"),\r\n\t\t\t\tname: \"CardNumberDisplay\",\r\n\t\t\t\tfield_type: 'Button',\r\n\t\t\t\tclassName: 'btn btn-link nopadding'\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tName: \"CardIssueLevel\",\r\n\t\t\t\tdisplay: i18n.t(\"CommonForm.CardIssueLevel\"),\r\n\t\t\t\tfield_type: \"String\",\r\n\t\t\t\tname: \"CardIssueLevel\"\r\n\t\t\t},\r\n\t\t\t{\r\n\t\t\t\tName: \"Status\",\r\n\t\t\t\tdisplay: i18n.t(\"CommonForm.Status\"),\r\n\t\t\t\tfield_type: \"String\",\r\n\t\t\t\tname: \"Status\"\r\n\t\t\t}\r\n\t\t\t];\r\n\r\n\t\t\tif (PersonModel && this.state.PersonModel.Credentials) {\r\n\t\t\t\tfor (var index = 0; index < this.state.PersonModel.Credentials.length; index++) {\r\n\t\t\t\t\tthis.state.PersonModel.Credentials[index].Stop = this.state.PersonModel.Stop;\r\n\t\t\t\t\tthis.state.PersonModel.Credentials[index].ForceInactive = this.state.PersonModel.ForceInactive;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tvar metaData = this.state.PersonModel.TypeMeta ? this.state.PersonModel.TypeMeta.Meta.find(x => x.Name === \"Credentials\").MetaData : undefined;\r\n\t\t\tvar badgeFormatMeta = this.state.PersonModel.TypeMeta ? this.state.PersonModel.TypeMeta.Meta.find(x => x.Name === \"Credentials\").MetaData : undefined;\r\n\t\t\tvar values = [\"EmployeeReference\"];\r\n\t\t\tvar ca = this.generateCustomAttributes(this.state.PersonModel.CustomAttributes || this.state.personTemplate.CustomAttributes, true, false, false);\r\n\t\t\tvar filteredCustomAttributes = _.select(this.state.PersonModel.CustomAttributes || this.state.personTemplate.CustomAttributes, function(c){\r\n\t\t\t\t\t\treturn values.indexOf(c.Type.Identifier) !== -1;\r\n\t\t\t\t\t});\r\n\r\n\t\t\t//this.generateCustomAttributes(filteredCustomAttributes, true, false, true).fields\r\n\r\n\t\t\tPersonModel = _.assign(ca.model, PersonModel);\r\n\r\n\t\t\tvar nameFields = nameForm.buildFields();\r\n\r\n\t\t\tvar belowNameFields = belowNameForm.buildFields({\r\n\t\t\t\t\"ApprovingOfficial\": {\r\n\t\t\t\t\toptions: ScreensUtils.filterApprovingOfficials(this.state.PersonModel.ApprovingOfficialList)\r\n\t\t\t\t},\r\n\t\t\t\t\"CustomAttributes\": {\r\n\t\t\t\t\tfields: this.generateCustomAttributes(filteredCustomAttributes, true, false, true).fields\r\n\t\t\t\t},\r\n\t\t\t\t\"BadgeFormatList\": {\r\n\t\t\t\t\toptions: this.state.PersonModel.BadgeFormatList || [],\r\n\t\t\t\t\tonChange: this.onChange,\r\n\t\t\t\t\treadOnly: this.state.PersonModel.Credentials.length === 0\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar optionsFields = optionsTab.buildFields({\r\n\t\t\t\t\"AvailableGroups\": {\r\n\t\t\t\t\t\"AvailableGroups\": this.state.PersonModel.AvailableGroups,\r\n\t\t\t\t\t\"handleFieldChange\": this.handleAvailableGroupsChange}});\r\n\t\t\tvar accessRightsFields = accessRightsTab.buildFields({\r\n\t\t\t\tAssignedAccessTargets: this.state.PersonModel.AssignedAccessTargets,\r\n\t\t\t\tonChange: this.onChange,\r\n\t\t\t\tuseNewModel: this.state.accessRightsComponentUseNewModel,\r\n\t\t\t\ttypeMeta: _.assign({}, PersonModel.TypeMeta),\r\n\t\t\t\tpersonUri: this.props.personUri || '/CardHolders/Template'\r\n\t\t\t});\r\n\t\t\tvar status = ScreensUtils.getPersonStatus(this.state.PersonModel);\r\n\r\n\t\t\tvar picturesFields = picturesForm.buildFields({\r\n\t\t\t\t\"PersonStatus\": {\r\n\t\t\t\t\tstatus: status,\r\n\t\t\t\t\thasLabel: false,\r\n\t\t\t\t\tfontSize: '40px'\r\n\t\t\t\t}\r\n\t\t\t});\r\n\r\n\t\t\tvar biometricsTabFields = biometricsTab.buildFields({\r\n\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Signature\", _.assign({}, PersonModel.TypeMeta))\r\n\t\t\t});\r\n\r\n\t\t\tvar personalFields = personalDataTab.buildFields(ca.fields);\r\n\r\n\t\t\tvar cardsFields = cardsForm.buildFields({\r\n\t\t\t\t\"Cards\": {\r\n\t\t\t\t\tcomponentToLoad: CredentialsTable,\r\n\t\t\t\t\tavailableRows: this.state.PersonModel.Credentials || [],\r\n\t\t\t\t\tdisplayColumns: columns,\r\n\t\t\t\t\tpersonUri: this.state.PersonModel.$uri,\r\n\t\t\t\t\tTemplateCredentials: this.state.PersonModel.TemplateCredentials,\r\n\t\t\t\t\tisStopped: this.state.PersonModel.Stop,\r\n\t\t\t\t\tonBadgeClick: this.onBadgeClick,\r\n\t\t\t\t\tpageTitle: i18n.t(\"PersonForm.title\"),\r\n\t\t\t\t\tdisableBadgeButton: this.state.PersonModel.BadgeFormat ? this.state.PersonModel.BadgeFormat.split(':').reverse()[0] === '0' : true,\r\n\t\t\t\t\tfacilityCustomerCodes: CompaniesStore.state.selectedCompany.CustomerCodes,\r\n\t\t\t\t\taddDisabled: FormUtils.getReadonlyFromTypeMeta('Credentials', PersonModel.$uri !== undefined ? PersonModel.TypeMeta : PersonModel.TemplateCredentials[0].TypeMeta)\r\n\t\t\t\t},\r\n\t\t\t\t\"MetaData\": metaData,\r\n\t\t\t\t\"savedCallback\": this.credentialSaved,\r\n\t\t\t\t\"subcomponentsFieldsChanged\": this.credentialsFieldsChanged,\r\n\t\t\t\t\"updateChildrenModel\": this.state.updateChildrenModel,\r\n\t\t\t\t\"parentResetFlags\": this.resetCredentialFlags,\r\n\t\t\t\t\"componentType\": Consts.componentType.cardholder\r\n\t\t\t});\r\n\t\t\tvar notesTabFields = notesTab.buildFields(\r\n\t\t\t\t{\r\n\t\t\t\t\tonChangeNotes: this.onChangeNotes,\r\n\t\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Note\", _.assign({}, PersonModel.TypeMeta))\r\n\t\t\t\t});\r\n\t\t\tvar locatorFields = locatorTab.buildFields({\r\n\t\t\t\tcomponentToLoad: locatorTable,\r\n\t\t\t\trows: this.state.Locator || [],\r\n\t\t\t\tcolumns: ScreensUtils.getLocatorColumns(),\r\n\t\t\t\ttitle: i18n.t(\"Visitor.ActivityHistory.title\"),\r\n\t\t\t\tnoDataText: _.indexOf(AuthStore.getState().allowedSegments, \"Activity\") !== -1 ? undefined : i18n.t(\"InsufficientRightsAPI\"),\r\n\t\t\t\tvisible: FormUtils.getVisibleFromTypeMeta(\"Locator\", _.assign({}, PersonModel.TypeMeta))\r\n\t\t\t});\r\n\r\n\t\t\tvar nameFieldsContainer = [{\r\n\t\t\t\tname: \"nameFields\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-lg-10 col-md-9 col-sm-8 col-xs-12\",\r\n\t\t\t\tfields: nameFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar tabsContainer = [{\r\n\t\t\t\tname: \"tabsContainer\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"tabContainer\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: _.union(optionsFields, accessRightsFields, personalFields, notesTabFields, locatorFields, biometricsTabFields)\r\n\t\t\t}];\r\n\r\n\t\t\tvar cardsContainer = [{\r\n\t\t\t\tname: \"cardsContainer\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: cardsFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar belowNameFieldsContainer = [{\r\n\t\t\t\tname: \"belowNameFields\",\r\n\t\t\t\tdescription: \"\",\r\n\t\t\t\ttype: \"container\",\r\n\t\t\t\thasContainer: true,\r\n\t\t\t\tgroupHtmlClass: \"col-lg-10 col-md-9 col-sm-8 col-xs-12 u-mb-xl\",\r\n\t\t\t\tfields: belowNameFields\r\n\t\t\t}];\r\n\r\n\t\t\tvar formFields = _.union(nameFieldsContainer, picturesFields, belowNameFieldsContainer, tabsContainer, cardsContainer);\r\n\t\t\tvar settings = {\r\n\t\t\t\ttabSettings: {\r\n\t\t\t\t\ttabStyle: \"standard\",\r\n\t\t\t\t\tclassName: \"col-xs-12\"\r\n\t\t\t\t},\r\n\t\t\t\twithCompany: true\r\n\t\t\t};\r\n\t\t\tvar selectedBadge = selectedCardRow ? selectedCardRow.Badge : {};\r\n\t\t\tvar badgeTitle = selectedCardRow && selectedCardRow.BadgeFormat ? selectedCardRow.BadgeFormat.Name || '' : '';\r\n\t\t\tvar confirmModalBadgeAccessRightsSwap = ;\r\n\t\t\tvar temp = this.state.shouldOverwriteCurrentValue;\r\n\t\t\tthis.state.shouldOverwriteCurrentValue = false;\r\n\t\t\tconst { location, history } = this.props;\r\n\t\t\tconst returnUrl = location.state && location.state.listUrl ? location.state.listUrl : '/CardHolders';\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tshowBadgeModal &&\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\r\n\t\t\t\t\t this.state.G4SForm = f}\r\n\t\t\t\t\t\ttypeMeta={_.assign({}, PersonModel.TypeMeta)}\r\n\t\t\t\t\t\ttypeMetaCredentials={_.assign({}, PersonModel.$uri !== undefined && PersonModel.Credentials.length > 0 ?\r\n\t\t\t\t\t\t\tPersonModel.Credentials[0].TypeMeta :\r\n\t\t\t\t\t\t\tPersonModel.TemplateCredentials[0].TypeMeta)}\r\n\t\t\t\t\t\ttabHeaderIcon={this.getInitialNotesIcon()}\r\n\t\t\t\t\t\tformFields={formFields}\r\n\t\t\t\t\t\tcancelFunc={this.cancelFunc}\r\n\t\t\t\t\t\tmodel={_.cloneDeep(PersonModel)}\r\n\t\t\t\t\t\tsaveFunc={this.saveFunc}\r\n\t\t\t\t\t\tsettings={settings}\r\n\t\t\t\t\t\tformHelp={false}\r\n\t\t\t\t\t\tshouldOverwriteCurrentValue={temp}\r\n\t\t\t\t\t\tsticky\r\n\t\t\t\t\t\ttitle={i18n.t(\"PersonForm.title\")}\r\n\t\t\t\t\t\ticonClass = \"fa fa-credit-card\"\r\n\t\t\t\t\t\tshouldUseValues={this.state.shouldUseValues}\r\n\t\t\t\t\t/>\r\n\t\t\t\t\t{confirmModalBadgeAccessRightsSwap}\r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t},\r\n\t\tcancelFunc() {\r\n\t\t\tthis.setState({});\r\n\t\t\tif (this.props.cancel) {\r\n\t\t\t\tthis.props.cancel();\r\n\t\t\t}\r\n\t\t},\r\n\t\tasync saveFunc(model) {\r\n\t\t\tLongRunOperationActions.operationStart();\r\n\t\t\tif (model.Face && typeof model.Face === 'string') {\r\n\t\t\t\tmodel.Face = model.Face.replace(\"data:image/png;base64,\", \"\");\r\n\t\t\t}\r\n\t\t\tif (model.Signature && typeof model.Signature === 'string') {\r\n\t\t\t\tmodel.Signature = model.Signature.replace(\"data:image/png;base64,\", \"\");\r\n\t\t\t}\r\n\t\t\tif (this.state.PersonModel.Face === model.Face) {\r\n\t\t\t\tdelete model.Face;\r\n\t\t\t}\r\n\t\t\tif (this.state.PersonModel.Signature === model.Signature) {\r\n\t\t\t\tdelete model.Signature;\r\n\t\t\t}\r\n\t\t\tif (model.AssignedAccessTargets) {\r\n\t\t\t\tmodel.AssignedAccessTargets = model.AssignedAccessTargets.concat(this.state.AdvancedAccessRights);\r\n\t\t\t\tmodel.AssignedAccessTargets = _.map(\r\n\t\t\t\t\tmodel.AssignedAccessTargets,\r\n\t\t\t\t\t(item)=>{ return item.AccessTarget ? R.merge(item.AccessTarget, {TimeCode: item.TimeCode}) : item; }\r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\tmodel.ApprovingOfficial = ScreensUtils.bypassReadonlyHiddenField(ScreensUtils.getApprovingOfficialSaveFormatValue,\r\n\t\t\t\t[model.ApprovingOfficial, this.state.personTemplate.ApprovingOfficial],\r\n\t\t\t\tthis.state.G4SForm.getReadonlyHiddenFields(),\r\n\t\t\t\t\"ApprovingOfficial\");\r\n\r\n\t\t\t\tvar badgeFormatValue = ScreensUtils.bypassReadonlyHiddenField(ScreensUtils.getBadgeFormatSaveFormatValue,\r\n\t\t\t\t[model.BadgeFormat],\r\n\t\t\t\tthis.state.G4SForm.getReadonlyHiddenFields(),\r\n\t\t\t\t\"BadgeFormat\");\r\n\r\n\t\t\t\t_.map(model.Credentials, (c) => {\r\n\t\t\t\t\tc.BadgeFormat = badgeFormatValue;\r\n\t\t\t\t\tif (Util.isGuid(c.$uri)) {\r\n\t\t\t\t\t\tdelete c.$uri;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\tvar customAttributes = this.state.PersonModel.CustomAttributes || this.state.personTemplate.CustomAttributes;\r\n\t\t\tmodel.CustomAttributes = [];\r\n\t\t\tfor (var i = customAttributes.length - 1; i >= 0; i--) {\r\n\t\t\t\tvar key = Object.keys(model).find(x => x === ScreensUtils.formatCustomAttributeName(customAttributes[i].Type.Identifier));\r\n\t\t\t\tif (key !== undefined) {\r\n\t\t\t\t\tvar fieldName = customAttributes[i].Type.Identifier;\r\n\t\t\t\t\tvar obj = {};\r\n\t\t\t\t\tobj[fieldName] = _.clone(model[key]);\r\n\t\t\t\t\tmodel.CustomAttributes.push(obj);\r\n\t\t\t\t\tdelete model[key];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tmodel.AccessRights = this.state.PersonModel.AccessRights\r\n\t\t\t//for the future, move replacing to the text_area component\r\n\t\t\tif (model.Note) {\r\n\t\t\t\tif (model.Note.Notes) {\r\n\t\t\t\t\tmodel.Note.Notes = Util.unixToWindowsNewLine(model.Note.Notes);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tFormUtils.removeReadOnlyTypeMetaByPropName(model,'Company', this.state.PersonModel.TypeMeta);\r\n\r\n\t\t\tif (!FormUtils.getReadonlyFromTypeMeta('Credentials', this.state.PersonModel.TypeMeta)) {\r\n\t\t\t\tfor (var i = model.Credentials.length - 1; i >= 0; i--) {\r\n\t\t\t\t\tif (!model.Credentials[i].hasOwnProperty('TypeMeta')) {\r\n\t\t\t\t\t\tconst typeMeta = await fetchTypeMeta(model.Credentials[i].$uri);\r\n\t\t\t\t\t\tconst condition = c => c.$type === model.Credentials[i].$type;\r\n\t\t\t\t\t\tvar sameType = R.filter(condition, model.Credentials);\r\n\t\t\t\t\t\tfor (var j = 0; j < sameType.length; j++) {\r\n\t\t\t\t\t\t\tsameType[j].TypeMeta = typeMeta;\r\n\t\t\t\t\t\t};\r\n\t\t\t\t\t\tmodel.Credentials[i].TypeMeta = typeMeta;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tFormUtils.removeReadOnlyTypeMetaProps(model.Credentials[i]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\r\n\t\t\tPersonActions.savePerson(model).then((data) => {\r\n\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\tif (successful) {\r\n\t\t\t\t\tif (this.state.PersonModel.$uri === undefined) {\r\n\t\t\t\t\t\tthis.state.valuesloaded = false;\r\n\t\t\t\t\t\tthis.state.PersonModel = {};\r\n\r\n\r\n\t\t\t\t\t\tif (!this.state.G4SForm.getReturnPressed()) {\r\n\t\t\t\t\t\t\tconst { location, history } = this.props;\r\n\t\t\t\t\t\t\tconst returnUrl = location.state && location.state.listUrl ? location.state.listUrl : '/CardHolders';\r\n\t\t\t\t\t\t\thistory.replace({\r\n\t\t\t\t\t\t\t\tpathname: `/CardHolder`,\r\n\t\t\t\t\t\t\t\tsearch: `uid=${payload.$uri}&query=${Util.generateCompanyQuery(CompaniesStore.state.selectedCompany.$uri)}`,\r\n\t\t\t\t\t\t\t\tstate: { listUrl: returnUrl }\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar newModel = _.assign(payload);\r\n\t\t\t\t\t\tnewModel.GroupOptions = this.generateGroupOptions(newModel);\r\n\t\t\t\t\t\tnewModel.AssignedAccessTargets = newModel.AccessRights ? newModel.AccessRights.Access : [];//_.map(newModel.AccessRights.Access, (right)=>{return {\"AccessTarget\": {$uri: right.AccessTarget.$uri, Description: right.AccessTarget.Description}}; });\r\n\r\n\t\t\t\t\t\tif (newModel.ApprovingOfficial) {\r\n\t\t\t\t\t\t\tif (newModel.ApprovingOfficial.Name.Family !== \"\") {\r\n\t\t\t\t\t\t\t\tnewModel.ApprovingOfficial = newModel.ApprovingOfficial.$uri.replace(\"WithAvailability\", \"\");\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tnewModel.ApprovingOfficial = undefined; //need this for validation\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tthis.setBadgeListFormat(newModel);\r\n\t\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\t\tPersonModel: newModel,\r\n\t\t\t\t\t\t\tupdateChildrenModel: true,\r\n\t\t\t\t\t\t\tshouldOverwriteCurrentValue: true,\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (this.state.showBadgeAfterCallback) {\r\n\t\t\t\t\t\tthis.loadCredentialBadgeProperty(this.state.selectedCardRow.$uri, this.state.selectedCardRow, this.setState,[{showBadgeModal: true}]);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.setState({showBadgeModal: false});\r\n\t\t\t\t}\r\n\t\t\t\tthis.state.G4SForm.handleSaveCallback(successful);\r\n\t\t\t});\r\n\t\t},\r\n\t\tloadPerson(personUri) {\r\n\t\t\tif (!personUri) {\r\n\t\t\t\tPersonsStore.getTemplate().then((data) => {\r\n\t\t\t\t\tvar model = _.clone(data);\r\n\t\t\t\t\tmodel.GroupOptions = this.generateGroupOptions(model);\r\n\t\t\t\t\tdelete model.$uri;\r\n\t\t\t\t\tmodel.ApprovingOfficial = undefined; //needed for validation\r\n\t\t\t\t\tthis.setBadgeListFormat(model);\r\n\t\t\t\t\tthis.state.PersonModel = model;\r\n\t\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tthis.state.personUri = personUri;\r\n\t\t\tPersonsStore.getPersonByUri(this.state.personUri).then((data) => {\r\n\t\t\t\tthis.state.PersonModel = _.assign(data) || {};\r\n\t\t\t\tthis.state.PersonModel.GroupOptions = this.generateGroupOptions(this.state.PersonModel);\r\n\t\t\t\tthis.state.PersonModel.Face = this.state.PersonModel.Face ? this.state.PersonModel.Face.Data : undefined;\r\n\t\t\t\tthis.state.PersonModel.Signature = this.state.PersonModel.Signature ? this.state.PersonModel.Signature.Data : undefined;\r\n\t\t\t\tconst [NormalAccessRights, AdvancedAccessRights] = data.AccessRights ? R.partition(R.propEq('Normal', true), data.AccessRights.Access) : [[], []];\r\n\t\t\t\tthis.state.PersonModel.AssignedAccessTargets = NormalAccessRights;\r\n\t\t\t\tthis.state.AdvancedAccessRights = AdvancedAccessRights;\r\n\t\t\t\tif (this.state.PersonModel.ApprovingOfficial) {\r\n\t\t\t\t\tif (this.state.PersonModel.ApprovingOfficial.Name.Family !== \"\") {\r\n\t\t\t\t\t\tthis.state.PersonModel.ApprovingOfficial = this.state.PersonModel.ApprovingOfficial.$uri.replace(\"WithAvailability\", \"\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.state.PersonModel.ApprovingOfficial = undefined; //need this for validation\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tthis.setBadgeListFormat(this.state.PersonModel);\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t});\r\n\t\t},\r\n\t\tgenerateGroupOptions(model){\r\n\t\t\tvar {AvailableGroups, Groups} = model;\r\n\t\t\tvar options = {};\r\n\t\t\tfor (var i = AvailableGroups.length - 1; i >= 0; i--) {\r\n\t\t\t\toptions[AvailableGroups[i].Name.replace(/ /g, '')] = _.find(Groups, {Name: AvailableGroups[i].Name}) ? true : false;\r\n\t\t\t}\r\n\t\t\treturn options;\r\n\t\t},\r\n\t\tonChangePersonsStore(store) {\r\n\t\t\tconst { isStoreInitialized, personTemplate } = store;\r\n\t\t\tthis.state.isStoreInitialized = isStoreInitialized;\r\n\t\t\tthis.state.personTemplate = personTemplate;\r\n\t\t\tthis.setInitialized();\r\n\t\t},\r\n\t\tonChangeNotes(field, value) {\r\n\t\t\tthis.state.G4SForm.updateTabHeaderIcon(field, value !== \"\" ? true : false, notesTabIconClass);\r\n\t\t},\r\n\t\tgetInitialNotesIcon() {\r\n\t\t\tvar note = this.state.PersonModel.Note ? this.state.PersonModel.Note.Notes : \"\";\r\n\t\t\treturn {tabName: \"Note\", showIcon: (note !== \"\" && note !== null) ? true : false, icon: notesTabIconClass};\r\n\t\t},\r\n\t\tcloseBadgeConfirmation() {\r\n\t\t\tthis.setState({showBadgeConfirmation: false});\r\n\t\t},\r\n\t\tcloseBadgeModal() {\r\n\t\t\tthis.setState({showBadgeModal: false, showBadgeAfterCallback: false});\r\n\t\t},\r\n\t\tonBadgeClick(card) {\r\n\t\t\tif (this.state.G4SForm.isModelDirty()) {\r\n\t\t\t\treturn this.setState({showBadgeConfirmation: true, selectedCardRow: card, showBadgeAfterCallback: true});\r\n\t\t\t}\r\n\t\t\t//return this.setState({showBadgeModal: true, selectedCardRow: card});\r\n\t\t\treturn this.loadCredentialBadgeProperty(card.$uri, card, this.setState,[{showBadgeModal: true, selectedCardRow: card}]);\r\n\t\t},\r\n\t\tonBadgeSubmit() {\r\n\t\t\tthis.state.G4SForm.handleSubmit();\r\n\t\t},\r\n\t\tloadActivity(uri) {\r\n\t\t\tif (!uri) {\r\n\t\t\t\tthis.state.Locator = [];\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (_.indexOf(AuthStore.getState().allowedSegments, \"Activity\") !== -1) {\r\n\t\t\t\tPersonsStore.loadActivity(uri).then((data) => {\r\n\t\t\t\t\tthis.state.Locator = data.successful ? _.assign(data.payload.Data) || [] : [];\r\n\t\t\t\t\tthis.state.Locator = ScreensUtils.getLocatorRowsWithTimeDateColumns(this.state.Locator);\r\n\t\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.state.Locator = [];\r\n\t\t\t\tthis.setInitialized();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\r\n\t\t},\r\n\t\tsetInitialized() {\r\n\t\t\tif ((this.state.PersonModel && Object.keys(this.state.PersonModel).length !== 0) && this.state.isStoreInitialized && this.state.Locator) {\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tvaluesloaded: true\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\tgetAccessTargets() {\r\n\t\t\tPersonActions.getAccessTargets().then((data) => {\r\n\t\t\t\tthis.state.AccessTargets = data.payload || [];\r\n\t\t\t\tsetTimeout(this.setInitialized);\r\n\t\t\t});\r\n\t\t},\r\n\t\tonChange(field, value) {\r\n\t\t\tswitch (field.name) {\r\n\t\t\t\tcase \"AssignedAccessTargets\":\r\n\t\t\t\t\t// this.state.PersonModel.AssignedAccessTargets = value;\r\n\t\t\t\t\t// this.state.accessRightsComponentUseNewModel = false;\r\n\t\t\t\t\tthis.state.G4SForm.subcomponentsFieldsChanged();\r\n\t\t\t\t\treturn this.setState({accessRightsComponentUseNewModel: true, PersonModel: R.merge(this.state.PersonModel, {AssignedAccessTargets: value})});\r\n\t\t\t\tcase \"BadgeFormat\":\r\n\t\t\t\t\tif (ScreensUtils.badgeAssignedAccessRigths(value, this.state.PersonModel.BadgeFormatList).length > 0) {\r\n\t\t\t\t\t\tif ((this.state.G4SForm.getCurrentValue(false).AssignedAccessTargets && this.state.G4SForm.getCurrentValue(false).AssignedAccessTargets.length > 0) ||\r\n\t\t\t\t\t\t\tthis.state.PersonModel.AssignedAccessTargets && this.state.PersonModel.AssignedAccessTargets.length > 0) {\r\n\t\t\t\t\t\t\treturn this.setState({showConfirmModalBadgeAccessRightSwap: true, PersonModel: R.merge(this.state.PersonModel, {BadgeFormat: value})});\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\tthis.state.PersonModel.BadgeFormat = value;\r\n\t\t\t\t\t\t\tthis.swapBadgeAccessRights();\r\n\t\t\t\t\t\t}\r\n\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn this.setState({ PersonModel: R.merge(this.state.PersonModel, { BadgeFormat: value }) });\r\n\t\t\t}\r\n\t\t},\r\n\t\tswapBadgeAccessRights() {\r\n\t\t\tvar badgeAssignedAccessRigths = ScreensUtils.badgeAssignedAccessRigths(this.state.PersonModel.BadgeFormat, this.state.PersonModel.BadgeFormatList);\r\n\t\t\tvar badgeAssignedAccessRigthsAccessRightsTabFormatted = ScreensUtils.badgeAssignedAccessRigthsAccessRightsTabFormatted(badgeAssignedAccessRigths);\r\n\t\t\tthis.setState({\r\n\t\t\t\tPersonModel: R.merge(this.state.PersonModel, { AssignedAccessTargets: badgeAssignedAccessRigths }),\r\n\t\t\t\tshowConfirmModalBadgeAccessRightSwap: false,\r\n\t\t\t\taccessRightsComponentUseNewModel: true});\r\n\t\t},\r\n\t\tabortSwapBadgeAccessRights() {\r\n\t\t\tthis.setState({showConfirmModalBadgeAccessRightSwap: false});\r\n\t\t},\r\n\t\tsetBadgeListFormat(model) {\r\n\t\t\tif (model.BadgeFormatList && (model.BadgeFormatList.length > 0)) {\r\n\t\t\t\tvar selectedItem = _.find(model.BadgeFormatList, function(o){\r\n\t\t\t\t\treturn _.has(o, '$ptr');\r\n\t\t\t\t});\r\n\t\t\t\t//remove from list the selected item\r\n\t\t\t\tmodel.BadgeFormatList = _.filter(model.BadgeFormatList, function(o){\r\n\t\t\t\t\treturn !_.has(o, '$ptr');\r\n\t\t\t\t});\r\n\t\t\t\tif (selectedItem) {\r\n\t\t\t\t\tmodel.BadgeFormat = selectedItem.$ptr;\r\n\t\t\t\t}\r\n\t\t\t} else if (model.Credentials && model.Credentials.length === 0 ) {\r\n\t\t\t\t\tPersonsStore.getBadgeFormatList().then((data) => {\r\n\t\t\t\t\tvar {successful, payload} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\tmodel.BadgeFormatList = payload;\r\n\t\t\t\t\t\tthis.setState({PersonModel: R.merge(this.state.PersonModel, {'BadgeFormatList': payload})});\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t},\r\n\t\thandleAvailableGroupsChange(field, value) {\r\n\t\t\tswitch (field.name) {\r\n\t\t\t\tcase 'GroupOptions.KeyCard':\r\n\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.ExecutivePrivileges = false;\r\n\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.AutoDeleteExempt = false;\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.AntiPassbackExempt = false;\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.RandomSearchExempt = false;\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.PINExempt = false;\r\n\t\t\t\t\t\tvar shouldUseValues = [{name: 'GroupOptions.ExecutivePrivileges', value: false},\r\n\t\t\t\t\t\t{name: 'GroupOptions.AutoDeleteExempt', value: false},\r\n\t\t\t\t\t\t{name: 'GroupOptions.AntiPassbackExempt', value: false},\r\n\t\t\t\t\t\t{name: 'GroupOptions.RandomSearchExempt', value: false},\r\n\t\t\t\t\t\t{name: 'GroupOptions.PINExempt', value: false}]\r\n\t\t\t\t\t\t// var x = _.remove(this.state.PersonModel.Groups, function(a) {\r\n\t\t\t\t\t\t// \treturn a.Name.replace(/ /g, '') === \"ExecutivePrivileges\";\r\n\t\t\t\t\t\t// });\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//return this.setState({PersonModel: this.state.PersonModel, shouldUseValues: shouldUseValues});\r\n\t\t\t\t\treturn this.setState({shouldUseValues: shouldUseValues});\r\n\t\t\t\tcase 'GroupOptions.ExecutivePrivileges':\r\n\t\t\t\tcase 'GroupOptions.AutoDeleteExempt':\r\n\t\t\t\tcase 'GroupOptions.AntiPassbackExempt':\r\n\t\t\t\tcase 'GroupOptions.RandomSearchExempt':\r\n\t\t\t\tcase 'GroupOptions.PINExempt':\r\n\t\t\t\t\tif (value) {\r\n\t\t\t\t\t\tthis.state.PersonModel.GroupOptions.KeyCard = false;\r\n\t\t\t\t\t\t//this.state.G4SForm.getCurrentValue().GroupOptions.KeyCard = false;\r\n\t\t\t\t\t\tvar shouldUseValues = [{name: \"GroupOptions.KeyCard\", value: false}]\r\n\t\t\t\t\t\t// var x = _.remove(this.state.PersonModel.Groups, function(a) {\r\n\t\t\t\t\t\t// \treturn a.Name.replace(/ /g, '') === \"KeyCard\";\r\n\t\t\t\t\t\t// });\r\n\t\t\t\t\t}\r\n\t\t\t\t\t//return this.setState({PersonModel: this.state.PersonModel, shouldUseValues: shouldUseValues});\r\n\t\t\t\t\treturn this.setState({shouldUseValues: shouldUseValues});\r\n\t\t\t}\r\n\t\t},\r\n\t\tcredentialSaved(credentials) {\r\n\t\t\tthis.setState({PersonModel: R.merge(this.state.PersonModel, {Credentials: credentials}), updateChildrenModel: true});\r\n\t\t},\r\n\t\tresetCredentialFlags(flag) {\r\n\t\t\tswitch (flag) {\r\n\t\t\t\tcase \"updateChildrenModel\":\r\n\t\t\t\t\tthis.state.updateChildrenModel = false;\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t},\r\n\t\tcredentialsFieldsChanged() {\r\n\t\t\tthis.state.G4SForm.subcomponentsFieldsChanged();\r\n\t\t},\r\n\t\tloadCredentialBadgeProperty(uri, row, callback, callbackParams) {\r\n\t\t\tCredentialsActions.credentialBadge(uri, Consts.componentType.cardholder).then((res) => {\r\n\t\t\t\tif (res.successful) {\r\n\t\t\t\t\trow.Badge = res.payload.Badge;\r\n\t\t\t\t\treturn callback.apply(this, callbackParams);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\r\nmodule.exports = Person;\r\n})();\r\n","(function() {\r\n 'use strict';\r\n var _ = require('lodash');\r\n var alt = require('__base/alt');\r\n var AppStorage = require('__infrastructure/AppStorage');\r\n var HubManager = require('__infrastructure/HubManager');\r\n var AppStore = require('./AppStore');\r\n var AuthActions = require('__actions/AuthActions');\r\n var UserProfileActions = require('__actions/UserProfileActions').default;\r\n var AuthHandle = require('__api/AuthHandler');\r\n var SessionHandler = require('__api/SessionHandler');\r\n var config = require('__src/Configuration');\r\n var errorHandler = config.appErrorHandler;\r\n var _storeKey = \"AuthStore\";\r\n var MessageActions = require('__containers/Notifications/actions').default;\r\n var StatisticsStore = require('__stores/StatisticsStore');\r\n var StatisticsActions = require('__actions/StatisticsActions');\r\n var AppActions = require('__actions/AppActions.js');\r\n var ScreensUtils = require('__components/common/ScreensUtils');\r\n var i18n = require('i18next-client');\r\n var UserProfileStore = require('__stores/UserProfileStore').default;\r\n var CompaniesActions = require('__actions/CompaniesActions');\r\n let moment = require('moment');\r\n let dateHelper = require('__infrastructure/dateHelper');\r\n\r\n class AuthStore {\r\n constructor() {\r\n this.IsUserAuthenticated = null;\r\n this.Message = \"\";\r\n this.SessionExpired = false;\r\n this.SessionExpiresSoon = false;\r\n this.allowedSegments = [];\r\n this.passwordExpiryDays = -1;\r\n this.wrongAPIVersion = false;\r\n this.bindActions(AuthActions);\r\n this.onChangeUserProfileStore = this.onChangeUserProfileStore.bind(this);\r\n this.on('init', this.onInitStore);\r\n }\r\n onInitStore() {\r\n var storage = AppStorage.get(_storeKey);\r\n if (storage) {\r\n _.assign(this, storage);\r\n }\r\n UserProfileStore.listen(this.onChangeUserProfileStore);\r\n }\r\n onUserAuthenticated(authenticated) {\r\n this.IsUserAuthenticated = true;\r\n this.allowedSegments = authenticated.allowedSegments;\r\n this.systemDetails = authenticated.systemDetails;\r\n this.userProfileAuth = authenticated.userProfile;\r\n this.connectionDetails = authenticated.connectionDetails;\r\n this.passwordExpiryDays = this.calculatePasswordExpiryDays(authenticated.connectionDetails.Account.PasswordExpiryDate, authenticated.systemDetails.ServerTime);\r\n this.wrongAPIVersion = this.checkAPIVersion(authenticated.systemDetails.SystemVersion);\r\n UserProfileActions.loadUserProfile();\r\n setTimeout(() => {\r\n CompaniesActions.loadCompanies();\r\n }, 0);\r\n SessionHandler.startSessionMonitor();\r\n HubManager.connectAllHubs();\r\n StatisticsActions.loadData();\r\n }\r\n onLoginUser(actionData) {\r\n var {userName, pwd, apiAddress} = actionData;\r\n this.Message = \"\";\r\n AuthHandle.logInUser(userName, pwd, apiAddress)\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful, status, payload, token} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\t\tAuthActions.loginSuccessful({\r\n\t\t\t\t\t\t\tallowedSegments: payload.allowedSegments,\r\n\t\t\t\t\t\t\tregistered: payload.registered,\r\n\t\t\t\t\t\t\tToken: token,\r\n userProfileAuth: payload.userProfile\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tif(payload.registered){\r\n\t\t\t\t\t\t\tAppStore.changeClientRegisted();\r\n\t\t\t\t\t\t}\r\n if (payload.errorMessage) {\r\n MessageActions.addNotification({\r\n type: 'error',\r\n message: payload.errorMessage,\r\n });\r\n }\r\n\t\t\t\t\t\tthis.systemDetails = payload.systemDetails;\r\n this.connectionDetails = payload.connectionDetails;\r\n this.userProfileAuth = payload.userProfile;\r\n this.passwordExpiryDays = this.calculatePasswordExpiryDays(payload.connectionDetails.Account.PasswordExpiryDate, payload.systemDetails.ServerTime);\r\n this.wrongAPIVersion = this.checkAPIVersion(payload.systemDetails.SystemVersion);\r\n CompaniesActions.loadCompanies();\r\n\t\t\t\t\t\tUserProfileActions.loadUserProfile(userName);\r\n\t\t\t\t\t\tAppActions.loadRolesSettings();\r\n\t\t\t\t\t} else {\r\n MessageActions.addNotification({\r\n type: 'error',\r\n message: status,\r\n });\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(errorHandler);\r\n\r\n //prevent change on component\r\n return false;\r\n }\r\n onExtendSession() {\r\n //NOTE: try extend session only if user is logged in\r\n if(this.IsUserAuthenticated === true){\r\n AuthHandle.extendSession();\r\n }\r\n //NOTE: prevent change state\r\n return false;\r\n }\r\n onLogoutUser() {\r\n AuthHandle.logout()\r\n\t\t\t\t.then((data) => {\r\n\t\t\t\t\tvar {successful} = data;\r\n\t\t\t\t\tif (successful) {\r\n\t\t\t\t\t\tthis.onLogout();\r\n\t\t\t\t\t}\r\n\t\t\t\t})\r\n\t\t\t\t.catch(errorHandler);\r\n }\r\n onLoginSuccessful(data) {\r\n var {allowedSegments, userProfile} = data;\r\n this.IsUserAuthenticated = true;\r\n this.allowedSegments = allowedSegments;\r\n this.SessionExpired = false;\r\n this.SessionExpiresSoon = false;\r\n this.userProfileAuth = userProfile;\r\n AppStorage.set(_storeKey, {\r\n allowedSegments: this.allowedSegments\r\n });\r\n HubManager.connectAllHubs();\r\n SessionHandler.startSessionMonitor();\r\n StatisticsActions.loadData();\r\n }\r\n onLogout() {\r\n var state = {};\r\n state.IsUserAuthenticated = false;\r\n state.allowedSegments = [];\r\n state.Message = \"\";\r\n state.SessionExpired = false;\r\n state.SessionExpiresSoon = false;\r\n state.userProfileAuth = {};\r\n state.passwordExpiryDays = -1;\r\n this.setState(state);\r\n AppStorage.set(_storeKey, {\r\n allowedSegments: this.allowedSegments\r\n });\r\n //StatisticsStore.stopPolling();\r\n HubManager.disconnectAllHubs();\r\n SessionHandler.suspendSessionMonitor();\r\n AppStore.resetLanguage();\r\n }\r\n onSessionExpired(shouldRefreshBrowser) {\r\n if (this.IsUserAuthenticated) {\r\n this.setState(\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tIsUserAuthenticated: false,\r\n\t\t\t\t\t\tSessionExpired: true,\r\n\t\t\t\t\t\tSessionExpiresSoon: false,\r\n\t\t\t\t\t\tMessage: i18n.t(\"SessionExpired\"),\r\n ShouldRefreshBrowser: shouldRefreshBrowser\r\n\t\t\t\t\t});\r\n }\r\n AppStorage.set(_storeKey, {\r\n allowedSegments: this.allowedSegments\r\n });\r\n //StatisticsStore.stopPolling();\r\n HubManager.disconnectAllHubs();\r\n SessionHandler.suspendSessionMonitor();\r\n }\r\n onSessionExpiresSoon() {\r\n this.setState({\r\n SessionExpiresSoon: true\r\n });\r\n }\r\n onResumeSession() {\r\n if(this.SessionExpiresSoon === true){\r\n this.setState({\r\n SessionExpiresSoon: false\r\n });\r\n }\r\n else{\r\n //prevent change on component\r\n return false;\r\n }\r\n }\r\n onRedirectToChangePassword(value) {\r\n this.setState({ redirectToChangePassword: value });\r\n }\r\n static getUserAuthenticated() {\r\n return this.state.IsUserAuthenticated || false;\r\n }\r\n static getUserProfile() {\r\n return this.state.userProfileAuth;\r\n }\r\n static getUserProfileSettingByName(name, overridablePropertyName) {\r\n //var settingsWithoutRole = this.getSettings();\r\n var settingsWithRole = AppStore.getRoleSettings();\r\n var returnValue = ScreensUtils.getNestedProperty(settingsWithRole, name);\r\n var userProfile = this.state.userProfileAuth;\r\n if (userProfile) {\r\n if (overridablePropertyName !== undefined) {\r\n var overridablePropValue = ScreensUtils.getNestedProperty(settingsWithRole, overridablePropertyName);\r\n if (overridablePropValue === true) {\r\n var propValue = ScreensUtils.getNestedProperty(userProfile, name);\r\n\t\t\t\t\t\tif (propValue) {\r\n returnValue = propValue;\r\n }\r\n }\r\n }\r\n }\r\n return returnValue;\r\n }\r\n onChangeUserProfileStore(store){\r\n var {userProfile} = store;\r\n if (userProfile && !_.isEmpty(userProfile)) {\r\n _.assign(this.userProfileAuth, userProfile.userPreferences);\r\n }\r\n }\r\n calculatePasswordExpiryDays(passwordExpiryDate, serverTime) {\r\n if (!passwordExpiryDate) {\r\n return -1;\r\n }\r\n const momentExpiryDate = dateHelper.toMomentObject(dateHelper.format(passwordExpiryDate));\r\n const momentServertime = dateHelper.toMomentObject(dateHelper.format(serverTime));\r\n const diff = momentExpiryDate.diff(momentServertime,'days');\r\n return (diff <= 3) ? diff : -1;\r\n }\r\n checkAPIVersion(systemVersion) {\r\n const wrongAPIVersion = systemVersion ? !systemVersion.ImplementationVersion.startsWith('9') : true;\r\n if (wrongAPIVersion) {\r\n this.onLogoutUser();\r\n }\r\n return wrongAPIVersion;\r\n }\r\n }\r\n\r\n module.exports = alt.createStore(AuthStore, 'AuthStore');\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\r\n\tvar _ = require('lodash');\r\n\tvar React = require('react');\r\n\tvar FieldWrapper = require('./FieldWrapper');\r\n\tvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\n\tvar G4SInput = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\tcomponentDidUpdate(){\r\n\t\t\tif (!this.state.cancelZeroToBlank) {\r\n\t\t\t\tthis.setState({cancelZeroToBlank: true});\r\n\t\t\t}\r\n\t\t},\r\n\t\tbuildInputField() {\r\n\t\t\tvar {autofocus, type} = this.props;\r\n\t\t\tvar {field, value} = this.state;\r\n\t\t\tvar opts = {};\r\n\t\t\tif (field.readOnly) {\r\n\t\t\t\topts['readOnly'] = 'readOnly';\r\n\t\t\t\topts['disabled'] = true;\r\n\t\t\t}\r\n\t\t\tlet inputField = field.zeroToBlank && !this.state.cancelZeroToBlank ?\r\n\t\t\t\t :\r\n\t\t\t\t;\r\n\r\n\t\t\treturn this.buildAddOns(field, inputField);\r\n\t\t},\r\n\t\tbuildAddOns(field, inputField) {\r\n\t\t\tif (field.addOnPrefix || field.addOnSuffix) {\r\n\t\t\t\tinputField = (\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{field.addOnPrefix ? {field.addOnPrefix} : \"\"}\r\n\t\t\t\t\t{inputField}\r\n\t\t\t\t\t{field.addOnSuffix ? {field.addOnSuffix} : \"\"}\r\n\t\t\t\t
    \r\n\t\t\t\t);\r\n\t\t\t}\r\n\t\t\treturn inputField;\r\n\t\t},\r\n\t\t// componentWillMount() {\r\n\t\t// \tthis.handleChangeDebounced = _.debounce(function() {\r\n\t\t// \t\tthis.processChange();\r\n\t\t// \t}, 500);\r\n\t\t// },\r\n\t\thandleChange(evt) {\r\n\t\t\tvar value = evt.target.value;\r\n\t\t\tvar { field } = this.state;\r\n\t\t\tif (field.type === \"number\") {\r\n\t\t\t\tvalue = evt.target.value === '' ? undefined : evt.target.valueAsNumber || Number(evt.target.value);\r\n\t\t\t}\r\n\t\t\tthis.setState({\r\n\t\t\t\tvalue: value\r\n\t\t\t});\r\n\t\t\t// this.handleChangeDebounced();\r\n\t\t\tthis.updateFormField(field, value);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar field = this.state.field;\r\n\t\t\tvar inputField = this.buildInputField();\r\n\t\t\tif (field.type === \"hidden\") {\r\n\t\t\t\treturn inputField;\r\n\t\t\t} else {\r\n\t\t\t\treturn (\r\n\t\t\t\t\t\r\n\t\t\t\t\t{inputField}\r\n\t\t\t\t\r\n\t\t\t\t\t);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n\tmodule.exports = G4SInput;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\nvar FieldSet = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\trender() {\r\n\t\tvar field = this.state.field;\r\n\r\n\t\treturn (\r\n\t\t\t
    \r\n\t\t\t\t{field.noLegend ? '' :\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\t{field.displayText}\r\n\t\t\t\t\t
    \r\n\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t\t\t{this.getContainerInnards(field)}\r\n\t\t\t\t
    \r\n\t\t\t
    \r\n\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = FieldSet;\r\n})();\r\n","(function() {\r\n\t'use strict';\r\n\t// this creates a React component that can be used in other components or\r\n\t// used directly on the page with React.renderComponent\r\n\tvar React = require('react');\r\n\tvar FormFieldMixin = require('../FormFieldMixin');\r\n\tvar i18n = require('i18next-client');\r\n\r\n\tvar FileForm = React.createClass({\r\n\t\tmixins: [FormFieldMixin],\r\n\t\t// since we are starting off without any data, there is no initial value\r\n\t\tgetInitialState() {\r\n\t\t\treturn {\r\n\t\t\t\tdata_uri: null,\r\n\t\t\t\tfileName:i18n.t(\"customFileForm.NoFileSelected\")\r\n\t\t\t};\r\n\t\t},\r\n\t\t// prevent form from submitting; we are going to capture the file contents\r\n\t\thandleSubmit(e) {\r\n\t\t\te.preventDefault();\r\n\t\t},\r\n\t\t// when a file is passed to the input field, retrieve the contents as a\r\n\t\t// base64-encoded data URI and save it to the component's state\r\n\t\thandleFile(e) {\r\n\t\t\tvar {onUpload, multiple, field, reset} = this.props;\r\n\t\t\t//check if onload is received by field\r\n\t\t\tonUpload = onUpload || (field ? field.onUpload : null);\r\n\t\t\tmultiple = multiple || (field ? field.multiple: undefined);\r\n\t\t\tvar dataArray = [];\r\n\t\t\tif (reset){\r\n\t\t\t\treset.call(null);\r\n\t\t\t}\r\n\t\t\tif (multiple){\r\n\t\t\t\tfor (var i = 0; i < e.target.files.length; i++) {\r\n\t\t\t\t\tthis.setupReader(e.target.files[i], onUpload);\r\n\t\t\t\t}\r\n\t\t\t\tthis.setState({\r\n\t\t\t\t\tfileName: e.target.files.length > 1 ? i18n.t(\"customFileForm.MultipleFilesSelected\") : e.target.files.length === 0 ? i18n.t(\"customFileForm.NoFileSelected\") : e.target.files[0].name});\r\n\t\t\t}else {\r\n\t\t\t\tvar reader = new FileReader();\r\n\t\t\t\tvar file = e.target.files[0];\r\n\t\t\t\treader.onload = upload => {\r\n\t\t\t\t\tvar uploadFile = upload.target.result;\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tdata_uri: uploadFile\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (onUpload){\r\n\t\t\t\t\t\tonUpload.call(null, uploadFile);\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tif(file){\r\n\t\t\t\t\tthis.setState({\r\n\t\t\t\t\t\tfileName: file.name\r\n\t\t\t\t\t});\r\n\t\t\t\t\treader.readAsDataURL(file);\r\n\t\t\t\t}\r\n\t\t\t\telse{\r\n\t\t\t\t\tonUpload.call();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tthis.updateFormField(field, this.state.data_uri);\r\n\t\t},\r\n\t\trender() {\r\n\t\t\tvar {multiple, accept, field} = this.props;\r\n\t\t\tvar fieldMultiple = field ? field.multiple : null;\r\n\t\t\tvar fieldAccept = field ? field.accept : null;\r\n\t\t\tvar formDisabled = field ? field.disabled : null;\r\n\t\t\tvar fieldHtmlClass = field ? field.htmlClass : '';\r\n\t\t\tvar {hasContainer, display} = field || {};\r\n\t\t\t//if it has container gets the whole row\r\n\t\t\tvar divClass = hasContainer === true ? \"col-md-12\" : \"col-md-1\";\r\n\t\t\t// since JSX is case sensitive, be sure to use 'encType'\r\n\t\t\treturn (\r\n\t\t\t\t
    \r\n\t\t\t\t\t{/* */}\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t\r\n\t\t\t\t\t
    \r\n\t\t\t\t\t{this.state.fileName}\r\n\t\t\t\t
    \r\n\t\t\t);\r\n\t\t},\r\n\t\tsetupReader(file, onUpload) {\r\n\t\t\tvar name = file.name;\r\n\t\t\tvar reader = new FileReader();\r\n\t\t\treader.onload = function(e) {\r\n\t\t\t\tvar content = e.target.result;\r\n\t\t\t\tif (onUpload){\r\n\t\t\t\t\tonUpload.call(null, {fileName: name, content: content});\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\treader.readAsDataURL(file);\r\n\t\t}\r\n\t});\r\n\tmodule.exports = FileForm;\r\n})();\r\n","(function() {\r\n \t'use strict';\r\n \t// this creates a React component that can be used in other components or\r\n \t// used directly on the page with React.renderComponent\r\n \tvar React = require('react');\r\n\r\n \tvar FileFormWithoutForm = React.createClass({\r\n \t\t// since we are starting off without any data, there is no initial value\r\n \t\tgetInitialState() {\r\n \t\t\treturn {\r\n \t\t\t\tdata_uri: null\r\n \t\t\t};\r\n \t\t},\r\n \t\t// prevent form from submitting; we are going to capture the file contents\r\n \t\thandleSubmit(e) {\r\n \t\t\te.preventDefault();\r\n \t\t},\r\n \t\tgetCurrentField(){\r\n \t\t\t//TODO: if needed\r\n \t\t},\r\n \t\t// when a file is passed to the input field, retrieve the contents as a\r\n \t\t// base64-encoded data URI and save it to the component's state\r\n \t\thandleFile(e) {\r\n \t\t\tvar {onUpload, multiple, field, reset} = this.props;\r\n \t\t\t//check if onload is received by field\r\n \t\t\tonUpload = onUpload || (field ? field.onUpload : null);\r\n\r\n \t\t\tvar dataArray = [];\r\n \t\t\tif (reset){\r\n \t\t\t\treset.call(null);\r\n \t\t\t}\r\n \t\t\tif (multiple){\r\n \t\t\t\tfor (var i = 0; i < e.target.files.length; i++) {\r\n \t\t\t\t\tthis.setupReader(e.target.files[i], dataArray);\r\n \t\t\t\t}\r\n \t\t\t}else {\r\n \t\t\t\tvar reader = new FileReader();\r\n \t\t\t\tvar file = e.target.files[0];\r\n \t\t\t\treader.onload = upload => {\r\n \t\t\t\t\tvar uploadFile = upload.target.result;\r\n \t\t\t\t\tthis.setState({\r\n \t\t\t\t\t\tdata_uri: uploadFile\r\n \t\t\t\t\t});\r\n \t\t\t\t\tif (onUpload){\r\n \t\t\t\t\t\tonUpload.call(null, uploadFile);\r\n \t\t\t\t\t}\r\n \t\t\t\t};\r\n \t\t\t\tif(file){\r\n \t\t\t\t\treader.readAsDataURL(file);\r\n \t\t\t\t}\r\n \t\t\t\telse{\r\n \t\t\t\t\tonUpload.call();\r\n \t\t\t\t}\r\n \t\t\t}\r\n \t\t},\r\n\r\n \t\t// return the structure to display and bind the onChange, onSubmit handlers\r\n \t\trender() {\r\n \t\t\tvar {multiple, accept, field} = this.props;\r\n\t\t\tvar fieldMultiple = field ? field.multiple : null;\r\n\t\t\tvar fieldAccept = field ? field.accept : null;\r\n \t\t\tvar {hasContainer, display} = field || {};\r\n \t\t\t//if it has container gets the whole row\r\n \t\t\tvar divClass = hasContainer === true ? \"col-md-12\" : \"col-md-6\";\r\n \t\t\t// since JSX is case sensitive, be sure to use 'encType'\r\n \t\t\treturn (\r\n \t\t\t\t
    \r\n \t\t\t\t\t\r\n \t\t\t\t\t
    \r\n\t\t\t\t\t\t{multiple ? :\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\t{multiple || fieldMultiple ? :\r\n\t\t\t\t\t\t}\r\n \t\t\t\t\t
    \r\n \t\t\t\t
    \r\n \t\t\t);\r\n \t\t},\r\n \t\tsetupReader(file) {\r\n \t\t\tvar name = file.name;\r\n \t\t\tvar reader = new FileReader();\r\n \t\t\tvar {onUpload} = this.props;\r\n \t\t\treader.onload = function(e) {\r\n \t\t\t\tvar content = e.target.result;\r\n \t\t\t\tif (onUpload){\r\n \t\t\t\t\tonUpload.call(null, {fileName: name, content: content});\r\n \t\t\t\t}\r\n \t\t\t};\r\n \t\t\treader.readAsDataURL(file);\r\n \t\t}\r\n \t});\r\n \tmodule.exports = FileFormWithoutForm;\r\n })();\r\n","(function(){\r\n'use strict';\r\n\r\nvar React = require('react');\r\nvar FieldWrapper = require('./FieldWrapper');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\nvar G4SSelect = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\tbuildInnards(){\r\n\t\tvar {field} = this.state;\r\n\t\tvar {optionName, optionValue} = field;\r\n\t\toptionName = optionName || \"name\";\r\n\t\toptionValue = optionValue || \"value\";\r\n\t\treturn field.options ? field.options.map( opt => {\r\n\t\t\tvar display = opt[optionName] || opt;\r\n\t\t\tvar val = opt[optionValue] === undefined ? opt : opt[optionValue];\r\n\t\t\treturn ;\r\n\t\t}) : this.props.children;\r\n\t},\r\n\tgetSingleValue(changeValue){\r\n\t\tvar {field} = this.state;\r\n\t\tvar firstOptionVal = field.firstOptionVal ? field.firstOptionVal : \"-1\";\r\n\r\n\t\treturn changeValue === firstOptionVal ? null : changeValue;\r\n\t},\r\n\tgetMultipleValue(changeValue){\r\n\t\tvar {value} = this.state;\r\n\t\tvar idx = value.indexOf(changeValue);\r\n\r\n\t\tif (idx === -1){\r\n\t\t\tvalue.push(changeValue);\r\n\t\t} else {\r\n\t\t\tvalue.splice(idx, 1);\r\n\t\t}\r\n\t\treturn value;\r\n\t},\r\n\tgetFirstOption(multiple){\r\n\t\tvar {field} = this.state;\r\n\t\tvar firstOptionText = field.firstOptionText ? field.firstOptionText : '---Please Select---';\r\n\t\tvar firstOptionVal = field.firstOptionVal ? field.firstOptionVal : \"-1\";\r\n\t\tvar useFirstOption = field.firstOption && !multiple && !field.default;\r\n\r\n\t\treturn useFirstOption ? : '';\r\n\t},\r\n\thandleChange(evt) {\r\n\t\tthis.processChange(evt.target.value);\r\n\t},\r\n\tprocessChange(changeValue){\r\n\t\tvar {field, value} = this.state;\r\n\r\n\t\tif (changeValue){\r\n\t\t\tvalue = field.multiple ? this.getMultipleValue(changeValue) : this.getSingleValue(changeValue);\r\n\t\t}\r\n\r\n\t\tthis.updateFormField(field, value);\r\n\t},\r\n\trender() {\r\n\t\tvar {autofocus} = this.props;\r\n\t\tvar {field, value} = this.state;\r\n\t\tvar multiple = field.multiple ? 'multiple' : '';\r\n\t\tvar firstOption = this.getFirstOption(multiple);\r\n\r\n\t\t//if first option is a emptry string a span will be generated and an working will be raised\r\n\t\tif(firstOption !== ''){\r\n\t\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t\t}\r\n\t\treturn (\r\n\t\t\t\t\r\n\t\t\t\t\t\r\n\t\t\t\t\r\n\t\t\t);\r\n\t}\r\n});\r\n\r\nmodule.exports = G4SSelect;\r\n})();\r\n","(function(){\r\n'use strict';\r\n\r\nvar _ = require('lodash');\r\nvar React = require('react');\r\nvar FieldWrapper = require('./FieldWrapper');\r\nvar FormFieldMixin = require('../FormFieldMixin');\r\n\r\nvar G4STextArea = React.createClass({\r\n\tmixins: [FormFieldMixin],\r\n\tcomponentWillMount() {\r\n\t\tthis.handleChangeDebounced = _.debounce(function () {\r\n\t\t\tthis.processChange();\r\n }, /*500???*/0);\r\n\t},\r\n\thandleChange(evt) {\r\n\t\tthis.setState({\r\n\t\t\tvalue: evt.target.value\r\n\t\t});\r\n\t\tthis.handleChangeDebounced();\r\n\t},\r\n\tprocessChange(){\r\n\t\tvar {field, value} = this.state;\r\n\t\tthis.updateFormField(field, value);\r\n\t},\r\n\trender() {\r\n\t\tvar {autofocus, style} = this.props;\r\n\t\tvar field = this.state.field;\r\n\t\tvar rows = field.rows || 3;\r\n\t\t/*onBlur={this.processChange} changes the value from state*/\r\n\t\treturn (\r\n\t\t\t\r\n\t\t\t\t