{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///node_modules/xml-viewer-component/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","webpack:///src/admin-market-location/market_location.component.ts","webpack:///src/admin-market-location/market_location.component.html","webpack:///src/admin-market-location/market_location.editing/market_location.edit.component.ts","webpack:///src/admin-market-location/market_location.editing/market_location.edit.component.html","webpack:///src/admin-market-location/models/market_location.ts","webpack:///src/admin-market-location/services/admin.service.ts","webpack:///src/admin/models/user.ts","webpack:///src/admin/services/admin.service.ts","webpack:///src/admin/user.editing/user.edit.component.ts","webpack:///src/admin/user.editing/user.edit.component.html","webpack:///src/admin/users.component.ts","webpack:///src/admin/users.component.html","webpack:///src/app-routing/app-routing.module.ts","webpack:///src/app/app.component.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.module.ts","webpack:///src/app/services/auth-interceptor.ts","webpack:///src/app/services/auth.guard.ts","webpack:///src/app/services/auth.service.ts","webpack:///src/app/split.pipe.ts","webpack:///src/environments/environment.ts","webpack:///src/file-uploader/file-uploader.component.ts","webpack:///src/file-uploader/file-uploader.component.html","webpack:///src/file-uploader/service/file-upload.service.ts","webpack:///src/folder-manager/folder-manager.component.ts","webpack:///src/folder-manager/folder-manager.component.html","webpack:///src/homepage/added-units-graph/added-units-graph.component.ts","webpack:///src/homepage/added-units-graph/added-units-graph.component.html","webpack:///src/homepage/homepage.component.ts","webpack:///src/homepage/homepage.component.html","webpack:///src/homepage/monitor-units-graph/monitor-units-graph.component.ts","webpack:///src/homepage/monitor-units-graph/monitor-units-graph.component.html","webpack:///src/homepage/provision-units-graph/provision-units-graph.component.ts","webpack:///src/homepage/provision-units-graph/provision-units-graph.component.html","webpack:///src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component.ts","webpack:///src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component.html","webpack:///src/homepage/quick-actions/dialog-status.component/dialog-status.component.ts","webpack:///src/homepage/quick-actions/dialog-status.component/dialog-status.component.html","webpack:///src/homepage/quick-actions/quick-actions.component.ts","webpack:///src/homepage/quick-actions/quick-actions.component.html","webpack:///src/homepage/shared/home.models.ts","webpack:///src/homepage/shared/home.service.ts","webpack:///src/homepage/status-units-graph/status-units-graph.component.ts","webpack:///src/homepage/status-units-graph/status-units-graph.component.html","webpack:///src/loginpage/loginpage.component.ts","webpack:///src/loginpage/loginpage.component.html","webpack:///src/loginpageSSO/loginpagesso.component.ts","webpack:///src/loginpageSSO/loginpagesso.component.html","webpack:///src/logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component.ts","webpack:///src/logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component.html","webpack:///src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component.ts","webpack:///src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component.html","webpack:///src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component.ts","webpack:///src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component.html","webpack:///src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component.ts","webpack:///src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component.html","webpack:///src/logs/loggingComponent/logging.component.ts","webpack:///src/logs/loggingComponent/logging.component.html","webpack:///src/logs/logs.component.ts","webpack:///src/logs/logs.component.html","webpack:///src/logs/shared/logging.service.ts","webpack:///src/main.ts","webpack:///src/navbar/navbar.component.ts","webpack:///src/navbar/navbar.component.html","webpack:///src/phonebook-manager/phonebook-manager.component.ts","webpack:///src/phonebook-manager/phonebook-manager.component.html","webpack:///src/report-generator/report-generator.component.ts","webpack:///src/report-generator/report-generator.component.html","webpack:///src/report-generator/report-generator.service.ts","webpack:///src/shared/404/404.component.ts","webpack:///src/shared/404/404.component.html","webpack:///src/shared/Dialogs/bulk-actions/bulkActions.service.ts","webpack:///src/shared/Dialogs/bulk-actions/dialog.bulkActions.component.ts","webpack:///src/shared/Dialogs/bulk-actions/dialog.bulkActions.component.html","webpack:///src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component.ts","webpack:///src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component.html","webpack:///src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component.ts","webpack:///src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component.html","webpack:///src/shared/Dialogs/dialog-search/dialog.search.component.ts","webpack:///src/shared/Dialogs/dialog-search/dialog.search.component.html","webpack:///src/shared/Dialogs/dialog-search/model/VcUnitData.ts","webpack:///src/shared/Dialogs/dialog-search/service/search.service.ts","webpack:///src/shared/Dialogs/lm-lists/lm-lists.component.ts","webpack:///src/shared/Dialogs/lm-lists/lm-lists.component.html","webpack:///src/shared/Dialogs/report-issue/dialog.reportIssue.component.ts","webpack:///src/shared/Dialogs/report-issue/dialog.reportIssue.component.html","webpack:///src/shared/Dialogs/report-issue/reportIssue.service.ts","webpack:///src/shared/Dialogs/reset-password/dialog.resetPassword.component.ts","webpack:///src/shared/Dialogs/reset-password/dialog.resetPassword.component.html","webpack:///src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component.ts","webpack:///src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component.html","webpack:///src/shared/Dialogs/wallpaper-upload/wallpaperUpload.service.ts","webpack:///src/shared/access.auth.service.ts","webpack:///src/shared/global.shared.service.ts","webpack:///src/shared/logger/levels.enum.ts","webpack:///src/shared/logger/logger.service.ts","webpack:///src/shared/search.module.service.ts","webpack:///src/software-upgrade/software-upgrade.component.ts","webpack:///src/software-upgrade/software-upgrade.component.html","webpack:///src/sql-data-table/sql-data-table.component.ts","webpack:///src/sql-data-table/sql-data-table.component.html","webpack:///src/system-profile-manager/dialog-insert-system/insert.systems.component.ts","webpack:///src/system-profile-manager/dialog-insert-system/insert.systems.component.html","webpack:///src/system-profile-manager/shared/state.enum.ts","webpack:///src/system-profile-manager/shared/system-profile-V2.service.ts","webpack:///src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component.ts","webpack:///src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-password/system-password.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-password/system-password.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-profile-V2.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-profile-V2.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-setting/system-setting.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-setting/system-setting.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component.html","webpack:///src/system-profile-manager/system-profile-V2/system-update/timeZones.ts","webpack:///src/system-profile-manager/system-profile-V2/system-update/update.system.component.ts","webpack:///src/system-profile-manager/system-profile-V2/system-update/update.system.component.html","webpack:///src/system-profile-manager/system-profile-manager.component.ts","webpack:///src/system-profile-manager/system-profile-manager.component.html","webpack:///src/template-manager/template-manager.component.ts","webpack:///src/template-manager/template-manager.component.html","webpack:///src/treeview-systems/treeview-systems.component.ts","webpack:///src/treeview-systems/treeview-systems.component.html"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","webpackAsyncContext","ids","webpackAsyncContextKeys","AdminMarketLocationController","adminService","dialog","router","activatedRoute","_snackBar","loggerService","market_locations","fetchingData","displayedColumns","getData","event","filterValue","target","value","tableData","filter","trim","toLowerCase","getMarkets","subscribe","data","err","log","message","error","marketId","deleteMarket","openSnackBar","info","marketToBeUpdated","updatedMarketID","next","navigate","relativeTo","dialogRef","open","width","title","disableClose","afterClosed","result","action","duration","panelClass","selector","templateUrl","styleUrls","MarketLocationEditComponent","activatedRouter","routingRouter","market_location","editMode","url","length","path","getUpdatedMarketData","newMarket","insertMarket","reloadComponent","updatedMarket","updateMarket","editForm","valid","updateData","insertData","getById","JSON","parse","stringify","routeReuseStrategy","shouldReuseRoute","onSameUrlNavigation","onSubmit","AdminService","http","token","localStorage","getItem","headers","responseType","get","getAll","post","create","market_name","location_name","email_address","remedy_support_group","remedy_ticket_summary","returnedData","update","providedIn","user","updatedUserID","userId","user_upn","user_email","user_role","is_active","UserEditComponent","userPassword","resetPasswordMode","marketsReceivedIds","userEnabled","userRoles","getUpdatedUserData","console","newUser","postUser","updatedUser","updateUser","resetPassword","maxHeight","idObj","push","AdminController","users","getUsers","deleteUser","userToBeUpdated","isEditMode","routes","component","canLoad","canActivate","children","AppRoutingModule","provide","useClass","forRoot","imports","declarations","providers","AppComponent","showFiller","AppModule","multi","schemas","bootstrap","SiteUser","AuthInterceptorService","siteUser","pipe","handle","queryParams","set","modifiedRequest","clone","params","AuthGuard","authService","activateRoute","rejectedUserURL","state","tokenStored","getSSOTokenFromQueryString","user_info_obj","role","includes","routeConfig","check_auth","route","segments","receivedToken","setItem","AuthService","verify","res","asObservable","SplitPipe","separator","splits","split","pop","name","environment","production","AD","auth_server","home","user_access","folder_manager","system_manager","template_manager","software_update","phonebook","searchModule","logs","logger","URL","FileUploaderComponent","fileUploadService","elem","show_alert_upload_status","show_alert_upload_msg","uploader","itemAlias","packagesAvailable","onAfterAddingFile","file","withCredentials","onCompleteItem","item","response","status","update_packages_list","elements","nativeElement","querySelectorAll","forEach","element","style","justifyContent","resetTable","paginator","sort","services","package_directory","firstPage","applyFilter","FileUploadService","FolderManagerComponent","_formBuilder","document","isLinear","parent_folder_id","selected_parent_folder_name","selected_parent_folder_id","create_response_message","update_response_message","move_response_message","delete_response_message","show_progressbar","parsed_data","disable_upload_button","msg_upload","sort_tree_by","selectedFolderToMove","destinationFolder","moveFolderErrorMessage","useremail","json_object","toString","useraccess","window","location","href","user_permission","get_user_access_service","CreateFolder_FormGroup","group","item_name","required","item_parent_id","updateFolderForm","moveFolderFormGroup","item_src_name","item_dest_name","deleteFolderFormGroup","$event","selected_folder","text","setValue","add_folder","dataresponse","reload_treeView","reset","patchValue","disableMoveButton","confirm","is_root","checkFoldersState","disableBtn","updateBtnErrorMsg","type","switcher","csv_data","getElementById","i","j","Math","floor","random","toUpperCase","generateGuid","system_ip","system_password","system_name","system_mac_address","json_obj","click","tree","searchedId","searchTree","receiveMessage2","receiveMessage","onSubmit_create_folder","onSubmit_update_folder","onSubmit_delete_folder","AddedUnitsGraphComponent","homeService","lineChartData1","label","lineChartLabels1","lineChartOptions1","scales","yAxes","ticks","beginAtZero","gridLines","color","xAxes","lineTension","responsive","maintainAspectRatio","line","tension","lineChartColors1","backgroundColor","borderColor","pointBackgroundColor","pointBorderColor","pointHoverBackgroundColor","pointHoverBorderColor","lineChartLegend1","lineChartType1","dataToBeTransmitted","addedUnitsGraphData","Month","Year","count","HomepageComponent","accessAuthService","roleArray","refetchingDataFlag","adminAuthorization","user_info_obj_BehaviorSubject","isAdmin","getVMSStatistics","refetchData","MonitorUnitsGraphComponent","doughnutChartLabels","doughnutChartOptions","borderWidth","doughnutChartData","doughnutChartType","doughnutChartLegend","monitoredUnits","unmonitoredUnits","minWidth","maxWidth","minHeight","openMonitorDialog","openUnMonitorDialog","ProvisionUnitsGraphComponent","provisionedUnits","unprovisionedUnits","openProvisionDIalog","openUnProvisionDIalog","DialogMonitorProvisionComponent","monitorOrProvision","unitsToBeHandled","logsTableData","pageTitle","globalProcessingFlag","getUnprovisionedUnits","key","getUnmonitoredUnits","getProvisionedUnits","getMonitoredUnits","dialogData","sendBulkAppropriateRequest","processingFlag","provisionUnit","resultSuccessFlag","resultFailedFlag","monitorUnit","unProvisionUnit","unMonitorUnit","unitsBeSent","adjustHandledUnits","bulkProvision","bulkUnProvision","adjustProcessingFlagForAllUnits","bulkMonitor","bulkUnMonitor","unitsToBeSent","endsWith","slice","close","onNoClick","DialogStatusComponent","statusReceived","getInACallUnits","adjustDataForTable","getNoResponseUnits","getIdleUnits","getIncorrectPasswordUnits","getInRelayErrorUnits","QuickActionsComponent","pullAllUnitsConfigurationFiles","refreshPhonebook","openAddDialog","openBulkActionsDialog","openWallpaperUploadActionDialog","openConfirmationDialogForPhonebookRefresh","monitorProvisionObj","ip","parent","flag1","flag2","flag3","parentFolder","statusUnitObj","HomeService","statistics","flag","units","bulkActions","userWhoMadeRequest","StatusUnitsGraphComponent","statusGraph","dialogName","LoginpageComponent","fb","auth_ui_class","auth_ui_res","auth_ui_msg","auth_ui_process","loading","form","clear","new_user_session","logUser","auth","togglePassword","querySelector","password","getAttribute","setAttribute","className","toggelVisibility","visibilityOff","LoginpageSSOComponent","routeActivated","ssoTokenReceived","new_user_info_obj","goToSSO","dt","Date","getTime","uuid","replace","c","r","encodedQueryParams","encodeURIComponent","join","_guid","removeItem","client_id","response_type","response_mode","scope","redirect_uri","nonce","authorizeEndpoint","toQueryString","Document","DialogDetailedLogsComponent","loggingService","rowColor","getLogs","textAlign","fontWeight","padding","fontSize","getDetailedLogs","jobId","IP","elementData","clearLogs","onClick","DialogDetailedLogsTemplatesComponent","getUpcomingTemplatesJobs","templateID","DialogDetailedLogsWallpaperComponent","getWallpaperDetailedLogs","emptyObject","job_id","log_time","log_content","StateDialogDetailedLogsComponent","getWallpaperStateLogs","LoggingComponent","templateLogs","softwareUpgradeLogs","upcomingTemplatesLogs","upComingSoftwareUpgradesLogs","conflictsLogs","auditLogs","wallpaperLogs","templateLogsColumns","softwareUpgradeLogsColumns","upcomingTemplatesLogsColumns","upComingSoftwareUpgrades","conflictsColumns","auditColumns","wallpaperColumns","templateLogsTableData","softwareUpgradeLogsTableData","upcomingTemplatesLogsTableData","upComingSoftwareUpgradesTableData","conflictsTableData","auditTableData","wallpaperTableData","getTemplateLogs","toArray","getSWLogs","getUpcomingTemplatesJobsData","today","next_run_time","expired","getUpComingSoftwareUpgrades","getConflictLogs","getAuditLogs","getWallpaperLogs","tabIndex","clearTemplateLogs","clearSoftwareUpgradeLogs","getSoftwareUpgradeLogs","clearUpcomingTemplatesLogs","getUpcomingTemplatesLogs","clearUpcomingSoftwareUpgradesLogs","clearConflictsLogs","clearAuditLogs","clearWallpaperLogs","removeUpComingSoftwareUpgrade","reloadTabData","applyFilterTemplateLogs","applyFilterSoftwareUpgradeLogs","applyFilterUpcomingTemplatesLogs","applyFilterUpcomingSoftwareUpgradesLogs","applyFilterConflictsLogs","applyFilterAuditLogs","applyFilterWallpaperLogs","LogsComponent","LoggingService","searchText","ipAddress","tempId","bootstrapModule","NavbarComponent","searchModuleService","isCollapsed","openSearchDialog","goToHome","openDialog","logOut","openResetPasswordDialog","openConfirmationDialog","PhonebookManagerComponent","list_CustomPhonebookFiles","selected_phonebook_file_row","toggle_add_new_phonebook","toggle_edit_phonebook","toggle_edit_file_mappings","toggle_new_contact_method","toggle_edit_catalog","toggle_edit_form","toggle_list","list_phonebook_files_data","list_folder_props","list_distinct_system_type","selected_item_contact","submit_response","list_selected_folders","list_all_phonebook_folders","obj_tree_query","phonebook_management","response_data","selected_item_folder","catalog_management","selected_item_folder_row","form_edit_catalog_card","Id","Name","addControl","entry_management","form_edit_contact_card","fc_name","fc_system_type","fc_protocol","fc_dialstring","fc_description","fc_Id","form_new_contact_method","fc_restrict","fc_call_type","rec_id","route_management","form_new_phonebook","get_all_phonebook_files","row_id","folder_updated_name","$","val","k","entry","splice","parseInt","save_mapping_selected_file","delay","setTimeout","phonebookcatalog_management","jobject","phonebook_task_management","index","folder_id","get_phonebook_files_data","SystemType","Protocol","Description","DialString","CallType","Restrict","submit_new_phonebook_file","edit_contact_card","delete_form_edit_contact_card","submit_form_edit_contact_card","ReportGeneratorComponent","reportGeneratorService","targetFolder","received_selected_items","allComplete","systemHeader","shownValue","completed","subtasks","systemsData","disableFetchButton","folderDetails","items","every","t","systemsReceiver","adjustHeadersToBeSent","adjustUnitsIDsToBeSent","Vodafone_Length","fullPath","entire_path","firstPartOfStringAfterVodafone_","indexOf","nextDashIndex","main_folder","secondary_folders","replaceAll","headerString","stringArr","unitsArr","dataToBeSent","adjustHeadersForDialog","recieve_selected_multiple_items","sendDataToReportGenerator","setAll","ReportGeneratorService","headersToBeSent","ErrorComponent","BulkActionsService","BulkActionsDialogComponent","bulkActionsService","switcher_toggle_navigator","sort_by_list","viewValue","bulkDelete","getSelectedIds","idsToBeSent","openConfirmationDialogForPullAllUnits","DialogConfirmationComponent","onYesClick","DialogReportGeneratorComponent","fileName","toISOString","ws","table_to_sheet","wb","book_new","book_append_sheet","exportExcel","stopPropagation","selection","DialogSearchComponent","searchService","keysAvailable","initialMessageAndNoData","initialMessageColor","itemSelectedFromList","searchedInputText","selectedItems","allowMultipleSelect","allowedAccessRoutes","confirmBtnCheck","row","isSelected","parent_id","parent_name","elementIndex","findIndex","postSearchData","clearSelection","find","numSelected","selected","numRows","isAllSelected","selectAll","select","selectionChange","fetchData","VcUnitData","no","parentId","parentName","SearchService","selectedKey","postSearch","LmListsComponent","globalService","datePipe","butCol","myDate","masterSelected","marketList","now","getUserMappedList","marketNotPicked","getAccessList","getUserAccessMappingFolders","userMappedFolders","f","getAllAccessFolders","allItems","newSelectedMarketList","accessArr","iarr","onItemSelect","updateAccessFolders","checkUncheckAll","onOKClick","ReportIssueDialogComponent","reportIssueService","description","contactEmail","sendMailFlag","issueReportForm","reportAnIssue","ReportIssueService","reportIssue","ResetPasswordDialogComponent","sendFlag","newPassword","WallpaperUploadDialogComponent","wallpaperUploadService","sanitizer","imagesNames","selectedImage","imageData","requestSentFlag","getAllImages","imgs","getImage","imageSource","bypassSecurityTrustResourceUrl","base64_encoded_image","postJobs","getImageUrl","openConfirmDialog","WallpaperUploadService","wallpaperURL","img","imageID","requestedBy","AccessAuthService","GlobalSharedService","foldersArr","updateByIdUserAccess","Levels","LoggerService","componentName","nameOfUser","msg","lvl","body","username","level","getLevelString","logEntry","warning","SearchModuleService","dataTransmitted","urlsForMultipleSelect","checkMultipleSelect","instance","componentInstance","sendData","SoftwareUpgradeComponent","_formbuilder","show_job_form","upgrade_list","final_upgrade_list","package_list","recieve_selected_items","selected_option_value","selected_option_sw_name","request_body","move_single_system_to_list","system_obj","system","sw_name","get_packages_by_sw_name","button_id","hidden","temp","form_updatelist","getElementsByClassName","element1","start_at","current_system_name","fc_id","fc_value","fc_system","fc_ip","fc_operation","fc_status","fc_isexecuted","current_id","iterate_index","v","parent_job_id","uuidv4","date","operation_name","job_status","is_executed","system_command","undefined","jobj","move_selected_to_list","create_job","SqlDataTableComponent","formDataMessageEvent","messageEvent","formTemplate","list_selected_items","list_hidden_cols","n","clickevent","sendMessage_selected_rows","emit","myFormGroup","sqlRows","q","condition","condition_value","condition_value_type","query","condition_key","table_dataset","generate_displayed_columns","dataSource","remove","hidden_cols","InsertUnitsComponent","systemService","insertedSystems","folderAddError","marketsData","availableMarkets","selectedMarketName","availableMarketLocations","selectedMarketLocationId","provisionUnitsChoice","monitorUnitsChoice","rowsCounter","resultReceivedFlag","disableAfterFetchingData","StateEnum","getMarketsLocationsAvailable","market","insertForm","clearTableData","parsedArr","insertedSystemsText","candidateEle","submitForm","dataObject","targetFolderId","marketLocationId","provisionFlag","monitorFlag","prop","obj","dictId","addSystems","ReceivedData","stateReceivedEnum","ErrorWhileSendingData","x","markAllAsTouched","elementID","parentNode","removeChild","locations","recieve_selected_folder","onSubmitTextArea","clearTextArea","fetchMarketLocations","onSubmitData","SystemProfileService","endpointDateToBeTransmitted","systemId","push_system_profile","unitId","NewFolderId","unitip","pull_system_profile","unitIp","note","userName","swVersion","update_profile","FolderSystemsComponent","receivedUnits","changes","selectedFolderId","getSystemsInFolder","getFolderSystems","a","b","endpoint","SystemPasswordComponent","panelOpenState1","panelOpenState2","panelOpenState3","panelOpenState4","updatePasswordError","updatePasswordError2","vms_system_password","passwordProcessingFlag","toBeSentPassword","endPoint_location_updated","resetAllData","endpoint_data","market_location_id","getSystemMarketLocation","systemMarketLocationData","selected_parent_folder","onSubmit_update_location","send_new_password","update_vms_password","folder_id_id","internalChildren","disableUpdateButton","updateEndpointFolder","push_to_system_new_password","new_password","tryChangeSystemPassword","enable_phonebook","enable_sip","enable_h323","passwordForm","tryInsertFirstPassword","test","updateVMSPassword","updateSystemMarket","SystemProfileV2Component","tree_received_endpoint_data","SystemSettingComponent","endpoint_warnings","panelOpenState5","pullSystemFlag","deleteSystemFlag","is_provisioned","systemToBeDeleted","deleteSystem","pullFromSystem","pullDataFromSystem","AddNoteComponent","dataReceived","ops_note","first","rest","insertedNoteText","addNoteToSystem","RollbackComponent","systemIpAndName","currentConfigName","currentConfigString","rolledBackSelectedName","rolledBackSelectedString","getConfigFiles","getConfigFileByName","fileRes","shift","listOfFIlesNames","rollbackSystemConfiguration","onNgModelChange","SystemStateProvisioningComponent","provisionProcessFlag","currentDate","lastDownDate","last_down_time","unProvisionSystem","systemToBeProvisioned","provisionSystem","systemBackupsToBeDeleted","sendRemoveBackupsRequest","systemToBeBackedUp","sendBackupRequest","is_monitored","sendMonitorRequest","unprovisionSystemWithNoDelete","monitorOrUnmonitorSystem","removeAllBackups","takeBackup","goToLink","openAddNoteDialog","timeZones","SystemUpdateComponent","keysToBeChecked","availableTimeZones","onAndOffOptions","checkedAuthenticationPassword","pushingToSystemFlag","endpoint_data_received","endpoint_data_ToBe_Edited","assign","dataChanged","checkAndGetChangedData","updateProfile","software_version","keyToBeChecked","newVal","openDialogPush","SystemProfileManagerComponent","switcher_navigator","send_system_profile_object","recieve_selected_item","systemrow","click_button","systemobj","_filter","opt","TemplateManagerComponent","panelOpenState","selected_commands_list","saved_commands_list","list_of_job_selected_folders","list_of_job_selected_systems","creation_finished","slider_addmore","slider_addmore_commands","slider_editcurrent_commands","slider_editcurrent_job","target_folder_list","target_systems_list","modal_edit_command_conf","selected_item_job_id","selected_item_template_id","switcher_deletecommand","show_delete_job","selected_item_job_id_history","selected_sql_row","stateGroups","SoftwareVersion","stateForm","stateGroup","user_access_obj","sort_template_tree_by","sort_nav_tree_by","addNewTemplate","utctimenow","toUTCString","setInterval","stateGroupOptions","valueChanges","_filterGroup","get_distinct_templates","get_distinct_software_CommandDisplayName","newTemplateForm","template_name","template_description","mapCommandsForm","createJobForm","job_title","start_job_at","template_frequency","template_display_name_id","template_job_id","updateJobForm","modal_modifyCommandConfForm","distinct_templates","distinct_software_name","template_id","req_body","filter_sw_version","sw_id","command_syntax","command_type","command_name","json","fc","fk","fcv","fc_sw","fc_command_type","template_name_id","item_id","commands_arr","d","year","getFullYear","month","getMonth","day","getDate","created_job_id","switch_case","entered_system_name","row_system_name","entered_folder_name","row_folder_name","selected_item_job_row","get_job_target_list","get_template_saved_commnads","item_type","current_item_name","selected_item_name","command_id","command_conf_id","value_type","command_conf_id_ctrl","command_value","command_value_type","folder","rem_folder_id","system_id","rem_system_id","job","select_state","selectedList_sw_versions","search_key","ob","array","templatecommandsview","parameter_element_id","classList","command_line","textContent","command_id_fk","command_sw_id","command_display","added_by","command_is_enabled","command_sw_version","command_sw_version_text","command_family","assign_commands_to_template","Number","CommandFamily","software_id","CommandSyntax","CommandType","CommandName","DynamicFlatNode","expandable","isLoading","props","DynamicDatabase","dataMap","Map","rootLevelNodes","node","has","DynamicDataSource","_treeControl","_database","dataChange","collectionViewer","expansionModel","changed","change","added","removed","handleTreeControl","viewChange","toggleNode","reverse","expand","getChildren","nodes","isExpandable","dataNodes","TreeviewSystemsComponent","database","messageEvent_send_parent_information","messageEvent2","has_checkbox","messageSelectedNode","messageSelectedMultipleNodes","messageSelectedMultipleNodesWithTheirText","messageSelectedFolder","messageResponseData","dropdownEnabled","config","hasAllCheckBox","hasFilter","hasCollapseExpand","decoupleChildFromParent","node_click_style_value","getLevel","hasChild","_","_nodeData","refreshFlag","treeControl","initialData","checked","iw","get_folder_id_emit","get_folder_id_by_name","single_item_selected","sort_by","json_body","ngx_tree","items_json","get_ngx_tree","nodesToBeSentWithTheirValuesAndText","treeView","checkedItems","root_item","findParent","onFilterChange","onSelectedChange"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAASA,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,aAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,YAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA,OAJM,CAAP;AAKA;;AACDL,4BAAwB,CAACQ,IAAzB,GAAgC,YAAW;AAAE,aAAO,EAAP;AAAY,KAAzD;;AACAR,4BAAwB,CAACG,OAAzB,GAAmCH,wBAAnC;AACAS,UAAM,CAACC,OAAP,GAAiBV,wBAAjB;AACAA,4BAAwB,CAACW,EAAzB,GAA8B,yCAA9B;;;;;;;;;;;;;;ACZA,QAAIC,GAAG,GAAG;AACT,cAAQ,oCADC;AAET,iBAAW,oCAFF;AAGT,cAAQ,oCAHC;AAIT,iBAAW,uCAJF;AAKT,oBAAc,uCALL;AAMT,iBAAW,uCANF;AAOT,oBAAc,uCAPL;AAQT,iBAAW,uCARF;AAST,oBAAc,uCATL;AAUT,iBAAW,uCAVF;AAWT,oBAAc,uCAXL;AAYT,iBAAW,uCAZF;AAaT,oBAAc,uCAbL;AAcT,iBAAW,uCAdF;AAeT,oBAAc,uCAfL;AAgBT,iBAAW,oCAhBF;AAiBT,cAAQ,oCAjBC;AAkBT,iBAAW,oCAlBF;AAmBT,cAAQ,oCAnBC;AAoBT,iBAAW,oCApBF;AAqBT,cAAQ,oCArBC;AAsBT,iBAAW,oCAtBF;AAuBT,cAAQ,oCAvBC;AAwBT,iBAAW,oCAxBF;AAyBT,cAAQ,oCAzBC;AA0BT,iBAAW,oCA1BF;AA2BT,cAAQ,oCA3BC;AA4BT,iBAAW,oCA5BF;AA6BT,cAAQ,oCA7BC;AA8BT,iBAAW,oCA9BF;AA+BT,cAAQ,oCA/BC;AAgCT,iBAAW,oCAhCF;AAiCT,cAAQ,oCAjCC;AAkCT,iBAAW,oCAlCF;AAmCT,cAAQ,oCAnCC;AAoCT,iBAAW,oCApCF;AAqCT,cAAQ,oCArCC;AAsCT,iBAAW,oCAtCF;AAuCT,cAAQ,oCAvCC;AAwCT,iBAAW,oCAxCF;AAyCT,cAAQ,oCAzCC;AA0CT,iBAAW,oCA1CF;AA2CT,cAAQ,oCA3CC;AA4CT,iBAAW,uCA5CF;AA6CT,oBAAc,uCA7CL;AA8CT,iBAAW,uCA9CF;AA+CT,oBAAc,uCA/CL;AAgDT,iBAAW,oCAhDF;AAiDT,cAAQ,oCAjDC;AAkDT,iBAAW,oCAlDF;AAmDT,cAAQ,oCAnDC;AAoDT,iBAAW,oCApDF;AAqDT,iBAAW,uCArDF;AAsDT,oBAAc,uCAtDL;AAuDT,iBAAW,uCAvDF;AAwDT,oBAAc,uCAxDL;AAyDT,iBAAW,uCAzDF;AA0DT,oBAAc,uCA1DL;AA2DT,iBAAW,uCA3DF;AA4DT,oBAAc,uCA5DL;AA6DT,iBAAW,uCA7DF;AA8DT,oBAAc,uCA9DL;AA+DT,iBAAW,uCA/DF;AAgET,oBAAc,uCAhEL;AAiET,iBAAW,uCAjEF;AAkET,oBAAc,uCAlEL;AAmET,cAAQ,oCAnEC;AAoET,iBAAW,oCApEF;AAqET,cAAQ,oCArEC;AAsET,iBAAW,uCAtEF;AAuET,oBAAc,uCAvEL;AAwET,iBAAW,uCAxEF;AAyET,oBAAc,uCAzEL;AA0ET,iBAAW,oCA1EF;AA2ET,cAAQ,oCA3EC;AA4ET,iBAAW,oCA5EF;AA6ET,cAAQ,oCA7EC;AA8ET,iBAAW,oCA9EF;AA+ET,cAAQ,oCA/EC;AAgFT,iBAAW,oCAhFF;AAiFT,cAAQ,oCAjFC;AAkFT,iBAAW,oCAlFF;AAmFT,cAAQ,oCAnFC;AAoFT,iBAAW,oCApFF;AAqFT,cAAQ,oCArFC;AAsFT,iBAAW,uCAtFF;AAuFT,oBAAc,uCAvFL;AAwFT,iBAAW,uCAxFF;AAyFT,oBAAc,uCAzFL;AA0FT,iBAAW,oCA1FF;AA2FT,cAAQ,oCA3FC;AA4FT,iBAAW,oCA5FF;AA6FT,cAAQ,oCA7FC;AA8FT,iBAAW,oCA9FF;AA+FT,cAAQ,oCA/FC;AAgGT,iBAAW,oCAhGF;AAiGT,cAAQ,oCAjGC;AAkGT,iBAAW,oCAlGF;AAmGT,oBAAc,0CAnGL;AAoGT,uBAAiB,0CApGR;AAqGT,cAAQ,oCArGC;AAsGT,iBAAW,oCAtGF;AAuGT,cAAQ,oCAvGC;AAwGT,iBAAW,oCAxGF;AAyGT,cAAQ,oCAzGC;AA0GT,iBAAW,oCA1GF;AA2GT,cAAQ,oCA3GC;AA4GT,iBAAW,oCA5GF;AA6GT,cAAQ,oCA7GC;AA8GT,iBAAW,oCA9GF;AA+GT,iBAAW,uCA/GF;AAgHT,oBAAc,uCAhHL;AAiHT,cAAQ,oCAjHC;AAkHT,iBAAW,oCAlHF;AAmHT,cAAQ,oCAnHC;AAoHT,iBAAW,oCApHF;AAqHT,cAAQ,oCArHC;AAsHT,iBAAW,uCAtHF;AAuHT,oBAAc,uCAvHL;AAwHT,iBAAW,oCAxHF;AAyHT,cAAQ,oCAzHC;AA0HT,iBAAW,oCA1HF;AA2HT,cAAQ,oCA3HC;AA4HT,iBAAW,oCA5HF;AA6HT,cAAQ,oCA7HC;AA8HT,iBAAW,oCA9HF;AA+HT,cAAQ,oCA/HC;AAgIT,iBAAW,oCAhIF;AAiIT,cAAQ,oCAjIC;AAkIT,iBAAW,oCAlIF;AAmIT,cAAQ,oCAnIC;AAoIT,iBAAW,oCApIF;AAqIT,cAAQ,oCArIC;AAsIT,iBAAW,oCAtIF;AAuIT,cAAQ,oCAvIC;AAwIT,iBAAW,oCAxIF;AAyIT,cAAQ,oCAzIC;AA0IT,iBAAW,oCA1IF;AA2IT,cAAQ,oCA3IC;AA4IT,iBAAW,oCA5IF;AA6IT,cAAQ,oCA7IC;AA8IT,iBAAW,oCA9IF;AA+IT,cAAQ,oCA/IC;AAgJT,iBAAW,oCAhJF;AAiJT,cAAQ,oCAjJC;AAkJT,iBAAW,oCAlJF;AAmJT,cAAQ,oCAnJC;AAoJT,iBAAW,oCApJF;AAqJT,cAAQ,oCArJC;AAsJT,iBAAW,oCAtJF;AAuJT,cAAQ,oCAvJC;AAwJT,iBAAW,oCAxJF;AAyJT,cAAQ,oCAzJC;AA0JT,iBAAW,oCA1JF;AA2JT,cAAQ,oCA3JC;AA4JT,iBAAW,oCA5JF;AA6JT,cAAQ,oCA7JC;AA8JT,iBAAW,oCA9JF;AA+JT,cAAQ,oCA/JC;AAgKT,iBAAW,uCAhKF;AAiKT,oBAAc,uCAjKL;AAkKT,iBAAW,oCAlKF;AAmKT,cAAQ,oCAnKC;AAoKT,iBAAW,oCApKF;AAqKT,cAAQ,oCArKC;AAsKT,iBAAW,oCAtKF;AAuKT,cAAQ,oCAvKC;AAwKT,iBAAW,oCAxKF;AAyKT,cAAQ,oCAzKC;AA0KT,iBAAW,oCA1KF;AA2KT,cAAQ,oCA3KC;AA4KT,iBAAW,uCA5KF;AA6KT,oBAAc,uCA7KL;AA8KT,iBAAW,oCA9KF;AA+KT,cAAQ,oCA/KC;AAgLT,iBAAW,oCAhLF;AAiLT,iBAAW,uCAjLF;AAkLT,oBAAc,uCAlLL;AAmLT,cAAQ,oCAnLC;AAoLT,iBAAW,oCApLF;AAqLT,cAAQ,oCArLC;AAsLT,iBAAW,uCAtLF;AAuLT,oBAAc,uCAvLL;AAwLT,iBAAW,oCAxLF;AAyLT,cAAQ,oCAzLC;AA0LT,iBAAW,oCA1LF;AA2LT,cAAQ,oCA3LC;AA4LT,iBAAW,oCA5LF;AA6LT,cAAQ,oCA7LC;AA8LT,iBAAW,oCA9LF;AA+LT,cAAQ,oCA/LC;AAgMT,iBAAW,oCAhMF;AAiMT,cAAQ,oCAjMC;AAkMT,iBAAW,oCAlMF;AAmMT,cAAQ,oCAnMC;AAoMT,iBAAW,oCApMF;AAqMT,cAAQ,oCArMC;AAsMT,iBAAW,oCAtMF;AAuMT,cAAQ,oCAvMC;AAwMT,iBAAW,oCAxMF;AAyMT,cAAQ,oCAzMC;AA0MT,mBAAa,yCA1MJ;AA2MT,sBAAgB,yCA3MP;AA4MT,iBAAW,oCA5MF;AA6MT,cAAQ,oCA7MC;AA8MT,iBAAW,oCA9MF;AA+MT,cAAQ,oCA/MC;AAgNT,iBAAW,oCAhNF;AAiNT,cAAQ,oCAjNC;AAkNT,iBAAW,oCAlNF;AAmNT,cAAQ,oCAnNC;AAoNT,iBAAW,oCApNF;AAqNT,cAAQ,oCArNC;AAsNT,iBAAW,oCAtNF;AAuNT,eAAS,qCAvNA;AAwNT,kBAAY,qCAxNH;AAyNT,cAAQ,oCAzNC;AA0NT,iBAAW,oCA1NF;AA2NT,cAAQ,oCA3NC;AA4NT,iBAAW,oCA5NF;AA6NT,iBAAW,uCA7NF;AA8NT,oBAAc,uCA9NL;AA+NT,eAAS,qCA/NA;AAgOT,kBAAY,qCAhOH;AAiOT,cAAQ,oCAjOC;AAkOT,iBAAW,oCAlOF;AAmOT,eAAS,qCAnOA;AAoOT,kBAAY,qCApOH;AAqOT,eAAS,qCArOA;AAsOT,oBAAc,0CAtOL;AAuOT,uBAAiB,0CAvOR;AAwOT,kBAAY,qCAxOH;AAyOT,iBAAW,uCAzOF;AA0OT,oBAAc,uCA1OL;AA2OT,cAAQ,oCA3OC;AA4OT,iBAAW,oCA5OF;AA6OT,cAAQ,oCA7OC;AA8OT,iBAAW,oCA9OF;AA+OT,cAAQ,oCA/OC;AAgPT,mBAAa,yCAhPJ;AAiPT,sBAAgB,yCAjPP;AAkPT,iBAAW,oCAlPF;AAmPT,cAAQ,oCAnPC;AAoPT,iBAAW,oCApPF;AAqPT,oBAAc,0CArPL;AAsPT,uBAAiB,0CAtPR;AAuPT,cAAQ,oCAvPC;AAwPT,iBAAW,oCAxPF;AAyPT,iBAAW,uCAzPF;AA0PT,oBAAc,uCA1PL;AA2PT,iBAAW,uCA3PF;AA4PT,oBAAc,uCA5PL;AA6PT,iBAAW,uCA7PF;AA8PT,oBAAc;AA9PL,KAAV;;AAkQA,aAASC,cAAT,CAAwBZ,GAAxB,EAA6B;AAC5B,UAAIU,EAAE,GAAGG,qBAAqB,CAACb,GAAD,CAA9B;AACA,aAAOc,mBAAmB,CAACJ,EAAD,CAA1B;AACA;;AACD,aAASG,qBAAT,CAA+Bb,GAA/B,EAAoC;AACnC,UAAG,CAACc,mBAAmB,CAACC,CAApB,CAAsBJ,GAAtB,EAA2BX,GAA3B,CAAJ,EAAqC;AACpC,YAAII,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA;;AACD,aAAOO,GAAG,CAACX,GAAD,CAAV;AACA;;AACDY,kBAAc,CAACL,IAAf,GAAsB,SAASS,kBAAT,GAA8B;AACnD,aAAOC,MAAM,CAACV,IAAP,CAAYI,GAAZ,CAAP;AACA,KAFD;;AAGAC,kBAAc,CAACV,OAAf,GAAyBW,qBAAzB;AACAL,UAAM,CAACC,OAAP,GAAiBG,cAAjB;AACAA,kBAAc,CAACF,EAAf,GAAoB,wDAApB;;;;;;;;;;;;;;ACnRA,QAAIC,GAAG,GAAG;AACT,yCAAmC,CAClC,4EADkC,EAElC,CAFkC;AAD1B,KAAV;;AAMA,aAASO,mBAAT,CAA6BlB,GAA7B,EAAkC;AACjC,UAAG,CAACc,mBAAmB,CAACC,CAApB,CAAsBJ,GAAtB,EAA2BX,GAA3B,CAAJ,EAAqC;AACpC,eAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,cAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,WAAC,CAACE,IAAF,GAAS,kBAAT;AACA,gBAAMF,CAAN;AACA,SAJM,CAAP;AAKA;;AAED,UAAIe,GAAG,GAAGR,GAAG,CAACX,GAAD,CAAb;AAAA,UAAoBU,EAAE,GAAGS,GAAG,CAAC,CAAD,CAA5B;AACA,aAAOL,mBAAmB,CAACV,CAApB,CAAsBe,GAAG,CAAC,CAAD,CAAzB,EAA8BhB,IAA9B,CAAmC,YAAW;AACpD,eAAOW,mBAAmB,CAACJ,EAAD,CAA1B;AACA,OAFM,CAAP;AAGA;;AACDQ,uBAAmB,CAACX,IAApB,GAA2B,SAASa,uBAAT,GAAmC;AAC7D,aAAOH,MAAM,CAACV,IAAP,CAAYI,GAAZ,CAAP;AACA,KAFD;;AAGAO,uBAAmB,CAACR,EAApB,GAAyB,8IAAzB;AACAF,UAAM,CAACC,OAAP,GAAiBS,mBAAjB;;;;;;;;;;;;;;;;ACvBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACiBQ;;;;;;AAkBI;;AAAoD;;AAAG;;;;;;AACvD;;AAAiE;;AAAQ;;;;;;AAAR;;AAAA;;;;;;AAIjE;;AAAyC;;AAAY;;;;;;AACrD;;AAAyC;;AAAwB;;;;;;AAAxB;;AAAA;;;;;;AAIzC;;AAAyC;;AAAc;;;;;;AACvD;;AAA6D;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAI7D;;AAAwC;;AAAc;;;;;;AACtD;;AAA4D;;AAA0B;;;;;;AAA1B;;AAAA;;;;;;AAI5D;;AAAuC;;AAAqB;;;;;;AAC5D;;AAAwC;;AAAiC;;;;;;AAAjC;;AAAA;;;;;;AAIxC;;AAAuC;;AAAsB;;;;;;AAC7D;;AAA4D;;AAAkC;;;;;;AAAlC;;AAAA;;;;;;AAI5D;;AAAuC;;AAAiC;;;;;;;;AACxE;;AACE;;AACE;;AAGE;;AACF;;AACA;;AACE;;AACC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACD;;AACA;;AACsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiC;;AAAM;;AAG/D;;AACF;;AACF;;;;;;AAGF;;;;;;AACA;;;;;;;;;;;;AAvEJ;;AAGE;;AACE;;AACE;;AAAW;;AAAM;;AACjB;;AAAgB;AAAA;;AAAA;;AAAA;AAAA;;AAAhB;;AACF;;AACE;;AACuE;;AAAa;;AACxF;;AAGA;;AAEE;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AAqBF;;AAEA;;AACA;;AACF;;AAGF;;;;;;AAlEsD;;AAAA;;AAInC;;AAAA;;AAyDI;;AAAA;;AACP;;AAAA;;;;;;AAKhB;;AACE;;AACE;;AACuB;;AAAiB;;AAC1C;;AACA;;AAAG;;AAAiB;;AACtB;;;;AAHI;;AAAA;;;;;;AAKN;;AACE;;AAA8C;;AAAmD;;AAAM;;AAA8B;;AAAuC;;AAAO;;AACnL;;AACF;;;;QDzFSG,6B;AAMX,6CAAmBC,YAAnB,EAAsDC,MAAtD,EACSC,MADT,EACgCC,cADhC,EAEUC,SAFV,EAGUC,aAHV,EAGwC;AAAA;;AAHrB,aAAAL,YAAA,GAAAA,YAAA;AAAmC,aAAAC,MAAA,GAAAA,MAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AAAuB,aAAAC,cAAA,GAAAA,cAAA;AACtB,aAAAC,SAAA,GAAAA,SAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AARV,aAAAC,gBAAA,GAAsC,EAAtC;AACA,aAAAC,YAAA,GAAwB,KAAxB;AACA,aAAAC,gBAAA,GAA6B,CAAC,UAAD,EAAa,YAAb,EAA2B,cAA3B,EAA2C,UAA3C,EAAuD,oBAAvD,EAA6E,qBAA7E,EAAmG,SAAnG,CAA7B;AAOC;;;;mCAEO;AACN,eAAKC,OAAL;AACD;;;oCAEWC,K,EAAc;AACxB,cAAMC,WAAW,GAAID,KAAK,CAACE,MAAN,CAAkCC,KAAvD;AACA,eAAKC,SAAL,CAAeC,MAAf,GAAwBJ,WAAW,CAACK,IAAZ,GAAmBC,WAAnB,EAAxB;AACD;;;kCAGS;AAAA;;AACR,eAAKV,YAAL,GAAoB,IAApB;AACA,eAAKP,YAAL,CAAkBkB,UAAlB,GAA+BC,SAA/B,CAAyC,UAAAC,IAAI,EAAI;AAC/C,iBAAI,CAACd,gBAAL,GAAwBc,IAAxB;AACA,iBAAI,CAACN,SAAL,GAAiB,IAAI,0EAAJ,CAAuB,KAAI,CAACR,gBAA5B,CAAjB;AACA,iBAAI,CAACC,YAAL,GAAoB,KAApB;AACD,WAJD,EAIG,UAAAc,GAAG,EAAI;AACR,iBAAI,CAACd,YAAL,GAAoB,KAApB;;AACA,iBAAI,CAACF,aAAL,CAAmBiB,GAAnB,CAAuB,+BAAvB,EAAwDD,GAAG,CAACE,OAA5D,EAAqE,qEAAOC,KAA5E;AACD,WAPD;AAQD;;;qCAGYC,Q,EAAkB;AAAA;;AAC7B,eAAKzB,YAAL,CAAkB0B,YAAlB,CAA+BD,QAA/B,EAAyCN,SAAzC,CAAmD,UAAAC,IAAI,EAAI;AACzD,kBAAI,CAACO,YAAL,CAAkB,8BAAlB,EAAkD,SAAlD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,+BAAvB,mCAAkFG,QAAlF,6BAAoH,qEAAOG,IAA3H;;AACA,kBAAI,CAACnB,OAAL;AACD,WAJD,EAIG,UAAAY,GAAG,EAAI;AACR,kBAAI,CAACM,YAAL,CAAkB,wBAAlB,EAA4C,OAA5C;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,+BAAvB,EAAwDD,GAAG,CAACE,OAA5D,EAAqE,qEAAOC,KAA5E;;AACA,kBAAI,CAACf,OAAL;AACD,WARD;AAUD;;;0DAEiCoB,iB,EAAoC;AACpE,eAAK7B,YAAL,CAAkB8B,eAAlB,CAAkCC,IAAlC,CAAuCF,iBAAiB,CAACzC,EAAzD;AACA,eAAKc,MAAL,CAAY8B,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;AAAEC,sBAAU,EAAE,KAAK9B;AAAnB,WAA/B;AACD;;;mCAEUsB,Q,EAAgB;AAAA;;AACzB,cAAMS,SAAS,GAAG,KAAKjC,MAAL,CAAYkC,IAAZ,CAAiB,6HAAjB,EAA8C;AAC9DC,iBAAK,EAAE,OADuD;AAE9DhB,gBAAI,EAAE;AAAEiB,mBAAK,EAAE,eAAT;AAA0Bd,qBAAO,EAAE;AAAnC,aAFwD;AAG9De,wBAAY,EAAE;AAHgD,WAA9C,CAAlB;AAMAJ,mBAAS,CAACK,WAAV,GAAwBpB,SAAxB,CAAkC,UAAAqB,MAAM,EAAI;AAC1C,gBAAIA,MAAJ,EAAY;AACV,oBAAI,CAACd,YAAL,CAAkBD,QAAlB;AACD;AACF,WAJD;AAKD;;;qCAGYF,O,EAAiBkB,M,EAAgB;AAC5C,eAAKrC,SAAL,CAAe+B,IAAf,CAAoBZ,OAApB,EAA6BkB,MAA7B,EAAqC;AACnCC,oBAAQ,EAAE,IADyB;AAEnCC,sBAAU,EAAE,CAAC,aAAD,EAAgB,aAAhB;AAFuB,WAArC;AAKD;;;;;;;uBA1EU5C,6B,EAA6B,qI,EAAA,mI,EAAA,uH,EAAA,+H,EAAA,wI,EAAA,+I;AAAA,K;;;YAA7BA,6B;AAA6B,sD;AAAA,e;AAAA,a;AAAA,0jE;AAAA;AAAA;ACN1C;;AACE;;AAAI;;AAA6C;;AAAY;;AAC7D;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AA4EA;;AAOF;;AACA;;AAIF;;AACF;;;;AA3FqB;;AAAA;;AAEG;;AAAA;;AA4Eb;;AAAA;;AAQe;;AAAA;;;;;;;;;sEDtFbA,6B,EAA6B;cALzC,uDAKyC;eAL/B;AACT6C,kBAAQ,EAAE,iCADD;AAETC,qBAAW,EAAE,kCAFJ;AAGTC,mBAAS,EAAE,CAAC,iCAAD;AAHF,S;AAK+B,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AElB1C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;;;ACQQ;;AACE;;AACF;;;;;;AAHF;;AACE;;AAGF;;;;;;;;AAHQ;;AAAA;;;;;;AAWN;;AACE;;AACF;;;;;;AAHF;;AACE;;AAGF;;;;;;;;AAHQ;;AAAA;;;;;;AAYN;;AACE;;AACF;;;;;;AAHF;;AACE;;AAIF;;;;;;;;AAJQ;;AAAA;;;;;;AAcN;;AACE;;AACF;;;;;;AAHF;;AACE;;AAIF;;;;;;;;AAJQ;;AAAA;;;;;;AAcN;;AACE;;AACF;;;;;;AAHF;;AACE;;AAIF;;;;;;;;AAJQ;;AAAA;;;;;;AAWN;;AAAuB;;AAAa;;;;;;AACpC;;AAAwB;;AAAa;;;;QDxDhCC,2B;AAMX,2CACU/C,YADV,EAEUgD,eAFV,EAGUC,aAHV,EAIU7C,SAJV,EAKUC,aALV,EAKsC;AAAA;;AAJ5B,aAAAL,YAAA,GAAAA,YAAA;AACA,aAAAgD,eAAA,GAAAA,eAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AACA,aAAA7C,SAAA,GAAAA,SAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AAVV,aAAA6C,eAAA,GAAmC,IAAI,uEAAJ,EAAnC;AAEA,aAAAC,QAAA,GAAoB,KAApB;AAUC;;;;mCAEO;AAAA;;AACN,eAAKH,eAAL,CAAqBI,GAArB,CAAyBjC,SAAzB,CAAmC,UAAAiC,GAAG,EAAI;AACxC,gBAAIA,GAAG,CAACC,MAAJ,GAAa,CAAjB,EAAoB;AAClB,kBAAID,GAAG,CAAC,CAAD,CAAH,CAAOE,IAAP,IAAe,KAAnB,EAA0B;AACxB,sBAAI,CAACH,QAAL,GAAgB,KAAhB;AACD,eAFD,MAEO,IAAIC,GAAG,CAAC,CAAD,CAAH,CAAOE,IAAP,IAAe,MAAnB,EAA2B;AAChC,sBAAI,CAACH,QAAL,GAAgB,IAAhB;;AACA,sBAAI,CAACnD,YAAL,CAAkB8B,eAAlB,CAAkCX,SAAlC,CAA4C,UAAAC,IAAI,EAAI;AAClD,wBAAI,CAACmC,oBAAL,CAA0BnC,IAA1B;AACD,iBAFD;AAGD,eALM,MAKA,CACN;AACF;AACF,WAZD,EAYG,UAAAC,GAAG,EAAI;AACR,kBAAI,CAAChB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsDD,GAAG,CAACE,OAA1D,EAAmE,qEAAOC,KAA1E;AACD,WAdD;AAeD;;;mCAEUgC,S,EAA4B;AAAA;;AACrC,eAAKxD,YAAL,CAAkByD,YAAlB,CAA+BD,SAA/B,EAA0CrC,SAA1C,CAAoD,UAAAC,IAAI,EAAI;AAC1D,kBAAI,CAACsC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,kCAAlB,EAAsD,SAAtD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsD,8BAAtD,EAAsF,qEAAOM,IAA7F;AAED,WALD,EAKG,UAAAP,GAAG,EAAI;AACR,kBAAI,CAACqC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,oCAAlB,EAAwD,OAAxD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsDD,GAAG,CAACE,OAA1D,EAAmE,qEAAOC,KAA1E;AAED,WAVD;AAWD;;;mCAEUmC,a,EAAgC;AAAA;;AACzC,eAAK3D,YAAL,CAAkB4D,YAAlB,CAA+BD,aAA/B,EAA8CxC,SAA9C,CAAwD,UAAAC,IAAI,EAAI;AAC9D,kBAAI,CAACsC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,oBAAlB,EAAwC,SAAxC;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsD,6BAAtD,EAAqF,qEAAOM,IAA5F;AAED,WALD,EAKG,UAAAP,GAAG,EAAI;AACR,kBAAI,CAACqC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,oCAAlB,EAAwD,OAAxD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsDD,GAAG,CAACE,OAA1D,EAAmE,qEAAOC,KAA1E;AAED,WAVD;AAWD;;;mCAGU;AACT,cAAI,KAAKqC,QAAL,CAAcC,KAAlB,EAAyB;AACvB,gBAAI,KAAKX,QAAT,EAAmB;AACjB,mBAAKY,UAAL,CAAgB,KAAKb,eAArB;AACD,aAFD,MAEO;AACL,mBAAKc,UAAL,CAAgB,KAAKd,eAArB;AACD;AACF;AACF;;;6CAEoBpB,e,EAAyB;AAAA;;AAC5C,cAAI,CAACA,eAAL,EAAsB;AACpB,iBAAKmB,aAAL,CAAmBjB,QAAnB,CAA4B,CAAC,gBAAD,CAA5B;AACA,iBAAKL,YAAL,CAAkB,cAAlB,EAAkC,OAAlC;AACA;AACD;;AACD,eAAK3B,YAAL,CAAkBiE,OAAlB,CAA0BnC,eAA1B,EAA2CX,SAA3C,CAAqD,UAAAC,IAAI,EAAI;AAC3D,kBAAI,CAAC8B,eAAL,GAAuBgB,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAehD,IAAI,CAAC,CAAD,CAAnB,CAAX,CAAvB;AACD,WAFD,EAEG,UAAAC,GAAG,EAAI;AACR,kBAAI,CAAChB,aAAL,CAAmBiB,GAAnB,CAAuB,6BAAvB,EAAsDD,GAAG,CAACE,OAA1D,EAAmE,qEAAOC,KAA1E;AACD,WAJD;AAKD;;;0CAEiB;AAChB,eAAKyB,aAAL,CAAmBoB,kBAAnB,CAAsCC,gBAAtC,GAAyD;AAAA,mBAAM,KAAN;AAAA,WAAzD;;AACA,eAAKrB,aAAL,CAAmBsB,mBAAnB,GAAyC,QAAzC;AACA,eAAKtB,aAAL,CAAmBjB,QAAnB,CAA4B,CAAC,iBAAD,CAA5B;AACD;;;qCAEYT,O,EAAiBkB,M,EAAgB;AAC5C,eAAKrC,SAAL,CAAe+B,IAAf,CAAoBZ,OAApB,EAA6BkB,MAA7B,EAAqC;AACnCC,oBAAQ,EAAE,IADyB;AAEnCC,sBAAU,EAAE,CAAC,aAAD,EAAgB,aAAhB;AAFuB,WAArC;AAKD;;;;;;;uBAjGUI,2B,EAA2B,qI,EAAA,+H,EAAA,uH,EAAA,wI,EAAA,+I;AAAA,K;;;YAA3BA,2B;AAA2B,qD;AAAA;AAAA;;;;;;;;;;;;;;;ACfxC;;AACE;;AAAM;AAAA,mBAAY,IAAAyB,QAAA,EAAZ;AAAsB,WAAtB;;AACJ;;AACE;;AAAmF;;AAAW;;AAC9F;;AACA;AAAA;AAAA;;AADA;;AAGA;;AAKF;;AAEA;;AACE;;AAAoF;;AAAa;;AACjG;;AACA;AAAA;AAAA;;AADA;;AAEA;;AAKF;;AAEA;;AACE;;AAAqF;;AAAa;;AAClG;;AACA;AAAA;AAAA;;AADA;;AAGA;;AAOF;;AAEA;;AACE;;AAA2F;;AAAoB;;AAC/G;;AACA;AAAA;AAAA;;AADA;;AAGA;;AAOF;;AAEA;;AACE;;AAA4F;;AAAqB;;AACjH;;AACA;AAAA;AAAA;;AADA;;AAGA;;AAOF;;AAGA;;AACE;;AACE;;AACA;;AACF;;AACF;;AAEF;;AACF;;;;;;;;;;;;;;;;AAvEM;;AAAA;;AAE0B;;AAAA;;AAU1B;;AAAA;;AAC0B;;AAAA;;AAU1B;;AAAA;;AAE0B;;AAAA;;AAY1B;;AAAA;;AAE0B;;AAAA;;AAY1B;;AAAA;;AAE0B;;AAAA;;AAWgC;;AAAA;;AAClD;;AAAA;;AACA;;AAAA;;;;;;;;;sEDxDDzB,2B,EAA2B;cALvC,uDAKuC;eAL7B;AACTH,kBAAQ,EAAE,gCADD;AAETC,qBAAW,EAAE,uCAFJ;AAGTC,mBAAS,EAAE,CAAC,sCAAD;AAHF,S;AAK6B,Q;;;;;;;;;;;;;;gBAKrC,uD;iBAAU,G;;;;;;;;;;;;;;;;;;;;AEpBb;AAAA;;;AAAA;AAAA;AAAA;;QAAaI,e;;;;;;;;;;;;;;;;;;;ACAb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;QAQauB,Y;AAIX;;;AAGA,4BAAoBC,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AANpB,aAAA5C,eAAA,GAAkB,IAAI,oDAAJ,CAAoB,IAApB,CAAlB;AACQ,aAAA6C,KAAA,GAAQC,YAAY,CAACC,OAAb,CAAqB,aAArB,CAAR;AAMP;;;;qCAES;AACR,cAAMC,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,6BAAiB,YAAY,KAAKH,KAApC;AAA2CI,wBAAY,EAAE;AAAzD,WAAhB,CAAhB;AACA,iBAAO,KAAKL,IAAL,CAAUM,GAAV,CAAiC,8EAAuBC,MAAxD,EAAgE;AAAEH,mBAAO,EAAPA;AAAF,WAAhE,CAAP;AACD;;;gCAEO1F,E,EAAU;AAChB,cAAIA,EAAJ,EAAQ;AACN,gBAAM0F,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAgC,8EAAuBjB,OAAvD,EAAgE;AAAE7E,gBAAE,EAAEA;AAAN,aAAhE,EAA4E;AAAE0F,qBAAO,EAAPA;AAAF,aAA5E,CAAP;AACD,WAHD,MAGO;AACL,mBAAO,IAAP;AACD;AACF;;;qCAEYrD,Q,EAAgB;AAC3B,cAAIA,QAAJ,EAAc;AACZ,gBAAMqD,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAoB,uFAApB,EAAmD;AACxD9F,gBAAE,EAAEqC;AADoD,aAAnD,EAEJ;AAAEqD,qBAAO,EAAPA;AAAF,aAFI,CAAP;AAGD,WALD,MAKO;AACL,mBAAO,IAAP;AACD;AACF;;;qCAEY5B,e,EAAgC;AAC3C,cAAIA,eAAJ,EAAqB;AACnB,gBAAM4B,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAgC,8EAAuBC,MAAvD,EAA+D;AACpEC,yBAAW,EAAElC,eAAe,CAACkC,WADuC;AAEpEC,2BAAa,EAAEnC,eAAe,CAACmC,aAFqC;AAGpEC,2BAAa,EAAEpC,eAAe,CAACoC,aAHqC;AAIpEC,kCAAoB,EAAErC,eAAe,CAACqC,oBAJ8B;AAKpEC,mCAAqB,EAAEtC,eAAe,CAACsC;AAL6B,aAA/D,EAMJ;AAAEV,qBAAO,EAAPA;AAAF,aANI,CAAP;AAOD,WATD,MASO;AACL,mBAAO,IAAP;AACD;AACF;;;qCAEY5B,e,EAAgC;AAC3C,cAAIA,eAAJ,EAAqB;AACnB,gBAAM4B,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,gBAAMU,YAAY,GAAG,KAAKf,IAAL,CAAUQ,IAAV,CAAoB,8EAAuBQ,MAA3C,EAAmD;AACtEtG,gBAAE,EAAE8D,eAAe,CAAC9D,EADkD;AAEtEgG,yBAAW,EAAElC,eAAe,CAACkC,WAFyC;AAGtEC,2BAAa,EAAEnC,eAAe,CAACmC,aAHuC;AAItEC,2BAAa,EAAEpC,eAAe,CAACoC,aAJuC;AAKtEC,kCAAoB,EAAErC,eAAe,CAACqC,oBALgC;AAMtEC,mCAAqB,EAAEtC,eAAe,CAACsC;AAN+B,aAAnD,EAOlB;AAAEV,qBAAO,EAAPA;AAAF,aAPkB,CAArB;AAQA,mBAAOW,YAAP;AACD,WAXD,MAWO;AACL,mBAAO,IAAP;AACD;AACF;;;;;;;uBAjEUhB,Y,EAAY,uH;AAAA,K;;;aAAZA,Y;AAAY,eAAZA,YAAY,K;AAAA,kBADC;;;;;sEACbA,Y,EAAY;cADxB,wDACwB;eADb;AAAEkB,oBAAU,EAAE;AAAd,S;AACa,Q;;;;;;;;;;;;;;;;;;;;;;ACRzB;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,I;;OAab;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;;;;;;;;;;;;;;;ACzBA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA;AAAA;AAAA;;QAQanB,Y;AAIX;;;AAGA,4BAAoBC,IAApB,EAAsC;AAAA;;AAAlB,aAAAA,IAAA,GAAAA,IAAA;AANpB,aAAAmB,aAAA,GAAgB,IAAI,oDAAJ,CAAoB,IAApB,CAAhB;AACQ,aAAAlB,KAAA,GAAQ,IAAR;AAMN,aAAKA,KAAL,GAAaC,YAAY,CAACC,OAAb,CAAqB,aAArB,CAAb;AACD;;;;mCAEO;AACN,eAAKF,KAAL,GAAaC,YAAY,CAACC,OAAb,CAAqB,aAArB,CAAb;AACA,cAAMC,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,6BAAiB,YAAY,KAAKH,KAApC;AAA2CI,wBAAY,EAAE;AAAzD,WAAhB,CAAhB;AACA,iBAAO,KAAKL,IAAL,CAAUM,GAAV,CAAsB,uEAAgBC,MAAtC,EAA8C;AAAEH,mBAAO,EAAPA;AAAF,WAA9C,CAAP;AACD;;;gCAEO1F,E,EAAU;AAChB,cAAIA,EAAJ,EAAQ;AACN,gBAAM0F,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAqB,uEAAgBjB,OAArC,EAA8C;AAAE7E,gBAAE,EAAEA;AAAN,aAA9C,EAA0D;AAAE0F,qBAAO,EAAPA;AAAF,aAA1D,CAAP;AACD,WAHD,MAGO;AACL,mBAAO,IAAP;AACD;AACF;;;mCAEUgB,M,EAAc;AACvB,cAAIA,MAAJ,EAAY;AACV,gBAAMhB,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAoB,gFAApB,EAA4C;AACjD9F,gBAAE,EAAE0G;AAD6C,aAA5C,EAEJ;AAAEhB,qBAAO,EAAPA;AAAF,aAFI,CAAP;AAGD,WALD,MAKO;AACL,mBAAO,IAAP;AACD;AACF;;;iCAEQc,I,EAAU;AACjB,cAAIA,IAAJ,EAAU;AACR,gBAAMd,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,mBAAO,KAAKL,IAAL,CAAUQ,IAAV,CAAqB,uEAAgBC,MAArC,EAA6C;AAClDY,sBAAQ,EAAEH,IAAI,CAACG,QADmC;AAElDC,wBAAU,EAAEJ,IAAI,CAACG,QAFiC;AAGlDE,uBAAS,EAAEL,IAAI,CAACK;AAHkC,aAA7C,EAIJ;AAAEnB,qBAAO,EAAPA;AAAF,aAJI,CAAP;AAKD,WAPD,MAOO;AACL,mBAAO,IAAP;AACD;AACF;;;mCAEUc,I,EAAU;AACnB,cAAIA,IAAJ,EAAU;AACR,gBAAMd,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,gBAAMU,YAAY,GAAG,KAAKf,IAAL,CAAUQ,IAAV,CAAoB,uEAAgBQ,MAApC,EAA4C;AAC/DtG,gBAAE,EAAEwG,IAAI,CAACxG,EADsD;AAE/D2G,sBAAQ,EAAEH,IAAI,CAACG,QAFgD;AAG/DC,wBAAU,EAAEJ,IAAI,CAACG,QAH8C;AAI/DE,uBAAS,EAAEL,IAAI,CAACK;AAJ+C,aAA5C,EAKlB;AAAEnB,qBAAO,EAAPA;AAAF,aALkB,CAArB;AAMA,mBAAOW,YAAP;AACD,WATD,MASO;AACL,mBAAO,IAAP;AACD;AACF;;;mDAE0BG,I,EAAU;AACnC,cAAIA,IAAJ,EAAU;AACR,gBAAMd,OAAO,GAAG,IAAI,gEAAJ,CAAgB;AAAE,+BAAiB,YAAY,KAAKH,KAApC;AAA2CI,0BAAY,EAAE;AAAzD,aAAhB,CAAhB;AACA,gBAAMU,YAAY,GAAG,KAAKf,IAAL,CAAUQ,IAAV,CAAoB,uEAAgBQ,MAApC,EAA4C;AAC/DtG,gBAAE,EAAEwG,IAAI,CAACxG,EADsD;AAE/D8G,uBAAS,EAAEN,IAAI,CAACM;AAF+C,aAA5C,EAGlB;AAAEpB,qBAAO,EAAPA;AAAF,aAHkB,CAArB;AAIA,mBAAOW,YAAP;AACD,WAPD,MAOO;AACL,mBAAO,IAAP;AACD;AACF;;;;;;;uBA5EUhB,Y,EAAY,uH;AAAA,K;;;aAAZA,Y;AAAY,eAAZA,YAAY,K;AAAA,kBADC;;;;;sEACbA,Y,EAAY;cADxB,wDACwB;eADb;AAAEkB,oBAAU,EAAE;AAAd,S;AACa,Q;;;;;;;;;;;;;;;;;;;;;;ACRzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA,sE,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAIA;;;;;;;AC7HQ;;AACE;;AACF;;;;;;AACA;;AACE;;AACF;;;;;;AANF;;AACE;;AAGA;;AAGF;;;;;;;;AANQ;;AAAA;;AAGA;;AAAA;;;;;;AAuBN;;AACE;;AACF;;;;;;AAF2C;;AACzC;;AAAA;;;;;;AAOF;;AAAuB;;AAAW;;;;;;AAClC;;AAAwB;;AAAW;;;;QD+G9BQ,iB;AAeX,iCACUnG,YADV,EAEUgD,eAFV,EAGUC,aAHV,EAIU7C,SAJV,EAKUC,aALV,EAMUJ,MANV,EAM2B;AAAA;;AALjB,aAAAD,YAAA,GAAAA,YAAA;AACA,aAAAgD,eAAA,GAAAA,eAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AACA,aAAA7C,SAAA,GAAAA,SAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AACA,aAAAJ,MAAA,GAAAA,MAAA;AApBV,aAAA2F,IAAA,GAAa,IAAI,iDAAJ,EAAb;AACA,aAAAQ,YAAA,GAAuB,IAAvB;AAEA,aAAAjD,QAAA,GAAoB,KAApB;AACA,aAAAkD,iBAAA,GAA6B,KAA7B;AACA,aAAAC,kBAAA,GAA+B,EAA/B;AACA,aAAAC,WAAA,GAAqB,CAArB,CAc2B,CAZ3B;AACA;;AACA,aAAAC,SAAA,GAAsB,CAAC,OAAD,EAAU,UAAV,CAAtB,CAU2B,CAEzB;AACD;;;;mCAEO;AAAA;;AAEN,eAAKxD,eAAL,CAAqBI,GAArB,CAAyBjC,SAAzB,CAAmC,UAAAiC,GAAG,EAAI;AACxC,gBAAIA,GAAG,CAACC,MAAJ,GAAa,CAAjB,EAAoB;AAClB;AACA,kBAAID,GAAG,CAAC,CAAD,CAAH,CAAOE,IAAP,IAAe,KAAnB,EAA0B;AACxB,sBAAI,CAACH,QAAL,GAAgB,MAAI,CAACkD,iBAAL,GAAyB,KAAzC;AACD,eAFD,MAEO,IAAIjD,GAAG,CAAC,CAAD,CAAH,CAAOE,IAAP,IAAe,MAAnB,EAA2B;AAChC,sBAAI,CAACH,QAAL,GAAgB,IAAhB;AACA,sBAAI,CAACkD,iBAAL,GAAyB,KAAzB;;AACC,sBAAI,CAACrG,YAAL,CAAkB6F,aAAlB,CAAgC1E,SAAhC,CAA0C,UAAAC,IAAI,EAAI;AACjD,wBAAI,CAACqF,kBAAL,CAAwBrF,IAAxB;AACD,iBAFA;;AAGD,sBAAI,CAACmF,WAAL,GAAmB,CAAnB;AACAG,uBAAO,CAACpF,GAAR,CAAY,eAAZ,EAA4B,MAAI,CAACsE,IAAjC;AACD,eARM,MAQA;AACL,sBAAI,CAACzC,QAAL,GAAgB,KAAhB;AACA,sBAAI,CAACkD,iBAAL,GAAyB,IAAzB;;AACA,sBAAI,CAACrG,YAAL,CAAkB6F,aAAlB,CAAgC1E,SAAhC,CAA0C,UAAAC,IAAI,EAAI;AAChD,wBAAI,CAACqF,kBAAL,CAAwBrF,IAAxB;AACD,iBAFD;AAGD;AACF;AACF,WArBD,EAqBG,UAAAC,GAAG,EAAI;AACR;AACA,kBAAI,CAAChB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4CD,GAAG,CAACE,OAAhD,EAAyD,qEAAOC,KAAhE;AACD,WAxBD;AAyBD;;;mCAEUmF,O,EAAe;AAAA;;AACxB,eAAK3G,YAAL,CAAkB4G,QAAlB,CAA2BD,OAA3B,EAAoCxF,SAApC,CAA8C,UAAAC,IAAI,EAAI;AACpD,kBAAI,CAACsC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,gCAAlB,EAAoD,SAApD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4C,4BAA5C,EAA0E,qEAAOM,IAAjF;AAED,WALD,EAKG,UAAAP,GAAG,EAAI;AACR,kBAAI,CAACqC,eAAL;;AACA,kBAAI,CAAC/B,YAAL,CAAkB,oCAAlB,EAAwD,OAAxD;;AACA,kBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4CD,GAAG,CAACE,OAAhD,EAAyD,qEAAOC,KAAhE;AAED,WAVD;AAWD;;;mCAEUqF,W,EAAmB;AAAA;;AAC5B,eAAK7G,YAAL,CAAkB8G,UAAlB,CAA6BD,WAA7B,EAA0C1F,SAA1C,CAAoD,UAAAC,IAAI,EAAI;AAC1D,mBAAI,CAACsC,eAAL;;AACA,mBAAI,CAAC/B,YAAL,CAAkB,kBAAlB,EAAsC,SAAtC;;AACA,mBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4C,2BAA5C,EAAyE,qEAAOM,IAAhF;AAED,WALD,EAKG,UAAAP,GAAG,EAAI;AACR;AACA,mBAAI,CAACqC,eAAL;;AACA,mBAAI,CAAC/B,YAAL,CAAkB,oCAAlB,EAAwD,OAAxD;;AACA,mBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4CD,GAAG,CAACE,OAAhD,EAAyD,qEAAOC,KAAhE;AAED,WAXD;AAYD;;;sCAEaqF,W,EAAmB,CAC/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;;;mCAEU;AACT,cAAI,KAAKhD,QAAL,CAAcC,KAAlB,EAAyB;AACvB,gBAAI,KAAKX,QAAT,EAAmB;AACjB,mBAAKY,UAAL,CAAgB,KAAK6B,IAArB;AACD,aAFD,MAEO,IAAI,KAAKS,iBAAT,EAA4B;AACjC,mBAAKU,aAAL,CAAmB,KAAKnB,IAAxB;AACD,aAFM,MAEA;AACL,mBAAK5B,UAAL,CAAgB,KAAK4B,IAArB;AACD;AACF;AACF;;;2CAEkBC,a,EAAuB;AAAA;;AACxC,cAAI,CAACA,aAAL,EAAoB;AAClB,iBAAK5C,aAAL,CAAmBjB,QAAnB,CAA4B,CAAC,OAAD,CAA5B;AACA,iBAAKL,YAAL,CAAkB,cAAlB,EAAkC,OAAlC;AACA;AACD;;AACD,eAAK3B,YAAL,CAAkBiE,OAAlB,CAA0B4B,aAA1B,EAAyC1E,SAAzC,CAAmD,UAAAC,IAAI,EAAI;AACzD,mBAAI,CAACwE,IAAL,GAAY1B,IAAI,CAACC,KAAL,CAAWD,IAAI,CAACE,SAAL,CAAehD,IAAI,CAAC,CAAD,CAAnB,CAAX,CAAZ;AACD,WAFD,EAEG,UAAAC,GAAG,EAAI;AACR;AACA,mBAAI,CAAChB,aAAL,CAAmBiB,GAAnB,CAAuB,mBAAvB,EAA4CD,GAAG,CAACE,OAAhD,EAAyD,qEAAOC,KAAhE;AACD,WALD;AAMD;;;0CAEiB;AAChB,eAAKyB,aAAL,CAAmBoB,kBAAnB,CAAsCC,gBAAtC,GAAyD;AAAA,mBAAM,KAAN;AAAA,WAAzD;;AACA,eAAKrB,aAAL,CAAmBsB,mBAAnB,GAAyC,QAAzC;AACA,eAAKtB,aAAL,CAAmBjB,QAAnB,CAA4B,CAAC,QAAD,CAA5B;AACD;;;yCAGa;AAAA;;AAGZ,cAAME,SAAS,GAAG,KAAKjC,MAAL,CAAYkC,IAAZ,CAAiB,+FAAjB,EAAmC;AACnD6E,qBAAS,EAAE,OADwC;AAEnD5F,gBAAI,EAAE,EAF6C;AAGnDkB,wBAAY,EAAE;AAHqC,WAAnC,CAAlB;AAOAJ,mBAAS,CAACK,WAAV,GAAwBpB,SAAxB,CAAkC,UAAAqB,MAAM,EAAI;AAC1C,gBAAIA,MAAJ,EAAY;AAAA,yDACQA,MADR;AAAA;;AAAA;AACV,oEAA0B;AAAA,sBAAjByE,KAAiB;;AACxB,yBAAI,CAACX,kBAAL,CAAwBY,IAAxB,CAA6BD,KAAK,CAAC7H,EAAnC;AACD;AAHS;AAAA;AAAA;AAAA;AAAA;AAIX;AACF,WAND;AAQD;;;qCAGYmC,O,EAAiBkB,M,EAAgB;AAC5C,eAAKrC,SAAL,CAAe+B,IAAf,CAAoBZ,OAApB,EAA6BkB,MAA7B,EAAqC;AACnCC,oBAAQ,EAAE,IADyB;AAEnCC,sBAAU,EAAE,CAAC,aAAD,EAAgB,aAAhB;AAFuB,WAArC;AAKD;;;yCAGa;AACb,cAAI,KAAKQ,QAAT,EAAkB,CACjB;AACA,WAFD,MAEM,IAAG,KAAK4D,aAAR,EAAsB,CAC3B;AACA,WAFK,MAED;AACJ,gBAAG,KAAKT,kBAAL,CAAwBjD,MAAxB,IAAgC,CAAnC,EAAsC,OAAO,IAAP;AACtC;;AACA,iBAAO,KAAP;AACD;;;;;;;uBAzKU8C,iB,EAAiB,qI,EAAA,+H,EAAA,uH,EAAA,wI,EAAA,+I,EAAA,mI;AAAA,K;;;YAAjBA,iB;AAAiB,0C;AAAA;AAAA;;;;;;;;;;;;;;;ACzJ7B;;AACC;;AAAM;AAAA,mBAAY,IAAA3B,QAAA,EAAZ;AAAsB,WAAtB;;AACJ;;AACE;;AAAiF;;AAAQ;;AACzF;;AACA;AAAA;AAAA;;AADA;;AAEA;;AAQF;;AAeA;;AACE;;AAAsE;;AAAS;;AAC/E;;AAAmC;AAAA;AAAA,aAA4B,aAA5B,EAA4B;AAAA;AAAA,WAA5B;;AAEjC;;AAGF;;AACF;;AAEA;;AACE;;AACE;;AACA;;AACF;;AACF;;AAEF;;AACF;;;;;;;;AA1CM;;AAAA;;AAC0B;;AAAA;;AAyBS;;AAAA,kGAA4B,OAA5B,EAA4B,kBAA5B;;AAErB;;AAAA;;AAO4C;;AAAA;;AAClD;;AAAA;;AACA;;AAAA;;;;;;;;;sED+GD2B,iB,EAAiB;cAL7B,uDAK6B;eALnB;AACTvD,kBAAQ,EAAE,qBADD;AAETC,qBAAW,EAAE,4BAFJ;AAGTC,mBAAS,EAAE,CAAC,2BAAD;AAHF,S;AAKmB,Q;;;;;;;;;;;;;;;;gBAa3B,uD;iBAAU,G;;;;;;;;;;;;;;;;;;;;AEpCb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACmBQ;;;;;;AAqBI;;AAAoD;;AAAG;;;;;;AACvD;;AAAiE;;AAAQ;;;;;;AAAR;;AAAA;;;;;;AASjE;;AAAyC;;AAAI;;;;;;AAC7C;;AAA6D;;AAA2C;;;;;;AAA3C;;AAAA;;;;;;AAI7D;;AAAwC;;AAAa;;;;;;AACrD;;AAA4D;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAc5D;;AAAuC;;AAAK;;;;;;AAC5C;;AAA4D;;AAAsB;;;;;;AAAtB;;AAAA;;;;;;AAI5D;;AAAuC;;AAAiC;;;;;;;;AACxE;;AACE;;AACE;;AAGE;;AACF;;AACA;;AACE;;AACC;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAGA;;AACD;;AAKA;;AACA;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AACC;;AACD;;AACA;;AACsB;AAAA;;AAAA;;AAAA;;AAAA;AAAA;;AAAiC;;AAAM;;AAG/D;;AACF;;AACF;;;;;;AAGF;;;;;;AACA;;;;;;;;;;;;AAvFJ;;AAGE;;AACE;;AACE;;AAAW;;AAAM;;AACjB;;AAAgB;AAAA;;AAAA;;AAAA;AAAA;;AAAhB;;AACF;;AACA;;AAEA;AAAA;;AAAA;;AAAA;AAAA;;AAAyB;;AAAY;;AACnC;;AACuE;;AAAW;;AACtF;;AAGA;;AAEE;;AACE;;AACA;;AACF;;AAOA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AACF;;AAYA;;AACE;;AACA;;AACF;;AAEA;;AACE;;AACA;;AA6BF;;AAEA;;AACA;;AACF;;AAGF;;;;;;AA/EsD;;AAAA;;AAInC;;AAAA;;AAsEI;;AAAA;;AACP;;AAAA;;;;;;;;AAKhB;;AACE;;AAAG;;AAAiB;;AACpB;;AACE;;AACA;AAAA;;AAAA;;AAAA;AAAA;;AAAyB;;AAAY;;AACrC;;AACuB;;AAAe;;AACxC;;AACF;;;;AAFI;;AAAA;;;;;;AAIN;;AACE;;AAA8C;;AAAmD;;AAAM;;AAA8B;;AAAmC;;AAAO;;AAC/K;;AACF;;;;QD5GSqE,e;AAMX,+BAAmBnH,YAAnB,EAAsDC,MAAtD,EACSC,MADT,EACgCC,cADhC,EAEUC,SAFV,EAGUC,aAHV,EAGwC;AAAA;;AAHrB,aAAAL,YAAA,GAAAA,YAAA;AAAmC,aAAAC,MAAA,GAAAA,MAAA;AAC7C,aAAAC,MAAA,GAAAA,MAAA;AAAuB,aAAAC,cAAA,GAAAA,cAAA;AACtB,aAAAC,SAAA,GAAAA,SAAA;AACA,aAAAC,aAAA,GAAAA,aAAA;AARV,aAAA+G,KAAA,GAAgB,EAAhB;AACA,aAAA7G,YAAA,GAAwB,KAAxB;AACA,aAAAC,gBAAA,GAA6B,CAAC,QAAD,EAAW,KAAX,EAAkB,WAAlB,EAA+B,MAA/B,EAAuC,SAAvC,CAA7B;AAOC;;;;mCAEO;AACN,eAAKC,OAAL;AACD;;;oCAEWC,K,EAAc;AACxB,cAAMC,WAAW,GAAID,KAAK,CAACE,MAAN,CAAkCC,KAAvD,CADwB,CAExB;;AACA,eAAKC,SAAL,CAAeC,MAAf,GAAwBJ,WAAW,CAACK,IAAZ,GAAmBC,WAAnB,EAAxB;AACD;;;kCAGS;AAAA;;AACR,eAAKV,YAAL,GAAoB,IAApB;AACA,eAAKP,YAAL,CAAkBqH,QAAlB,GAA6BlG,SAA7B,CAAuC,UAAAC,IAAI,EAAI;AAC7C;AACA,mBAAI,CAACgG,KAAL,GAAahG,IAAb;AACA,mBAAI,CAACN,SAAL,GAAiB,IAAI,0EAAJ,CAAuB,OAAI,CAACsG,KAA5B,CAAjB;AACA,mBAAI,CAAC7G,YAAL,GAAoB,KAApB;AACD,WALD,EAKG,UAAAc,GAAG,EAAI;AACR;AACA,mBAAI,CAACd,YAAL,GAAoB,KAApB;;AACA,mBAAI,CAACF,aAAL,CAAmBiB,GAAnB,CAAuB,iBAAvB,EAA0CD,GAAG,CAACE,OAA9C,EAAuD,qEAAOC,KAA9D;AACD,WATD;AAUD;;;mCAGUsE,M,EAAgB;AAAA;;AACzB,eAAK9F,YAAL,CAAkBsH,UAAlB,CAA6BxB,MAA7B,EAAqC3E,SAArC,CAA+C,UAAAC,IAAI,EAAI;AACrD;AACA,mBAAI,CAACO,YAAL,CAAkB,4BAAlB,EAAgD,SAAhD;;AACA,mBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,iBAAvB,+BAAgEwE,MAAhE,6BAAgG,qEAAOlE,IAAvG;;AACA,mBAAI,CAACnB,OAAL;AACD,WALD,EAKG,UAAAY,GAAG,EAAI;AACR;AACA,mBAAI,CAACM,YAAL,CAAkB,sBAAlB,EAA0C,OAA1C;;AACA,mBAAI,CAACtB,aAAL,CAAmBiB,GAAnB,CAAuB,iBAAvB,EAA0CD,GAAG,CAACE,OAA9C,EAAuD,qEAAOC,KAA9D;;AACA,mBAAI,CAACf,OAAL;AACD,WAVD;AAYD;;;wDAE+B8G,e,EAAuB;AACrD,eAAKvH,YAAL,CAAkB6F,aAAlB,CAAgC9D,IAAhC,CAAqCwF,eAAe,CAACnI,EAArD;AACA,eAAKc,MAAL,CAAY8B,QAAZ,CAAqB,CAAC,MAAD,CAArB,EAA+B;AAAEC,sBAAU,EAAE,KAAK9B;AAAnB,WAA/B;AACD;;;+DAEsCoH,e,EAAuB;AAC5D,eAAKvH,YAAL,CAAkB6F,aAAlB,CAAgC9D,IAAhC,CAAqCwF,eAAe,CAACnI,EAArD;AACA,eAAKc,MAAL,CAAY8B,QAAZ,CAAqB,CAAC,eAAD,CAArB,EAAwC;AAAEC,sBAAU,EAAE,KAAK9B;AAAnB,WAAxC;AACD;;;mCAIU2F,M,EAAc;AAAA;;AACvB,cAAM5D,SAAS,GAAG,KAAKjC,MAAL,CAAYkC,IAAZ,CAAiB,6HAAjB,EAA8C;AAC9DC,iBAAK,EAAE,OADuD;AAE9DhB,gBAAI,EAAE;AAAEiB,mBAAK,EAAE,aAAT;AAAwBd,qBAAO,EAAE;AAAjC,aAFwD;AAG9De,wBAAY,EAAE;AAHgD,WAA9C,CAAlB;AAMAJ,mBAAS,CAACK,WAAV,GAAwBpB,SAAxB,CAAkC,UAAAqB,MAAM,EAAI;AAC1C,gBAAIA,MAAJ,EAAY;AACV,qBAAI,CAAC8E,UAAL,CAAgBxB,MAAhB;AACD;AACF,WAJD;AAKD;;;uCAGcA,M,EAAc;AAE3B,cAAM5D,SAAS,GAAG,KAAKjC,MAAL,CAAYkC,IAAZ,CAAiB,+FAAjB,EAAmC;AACnD;AACA6E,qBAAS,EAAE,OAFwC;AAGnD5F,gBAAI,EAAE;AAAC0E,oBAAM,EAACA,MAAR;AAAgB0B,wBAAU,EAAC;AAA3B,aAH6C;AAInDlF,wBAAY,EAAE;AAJqC,WAAnC,CAAlB;AASAJ,mBAAS,CAACK,WAAV,GAAwBpB,SAAxB,CAAkC,UAAAqB,MAAM,EAAI;AAC1C,gBAAIA,MAAJ,EAAY,CAEX;AACF,WAJD;AAMD;;;qCAIYjB,O,EAAiBkB,M,EAAgB;AAC5C,eAAKrC,SAAL,CAAe+B,IAAf,CAAoBZ,OAApB,EAA6BkB,MAA7B,EAAqC;AACnCC,oBAAQ,EAAE,IADyB;AAEnCC,sBAAU,EAAE,CAAC,aAAD,EAAgB,aAAhB;AAFuB,WAArC;AAKD;;;;;;;uBA3GUwE,e,EAAe,qI,EAAA,mI,EAAA,uH,EAAA,+H,EAAA,wI,EAAA,+I;AAAA,K;;;YAAfA,e;AAAe,4C;AAAA,e;AAAA,a;AAAA,wsE;AAAA;AAAA;ACL5B;;AACE;;AAAI;;AAA6C;;AAAU;;AAC3D;;AACA;;AACE;;AACE;;AACE;;AACF;;AACA;;AA4FA;;AASF;;AACA;;AAIF;;AACF;;;;AA7GqB;;AAAA;;AAEG;;AAAA;;AA4Fb;;AAAA;;AAUe;;AAAA;;;;;;;;;sEDzGbA,e,EAAe;cAL3B,uDAK2B;eALjB;AACTvE,kBAAQ,EAAE,uBADD;AAETC,qBAAW,EAAE,wBAFJ;AAGTC,mBAAS,EAAE,CAAC,uBAAD;AAHF,S;AAKiB,Q;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AEpJ5B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAqBA,QAAM2E,MAAM,GAAW,CACrB;AACEnE,UAAI,EAAE,EADR;AAEEoE,eAAS,EAAE,8EAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KADqB,EAMlB;AACDtE,UAAI,EAAE,OADL;AAEDoE,eAAS,EAAE;AAFV,KANkB,EASlB;AACDpE,UAAI,EAAE,aADL;AAEDoE,eAAS,EAAE;AAFV,KATkB,EAYlB;AACDpE,UAAI,EAAE,WADL;AAEDoE,eAAS,EAAE;AAFV,KAZkB,EAgBrB;AACEpE,UAAI,EAAE,MADR;AAEEoE,eAAS,EAAE,8EAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KAhBqB,EAuBrB;AACEtE,UAAI,EAAE,eADR;AAEEoE,eAAS,EAAE,+FAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KAvBqB,EA6BrB;AACEtE,UAAI,EAAE,eADR;AAEEoE,eAAS,EAAE,sHAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KA7BqB,EAkClB;AACDtE,UAAI,EAAE,iBADL;AAEDoE,eAAS,EAAE,qGAFV;AAGDC,aAAO,EAAE,CAAC,mEAAD,CAHR;AAIDC,iBAAW,EAAE,CAAC,mEAAD;AAJZ,KAlCkB,EAuClB;AACDtE,UAAI,EAAE,gBADL;AAEDoE,eAAS,EAAE,4FAFV;AAGDC,aAAO,EAAE,CAAC,mEAAD,CAHR;AAIDC,iBAAW,EAAE,CAAC,mEAAD;AAJZ,KAvCkB,EA4ClB;AACDtE,UAAI,EAAE,gBADL;AAEDoE,eAAS,EAAE,sGAFV;AAGDC,aAAO,EAAE,CAAC,mEAAD,CAHR;AAIDC,iBAAW,EAAE,CAAC,mEAAD;AAJZ,KA5CkB,EAkDrB;AACA;AACA;AACA;AACA;AACA;AACA;AACEtE,UAAI,EAAE,OADR;AAEEoE,eAAS,EAAE,0EAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD,CAJf;AAKEC,cAAQ,EAAE,CACR;AAAEvE,YAAI,EAAE,KAAR;AAAeoE,iBAAS,EAAE;AAA1B,OADQ,EAER;AAAEpE,YAAI,EAAE,eAAR;AAAyBoE,iBAAS,EAAE;AAApC,OAFQ,EAGR;AAAEpE,YAAI,EAAE,MAAR;AAAgBoE,iBAAS,EAAE;AAA3B,OAHQ;AALZ,KAxDqB,EAmErB;AACEpE,UAAI,EAAE,gBADR;AAEEoE,eAAS,EAAE,kHAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD,CAJf;AAKEC,cAAQ,EAAE,CACR;AAAEvE,YAAI,EAAE,KAAR;AAAeoE,iBAAS,EAAE;AAA1B,OADQ,EAER;AAAEpE,YAAI,EAAE,eAAR;AAAyBoE,iBAAS,EAAE;AAApC,OAFQ,EAGR;AAAEpE,YAAI,EAAE,MAAR;AAAgBoE,iBAAS,EAAE;AAA3B,OAHQ;AALZ,KAnEqB,EA8ErB;AACEpE,UAAI,EAAE,MADR;AAEEoE,eAAS,EAAE,sEAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KA9EqB,EAmFlB;AACDtE,UAAI,EAAE,iBADL;AAEDoE,eAAS,EAAE,yGAFV;AAGDC,aAAO,EAAE,CAAC,mEAAD,CAHR;AAIDC,iBAAW,EAAE,CAAC,mEAAD;AAJZ,KAnFkB,EAyFrB;AACEtE,UAAI,EAAE,IADR;AAEEoE,eAAS,EAAE,4EAFb;AAGEC,aAAO,EAAE,CAAC,mEAAD,CAHX;AAIEC,iBAAW,EAAE,CAAC,mEAAD;AAJf,KAzFqB,CAAvB;;QA6GaE,gB;;;;;YAAAA;;;;yBAAAA,gB;AAAgB,O;AAAA,iBAFhB,CAAC;AAAEC,eAAO,EAAE,gEAAX;AAA6BC,gBAAQ,EAAE;AAAvC,OAAD,C;AAA+D,gBATjE,CACP,6DAAaC,OAAb,CAAqBR,MAArB,CADO,CASiE,EAHxE,4DAGwE;;;;0HAE/DK,gB,EAAgB;AAAA;AAAA,kBALzB,4DAKyB;AAAA,O;AALb,K;;;;;sEAKHA,gB,EAAgB;cAZ5B,sDAY4B;eAZnB;AACRI,iBAAO,EAAE,CACP,6DAAaD,OAAb,CAAqBR,MAArB,CADO,CADD;AAMRtI,iBAAO,EAAE,CACP,4DADO,CAND;AASRgJ,sBAAY,EAAE,EATN;AAURC,mBAAS,EAAE,CAAC;AAAEL,mBAAO,EAAE,gEAAX;AAA6BC,oBAAQ,EAAE;AAAvC,WAAD;AAVH,S;AAYmB,Q;;;;;;;;;;;;;;;;;;ACjI7B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;;;ACEI;;AACE;;AACF;;;;QDKSK,Y;AAGX,4BAAmBnI,MAAnB,EAAmC;AAAA;;AAAhB,aAAAA,MAAA,GAAAA,MAAA;AAFnB,aAAAoI,UAAA,GAAa,KAAb;AACA,aAAAjG,KAAA,GAAQ,SAAR,CACmC,CACjC;AACD;;;;mCAEU;AACT,eAAKnC,MAAL,CAAY8B,QAAZ,CAAqB,CAAC,OAAD,CAArB;AACD;;;;;;;uBATUqG,Y,EAAY,uH;AAAA,K;;;YAAZA,Y;AAAY,+B;AAAA,e;AAAA,a;AAAA,sQ;AAAA;AAAA;ACVzB;;AACE;;AAEE;;AAIA;;AACE;;AACF;;AAEF;;AACA;;AACE;;AACI;;AACE;;AAGA;;AACF;;AACJ;;AACF;;AACF;;;;AAnBS;;AAAA;;;;;;;;;sEDOIA,Y,EAAY;cALxB,uDAKwB;eALd;AACTzF,kBAAQ,EAAE,UADD;AAETC,qBAAW,EAAE,sBAFJ;AAGTC,mBAAS,EAAE,CAAC,qBAAD;AAHF,S;AAKc,Q;;;;;;;;;;;;;;;;;;;;;;AEVzB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;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A;AAEA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AASA;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AAKA;AAKA;;;QAYayX,kB;AAKX,kCAAoB7V,IAApB,EACSxE,MADT,EAEEsa,EAFF,EAGUna,aAHV,EAGwC;AAAA;;AAHpB,aAAAqE,IAAA,GAAAA,IAAA;AACX,aAAAxE,MAAA,GAAAA,MAAA;AAEC,aAAAG,aAAA,GAAAA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","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\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 map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./xml-viewer-component.entry.js\": [\n\t\t\"./node_modules/xml-viewer-component/dist/esm/xml-viewer-component.entry.js\",\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./node_modules/xml-viewer-component/dist/esm lazy recursive ^\\\\.\\\\/.*\\\\.entry\\\\.js$ include: \\\\.entry\\\\.js$ exclude: \\\\.system\\\\.entry\\\\.js$\";\nmodule.exports = webpackAsyncContext;","import { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { OnInit } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { AdminService } from \"./services/admin.service\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { market_location } from './models/market_location';\r\n\r\n@Component({\r\n selector: \"admin-market_location-component\",\r\n templateUrl: \"./market_location.component.html\",\r\n styleUrls: [\"./market_location.component.css\"]\r\n})\r\nexport class AdminMarketLocationController implements OnInit {\r\n market_locations: market_location[] = [];\r\n fetchingData: boolean = false;\r\n displayedColumns: string[] = ['marketId', 'marketName', 'locationName', 'emailAdd', 'remedySupportGroup', 'remedyTicketSummary','actions'];\r\n tableData: MatTableDataSource;\r\n\r\n constructor(public adminService: AdminService, public dialog: MatDialog,\r\n public router: Router, public activatedRoute: ActivatedRoute,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getData() {\r\n this.fetchingData = true;\r\n this.adminService.getMarkets().subscribe(data => {\r\n this.market_locations = data;\r\n this.tableData = new MatTableDataSource(this.market_locations);\r\n this.fetchingData = false;\r\n }, err => {\r\n this.fetchingData = false;\r\n this.loggerService.log(\"AdminMarketLocationController\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n\r\n deleteMarket(marketId: number) {\r\n this.adminService.deleteMarket(marketId).subscribe(data => {\r\n this.openSnackBar(\"Market deleted successfully.\", \"Success\");\r\n this.loggerService.log(\"AdminMarketLocationController\", `market with market id =${marketId} deleted successfully.`, Levels.info)\r\n this.getData();\r\n }, err => {\r\n this.openSnackBar(\"Market does not exist.\", \"Error\");\r\n this.loggerService.log(\"AdminMarketLocationController\", err.message, Levels.error)\r\n this.getData();\r\n })\r\n\r\n }\r\n\r\n sendMarketToChildComponent_update(marketToBeUpdated: market_location) {\r\n this.adminService.updatedMarketID.next(marketToBeUpdated.id);\r\n this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n openDialog(marketId: number): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete Market\", message: \"Please confirm market deletion!\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteMarket(marketId);\r\n }\r\n });\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n //to be deleted just trial for other dialog\r\n // openDialog2(): void {\r\n\r\n // const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n // minWidth:'700px',\r\n // maxHeight: '100vh',\r\n // data: [],\r\n // disableClose:true,\r\n // });\r\n\r\n // let instance = dialogRef.componentInstance;\r\n // instance.allowMultipleSelect=true;\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // //('The dialog was closed',result);\r\n // });\r\n // }\r\n\r\n}\r\n","\r\n\r\n
\r\n

Markets Data

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
0 && !fetchingData\" style=\"max-height:90vh;overflow-y:auto;\">\r\n\r\n\r\n
\r\n \r\n Filter\r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ID {{i+1}} Market Name {{element.market_name}} Location Name {{element.location_name}} Email Address {{element.email_address}} Remedy Support Group {{element.remedy_support_group}} Remedy Ticket Summary {{element.remedy_ticket_summary}} \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

No data available

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

Choose a market to update or insert new market

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, ViewChild } from \"@angular/core\";\r\nimport { AdminService } from \"../services/admin.service\";\r\nimport { market_location } from '../models/market_location';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { OnInit } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'market_location-edit-component',\r\n templateUrl: './market_location.edit.component.html',\r\n styleUrls: ['./market_location.edit.component.css']\r\n})\r\nexport class MarketLocationEditComponent implements OnInit {\r\n market_location: market_location = new market_location();\r\n\r\n editMode: boolean = false;\r\n\r\n @ViewChild('f') editForm: NgForm;\r\n constructor(\r\n private adminService: AdminService,\r\n private activatedRouter: ActivatedRoute,\r\n private routingRouter: Router,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRouter.url.subscribe(url => {\r\n if (url.length > 0) {\r\n if (url[0].path == 'new') {\r\n this.editMode = false;\r\n } else if (url[0].path == 'edit') {\r\n this.editMode = true;\r\n this.adminService.updatedMarketID.subscribe(data => {\r\n this.getUpdatedMarketData(data);\r\n });\r\n } else {\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n insertData(newMarket: market_location) {\r\n this.adminService.insertMarket(newMarket).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Market was successfully inserted\", \"Success\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", 'market inserted successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n updateData(updatedMarket: market_location) {\r\n this.adminService.updateMarket(updatedMarket).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Market was updated\", \"Success\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", 'market updated successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n\r\n onSubmit() {\r\n if (this.editForm.valid) {\r\n if (this.editMode) {\r\n this.updateData(this.market_location);\r\n } else {\r\n this.insertData(this.market_location);\r\n }\r\n }\r\n }\r\n\r\n getUpdatedMarketData(updatedMarketID: number) {\r\n if (!updatedMarketID) {\r\n this.routingRouter.navigate(['marketlocation']);\r\n this.openSnackBar(\"Unauthorized\", \"Error\");\r\n return;\r\n }\r\n this.adminService.getById(updatedMarketID).subscribe(data => {\r\n this.market_location = JSON.parse(JSON.stringify(data[0]));\r\n }, err => {\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n reloadComponent() {\r\n this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.routingRouter.onSameUrlNavigation = 'reload';\r\n this.routingRouter.navigate(['/marketlocation']);\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Market Name is required.\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Location Name is required.\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Email is required.\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Remedy Support Group is required.\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Remedy Support Group is required.\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","export class market_location{\r\n id:number;\r\n market_name:string;\r\n location_name:string;\r\n email_address:string;\r\n remedy_support_group:string;\r\n remedy_ticket_summary:string;\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Observable } from \"rxjs\";\r\nimport { market_location } from \"../models/market_location\";\r\nimport { market_location_server } from \"../../assets/conf_urls.json\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminService {\r\n updatedMarketID = new BehaviorSubject(null);\r\n private token = localStorage.getItem('accessToken');\r\n\r\n /**\r\n class to manage creating/ editing / deleting users in the application.\r\n */\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getMarkets(): Observable {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.get(market_location_server.getAll, { headers });\r\n }\r\n\r\n getById(id: number): Observable {\r\n if (id) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.getById, { id: id }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n deleteMarket(marketId: number): Observable {\r\n if (marketId) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.delete, {\r\n id: marketId\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n insertMarket(market_location: market_location): Observable {\r\n if (market_location) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.create, {\r\n market_name: market_location.market_name,\r\n location_name: market_location.location_name,\r\n email_address: market_location.email_address,\r\n remedy_support_group: market_location.remedy_support_group, \r\n remedy_ticket_summary: market_location.remedy_ticket_summary\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateMarket(market_location: market_location): Observable {\r\n if (market_location) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(market_location_server.update, {\r\n id: market_location.id,\r\n market_name: market_location.market_name,\r\n location_name: market_location.location_name,\r\n email_address: market_location.email_address,\r\n remedy_support_group: market_location.remedy_support_group, \r\n remedy_ticket_summary: market_location.remedy_ticket_summary\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export class user {\r\n id: number;\r\n user_upn: string;\r\n user_email: string;\r\n user_role: string;\r\n createdAt: string;\r\n updatedAt: string;\r\n createdBy: string;\r\n lastUpdatedBy: string;\r\n is_active: number;\r\n}\r\n\r\n\r\n//this is the old code\r\n\r\n\r\n// export class user {\r\n// id: number;\r\n// user_email: string;\r\n// email_address: string;\r\n// user_role: string;\r\n// createdAt: string;\r\n// updatedAt: string;\r\n// is_active:number\r\n\r\n// }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Observable } from \"rxjs\";\r\nimport { user } from \"../models/user\";\r\nimport { auth_server, auth_server_sso } from \"../../assets/conf_urls.json\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminService {\r\n updatedUserID = new BehaviorSubject(null);\r\n private token = null;\r\n\r\n /**\r\n class to manage creating/ editing / deleting users in the application.\r\n */\r\n constructor(private http: HttpClient) {\r\n this.token = localStorage.getItem('accessToken');\r\n }\r\n\r\n getUsers(): Observable {\r\n this.token = localStorage.getItem('accessToken');\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.get(auth_server_sso.getAll, { headers });\r\n }\r\n\r\n getById(id: number): Observable {\r\n if (id) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.getById, { id: id }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n deleteUser(userId: number): Observable {\r\n if (userId) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.delete, {\r\n id: userId\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n postUser(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.create, {\r\n user_upn: user.user_upn,\r\n user_email: user.user_upn,\r\n user_role: user.user_role\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateUser(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(auth_server_sso.update, {\r\n id: user.id,\r\n user_upn: user.user_upn,\r\n user_email: user.user_upn,\r\n user_role: user.user_role\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateUserActivationStatus(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(auth_server_sso.update, {\r\n id: user.id,\r\n is_active: user.is_active\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n// import { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// import { Injectable } from '@angular/core';\r\n// import { BehaviorSubject } from 'rxjs';\r\n// import { Observable } from \"rxjs\";\r\n// import { user } from \"../models/user\";\r\n// import { auth_server } from \"../../assets/conf_urls.json\";\r\n\r\n// @Injectable({ providedIn: 'root' })\r\n// export class AdminService {\r\n// updatedUserID = new BehaviorSubject(null);\r\n// private token = localStorage.getItem('accessToken');\r\n\r\n// /**\r\n// class to manage creating/ editing / deleting users in the application.\r\n// */\r\n// constructor(private http: HttpClient) {\r\n// }\r\n\r\n// getUsers(): Observable {\r\n// this.token = localStorage.getItem('accessToken');\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.get(auth_server.getAll, { headers });\r\n// }\r\n\r\n// getById(id: number): Observable {\r\n// if (id) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.getById, { id: id }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// deleteUser(userId: number): Observable {\r\n// if (userId) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.delete, {\r\n// id: userId\r\n// }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// postUser(user: user, password: string, folderArr: number[]): Observable {\r\n// if (user) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.create, {\r\n// user_email: user.user_email,\r\n// user_password: password,\r\n// user_role: user.user_role,\r\n// email_address: user.email_address,\r\n// is_active: user.is_active,\r\n// folders: folderArr\r\n// }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// updateUser(user: user): Observable {\r\n// if (user) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// const returnedData = this.http.post(auth_server.update, {\r\n// id: user.id,\r\n// user_email: user.user_email,\r\n// user_role: user.user_role,\r\n// email_address: user.email_address,\r\n// is_active: user.is_active\r\n// //user_enabled logic\r\n// }, { headers });\r\n// return returnedData;\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n\r\n// resetUserPassword(id: number, password: string): Observable {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.update, {\r\n// id: id,\r\n// user_password: password\r\n// }, { headers });\r\n// }\r\n\r\n// updatePasswordByToken(newPassword: string): Observable {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.updateByToken, {\r\n// user_password: newPassword\r\n// }, { headers });\r\n// }\r\n\r\n// }\r\n","// import { Component, ViewChild } from \"@angular/core\";\r\n// import { AdminService } from \"../services/admin.service\";\r\n// import { user } from '../models/user';\r\n// import { ActivatedRoute, Router } from \"@angular/router\";\r\n// import { NgForm } from \"@angular/forms\";\r\n// import { OnInit } from \"@angular/core\";\r\n// import { MatSnackBar } from \"@angular/material/snack-bar\";\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n// @Component({\r\n// selector: 'user-edit-component',\r\n// templateUrl: './user.edit.component.html',\r\n// styleUrls: ['./user.edit.component.css']\r\n// })\r\n// export class UserEditComponent implements OnInit {\r\n// user: user = new user();\r\n// editMode: boolean = false;\r\n// // activateDeactivateMode: boolean = false;\r\n\r\n// //dropdown list for roles\r\n// // userRoles: string[] = ['admin', 'operator'];\r\n// userRoles: string[] = ['admin', 'operator'];\r\n\r\n// @ViewChild('f') editForm: NgForm;\r\n// constructor(\r\n// private adminService: AdminService,\r\n// private activatedRouter: ActivatedRoute,\r\n// private routingRouter: Router,\r\n// private _snackBar: MatSnackBar,\r\n// private loggerService: LoggerService\r\n// ) {\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// this.activatedRouter.url.subscribe(url => {\r\n// if (url.length > 0) {\r\n// if (url[0].path == 'new') {\r\n// this.editMode = false\r\n// // this.activateDeactivateMode = false;\r\n// } else if (url[0].path == 'edit') {\r\n// this.editMode = true;\r\n// // this.activateDeactivateMode = false;\r\n// this.adminService.updatedUserID.subscribe(data => {\r\n// this.getUpdatedUserData(data);\r\n// });\r\n// } else {\r\n// this.editMode = false;\r\n// // this.activateDeactivateMode = true;\r\n// this.adminService.updatedUserID.subscribe(data => {\r\n// this.getUpdatedUserData(data);\r\n// });\r\n// }\r\n// }\r\n// }, err => {\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// })\r\n// }\r\n\r\n// insertData(newUser: user) {\r\n// this.adminService.postUser(newUser).subscribe(data => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"User was successfully inserted\", \"Success\");\r\n// this.loggerService.log(\"UserEditComponent\", 'user inserted successfully', Levels.info)\r\n\r\n// }, err => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n// });\r\n// }\r\n\r\n// updateData(updatedUser: user) {\r\n// this.adminService.updateUser(updatedUser).subscribe(data => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"User was updated\", \"Success\");\r\n// this.loggerService.log(\"UserEditComponent\", 'user updated successfully', Levels.info)\r\n\r\n// }, err => {\r\n// // (\"user was not updated. \", err);\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n// });\r\n// }\r\n\r\n\r\n\r\n// onSubmit() {\r\n// if (this.editForm.valid) {\r\n// this.user.user_email = this.user.user_email.trim()\r\n// this.user.user_upn = this.user.user_upn.trim()\r\n// if (this.editMode) {\r\n// this.updateData(this.user);\r\n// } else {\r\n// this.insertData(this.user);\r\n// }\r\n// }\r\n// }\r\n\r\n// getUpdatedUserData(updatedUserID: number) {\r\n// if (!updatedUserID) {\r\n// this.routingRouter.navigate(['admin']);\r\n// this.openSnackBar(\"Unauthorized\", \"Error\");\r\n// return;\r\n// }\r\n// this.adminService.getById(updatedUserID).subscribe(data => {\r\n// this.user = JSON.parse(JSON.stringify(data[0]));\r\n// }, err => {\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// })\r\n// }\r\n\r\n// reloadComponent() {\r\n// this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n// this.routingRouter.onSameUrlNavigation = 'reload';\r\n// this.routingRouter.navigate(['/admin']);\r\n// }\r\n\r\n// openSnackBar(message: string, action: string) {\r\n// this._snackBar.open(message, action, {\r\n// duration: 8000,\r\n// panelClass: ['mat-toolbar', 'mat-primary']\r\n// });\r\n\r\n// }\r\n// }\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n\r\nimport { Component, ViewChild } from \"@angular/core\";\r\nimport { AdminService } from \"../services/admin.service\";\r\nimport { user } from '../models/user';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { OnInit } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { folderAccess } from \"src/shared/models/folderAccess.model\";\r\nimport { data } from \"jquery\";\r\n@Component({\r\n selector: 'user-edit-component',\r\n templateUrl: './user.edit.component.html',\r\n styleUrls: ['./user.edit.component.css']\r\n})\r\nexport class UserEditComponent implements OnInit {\r\n user: user = new user();\r\n userPassword: string = null;\r\n\r\n editMode: boolean = false;\r\n resetPasswordMode: boolean = false;\r\n marketsReceivedIds: number[] = [];\r\n userEnabled:number = 0;\r\n\r\n //dropdown list for roles\r\n // userRoles: string[] = ['admin', 'operator'];\r\n userRoles: string[] = ['admin', 'operator'];\r\n\r\n @ViewChild('f') editForm: NgForm;\r\n\r\n constructor(\r\n private adminService: AdminService,\r\n private activatedRouter: ActivatedRoute,\r\n private routingRouter: Router,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n private dialog: MatDialog\r\n ) {\r\n //console.log(this.user);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.activatedRouter.url.subscribe(url => {\r\n if (url.length > 0) {\r\n //console.log(url[0].path);\r\n if (url[0].path == 'new') {\r\n this.editMode = this.resetPasswordMode = false;\r\n } else if (url[0].path == 'edit') {\r\n this.editMode = true;\r\n this.resetPasswordMode = false;\r\n this.adminService.updatedUserID.subscribe(data => {\r\n this.getUpdatedUserData(data);\r\n });\r\n this.userEnabled = 0;\r\n console.log(\"USER STATUS: \",this.user);\r\n } else {\r\n this.editMode = false;\r\n this.resetPasswordMode = true;\r\n this.adminService.updatedUserID.subscribe(data => {\r\n this.getUpdatedUserData(data);\r\n });\r\n }\r\n }\r\n }, err => {\r\n //console.log(err);\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n insertData(newUser: user) {\r\n this.adminService.postUser(newUser).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"User was successfully inserted\", \"Success\");\r\n this.loggerService.log(\"UserEditComponent\", 'user inserted successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n updateData(updatedUser: user) {\r\n this.adminService.updateUser(updatedUser).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"User was updated\", \"Success\");\r\n this.loggerService.log(\"UserEditComponent\", 'user updated successfully', Levels.info)\r\n\r\n }, err => {\r\n // console.log(\"user was not updated. \", err);\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n resetPassword(updatedUser: user) {\r\n // this.adminService.resetUserPassword(updatedUser.id, this.userPassword).subscribe(data => {\r\n // this.reloadComponent();\r\n // this.openSnackBar(\"Password updated successfully\", \"Success\")\r\n // this.loggerService.log(\"UserEditComponent\", `updated password for user with id ${updatedUser.id} successfully`, Levels.info)\r\n // }, err => {\r\n // //console.log(\"user was not updated. \",err);\r\n // this.reloadComponent();\r\n // this.openSnackBar(\"Error has occurred try again later\", \"Error\")\r\n // this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n if (this.editForm.valid) {\r\n if (this.editMode) {\r\n this.updateData(this.user);\r\n } else if (this.resetPasswordMode) {\r\n this.resetPassword(this.user);\r\n } else {\r\n this.insertData(this.user);\r\n }\r\n }\r\n }\r\n\r\n getUpdatedUserData(updatedUserID: number) {\r\n if (!updatedUserID) {\r\n this.routingRouter.navigate(['admin']);\r\n this.openSnackBar(\"Unauthorized\", \"Error\");\r\n return;\r\n }\r\n this.adminService.getById(updatedUserID).subscribe(data => {\r\n this.user = JSON.parse(JSON.stringify(data[0]));\r\n }, err => {\r\n //console.log(err);\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n reloadComponent() {\r\n this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.routingRouter.onSameUrlNavigation = 'reload';\r\n this.routingRouter.navigate(['/admin']);\r\n }\r\n\r\n\r\n loadLMSelector(): void {\r\n\r\n\r\n const dialogRef = this.dialog.open(LmListsComponent, {\r\n maxHeight: '100vh',\r\n data: [],\r\n disableClose: true,\r\n });\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n for (let idObj of result) {\r\n this.marketsReceivedIds.push(idObj.id)\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n validateButton():boolean{\r\n if (this.editMode){\r\n // if(!this.editForm.valid) return true;\r\n }else if(this.resetPassword){\r\n // if(!this.editForm.valid) return true;\r\n }else{\r\n if(this.marketsReceivedIds.length==0) return true;\r\n }\r\n return false\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n User UPN is required.\r\n \r\n \r\n User UPN must be at least 5 characters long.\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n User role\r\n \r\n \r\n {{item}}\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","// import { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n// import { OnInit } from \"@angular/core\";\r\n// import { Component } from \"@angular/core\";\r\n// import { MatTableDataSource } from \"@angular/material/table\";\r\n// import { user } from \"./models/user\";\r\n// import { AdminService } from \"./services/admin.service\";\r\n// import { MatDialog } from '@angular/material/dialog';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\n// import { MatSnackBar } from '@angular/material/snack-bar';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n// @Component({\r\n// selector: \"admin-users-component\",\r\n// templateUrl: \"./users.component.html\",\r\n// styleUrls: [\"./users.component.css\"]\r\n// })\r\n// export class AdminController implements OnInit {\r\n// users: user[] = [];\r\n// fetchingData: boolean = false;\r\n// displayedColumns: string[] = ['userId', 'user_upn', 'user_email', 'createdAt',\r\n// 'updatedAt', 'createdBy', 'lastUpdatedBy', 'user_role', 'actions'];\r\n// tableData: MatTableDataSource;\r\n\r\n// constructor(public adminService: AdminService, public dialog: MatDialog,\r\n// public router: Router, public activatedRoute: ActivatedRoute,\r\n// private _snackBar: MatSnackBar,\r\n// private loggerService: LoggerService) {\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// this.getData();\r\n// }\r\n\r\n// applyFilter(event: Event) {\r\n// const filterValue = (event.target as HTMLInputElement).value;\r\n// this.tableData.filter = filterValue.trim().toLowerCase();\r\n// }\r\n\r\n\r\n// getData() {\r\n// this.fetchingData = true;\r\n// this.adminService.getUsers().subscribe(data => {\r\n// this.users = data;\r\n// this.tableData = new MatTableDataSource(this.users);\r\n// this.fetchingData = false;\r\n// }, err => {\r\n// this.fetchingData = false;\r\n// this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n// });\r\n// }\r\n\r\n\r\n// deleteUser(userId: number) {\r\n// this.adminService.deleteUser(userId).subscribe(data => {\r\n// this.openSnackBar(\"User deleted successfully.\", \"Success\");\r\n// this.loggerService.log(\"AdminController\", `user with user id =${userId} deleted successfully.`, Levels.info)\r\n// this.getData();\r\n// }, err => {\r\n// this.openSnackBar(\"User does not exist.\", \"Error\");\r\n// this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n// this.getData();\r\n// })\r\n\r\n// }\r\n\r\n// sendUserToChildComponent_update(userToBeUpdated: user) {\r\n// this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n// }\r\n\r\n// sendUserToChildComponent_activateOrDeactivateUser(userToBeUpdated: user) {\r\n// // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// // this.router.navigate(['sendUserToChildComponent_activateOrDeactivateUser'], { relativeTo: this.activatedRoute })\r\n\r\n// const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n// width: '450px',\r\n// data: { title: `${userToBeUpdated?.is_active ? \"Deactivate User\" : \"Activate User\"}`, message: \"Please confirm!\" },\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// userToBeUpdated.is_active = userToBeUpdated.is_active ? 0 : 1\r\n// this.adminService.updateUserActivationStatus(userToBeUpdated).subscribe(data => {\r\n// this.getData();\r\n// this.openSnackBar(\"Status updated successfully\", \"Success\")\r\n// this.loggerService.log(\"UserEditComponent\", `Status updated successfully for user with id ${userToBeUpdated.id} successfully`, Levels.info)\r\n// }, err => {\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\")\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// });\r\n// }\r\n// });\r\n// }\r\n\r\n// openDialog(userId: number): void {\r\n// const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n// width: '450px',\r\n// data: { title: \"Delete user\", message: \"Please confirm user deletion!\" },\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// this.deleteUser(userId);\r\n// }\r\n// });\r\n// }\r\n\r\n\r\n// openSnackBar(message: string, action: string) {\r\n// this._snackBar.open(message, action, {\r\n// duration: 8000,\r\n// panelClass: ['mat-toolbar', 'mat-primary']\r\n// });\r\n// }\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n// this is the old code\r\n\r\n\r\n\r\n\r\n\r\nimport { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { OnInit } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { user } from \"./models/user\";\r\nimport { AdminService } from \"./services/admin.service\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\n\r\n@Component({\r\n selector: \"admin-users-component\",\r\n templateUrl: \"./users.component.html\",\r\n styleUrls: [\"./users.component.css\"]\r\n})\r\nexport class AdminController implements OnInit {\r\n users: user[] = [];\r\n fetchingData: boolean = false;\r\n displayedColumns: string[] = ['userId', 'upn', 'createdAt', 'role', 'actions'];\r\n tableData: MatTableDataSource;\r\n\r\n constructor(public adminService: AdminService, public dialog: MatDialog,\r\n public router: Router, public activatedRoute: ActivatedRoute,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n //console.log(filterValue);\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getData() {\r\n this.fetchingData = true;\r\n this.adminService.getUsers().subscribe(data => {\r\n //console.log(data);\r\n this.users = data;\r\n this.tableData = new MatTableDataSource(this.users);\r\n this.fetchingData = false;\r\n }, err => {\r\n //console.log(err);\r\n this.fetchingData = false;\r\n this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n\r\n deleteUser(userId: number) {\r\n this.adminService.deleteUser(userId).subscribe(data => {\r\n //console.log(\"deleted\",data);\r\n this.openSnackBar(\"User deleted successfully.\", \"Success\");\r\n this.loggerService.log(\"AdminController\", `user with user id =${userId} deleted successfully.`, Levels.info)\r\n this.getData();\r\n }, err => {\r\n //console.log(err);\r\n this.openSnackBar(\"User does not exist.\", \"Error\");\r\n this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n this.getData();\r\n })\r\n\r\n }\r\n\r\n sendUserToChildComponent_update(userToBeUpdated: user) {\r\n this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n sendUserToChildComponent_resetPassword(userToBeUpdated: user) {\r\n this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n\r\n\r\n openDialog(userId: number): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete user\", message: \"Please confirm user deletion!\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteUser(userId);\r\n }\r\n });\r\n }\r\n\r\n\r\n loadLMSelector(userId: number): void {\r\n\r\n const dialogRef = this.dialog.open(LmListsComponent, {\r\n //const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n maxHeight: '100vh',\r\n data: {userId:userId, isEditMode:true},\r\n disableClose: true\r\n });\r\n\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //to be deleted just trial for other dialog\r\n // openDialog2(): void {\r\n\r\n // const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n // minWidth:'700px',\r\n // maxHeight: '100vh',\r\n // data: [],\r\n // disableClose:true,\r\n // });\r\n\r\n // let instance = dialogRef.componentInstance;\r\n // instance.allowMultipleSelect=true;\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // //console.log('The dialog was closed',result);\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

Users Data

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
0 && !fetchingData\" style=\"max-height:90vh;overflow-y:auto;\">\r\n\r\n\r\n
\r\n \r\n Filter\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ID {{i+1}} UPN {{element.user_upn?element.user_upn:\"NA\"}} Created Date {{element.createdAt}} Role {{element.user_role}} \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

No data available

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

Choose a user to update or insert new user

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { UserEditComponent } from './../admin/user.editing/user.edit.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LoginpageComponent } from '../loginpage/loginpage.component';\r\nimport { HomepageComponent } from '../homepage/homepage.component';\r\nimport { FolderManagerComponent } from '../folder-manager/folder-manager.component';\r\nimport { FileUploaderComponent } from '../file-uploader/file-uploader.component'\r\nimport { SystemProfileManagerComponent } from '../system-profile-manager/system-profile-manager.component';\r\nimport { TemplateManagerComponent } from '../template-manager/template-manager.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { SoftwareUpgradeComponent } from \"../software-upgrade/software-upgrade.component\";\r\nimport { AuthGuard } from '../app/services/auth.guard';\r\nimport { AdminController } from 'src/admin/users.component';\r\nimport { LogsComponent } from 'src/logs/logs.component';\r\nimport { ErrorComponent } from 'src/shared/404/404.component';\r\nimport { MarketLocationEditComponent } from 'src/admin-market-location/market_location.editing/market_location.edit.component';\r\nimport { AdminMarketLocationController } from 'src/admin-market-location/market_location.component';\r\nimport { ReportGeneratorComponent } from 'src/report-generator/report-generator.component';\r\nimport { LoginpageSSOComponent } from 'src/loginpageSSO/loginpagesso.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: HomepageComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'login',\r\n component: LoginpageSSOComponent,\r\n }, {\r\n path: 'admin-login',\r\n component: LoginpageComponent,\r\n }, {\r\n path: 'login-sso',\r\n component: LoginpageSSOComponent,\r\n },\r\n {\r\n path: 'home',\r\n component: HomepageComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n\r\n {\r\n path: 'foldermanager',\r\n component: FolderManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'systemprofile',\r\n component: SystemProfileManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'templatemanager',\r\n component: TemplateManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'packagemanager',\r\n component: FileUploaderComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'softwareupdate',\r\n component: SoftwareUpgradeComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n // {\r\n // path: 'phonebook',\r\n // component: PhonebookManagerComponent,\r\n // canLoad: [AuthGuard],\r\n // canActivate: [AuthGuard],\r\n // },\r\n {\r\n path: 'admin',\r\n component: AdminController,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'new', component: UserEditComponent },\r\n { path: 'resetPassword', component: UserEditComponent },\r\n { path: 'edit', component: UserEditComponent }\r\n ]\r\n },\r\n {\r\n path: 'marketlocation',\r\n component: AdminMarketLocationController,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'new', component: MarketLocationEditComponent },\r\n { path: 'resetPassword', component: MarketLocationEditComponent },\r\n { path: 'edit', component: MarketLocationEditComponent }\r\n ]\r\n },\r\n {\r\n path: 'logs',\r\n component: LogsComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'reportgenerator',\r\n component: ReportGeneratorComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: '**',\r\n component: ErrorComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes),\r\n\r\n\r\n ],\r\n exports: [\r\n RouterModule\r\n ],\r\n declarations: [],\r\n providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }],\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component } from '@angular/core';\r\nimport * as $ from 'jquery';\r\nimport { environment } from './../environments/environment';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n showFiller = false;\r\n title = 'ng-tms2';\r\n constructor(public router: Router) {\r\n //console.log(environment.production);\r\n }\r\n\r\n goToHome() {\r\n this.router.navigate(['/home'])\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 \"Vodafone\"\r\n\r\n Vodafone Group © 2023\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { SystemPasswordComponent } from './../system-profile-manager/system-profile-V2/system-password/system-password.component';\r\nimport { DialogDetailedLogsComponent } from './../logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component';\r\nimport { LogsComponent } from './../logs/logs.component';\r\nimport { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { UserEditComponent } from './../admin/user.editing/user.edit.component';\r\nimport { MarketLocationEditComponent } from 'src/admin-market-location/market_location.editing/market_location.edit.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\r\n'@angular-material-components/datetime-picker';\r\nimport { FileUploaderComponent } from '../file-uploader/file-uploader.component'\r\nimport { AppComponent } from './app.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { LoginpageComponent } from '../loginpage/loginpage.component';\r\nimport { HomepageComponent } from '../homepage/homepage.component';\r\nimport { FolderManagerComponent } from '../folder-manager/folder-manager.component';\r\nimport { TreeviewSystemsComponent } from '../treeview-systems/treeview-systems.component';\r\nimport { AppRoutingModule } from '../app-routing/app-routing.module';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NavbarComponent } from '../navbar/navbar.component';\r\nimport { SystemProfileManagerComponent } from '../system-profile-manager/system-profile-manager.component';\r\nimport { SqlDataTableComponent } from '../sql-data-table/sql-data-table.component';\r\nimport { TableModule } from 'ngx-easy-table';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TemplateManagerComponent } from '../template-manager/template-manager.component';\r\nimport { DateTimePickerModule } from 'ngx-datetime-picker';\r\nimport { FileUploadModule } from \"ng2-file-upload\";\r\nimport { SoftwareUpgradeComponent } from '../software-upgrade/software-upgrade.component';\r\nimport { PhonebookManagerComponent } from '../phonebook-manager/phonebook-manager.component';\r\nimport { TreeviewModule } from 'ngx-treeview';\r\nimport { SplitPipe } from './split.pipe';\r\nimport { AuthInterceptorService } from './services/auth-interceptor';\r\nimport { AdminController } from 'src/admin/users.component';\r\nimport { AdminMarketLocationController } from 'src/admin-market-location/market_location.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { LoggingComponent } from 'src/logs/loggingComponent/logging.component';\r\nimport { ErrorComponent } from 'src/shared/404/404.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SystemProfileV2Component } from 'src/system-profile-manager/system-profile-V2/system-profile-V2.component';\r\nimport { SystemSettingComponent } from 'src/system-profile-manager/system-profile-V2/system-setting/system-setting.component';\r\nimport { SystemStateProvisioningComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component';\r\nimport { InsertUnitsComponent } from 'src/system-profile-manager/dialog-insert-system/insert.systems.component';\r\nimport { AddNoteComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component';\r\nimport { SystemUpdateComponent } from 'src/system-profile-manager/system-profile-V2/system-update/update.system.component';\r\nimport { RollbackComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component';\r\nimport { AddedUnitsGraphComponent } from 'src/homepage/added-units-graph/added-units-graph.component';\r\nimport { QuickActionsComponent } from 'src/homepage/quick-actions/quick-actions.component';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { ProvisionUnitsGraphComponent } from 'src/homepage/provision-units-graph/provision-units-graph.component';\r\nimport { MonitorUnitsGraphComponent } from 'src/homepage/monitor-units-graph/monitor-units-graph.component';\r\nimport { StatusUnitsGraphComponent } from 'src/homepage/status-units-graph/status-units-graph.component';\r\nimport { DialogMonitorProvisionComponent } from 'src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { FolderSystemsComponent } from 'src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component';\r\nimport { DialogStatusComponent } from 'src/homepage/quick-actions/dialog-status.component/dialog-status.component';\r\nimport { BulkActionsDialogComponent } from 'src/shared/Dialogs/bulk-actions/dialog.bulkActions.component';\r\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\nimport { WallpaperUploadDialogComponent } from 'src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component';\r\nimport { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\nimport { StateDialogDetailedLogsComponent } from 'src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component';\r\nimport { DialogDetailedLogsTemplatesComponent } from 'src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component';\r\n\r\nimport { ReportGeneratorComponent } from 'src/report-generator/report-generator.component';\r\nimport { DialogReportGeneratorComponent } from 'src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component';\r\n\r\nimport { DialogDetailedLogsWallpaperComponent } from 'src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginpageSSOComponent } from 'src/loginpageSSO/loginpagesso.component';\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginpageComponent,\r\n HomepageComponent,\r\n NavbarComponent,\r\n TreeviewSystemsComponent,\r\n FolderManagerComponent,\r\n SystemProfileManagerComponent,\r\n SqlDataTableComponent,\r\n TemplateManagerComponent,\r\n FileUploaderComponent,\r\n SoftwareUpgradeComponent,\r\n PhonebookManagerComponent,\r\n SplitPipe,\r\n AdminController,\r\n AdminMarketLocationController,\r\n UserEditComponent,\r\n MarketLocationEditComponent,\r\n DialogSearchComponent,\r\n LoggingComponent,\r\n LogsComponent,\r\n ErrorComponent,\r\n DialogDetailedLogsComponent,\r\n DialogDetailedLogsTemplatesComponent,\r\n SystemProfileV2Component,\r\n SystemSettingComponent,\r\n SystemPasswordComponent,\r\n SystemStateProvisioningComponent,\r\n InsertUnitsComponent,\r\n AddNoteComponent,\r\n SystemUpdateComponent,\r\n RollbackComponent,\r\n AddedUnitsGraphComponent,\r\n ProvisionUnitsGraphComponent,\r\n MonitorUnitsGraphComponent,\r\n QuickActionsComponent,\r\n StatusUnitsGraphComponent,\r\n DialogMonitorProvisionComponent,\r\n FolderSystemsComponent,\r\n DialogStatusComponent,\r\n BulkActionsDialogComponent,\r\n ReportIssueDialogComponent,\r\n WallpaperUploadDialogComponent,\r\n ResetPasswordDialogComponent,\r\n StateDialogDetailedLogsComponent,\r\n LoginpageSSOComponent,\r\n\r\n ReportGeneratorComponent,\r\n DialogReportGeneratorComponent,\r\n\r\n DialogDetailedLogsWallpaperComponent,\r\n LmListsComponent\r\n\r\n ],\r\n imports: [\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n DateTimePickerModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n TableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n A11yModule,\r\n ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n FileUploadModule,\r\n TreeviewModule.forRoot(),\r\n MatFormFieldModule,\r\n MatPaginatorModule,\r\n NgbModule,\r\n ChartsModule,\r\n CommonModule\r\n ],\r\n exports: [],\r\n providers: [, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptorService,\r\n multi: true\r\n }],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { AuthService } from './auth.service';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { exhaustMap, take } from 'rxjs/operators';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport class SiteUser{\r\n token:string;\r\n /**\r\n * class for the logged in user credentials\"token for now\".\r\n */\r\n constructor(token:string) {\r\n this.token=token;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn:\"root\"\r\n})\r\nexport class AuthInterceptorService implements HttpInterceptor{\r\n //used for the http interceptor to better capture the user details.\r\n siteUser=new BehaviorSubject(null);\r\n /**\r\n * Used to add the token to any request.\r\n */\r\n constructor() {\r\n }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const token=localStorage.getItem('accessToken');\r\n const user=new SiteUser(token);\r\n this.siteUser.next(user);\r\n\r\n return this.siteUser.pipe(take(1),exhaustMap(user=>{\r\n if(!user.token){\r\n return next.handle(req);\r\n }\r\n //const requestHeader:HttpHeaders=new HttpHeaders({'token':user.token});\r\n //const modifiedRequest=req.clone({setHeaders:{'token':user.token}});\r\n const queryParams:HttpParams=new HttpParams().set('token',user.token);\r\n const modifiedRequest=req.clone({params:queryParams});\r\n return next.handle(modifiedRequest);\r\n }))\r\n }\r\n\r\n\r\n}\r\n","import jwt_decode from \"jwt-decode\";\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthGuard implements CanActivate, CanLoad {\r\n\r\n rejectedUserURL: string[] = ['admin', 'templatemanager', 'packagemanager',\r\n 'softwareupdate', 'logs', 'foldermanager',\r\n 'marketlocation', 'reportgenerator']\r\n constructor(private authService: AuthService, private router: Router,\r\n private activateRoute: ActivatedRoute\r\n ) {\r\n\r\n }\r\n\r\n\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n\r\n let tokenStored: string = localStorage.getItem('accessToken')\r\n if (!tokenStored) {\r\n this.getSSOTokenFromQueryString(next);\r\n if (this.router.url == \"/admin-login\") {\r\n this.router.navigate(['/admin-login']);\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n } else {\r\n let user_info_obj: any = jwt_decode(localStorage.getItem('accessToken'));\r\n if (user_info_obj?.role?.trim() == \"operator\") {\r\n if (this.rejectedUserURL.includes(next.routeConfig.path)) {\r\n this.router.navigate(['/404']);\r\n return false;\r\n }\r\n }\r\n return this.authService.check_auth(tokenStored)\r\n }\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.authService.check_auth(localStorage.getItem('accessToken'))\r\n }\r\n\r\n\r\n async getSSOTokenFromQueryString(next: ActivatedRouteSnapshot) {\r\n let receivedToken: string = next.queryParams.token\r\n if (receivedToken) {\r\n localStorage.setItem('accessToken', receivedToken);\r\n return await this.authService.check_auth(receivedToken)\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { auth_server } from '../../assets/conf_urls.json';\r\nimport { Observable, Subscription, of, Subject, BehaviorSubject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(private http: HttpClient, private router: Router) { }\r\n //used for the http interceptor to better capture the user details.\r\n // user=new BehaviorSubject(null);\r\n\r\n check_auth(token: string): Observable {\r\n let result = new Subject();\r\n const headers = { 'Authorization': 'Bearer ' + token, responseType: 'text' };\r\n this.http.post(auth_server.verify, \"\", { headers }).subscribe(res => {\r\n if (res) {\r\n result.next(true);\r\n return true\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false\r\n }\r\n }, (error) => {\r\n result.next(false)\r\n this.router.navigate(['/login']);\r\n return false\r\n });\r\n return result.asObservable()\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'split'\r\n})\r\nexport class SplitPipe implements PipeTransform {\r\n transform(value:string, separator):string {\r\n let splits = value.split(separator);\r\n if(splits.length > 1) {\r\n splits.pop()\r\n return splits[0];\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n\r\nexport const AD = {\r\n \"nodejs_service_url\": \"http://10.1.2.13:3242/api/auth/ad\",\r\n \"username\": \"nodejsuser\",\r\n \"password\": \"nodejspass\"\r\n }\r\n export const auth_server = {\r\n \"auth\": \"https://127.0.0.1/users/auth\",\r\n \"verify\": \"https://127.0.0.1/users/verify\",\r\n \"getAll\": \"https://127.0.0.1/users/getAll\",\r\n \"create\": \"https://127.0.0.1/users/create\",\r\n \"update\": \"https://127.0.0.1/users/updateById\",\r\n \"delete\": \"https://127.0.0.1/users/deleteById\",\r\n \"getById\":\"https://127.0.0.1/users/getById\"\r\n }\r\n export const home = {\r\n \"statistics\":\"https://127.0.0.1/homeData\",\r\n \"bulkActions\":\"https://127.0.0.1/bulkActions\",\r\n \"reportIssue\":\"https://127.0.0.1/reportIssue\"\r\n }\r\n export const user_access = {\r\n \"url\": \"https://127.0.0.1/userdata\",\r\n \"newrequest_url\": \"https://127.0.0.1/newrequest\",\r\n \"check_newrequest_by_user_url\": \"https://127.0.0.1/requestbyuser\",\r\n \"new_user_session\": \"https://127.0.0.1/newsession\",\r\n \"update_user_session\": \"https://127.0.0.1/updatesession\"\r\n }\r\n export const folder_manager = {\r\n \"add_folder\": \"https://127.0.0.1/foldermanagement\",\r\n \"get_folder_id_by_name\": \"https://127.0.0.1/foldermanagement\",\r\n \"ngx_tree\": \"https://127.0.0.1/ngxtree\"\r\n }\r\n export const system_manager = {\r\n \"services\": \"https://127.0.0.1/systemmanagement\",\r\n \"pull_system_profile\": \"https://127.0.0.1/pullprofile\",\r\n \"push_system_profile\": \"https://127.0.0.1/pushprofile\",\r\n \"update_profile\":\"https://127.0.0.1/updateProfile\"\r\n }\r\n export const template_manager = {\r\n\r\n \"services\": \"https://127.0.0.1/templatemodule\",\r\n \"templatecommandsview\": \"https://127.0.0.1/templatecommandsview\",\r\n \"table_dataset\": \"https://127.0.0.1/tabledataset\"\r\n }\r\n export const software_update = {\r\n \"services\": \"https://127.0.0.1/softwareupgrade\",\r\n \"package_directory\": \"E:\\\\RTC_Dev\\\\RTC_Monitoring\\\\Backend\\\\nodejs\\\\uploads\"\r\n }\r\n export const phonebook = {\r\n \"phonebook_management\": \"https://127.0.0.1/phonebookmanagement\",\r\n \"catalog_management\": \"https://127.0.0.1/catalogmanagement\",\r\n \"phonebookcatalog_management\": \"https://127.0.0.1/phonebookcatalogmanagement\",\r\n \"entry_management\": \"https://127.0.0.1/entrymanagement\",\r\n \"route_management\": \"https://127.0.0.1/routemanagement\",\r\n \"phonebook_task_management\": \"https://127.0.0.1/phonebooktaskmanagement\"\r\n }\r\n export const searchModule = {\r\n \"postSearch\": \"https://127.0.0.1/search\"\r\n }\r\n export const logs = {\r\n \"getLogs\": \"https://127.0.0.1/getlogs\"\r\n }\r\n export const logger ={\r\n \"logEntry\":\"https://127.0.0.1/fe_logging\"\r\n\r\n }\r\n\r\n\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { availablePackage } from './models/availablePackage';\r\nimport { FileUploadService } from './service/file-upload.service';\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FileUploader } from 'ng2-file-upload';\r\n//@ts-ignore\r\nimport { software_update } from \"../assets/conf_urls.json\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\nconst URL = 'http://echuqu013vw.internal.vodafone.com:3001/api/upload';\r\n\r\n@Component({\r\n selector: 'app-file-uploader',\r\n templateUrl: './file-uploader.component.html',\r\n styleUrls: ['./file-uploader.component.css'],\r\n providers: [FileUploadService]\r\n})\r\nexport class FileUploaderComponent implements OnInit, AfterViewInit {\r\n title = 'Upload a File';\r\n show_alert_upload_status = false\r\n show_alert_upload_msg = \"\"\r\n public uploader: FileUploader = new FileUploader({ url: URL, itemAlias: 'file' });\r\n response: string;\r\n\r\n //new attributes for the packages table\r\n packagesAvailable: availablePackage[] = [];\r\n displayedColumns: string[] = ['id', 'file_name', 'file_path', 'size'];\r\n tableData: MatTableDataSource = new MatTableDataSource([]);;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private http: HttpClient,\r\n private fileUploadService: FileUploadService,\r\n private elem: ElementRef,\r\n private loggerService: LoggerService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n this.uploader.onAfterAddingFile = (file) => {\r\n file.withCredentials = false;\r\n };\r\n\r\n this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\r\n\r\n this.show_alert_upload_msg = \"Upload Completed\"\r\n this.show_alert_upload_status = true\r\n this.update_packages_list()\r\n };\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n const elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n }\r\n\r\n getData() {\r\n this.resetTable();\r\n this.fileUploadService.getAll().subscribe(response => {\r\n this.packagesAvailable = response.data;\r\n this.tableData = new MatTableDataSource(this.packagesAvailable);\r\n this.tableData.paginator = this.paginator;\r\n this.tableData.sort = this.sort;\r\n }, err => {\r\n this.loggerService.log(\"FileUploaderComponent\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n resetTable() {\r\n this.packagesAvailable = [];\r\n this.tableData = new MatTableDataSource(this.packagesAvailable);\r\n this.tableData.paginator = this.paginator;\r\n this.tableData.sort = this.sort;\r\n }\r\n update_packages_list() {\r\n this.http.post(software_update.services, {\r\n \"file_path\": software_update.package_directory,\r\n \"event\": \"reload_packages_list\"\r\n }).subscribe(data => {\r\n }, err => {\r\n this.loggerService.log(\"FileUploaderComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n if (this.tableData.paginator) {\r\n this.tableData.paginator.firstPage();\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n

Select files

\r\n \r\n
\r\n
\r\n
* Uploading packages from here is currently disabled !
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n

Packages available: {{ packagesAvailable.length }}

\r\n\r\n
\r\n \r\n Filter\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
ID {{element.id}} File Name {{element.file_name}} File Path {{element.file_path}} File Size {{element.size}}
\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport {software_update} from '../../assets/conf_urls.json'\r\nimport { availablePackage } from '../models/availablePackage';\r\n@Injectable()\r\nexport class FileUploadService{\r\n\r\n constructor(private http:HttpClient) {}\r\n\r\n getAll():Observable<{data:availablePackage[]}>{\r\n return this.http.post<{data:availablePackage[]}>(software_update.services,{\r\n \"event\": \"queryall\"\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TreeviewSystemsComponent } from '../treeview-systems/treeview-systems.component'\r\n// @ts-ignore\r\nimport { folder_manager, user_access, system_manager } from '../assets/conf_urls.json';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-folder-manager',\r\n templateUrl: './folder-manager.component.html',\r\n styleUrls: ['./folder-manager.component.css']\r\n})\r\nexport class FolderManagerComponent implements OnInit {\r\n isLinear = false;\r\n parent_folder_id = '';\r\n selected_folder: any;\r\n selected_parent_folder_name = '';\r\n selected_parent_folder_id = '';\r\n message: any;\r\n // #create\r\n CreateFolder_FormGroup: FormGroup;\r\n updateFolderForm: FormGroup;\r\n moveFolderFormGroup: FormGroup;\r\n deleteFolderFormGroup: FormGroup;\r\n create_response_message = '';\r\n update_response_message = '';\r\n move_response_message = '';\r\n move_source_folder: any;\r\n move_dest_folder: any;\r\n delete_response_message = '';\r\n show_progressbar = false;\r\n parsed_data = []\r\n disable_upload_button = true\r\n msg_upload = ''\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n sort_tree_by = \"folder\"\r\n updateBtnErrorMsg: string;\r\n //old version\r\n // for user access\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n //old version\r\n check_auth() {\r\n // for user access\r\n this.user_permission = localStorage.getItem('ua');\r\n if (this.user_permission && this.user_email) {\r\n\r\n this.get_user_access_service(this.user_email);\r\n\r\n } else {\r\n // user has to login\r\n window.location.href = '/login';\r\n }\r\n //end\r\n }\r\n\r\n //end\r\n constructor(private _formBuilder: FormBuilder,\r\n private http: HttpClient,\r\n private _snackBar: MatSnackBar,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n @Inject(DOCUMENT) document,\r\n private route: Router) {\r\n }\r\n\r\n\r\n reload_treeView() {\r\n // let element: HTMLElement = document.getElementById('refreshID') as HTMLElement;\r\n // element.click();\r\n this.route.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.route.onSameUrlNavigation = 'reload';\r\n this.route.navigate([\"/foldermanager\"])\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.authService.check_auth(localStorage.getItem('accessToken'))\r\n\r\n this.CreateFolder_FormGroup = this._formBuilder.group({\r\n item_name: ['', Validators.required],\r\n item_parent_id: ['0', Validators.required],\r\n event: ['create']\r\n });\r\n this.updateFolderForm = this._formBuilder.group({\r\n item_name: ['', Validators.required],\r\n id: ['', Validators.required],\r\n event: ['update']\r\n });\r\n this.moveFolderFormGroup = this._formBuilder.group({\r\n id: ['', Validators.required],\r\n item_parent_id: ['', Validators.required],\r\n item_src_name: ['', Validators.required],\r\n item_dest_name: ['', Validators.required],\r\n event: ['move']\r\n });\r\n this.deleteFolderFormGroup = this._formBuilder.group({\r\n id: ['', Validators.required],\r\n item_name: ['',],\r\n event: ['delete']\r\n });\r\n }\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n //old version\r\n receiveMessage($event) {\r\n this.message = $event;\r\n this.parent_folder_id = $event;\r\n }\r\n\r\n\r\n receiveMessage2($event) {\r\n\r\n this.selected_folder = $event;\r\n this.selected_parent_folder_name = $event.text;\r\n this.selected_parent_folder_id = $event.value.id;\r\n this.updateFolderForm.get('item_name').setValue(this.selected_parent_folder_name);\r\n this.updateFolderForm.get('id').setValue(this.selected_parent_folder_id);\r\n this.deleteFolderFormGroup.get('item_name').setValue(this.selected_parent_folder_name);\r\n this.deleteFolderFormGroup.get('id').setValue(this.selected_parent_folder_id);\r\n }\r\n\r\n onSubmit_create_folder() {\r\n this.show_progressbar = true;\r\n this.CreateFolder_FormGroup.value['event'] = 'create'\r\n //return\r\n this.http.post(folder_manager.add_folder, this.CreateFolder_FormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.create_response_message = dataresponse['message'];\r\n this.reload_treeView()\r\n this.CreateFolder_FormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n this.show_progressbar = false;\r\n\r\n }\r\n\r\n assign_move_src_folder(item) {\r\n this.selectedFolderToMove = item;\r\n this.moveFolderFormGroup.patchValue({ \"item_src_name\": item['text'], \"id\": item[\"value\"]['id'] })\r\n this.parent_folder_id = \"\";\r\n }\r\n\r\n assign_move_dest_folder(item) {\r\n this.disableMoveButton()\r\n this.destinationFolder = item;\r\n this.moveFolderFormGroup.patchValue({ \"item_dest_name\": item['text'], \"item_parent_id\": item[\"value\"]['id'] })\r\n this.parent_folder_id = \"\";\r\n }\r\n\r\n onSubmit_update_folder() {\r\n if (confirm(\"Are you sure to update '\" + this.selected_folder.text + \"'?\")) {\r\n this.show_progressbar = true;\r\n this.updateFolderForm.value['event'] = 'update'\r\n this.http.post(folder_manager.add_folder, this.updateFolderForm.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.update_response_message = dataresponse['message'];\r\n this.reload_treeView()\r\n\r\n this.show_progressbar = false;\r\n this.updateFolderForm.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n }\r\n else {\r\n this.update_response_message = \"Cancelled\";\r\n this.updateFolderForm.reset();\r\n }\r\n }\r\n\r\n onSubmit_delete_folder() {\r\n if (confirm(\"Are you sure to delete '\" + this.deleteFolderFormGroup.get(\"item_name\").value + \"'?\")) {\r\n this.show_progressbar = true;\r\n this.deleteFolderFormGroup.value['event'] = 'delete'\r\n this.http.post(folder_manager.add_folder, this.deleteFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.delete_response_message = dataresponse['message'];\r\n this.openSnackBar(dataresponse['message'], \"Success\");\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.deleteFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n this.delete_response_message = err['message'];\r\n this.openSnackBar(err['message'], \"Error\");\r\n });\r\n\r\n }\r\n else {\r\n this.delete_response_message = \"Cancelled\";\r\n }\r\n }\r\n\r\n\r\n\r\n submit_move_folder(is_root: any) {\r\n if (!this.checkFoldersState() && is_root != 'root') {\r\n return;\r\n }\r\n if (confirm(\"Are you sure to move '\" + this.moveFolderFormGroup.get('item_src_name').value + \"' to be under '\" + this.moveFolderFormGroup.get('item_dest_name').value + \"'?\")) {\r\n this.move_response_message = \"\"\r\n if (is_root == 'root') {\r\n this.show_progressbar = true;\r\n this.moveFolderFormGroup.value['event'] = \"move\"\r\n this.moveFolderFormGroup.value['item_parent_id'] = 0\r\n this.http.post(folder_manager.add_folder, this.moveFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.move_response_message = dataresponse['message'];\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.moveFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n else if (this.moveFolderFormGroup.valid) {\r\n\r\n\r\n this.show_progressbar = true;\r\n this.moveFolderFormGroup.value['event'] = \"move\"\r\n this.http.post(folder_manager.add_folder, this.moveFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.move_response_message = dataresponse['message'];\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.moveFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n\r\n\r\n\r\n }\r\n }\r\n else {\r\n this.move_response_message = \"Cancelled\";\r\n }\r\n }\r\n\r\n disableMoveButton(): boolean {\r\n let disableBtn = false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder.value.id == this.selectedFolderToMove.value.id) {\r\n this.updateBtnErrorMsg = \"* You chose the same parent folder.\"\r\n disableBtn = true;\r\n return disableBtn;\r\n } else if (this.selected_folder.children && this.selected_folder.children.length > 0\r\n && this.selected_folder.children[0].value.type == 'endpoint') {\r\n this.updateBtnErrorMsg = \"* Cannot move folder to another folder that contains endpoint(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n disableCreateButton(): boolean {\r\n let disableBtn = false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder.children && this.selected_folder.children.length > 0\r\n && this.selected_folder.children[0].value.type == 'endpoint' && this.CreateFolder_FormGroup.value['item_parent_id'] != 0) {\r\n this.updateBtnErrorMsg = \"* Cannot create folder under another folder that contains endpoint(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n parse_bulk_data() {\r\n let switcher = true;\r\n this.parsed_data = []\r\n this.msg_upload = ''\r\n this.disable_upload_button = true\r\n\r\n\r\n const csv_data = (document.getElementById('csv_data')).value.trim();\r\n this.parsed_data = csv_data.split('\\n')\r\n\r\n this.parsed_data.forEach(item => {\r\n\r\n\r\n if (!item.includes(',') || item.length == 0) {\r\n this.msg_upload = 'please make sure that you entered the correct data format, error in: ' + item + ' '\r\n this.disable_upload_button = true\r\n switcher = false\r\n } else {\r\n\r\n this.disable_upload_button = false\r\n }\r\n })\r\n if (switcher !== true) {\r\n\r\n this.disable_upload_button = true\r\n }\r\n }\r\n\r\n generateGuid() {\r\n var result, i, j;\r\n result = '';\r\n for (j = 0; j < 32; j++) {\r\n if (j == 8 || j == 12 || j == 16 || j == 20)\r\n result = result + '-';\r\n i = Math.floor(Math.random() * 16).toString(16).toUpperCase();\r\n result = result + i;\r\n }\r\n return result;\r\n }\r\n\r\n upload_systems_to_folder() {\r\n\r\n this.parsed_data.forEach(item => {\r\n var id = this.generateGuid().split('-')[0]\r\n var system_ip = item.split(',')[0].trim()\r\n var system_password = item.split(',')[1].trim()\r\n var system_name = \"new_system_\" + id\r\n var system_mac_address = \"temp_\" + id\r\n if (item.includes(',') || item.length > 0) {\r\n let json_obj = {\r\n \"event\": \"create\",\r\n \"system_name\": system_name,\r\n \"system_ip\": system_ip,\r\n \"system_mac_address\": system_mac_address,\r\n \"system_password\": system_password,\r\n \"phonebook_fk_id\": \"GeneralPhonebook\",\r\n \"product_id\": \"not synced\",\r\n \"software_version\": \"not synced\",\r\n \"software_name\": \"not synced\",\r\n \"folder_id_id\": this.selected_parent_folder_id\r\n }\r\n this.http.post(system_manager.services, json_obj).subscribe(data => {\r\n if (data['message'] == 'Success') {\r\n this.openSnackBar(\"Data was uploaded to \" + this.selected_parent_folder_name + \" \", \"\")\r\n }\r\n else {\r\n this.openSnackBar(data['message'], \"\")\r\n\r\n }\r\n document.getElementById('refreshID').click();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n //starting from here this code is for the iogic of allowing or disallowing the moving of a folder under another folder\r\n selectedFolderToMove: any = null;\r\n destinationFolder: any = null;\r\n //function this.submit_move_folder is used to confirm the folders movement but with the below additional logic confirmed.\r\n\r\n // to check if the folder is eligible to be under the destination folder or not based on:\r\n //1-the destination folder id is not a child of the selected folder.\r\n //2-the destination folder must be of type folder.\r\n moveFolderErrorMessage: string = null;\r\n\r\n //function to check if the id of a certain folder or endpoint lies under a child of a tree and return this element if found or null.\r\n searchTree(tree: any, searchedId: number) {\r\n if (tree) {\r\n if (tree.value.id == searchedId) {\r\n return tree;\r\n } else if (tree.children != null) {\r\n let result = null;\r\n for (let i = 0; result == null && i < tree.children.length; i++) {\r\n result = this.searchTree(tree.children[i], searchedId);\r\n }\r\n return result;\r\n }\r\n return null;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n checkFoldersState(): boolean {\r\n this.moveFolderErrorMessage = null;\r\n\r\n if (!this.selectedFolderToMove || !this.destinationFolder) {\r\n this.moveFolderErrorMessage = \"* Check selected and destination folder\"\r\n return false;\r\n } else if (this.selectedFolderToMove.value.type != 'folder') {\r\n this.moveFolderErrorMessage = \"* The selected element must be a folder.\"\r\n return false;\r\n } else if (this.destinationFolder.value.type != 'folder') {\r\n this.moveFolderErrorMessage = \"* The destination element must be a folder.\"\r\n return false;\r\n } else if (this.searchTree(this.selectedFolderToMove, this.destinationFolder.value.id)) {\r\n this.moveFolderErrorMessage = \"* The selected folder cannot move under one of its child folders.\"\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\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 Fill out Folder information\r\n \r\n Folder Name\r\n \r\n \r\n\r\n \r\n
\r\n Create as a root\r\n
\r\n Create as a subfolder\r\n under ({{selected_parent_folder_name}})\r\n \r\n
\r\n
{{updateBtnErrorMsg}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result : {{create_response_message}}

\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 Select a folder to update\r\n \r\n New Name\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result:{{update_response_message}}

\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

Select a folder to\r\n move.

\r\n
\r\n

use {{selected_parent_folder_name}} as a source folder ?

\r\n

Or select another folder from the tree.

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

1. Source {{this.moveFolderFormGroup.get('item_src_name').value }}

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

- select a destination folder..

\r\n

2. Destination: {{selected_parent_folder_name}}

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

2. Destination: {{this.moveFolderFormGroup.get('item_dest_name').value }}

\r\n\r\n \r\n
{{updateBtnErrorMsg}}
\r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n

{{moveFolderErrorMessage}}

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

Result: {{move_response_message}}

\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n Select a folder to Delete\r\n \r\n Folder Name\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result: {{delete_response_message}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\n\r\n@Component({\r\n selector: 'app-total-units-added-date-graph',\r\n templateUrl: './added-units-graph.component.html',\r\n styleUrls: ['./added-units-graph.component.css']\r\n})\r\nexport class AddedUnitsGraphComponent implements OnInit {\r\n //the received data to be drawn on chart\r\n public lineChartData1: Array<{ data: number[], label: string }> = [{ data: [0], label: 'no. of units added' }];\r\n //the received labels to be shown on x-axis\r\n public lineChartLabels1: Array = [\"1-2021\"];\r\n //chart options\r\n public lineChartOptions1 = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true\r\n },\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ],\r\n xAxes: [\r\n {\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ]\r\n },\r\n lineTension: 10,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n elements: { line: { tension: 0 } }\r\n };\r\n //chart colors\r\n public lineChartColors1: Array = [\r\n {\r\n // grey\r\n backgroundColor: 'rgba(6,215,156,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n },\r\n {\r\n // dark grey\r\n backgroundColor: 'rgba(57,139,247,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n }\r\n ];\r\n public lineChartLegend1 = false;\r\n public lineChartType1 = 'line';\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService) {\r\n }\r\n ngOnInit(): void {\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.lineChartData1[0].data = [0];\r\n this.lineChartLabels1 = [\"1-2021\"];\r\n data?.addedUnitsGraphData.forEach(i => this.lineChartLabels1.push(i.Month.toString() + '-' + i.Year))\r\n data?.addedUnitsGraphData.forEach(i => this.lineChartData1[0].data.push(this.lineChartData1[0].data[this.lineChartData1[0].data.length - 1] + i.count))\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n Units Overview\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { auth_server } from '../assets/conf_urls.json';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { HomeService } from './shared/home.service';\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n@Component({\r\n selector: 'app-homepage',\r\n templateUrl: './homepage.component.html',\r\n styleUrls: ['../../bootstrap/homepage/assets/css/styles.css'],\r\n providers: [HomeService]\r\n})\r\nexport class HomepageComponent implements OnInit {\r\n\r\n\r\n //for user access\r\n accessToken;\r\n user_role;\r\n roleArray: Array = ['admin', 'operator', 'viewer'];\r\n refetchingDataFlag: boolean = false;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private http: HttpClient,\r\n private homeService: HomeService,\r\n public accessAuthService: AccessAuthService,\r\n private loggerService: LoggerService) {\r\n\r\n }\r\n ngOnInit(): void {\r\n // if (localStorage.getItem('accessToken')) {\r\n // this.accessToken = jwt_decode(localStorage.getItem('accessToken'));\r\n // this.user_role = this.accessToken[\"role\"]\r\n // this.adminAuthorization = this.accessToken.role === \"admin\" ? true : false;\r\n // }\r\n this.accessAuthService.user_info_obj_BehaviorSubject.subscribe(data => this.user_role = data?.role)\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"HomepageComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n }\r\n\r\n\r\n refetchData() {\r\n if (!this.refetchingDataFlag) {\r\n this.refetchingDataFlag = true;\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n this.refetchingDataFlag = false;\r\n }, err => {\r\n this.loggerService.log(\"HomepageComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.refetchingDataFlag = false;\r\n })\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n

VMS Dashboard

\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","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogMonitorProvisionComponent } from '../quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-monitored-units-graph',\r\n templateUrl: './monitor-units-graph.component.html',\r\n styleUrls: ['./monitor-units-graph.component.css']\r\n})\r\nexport class MonitorUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [\"Monitored Units\", \"UnMonitored Units\"];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartData = [];\r\n data?.monitoredUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n data?.unmonitoredUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openUnMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Monitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"MonitorUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n\r\n }\r\n\r\n openMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"UnMonitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"MonitorUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Monitoring

\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
Monitored Units{{doughnutChartData[0]?doughnutChartData[0]:\"NA\"}}
UnMonitored Units{{doughnutChartData[1]?doughnutChartData[1]:\"NA\"}}
Total No. of Units{{doughnutChartData[1]+doughnutChartData[0]?doughnutChartData[1]+doughnutChartData[0]:\"NA\"}}
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogMonitorProvisionComponent } from '../quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-provisioned-units-graph',\r\n templateUrl: './provision-units-graph.component.html',\r\n styleUrls: ['./provision-units-graph.component.css']\r\n})\r\nexport class ProvisionUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [\"Provisioned Units\", \"UnProvisioned Units\"];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartData = [];\r\n data?.provisionedUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n data?.unprovisionedUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openUnProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Provision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n\r\n }\r\n\r\n openProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"UnProvision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n

Provisioing

\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
Provisioned Units{{doughnutChartData[0]?doughnutChartData[0]:\"NA\"}}
UnProvisioned Units{{doughnutChartData[1]?doughnutChartData[1]:\"NA\"}}
Total No. of Units{{doughnutChartData[1]+doughnutChartData[0]?doughnutChartData[1]+doughnutChartData[0]:\"NA\"}}
\r\n
\r\n
\r\n\r\n","import { MatTableDataSource } from '@angular/material/table';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from 'src/homepage/shared/home.service';\r\nimport { monitorProvisionObj } from 'src/homepage/shared/home.models';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n\r\n@Component({\r\n templateUrl: './dialog-monitor-provision.component.html',\r\n styleUrls: ['./dialog-monitor-provision.component.css'],\r\n providers: [HomeService]\r\n})\r\nexport class DialogMonitorProvisionComponent implements OnInit {\r\n unitsToBeHandled: monitorProvisionObj[] = [];\r\n displayedColumns = [\"provisionIcon\", \"description\", \"action\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n pageTitle: string = \"\";\r\n message: string = \"\";\r\n globalProcessingFlag: boolean = false;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private homeService: HomeService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService,\r\n @Inject(MAT_DIALOG_DATA) public monitorOrProvision: string\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.pageTitle = \"UnProvisioned\";\r\n this.homeService.getUnprovisionedUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.pageTitle = \"UnMonitored\";\r\n this.homeService.getUnmonitoredUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.pageTitle = \"Provisioned\";\r\n this.homeService.getProvisionedUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.pageTitle = \"Monitored\";\r\n this.homeService.getMonitoredUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n } else {\r\n this.unitsToBeHandled = [];\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n }\r\n }\r\n\r\n onSubmitData() {\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n let dialogData = { title: this.monitorOrProvision + \" All Units\", message: \"You are going to send a request to \" + this.monitorOrProvision + \" all units\" }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: dialogData.title, message: dialogData.message },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendBulkAppropriateRequest()\r\n }\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n sendAppropriateRequest(element: monitorProvisionObj) {\r\n element.processingFlag = true;\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.homeService.provisionUnit(element.system_ip).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.homeService.monitorUnit(element.system_ip, 1).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.homeService.unProvisionUnit(element.system_ip).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.homeService.unMonitorUnit(element.system_ip, 0).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n }\r\n\r\n }\r\n\r\n sendBulkAppropriateRequest() {\r\n this.globalProcessingFlag = true;\r\n let unitsBeSent: any = this.adjustHandledUnits();\r\n\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.homeService.bulkProvision(unitsBeSent).subscribe(data => {\r\n this.openSnackBar(data[\"message\"], \"Processing\");\r\n }, err => {\r\n this.globalProcessingFlag = false;\r\n this.openSnackBar(err[\"message\"], \"Erocessing\");\r\n })\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.homeService.bulkUnProvision(unitsBeSent).subscribe(data => {\r\n this.openSnackBar(data[\"message\"], \"Processing\");\r\n }, err => {\r\n this.globalProcessingFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error\", \"Error\");\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.adjustProcessingFlagForAllUnits();\r\n this.homeService.bulkMonitor(unitsBeSent).subscribe(data => {\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultSuccessFlag = true\r\n })\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultFailedFlag = true\r\n })\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.adjustProcessingFlagForAllUnits();\r\n this.homeService.bulkUnMonitor(unitsBeSent).subscribe(data => {\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultSuccessFlag = true\r\n })\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultFailedFlag = true\r\n })\r\n })\r\n } else {\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n })\r\n this.globalProcessingFlag = false;\r\n }\r\n\r\n }\r\n\r\n adjustProcessingFlagForAllUnits() {\r\n //let toBeSentUnits: any[] = []\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = true\r\n //toBeSentUnits.push({ \"system_ip\": item.system_ip })\r\n })\r\n //return toBeSentUnits;\r\n }\r\n\r\n adjustHandledUnits() {\r\n let unitsToBeSent: any;\r\n if (this.monitorOrProvision == \"Monitor\" || this.monitorOrProvision == \"UnMonitor\") {\r\n unitsToBeSent = \"\";\r\n this.unitsToBeHandled.forEach(item => {\r\n unitsToBeSent = unitsToBeSent + \"'\" + item.system_ip + \"'\" + \",\"\r\n })\r\n if (unitsToBeSent.endsWith(\",\")) {\r\n unitsToBeSent = unitsToBeSent.slice(0, unitsToBeSent.length - 1)\r\n }\r\n }\r\n if (this.monitorOrProvision == \"Provision\" || this.monitorOrProvision == \"UnProvision\") {\r\n unitsToBeSent = [];\r\n this.unitsToBeHandled.forEach(item => {\r\n unitsToBeSent.push({ \"system_ip\": item.system_ip })\r\n })\r\n }\r\n return unitsToBeSent;\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n\r\n
\r\n

{{pageTitle}} Units

\r\n
\r\n\r\n
\r\n close\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n

{{message}}

\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 tablet_android\r\n
\r\n
\r\n
{{element.system_name}}
\r\n
IP: {{element.system_ip}}
\r\n
Parent Folder: {{element.parentFolder}}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n check_circle\r\n Done\r\n\r\n error\r\n Error\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n","import { MatTableDataSource } from '@angular/material/table';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from 'src/homepage/shared/home.service';\r\nimport { monitorProvisionObj, statusUnitObj } from 'src/homepage/shared/home.models';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n\r\n\r\n@Component({\r\n templateUrl: './dialog-status.component.html',\r\n styleUrls: ['./dialog-status.component.css'],\r\n providers: [HomeService]\r\n})\r\nexport class DialogStatusComponent implements OnInit {\r\n unitsToBeHandled: statusUnitObj[] = [];\r\n displayedColumns = [\"icon\", \"description\", \"action\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n pageTitle: string = \"\";\r\n message: string = \"\";\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private homeService: HomeService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public statusReceived: string\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.statusReceived == \"In a call\") {\r\n this.pageTitle = \"In a call\";\r\n this.homeService.getInACallUnits().subscribe(data => {\r\n this.adjustDataForTable(data);\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"No HTTPS response\") {\r\n this.pageTitle = \"No Https Response\";\r\n this.homeService.getNoResponseUnits().subscribe(data => {\r\n this.adjustDataForTable(data);\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"Idle\") {\r\n this.pageTitle = \"Idle\";\r\n this.homeService.getIdleUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"Incorrect Password\") {\r\n this.pageTitle = \"Incorrect Password\";\r\n this.homeService.getIncorrectPasswordUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else {\r\n this.pageTitle = \"Relay-Unit connection error\";\r\n this.homeService.getInRelayErrorUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n }\r\n\r\n adjustDataForTable(data) {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new statusUnitObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key, data.data[key][i][\"status\"]))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n sendAppropriateRequest(element: monitorProvisionObj) {\r\n // element.processingFlag = true;\r\n // if (this.statusReceived == \"No HTTPS response\") {\r\n // this.homeService.provisionUnit(element.system_ip).subscribe(data => {\r\n // element.processingFlag = false;\r\n // element.resultSuccessFlag = true;\r\n // }, err => {\r\n // this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n // element.processingFlag = false;\r\n // element.resultFailedFlag = true;\r\n // })\r\n // }\r\n\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n\r\n
\r\n

{{pageTitle}} Units

\r\n
\r\n\r\n
\r\n close\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n

{{message}}

\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 tablet_android\r\n
\r\n
\r\n
{{element.system_name}}
\r\n
IP: {{element.system_ip}}
\r\n
Status: {{element.status}}
\r\n
Parent Folder: {{element.parentFolder}}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n check_circle\r\n Done\r\n\r\n error\r\n Error\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n","import { DialogMonitorProvisionComponent } from 'src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { HomeService } from './../shared/home.service';\r\nimport { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InsertUnitsComponent } from 'src/system-profile-manager/dialog-insert-system/insert.systems.component';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BulkActionsDialogComponent } from 'src/shared/Dialogs/bulk-actions/dialog.bulkActions.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { WallpaperUploadDialogComponent } from 'src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component';\r\n\r\n@Component({\r\n selector: 'quick-action-tabs',\r\n templateUrl: './quick-actions.component.html',\r\n styleUrls: ['./quick-actions.component.css']\r\n})\r\nexport class QuickActionsComponent implements OnInit { //the received data to be drawn on chart\r\n public lineChartData1: Array = [{ data: [0, 150, 110, 240, 200, 200, 300, 200, 380, 300, 400, 380], label: 'no. of units added' }];\r\n //the received labels to be shown on x-axis\r\n public lineChartLabels1: Array = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];\r\n //chart options\r\n public lineChartOptions1 = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true\r\n },\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ],\r\n xAxes: [\r\n {\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ]\r\n },\r\n lineTension: 10,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n elements: { line: { tension: 0 } }\r\n };\r\n //chart colors\r\n public lineChartColors1: Array = [\r\n {\r\n // grey\r\n backgroundColor: 'rgba(6,215,156,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n },\r\n {\r\n // dark grey\r\n backgroundColor: 'rgba(57,139,247,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n }\r\n ];\r\n public lineChartLegend1 = false;\r\n public lineChartType1 = 'line';\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar,\r\n public dialog: MatDialog,\r\n private homeService: HomeService) {\r\n }\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n\r\n });\r\n }\r\n\r\n openAddDialog() {\r\n const dialogRef = this.dialog.open(InsertUnitsComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Provision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n data: \"Monitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Pull All Units Configuration Files\", message: \"Confirm pulling all VMS units configuration files. This process takes time so please confirm or cancel\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.pullAllUnitsConfigurationFiles(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Pulling all units configuration files has begun, this process may takes several minutes.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openBulkActionsDialog(): void {\r\n const dialogRef = this.dialog.open(BulkActionsDialogComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n openWallpaperUploadActionDialog(): void {\r\n const dialogRef = this.dialog.open(WallpaperUploadDialogComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForPhonebookRefresh() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Refresh Phonebook\", message: `Confirm the update/refresh for phonebook` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.refreshPhonebook(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Phonebook reloaded successfully.\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n Quick Actions\r\n

\r\n
\r\n
\r\n
\r\n
    \r\n
  • Add Units
  • \r\n \r\n
  • Bulk Management
  • \r\n
  • Push Wallpaper
  • \r\n
  • Refresh Phonebook
  • \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n","export interface resultObj {\r\n addedUnitsGraphData: addedGraph[];\r\n statusGraph: statusGraph[];\r\n provisionedUnits: countGraph[];\r\n unprovisionedUnits: countGraph[];\r\n monitoredUnits: countGraph[];\r\n unmonitoredUnits: countGraph[];\r\n}\r\nexport interface addedGraph {\r\n count: number;\r\n Month: number;\r\n Year: string;\r\n}\r\nexport interface statusGraph {\r\n count: number;\r\n status: string;\r\n}\r\nexport interface countGraph {\r\n count: number;\r\n}\r\nexport class monitorProvisionObj {\r\n system_ip: string;\r\n system_name: string;\r\n processingFlag: boolean;\r\n resultSuccessFlag: boolean;\r\n resultFailedFlag: boolean;\r\n parentFolder: string;\r\n\r\n constructor(ip, name, parent, flag1 = false, flag2 = false, flag3 = false) {\r\n this.system_ip = ip;\r\n this.system_name = name;\r\n this.parentFolder = parent;\r\n this.processingFlag = flag1;\r\n this.resultSuccessFlag = flag2;\r\n this.resultFailedFlag = flag3;\r\n }\r\n}\r\n\r\nexport class statusUnitObj {\r\n system_ip: string;\r\n system_name: string;\r\n processingFlag: boolean;\r\n resultSuccessFlag: boolean;\r\n resultFailedFlag: boolean;\r\n parentFolder: string;\r\n status: string;\r\n\r\n constructor(ip, name, parent, status, flag1 = false, flag2 = false, flag3 = false) {\r\n this.system_ip = ip;\r\n this.system_name = name;\r\n this.parentFolder = parent;\r\n this.processingFlag = flag1;\r\n this.resultSuccessFlag = flag2;\r\n this.resultFailedFlag = flag3;\r\n this.status = status;\r\n }\r\n}\r\n","import { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../assets/conf_urls.json';\r\nimport { monitorProvisionObj, resultObj } from './home.models';\r\n\r\n@Injectable()\r\n\r\nexport class HomeService {\r\n dataToBeTransmitted = new BehaviorSubject(null)\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getVMSStatistics(): Observable<{ data: resultObj }> {\r\n return this.http.post<{ data: resultObj }>(home.statistics, {})\r\n }\r\n\r\n getUnprovisionedUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_unprovisioned_units\" })\r\n }\r\n\r\n getProvisionedUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_provisioned_units\" })\r\n }\r\n\r\n getUnmonitoredUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_unmonitored_units\" })\r\n }\r\n\r\n getMonitoredUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_monitored_units\" })\r\n }\r\n\r\n getInACallUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_inCall_units\" })\r\n }\r\n\r\n getNoResponseUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_noResponse_units\" })\r\n }\r\n\r\n getIdleUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_idle_units\" })\r\n }\r\n\r\n getIncorrectPasswordUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_incorrect_password_units\" })\r\n }\r\n\r\n getInRelayErrorUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_relay_issue_units\" })\r\n }\r\n\r\n provisionUnit(system_ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"startProvision\",\r\n \"ip\": system_ip\r\n })\r\n }\r\n\r\n unProvisionUnit(system_ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"unprovisionSystem\",\r\n \"ip\": system_ip\r\n })\r\n }\r\n\r\n monitorUnit(system_ip: string, flag: Number): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": system_ip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n unMonitorUnit(system_ip: string, flag: Number): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": system_ip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n bulkMonitor(units: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'monitor',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkUnMonitor(units: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unmonitor',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkProvision(units: string[]): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'provision',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkUnProvision(units: string[]): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unprovision',\r\n \"data\": units\r\n })\r\n }\r\n\r\n pullAllUnitsConfigurationFiles(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"pull_all_units_configuration_files\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n refreshPhonebook(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"refresh_phonebook\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { DialogStatusComponent } from '../quick-actions/dialog-status.component/dialog-status.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'status-units-graph',\r\n templateUrl: './status-units-graph.component.html',\r\n styleUrls: ['./status-units-graph.component.css']\r\n})\r\nexport class StatusUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartLabels = [];\r\n this.doughnutChartData = [];\r\n data?.statusGraph.forEach(i => this.doughnutChartLabels.push(i?.status ? i.status : \"Relay-Unit connection error\"))\r\n data?.statusGraph.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openAppropriateDialog(dialogName: string) {\r\n const dialogRef = this.dialog.open(DialogStatusComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: dialogName,\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n returnElementColor(element: string) {\r\n return \"blue\";\r\n // if (element == \"No HTTPS response\") return \"red\";\r\n // else if (element == \"Idle\" || element == \"In a call\") return \"green\";\r\n // else return \"blue\";\r\n }\r\n}\r\n","
\r\n
\r\n

Units Status

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{doughnutChartLabels[i]}}{{doughnutChartData[i]?doughnutChartData[i]:\"Relay-Unit connection error\"}}
\r\n
\r\n
\r\n\r\n","// import jwt_decode from 'jwt-decode'\r\n// import { Component, Inject, OnInit } from '@angular/core';\r\n// import { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// // @ts-ignore\r\n// import { AD, user_access, auth_server_sso, auth_server } from '../assets/conf_urls.json';\r\n// import { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n// import { DOCUMENT } from '@angular/common';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\n// import { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n// @Component({\r\n// selector: 'app-loginpage',\r\n// templateUrl: './loginpage.component.html',\r\n// styleUrls: ['./loginpage.component.css']\r\n// })\r\n// export class LoginpageComponent implements OnInit {\r\n// form: FormGroup;\r\n// user_email = new FormControl('', Validators.required);\r\n// msg;\r\n// ssoTokenReceived: string = null;\r\n\r\n// constructor(private http: HttpClient,\r\n// public router: Router,\r\n// public accessAuthService: AccessAuthService,\r\n// private routeActivated: ActivatedRoute,\r\n// fb: FormBuilder,\r\n// @Inject(DOCUMENT) private document: Document,\r\n// private loggerService: LoggerService) {\r\n// this.form = fb.group({\r\n// 'user_email': this.user_email,\r\n// 'user_password': ['', Validators.required]\r\n// });\r\n// }\r\n\r\n// auth_ui_class = '';\r\n// auth_ui_res = false;\r\n// auth_ui_msg = '';\r\n// auth_ui_process = '';\r\n\r\n\r\n// ngOnInit(): void {\r\n// localStorage.clear();\r\n// this.routeActivated.queryParams.subscribe(params => {\r\n// if (params[\"token\"]) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + params[\"token\"], responseType: 'text' });\r\n// this.http.post(auth_server_sso.verify, {\r\n// }, { headers }).subscribe( async res => {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', params[\"token\"]);\r\n// let new_user_info_obj: any = await jwt_decode(localStorage.getItem('accessToken'));\r\n// console.log(new_user_info_obj)\r\n// let adminAuthorization: boolean = new_user_info_obj?.role === \"admin\" ? true : false;\r\n// this.accessAuthService.isAdmin.next(adminAuthorization);\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.next(new_user_info_obj)\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// },\r\n// (error) => {\r\n// window.location.href = '#/login';\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", params[\"token\"], error.message, Levels.error)\r\n// });\r\n// } else if (!params[\"token\"] && this.router.url == \"/admin-login\") {\r\n// //don't execute any function\r\n// } else {\r\n// this.goToSSO();\r\n// }\r\n\r\n// });\r\n// }\r\n\r\n// receiveMessage($event) {\r\n// }\r\n\r\n// get_user_access(useremail: any) {\r\n// useremail = useremail.trim();\r\n// localStorage.setItem('useremail', useremail);\r\n// var json_object = { 'user_email': useremail };\r\n// this.http.post(user_access.url, json_object).subscribe(data => {\r\n// if (data.toString().length > 0) {\r\n// //if user active\r\n// if (data[0]['is_active'] == 'y') {\r\n// var useraccess = data[0]['user_permission'];\r\n// localStorage.setItem('ua', useraccess);\r\n// //create a session\r\n// this.new_user_session(useremail);\r\n// //end\r\n// window.location.href = '#/home';\r\n// }\r\n// //if user not active\r\n// if (data[0]['is_active'] == 'n') {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'yellow';\r\n// this.auth_ui_msg = 'Login Problem!';\r\n// this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n// window.location.href = '#/newaccess';\r\n// }\r\n// } else {\r\n\r\n// // no data , new user\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'yellow';\r\n// this.auth_ui_msg = 'Login Problem!';\r\n// this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n// window.location.href = '#/newaccess';\r\n// }\r\n\r\n// }\r\n// );\r\n// }\r\n\r\n// new_user_session(useremail: any) {\r\n// useremail = useremail.trim() + '@vodafone.com';\r\n// var json_object = { 'user_email': useremail };\r\n// this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n// localStorage.setItem('usession', data.toString());\r\n// }\r\n// );\r\n// }\r\n\r\n// //new implementation\r\n// onSubmit() {\r\n// this.auth_ui_res = false;\r\n// var json_obj = this.form.value;\r\n// json_obj['user_email'] = json_obj['user_email'].trim();\r\n// if (json_obj['user_email'].toString().includes('@')) {\r\n// json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n// }\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n// if (this.router.url == \"/admin-login\") {\r\n// this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n// if ('accessToken' in res) {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// } else {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n// }\r\n// },\r\n// (error) => { //Error callback\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n// });\r\n// } else {\r\n// this.http.post(auth_server_sso.auth, json_obj).subscribe(res => {\r\n// if ('accessToken' in res) {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// } else {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n// }\r\n// },\r\n// (error) => { //Error callback\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n// });\r\n// }\r\n// }\r\n\r\n// //added for password toggel visibility\r\n// toggelVisibility(event) {\r\n// const togglePassword = document.querySelector('#togglePassword');\r\n// const password = document.querySelector('#password');\r\n// // toggle the type attribute\r\n// const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n// password.setAttribute('type', type);\r\n// // toggle the eye / eye slash icon\r\n// if (togglePassword.className == \"fa fa-eye\") {\r\n// togglePassword.className = \"fa fa-eye-slash\";\r\n// } else {\r\n// togglePassword.className = \"fa fa-eye\";\r\n// }\r\n// }\r\n// visibilityOff() {\r\n// const togglePassword = document.querySelector('#togglePassword');\r\n// const password = document.querySelector('#password');\r\n// togglePassword.className = \"fa fa-eye-slash\";\r\n// password.setAttribute('type', 'password');\r\n// }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// //sso login functions\r\n\r\n\r\n// //create a unique identifier (helper function)\r\n// _guid() {\r\n// let dt = new Date().getTime();\r\n// let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n// let r = (dt + Math.random() * 16) % 16 | 0;\r\n// dt = Math.floor(dt / 16);\r\n// return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n// });\r\n// return uuid;\r\n// }\r\n\r\n// // Build query string from map of query parameter (helper function)\r\n// toQueryString(queryParams) {\r\n// let encodedQueryParams = [];\r\n// for (let key in queryParams) {\r\n// encodedQueryParams.push(key + \"=\" + encodeURIComponent(queryParams[key]));\r\n// }\r\n// return encodedQueryParams.join(\"&\");\r\n// }\r\n\r\n// goToSSO() {\r\n// // Generate random state string and store it, so we can verify it in the callback\r\n// let state = this._guid();\r\n// localStorage.setItem(\"simple.state\", state);\r\n// localStorage.removeItem(\"simple.error\");\r\n// // Go to the Azure AD authorization endpoint\r\n// let queryParams = {\r\n// //client_id guid is the application ID from Azure AD\r\n// client_id: \"48933c2d-494d-4af3-ba3b-9b1f98787100\",\r\n// response_type: \"id_token token\",\r\n// response_mode: \"form_post\",\r\n// // response_mode: \"fragment\",\r\n// scope: \"https://graph.microsoft.com/User.Read openid\",\r\n// // redirect_uri: window.location.origin + \"/WebAuthEnd.html\",\r\n// redirect_uri: \"https://vmscloud.vroom.vodafone.com/ssousers/auth\",\r\n// nonce: this._guid(),\r\n// state: state\r\n// };\r\n\r\n// //authentication endpoint for the tenant (guid string is tenant identifier)\r\n// let authorizeEndpoint = \"https://login.microsoftonline.com/40e6c668-31a4-4c8f-b5d6-e6659accf7b6/oauth2/v2.0/authorize?\" + this.toQueryString(queryParams);\r\n\r\n// this.document.location.href = authorizeEndpoint;\r\n// }\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// @ts-ignore\r\nimport { AD, user_access, auth_server } from '../assets/conf_urls.json';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-loginpage',\r\n templateUrl: './loginpage.component.html',\r\n styleUrls: ['./loginpage.component.css']\r\n})\r\nexport class LoginpageComponent implements OnInit {\r\n form: FormGroup;\r\n user_email = new FormControl('', Validators.required);\r\n msg;\r\n\r\n constructor(private http: HttpClient,\r\n public router: Router,\r\n fb: FormBuilder,\r\n private loggerService: LoggerService) {\r\n this.form = fb.group({\r\n 'user_email': this.user_email,\r\n 'user_password': ['', Validators.required]\r\n });\r\n }\r\n\r\n auth_ui_class = '';\r\n auth_ui_res = false;\r\n auth_ui_msg = '';\r\n auth_ui_process = '';\r\n\r\n\r\n ngOnInit(): void {\r\n localStorage.clear();\r\n }\r\n\r\n receiveMessage($event) {\r\n //console.log($event);\r\n }\r\n\r\n get_user_access(useremail: any) {\r\n useremail = useremail.trim();\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n this.new_user_session(useremail);\r\n //end\r\n window.location.href = '#/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n } else {\r\n\r\n // no data , new user\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n new_user_session(useremail: any) {\r\n useremail = useremail.trim() + '@vodafone.com';\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n localStorage.setItem('usession', data.toString());\r\n }\r\n );\r\n }\r\n\r\n //new implementation\r\n loading = false;\r\n onSubmit() {\r\n this.loading=true;\r\n this.auth_ui_res = false;\r\n var json_obj = this.form.value;\r\n json_obj['user_email'] = json_obj['user_email'].trim();\r\n if (json_obj['user_email'].toString().includes('@')) {\r\n json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n }\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n this.auth_ui_msg = 'Login Success!';\r\n //this.auth_ui_process = 'Redirecting to the Home page...';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.loading=false;\r\n console.log(\"loading \");\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information or account is active.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n \r\n }\r\n \r\n \r\n },\r\n (error) => { //Error callback\r\n ////console.log('Unauthorized')\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information or account is active.';\r\n this.loading=false;\r\n //console.log(error)\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n }\r\n\r\n //added for password toggel visibility\r\n toggelVisibility(event) {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n ////console.log(event.type);\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n if (togglePassword.className == \"fa fa-eye\") {\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n } else {\r\n togglePassword.className = \"fa fa-eye\";\r\n }\r\n }\r\n visibilityOff() {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n password.setAttribute('type', 'password');\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 \"Vodafone\"\r\n\r\n VMS\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \"Vodafone\"\r\n VMS Login\r\n

\r\n

Login Form

\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 {{auth_ui_msg}}\r\n
\r\n

{{auth_ui_process}}

\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n","import jwt_decode from 'jwt-decode'\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// @ts-ignore\r\nimport { AD, user_access, auth_server_sso, auth_server } from '../assets/conf_urls.json';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-loginpage-sso',\r\n templateUrl: './loginpagesso.component.html',\r\n styleUrls: ['./loginpagesso.component.css']\r\n})\r\nexport class LoginpageSSOComponent implements OnInit {\r\n form: FormGroup;\r\n user_email = new FormControl('', Validators.required);\r\n msg;\r\n ssoTokenReceived: string = null;\r\n\r\n constructor(private http: HttpClient,\r\n public router: Router,\r\n public accessAuthService: AccessAuthService,\r\n private routeActivated: ActivatedRoute,\r\n fb: FormBuilder,\r\n @Inject(DOCUMENT) private document: Document,\r\n private loggerService: LoggerService) {\r\n this.form = fb.group({\r\n 'user_email': this.user_email,\r\n 'user_password': ['', Validators.required]\r\n });\r\n }\r\n\r\n auth_ui_class = '';\r\n auth_ui_res = false;\r\n auth_ui_msg = '';\r\n auth_ui_process = '';\r\n\r\n\r\n ngOnInit(): void {\r\n localStorage.clear();\r\n this.routeActivated.queryParams.subscribe(params => {\r\n if (params[\"token\"]) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + params[\"token\"], responseType: 'text' });\r\n this.http.post(auth_server_sso.verify, {\r\n }, { headers }).subscribe( async res => {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n await localStorage.setItem('accessToken', params[\"token\"]);\r\n let new_user_info_obj: any = await jwt_decode(localStorage.getItem('accessToken'));\r\n let adminAuthorization: boolean = new_user_info_obj?.role === \"admin\" ? true : false;\r\n this.accessAuthService.isAdmin.next(adminAuthorization);\r\n this.accessAuthService.user_info_obj_BehaviorSubject.next(new_user_info_obj)\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n },\r\n (error) => {\r\n window.location.href = '#/login';\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", params[\"token\"], error.message, Levels.error)\r\n });\r\n } else if (!params[\"token\"] && this.router.url == \"/admin-login\") {\r\n //don't execute any function\r\n } else {\r\n this.goToSSO();\r\n }\r\n\r\n });\r\n }\r\n\r\n receiveMessage($event) {\r\n }\r\n\r\n get_user_access(useremail: any) {\r\n useremail = useremail.trim();\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n this.new_user_session(useremail);\r\n //end\r\n window.location.href = '#/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n } else {\r\n\r\n // no data , new user\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n new_user_session(useremail: any) {\r\n useremail = useremail.trim() + '@vodafone.com';\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n localStorage.setItem('usession', data.toString());\r\n }\r\n );\r\n }\r\n\r\n //new implementation\r\n onSubmit() {\r\n this.auth_ui_res = false;\r\n var json_obj = this.form.value;\r\n json_obj['user_email'] = json_obj['user_email'].trim();\r\n if (json_obj['user_email'].toString().includes('@')) {\r\n json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n }\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n if (this.router.url == \"/admin-login\") {\r\n this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n }\r\n },\r\n (error) => { //Error callback\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n } else {\r\n this.http.post(auth_server_sso.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n }\r\n },\r\n (error) => { //Error callback\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n }\r\n }\r\n\r\n //added for password toggel visibility\r\n toggelVisibility(event) {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n if (togglePassword.className == \"fa fa-eye\") {\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n } else {\r\n togglePassword.className = \"fa fa-eye\";\r\n }\r\n }\r\n visibilityOff() {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n password.setAttribute('type', 'password');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //sso login functions\r\n\r\n\r\n //create a unique identifier (helper function)\r\n _guid() {\r\n let dt = new Date().getTime();\r\n let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n let r = (dt + Math.random() * 16) % 16 | 0;\r\n dt = Math.floor(dt / 16);\r\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return uuid;\r\n }\r\n\r\n // Build query string from map of query parameter (helper function)\r\n toQueryString(queryParams) {\r\n let encodedQueryParams = [];\r\n for (let key in queryParams) {\r\n encodedQueryParams.push(key + \"=\" + encodeURIComponent(queryParams[key]));\r\n }\r\n return encodedQueryParams.join(\"&\");\r\n }\r\n\r\n goToSSO() {\r\n // Generate random state string and store it, so we can verify it in the callback\r\n let state = this._guid();\r\n localStorage.setItem(\"simple.state\", state);\r\n localStorage.removeItem(\"simple.error\");\r\n // Go to the Azure AD authorization endpoint\r\n let queryParams = {\r\n //client_id guid is the application ID from Azure AD\r\n client_id: \"bb76ed29-eadc-4c59-8305-826d47cfea57\",\r\n response_type: \"id_token token\",\r\n response_mode: \"form_post\",\r\n // response_mode: \"fragment\",\r\n scope: \"https://graph.microsoft.com/User.Read openid\",\r\n // redirect_uri: window.location.origin + \"/WebAuthEnd.html\",\r\n redirect_uri: \"https://vmscloud.vroom.vodafone.com/ssousers/auth\",\r\n nonce: this._guid(),\r\n state: state\r\n };\r\n\r\n //authentication endpoint for the tenant (guid string is tenant identifier)\r\n let authorizeEndpoint = \"https://login.microsoftonline.com/68283f3b-8487-4c86-adb3-a5228f18b893/oauth2/v2.0/authorize?\" + this.toQueryString(queryParams);\r\n\r\n this.document.location.href = authorizeEndpoint;\r\n }\r\n\r\n}\r\n\r\n","
\r\n\r\n
\r\n \"Vodafone\"\r\n\r\n VMS\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \"Vodafone\"\r\n VMS Login\r\n

\r\n

Login Form

\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 {{auth_ui_msg}}\r\n
\r\n

{{auth_ui_process}}

\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","import { UserDetailedLog } from './../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedLogs.component.html',\r\n styleUrls: ['./dialog.detailedLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsComponent implements OnInit, AfterViewChecked {\r\n logs: UserDetailedLog[] = [];\r\n rowColor: string = \"bisque\";\r\n displayedColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'operation_title', 'operation_request', 'operation_response', 'parent_job_id'];\r\n // displayedColumns: string[] = ['job_id', 'log_time', 'log_content'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId, IP },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getDetailedLogs(this.data.jobId, this.data.IP).subscribe({\r\n next: response => {\r\n // let data: any = response.data\r\n this.logs = response.data;\r\n // if (this.logs.length == 0) {\r\n // let emptyObject: UserDetailedLog = {\r\n // job_id: \"NA\",\r\n // log_time: \"NA\",\r\n // log_content: \"NA\"\r\n // };\r\n // this.logs.push(emptyObject);\r\n // }\r\n\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n // let emptyObject: UserDetailedLog = {\r\n // job_id: \"NA\",\r\n // log_time: \"NA\",\r\n // log_content: \"NA\"\r\n // };\r\n // this.logs.push(emptyObject);\r\n this.loggerService.log(\"DialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n colorRow(elementData: UserDetailedLog): string {\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // this.rowColor = 'limegreen';\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // this.rowColor = 'red';\r\n // } else {\r\n // this.rowColor = \"white\";\r\n // }\r\n return this.rowColor;\r\n }\r\n\r\n // fetchOperationResponse(elementData: UserDetailedLog): string {\r\n // let response: string = \"\";\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // //response = 'Success';\r\n // response = elementData.operation_response;\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // // response = 'Failed';\r\n // response = elementData.operation_response;\r\n // } else {\r\n // response = 'NA';\r\n // }\r\n // return response;\r\n // }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\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 close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Job Name {{element.job_name?element.job_name:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} Operation Title {{element.operation_title?element.operation_title:\"NA\"}} Operation Request {{element.operation_request?element.operation_request:\"NA\"}} Operation Response {{element.operation_response?element.operation_response:\"NA\"}} Parent job ID {{element.parent_job_id?element.parent_job_id:\"NA\"}} IP Address {{element.ip_address?element.ip_address:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { TemplateJobs } from './../../shared/templateJobs';\r\nimport { UserDetailedLog } from '../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedTemplateLogs.component.html',\r\n styleUrls: ['./dialog.detailedTemplateLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsTemplatesComponent implements OnInit, AfterViewChecked {\r\n logs: TemplateJobs[] = [];\r\n rowColor: string = \"bisque\";\r\n displayedColumns: string[] = ['job_title', 'template_job_id', 'system_name',\r\n 'next_run_time', 'system_ip', 'template_frequency'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { templateID },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getUpcomingTemplatesJobs(this.data.templateID).subscribe({\r\n next: response => {\r\n this.logs = response.data;\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n this.loggerService.log(\"DialogDetailedLogsTemplatesComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\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 close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job Title {{element.job_title?element.job_title:\"NA\"}} Template Job ID {{element.template_job_id?element.template_job_id:\"NA\"}} System Name {{element.system_name?element.system_name:\"NA\"}} Next Run Time {{element.next_run_time?element.next_run_time:\"NA\"}} Template Frequency {{element.template_frequency?element.template_frequency:\"NA\"}} IP Address {{element.system_ip?element.system_ip:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { UserDetailedLogWallpaper } from 'src/logs/shared/UserDetailedLogWallpaper.model';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedLogs_wallpaper.component.html',\r\n styleUrls: ['./dialog.detailedLogs_wallpaper.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsWallpaperComponent implements OnInit, AfterViewChecked {\r\n logs: UserDetailedLogWallpaper[] = [];\r\n rowColor: string = \"bisque\";\r\n // displayedColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'operation_title', 'operation_request', 'operation_response', 'parent_job_id'];\r\n displayedColumns: string[] = ['job_id', 'log_time', 'log_content'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId, IP },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getWallpaperDetailedLogs(this.data.jobId, this.data.IP).subscribe({\r\n next: response => {\r\n let data: any = response.data\r\n this.logs = JSON.parse(data);\r\n\r\n if (this.logs.length == 0) {\r\n let emptyObject: UserDetailedLogWallpaper = {\r\n job_id: \"NA\",\r\n log_time: \"NA\",\r\n log_content: \"NA\"\r\n };\r\n this.logs.push(emptyObject);\r\n }\r\n\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n let emptyObject: UserDetailedLogWallpaper = {\r\n job_id: \"NA\",\r\n log_time: \"NA\",\r\n log_content: \"NA\"\r\n };\r\n this.logs.push(emptyObject);\r\n this.loggerService.log(\"DialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n colorRow(elementData: UserDetailedLogWallpaper): string {\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // this.rowColor = 'limegreen';\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // this.rowColor = 'red';\r\n // } else {\r\n // this.rowColor = \"white\";\r\n // }\r\n return this.rowColor;\r\n }\r\n\r\n // fetchOperationResponse(elementData: UserDetailedLog): string {\r\n // let response: string = \"\";\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // //response = 'Success';\r\n // response = elementData.operation_response;\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // // response = 'Failed';\r\n // response = elementData.operation_response;\r\n // } else {\r\n // response = 'NA';\r\n // }\r\n // return response;\r\n // }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\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 close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\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
Job ID {{element.job_id?element.job_id:\"NA\"}} Log Time {{element.log_time?element.log_time:\"NA\"}} Log Content {{element.log_content?element.log_content:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { UserDetailedLog } from '../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { JobState } from 'src/logs/shared/jobState.model';\r\n\r\n@Component({\r\n templateUrl: './statedialog.detailedLogs.component.html',\r\n styleUrls: ['./statedialog.detailedLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class StateDialogDetailedLogsComponent implements OnInit, AfterViewChecked {\r\n logs: JobState[] = [];\r\n displayedColumns: string[] = ['job_id', 'status', 'result'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getWallpaperStateLogs(this.data.jobId).subscribe({\r\n next: response => {\r\n this.logs = response.data;\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n this.loggerService.log(\"StateDialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\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 close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\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
Job ID {{element.job_id?element.job_id:\"NA\"}} Status {{element.status?element.status:\"NA\"}} Response {{element.result?element.result:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { TemplateJobsGeneral } from './../shared/templateJobsGeneral';\r\nimport { WallpaperLog } from './../shared/wallpaperLogs.model';\r\nimport { DialogDetailedLogsComponent } from './dialog-detailedLogs/dialog.detailedLogs.component';\r\nimport { LoggingService } from '../shared/logging.service';\r\nimport { AfterViewChecked, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { UserLog } from '../shared/UserLog.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { TemplateJobs } from '../shared/templateJobs';\r\nimport { softwareUpgradeJob } from '../shared/softwareUpgradeJob';\r\nimport { UserTemplateLog } from '../shared/UserTemplateLog.model';\r\nimport { ConflictLog } from '../shared/conflictLogs.model';\r\nimport { AuditLog } from '../shared/auditLogs.model';\r\nimport { DialogDetailedLogsTemplatesComponent } from './dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogDetailedLogsWallpaperComponent } from './dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component';\r\n\r\n@Component({\r\n selector: 'app-logging',\r\n templateUrl: './logging.component.html',\r\n styleUrls: ['./logging.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class LoggingComponent implements OnInit, AfterViewChecked {\r\n\r\n templateLogs: UserTemplateLog[] = [];\r\n softwareUpgradeLogs: UserLog[] = [];\r\n upcomingTemplatesLogs: TemplateJobsGeneral[] = [];\r\n upComingSoftwareUpgradesLogs: softwareUpgradeJob[] = [];\r\n conflictsLogs: ConflictLog[] = [];\r\n auditLogs: AuditLog[] = [];\r\n wallpaperLogs: WallpaperLog[] = [];\r\n\r\n rowColor: string = \"bisque\";\r\n\r\n templateLogsColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'actions'];\r\n softwareUpgradeLogsColumns: string[] = ['job_id', 'system_name', 'system_ip', 'created_at', 'start_at', 'job_status', 'parent_job_id', 'upgrade_status_last_change', 'upgrade_status_status', 'actions'];\r\n upcomingTemplatesLogsColumns: string[] = ['job_title', 'template_job_id', 'start_job_at', 'job_creator_editor', 'next_run_time', 'expired', 'template_frequency', 'actions'];\r\n upComingSoftwareUpgrades: string[] = ['deleteIcon', 'job_id', 'system_ip', 'operation_name', 'start_at', 'system_command'];\r\n conflictsColumns: string[] = ['conflict_date', 'conflict_ip', 'affected_ip', 'issue', 'action_taken'];\r\n auditColumns: string[] = ['request_details', 'requested_by', 'requested_at', 'request_state', 'completed_at'];\r\n wallpaperColumns: string[] = ['job_id', 'endpoint_ip', 'image_id', 'created_by', 'creationDate', 'actions'];\r\n\r\n templateLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n softwareUpgradeLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n upcomingTemplatesLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n upComingSoftwareUpgradesTableData: MatTableDataSource = new MatTableDataSource([]);\r\n conflictsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n auditTableData: MatTableDataSource = new MatTableDataSource([]);\r\n wallpaperTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n\r\n\r\n @ViewChildren(MatPaginator) paginator = new QueryList();\r\n @ViewChildren(MatSort) sort = new QueryList();\r\n\r\n\r\n constructor(public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n public dialog: MatDialog,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getTemplateLogs();\r\n // this.getSoftwareUpgradeLogs();\r\n // this.getUpcomingTemplatesLogs();\r\n // this.getUpComingSoftwareUpgrades();\r\n // this.getConflictLogs();\r\n // this.getAuditLogs();\r\n\r\n\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '4px';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '4px';\r\n });\r\n }\r\n\r\n getTemplateLogs() {\r\n this.loggingService.getLogs('templates_logs').subscribe({\r\n next: response => {\r\n this.templateLogs = response.data;\r\n this.templateLogsTableData = new MatTableDataSource(this.templateLogs);\r\n this.templateLogsTableData.paginator = this.paginator.toArray()[0];\r\n this.templateLogsTableData.sort = this.sort.toArray()[0];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getSoftwareUpgradeLogs() {\r\n this.loggingService.getSWLogs('sw_upgrade_logs').subscribe({\r\n next: response => {\r\n this.softwareUpgradeLogs = response.data;\r\n this.softwareUpgradeLogsTableData = new MatTableDataSource(this.softwareUpgradeLogs);\r\n this.softwareUpgradeLogsTableData.paginator = this.paginator.toArray()[1];\r\n this.softwareUpgradeLogsTableData.sort = this.sort.toArray()[1];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getUpcomingTemplatesLogs() {\r\n this.loggingService.getUpcomingTemplatesJobsData().subscribe({\r\n next: response => {\r\n let today = new Date()\r\n this.upcomingTemplatesLogs = response.data;\r\n this.upcomingTemplatesLogs.forEach(element => {\r\n if (Date.parse(element.next_run_time) > Date.parse(today.toString())) {\r\n element.expired = \"No\";\r\n } else {\r\n element.expired = \"Yes\";\r\n }\r\n });\r\n this.upcomingTemplatesLogsTableData = new MatTableDataSource(this.upcomingTemplatesLogs);\r\n this.upcomingTemplatesLogsTableData.paginator = this.paginator.toArray()[2];\r\n this.upcomingTemplatesLogsTableData.sort = this.sort.toArray()[2];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getUpComingSoftwareUpgrades() {\r\n this.loggingService.getUpComingSoftwareUpgrades().subscribe({\r\n next: response => {\r\n this.upComingSoftwareUpgradesLogs = response.data;\r\n this.upComingSoftwareUpgradesTableData = new MatTableDataSource(this.upComingSoftwareUpgradesLogs);\r\n this.upComingSoftwareUpgradesTableData.paginator = this.paginator.toArray()[3];\r\n this.upComingSoftwareUpgradesTableData.sort = this.sort.toArray()[3];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getConflictLogs() {\r\n this.loggingService.getConflictLogs().subscribe({\r\n next: response => {\r\n this.conflictsLogs = response.data;\r\n this.conflictsTableData = new MatTableDataSource(this.conflictsLogs);\r\n this.conflictsTableData.paginator = this.paginator.toArray()[4];\r\n this.conflictsTableData.sort = this.sort.toArray()[4];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getAuditLogs() {\r\n this.loggingService.getAuditLogs().subscribe({\r\n next: response => {\r\n this.auditLogs = response.data;\r\n this.auditTableData = new MatTableDataSource(this.auditLogs);\r\n this.auditTableData.paginator = this.paginator.toArray()[5];\r\n this.auditTableData.sort = this.sort.toArray()[5];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getWallpaperLogs() {\r\n this.loggingService.getWallpaperLogs().subscribe({\r\n next: response => {\r\n this.wallpaperLogs = response.data;\r\n this.wallpaperTableData = new MatTableDataSource(this.wallpaperLogs);\r\n this.wallpaperTableData.paginator = this.paginator.toArray()[6];\r\n this.wallpaperTableData.sort = this.sort.toArray()[6];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearTemplateLogs() {\r\n this.templateLogs = [];\r\n this.templateLogsTableData = new MatTableDataSource(this.templateLogs);\r\n this.templateLogsTableData.paginator = this.paginator.toArray()[0];\r\n this.templateLogsTableData.sort = this.sort.toArray()[0];\r\n }\r\n\r\n clearSoftwareUpgradeLogs() {\r\n this.softwareUpgradeLogs = [];\r\n this.softwareUpgradeLogsTableData = new MatTableDataSource(this.softwareUpgradeLogs);\r\n this.softwareUpgradeLogsTableData.paginator = this.paginator.toArray()[1];\r\n this.softwareUpgradeLogsTableData.sort = this.sort.toArray()[1];\r\n }\r\n\r\n clearUpcomingTemplatesLogs() {\r\n this.upcomingTemplatesLogs = [];\r\n this.upcomingTemplatesLogsTableData = new MatTableDataSource(this.upcomingTemplatesLogs);\r\n this.upcomingTemplatesLogsTableData.paginator = this.paginator.toArray()[2];\r\n this.upcomingTemplatesLogsTableData.sort = this.sort.toArray()[2];\r\n }\r\n\r\n clearUpcomingSoftwareUpgradesLogs() {\r\n this.upComingSoftwareUpgradesLogs = [];\r\n this.upComingSoftwareUpgradesTableData = new MatTableDataSource(this.upComingSoftwareUpgradesLogs);\r\n this.upComingSoftwareUpgradesTableData.paginator = this.paginator.toArray()[3];\r\n this.upComingSoftwareUpgradesTableData.sort = this.sort.toArray()[3];\r\n }\r\n\r\n clearConflictsLogs() {\r\n this.conflictsLogs = [];\r\n this.conflictsTableData = new MatTableDataSource(this.conflictsLogs);\r\n this.conflictsTableData.paginator = this.paginator.toArray()[4];\r\n this.conflictsTableData.sort = this.sort.toArray()[4];\r\n }\r\n\r\n clearAuditLogs() {\r\n this.auditLogs = [];\r\n this.auditTableData = new MatTableDataSource(this.auditLogs);\r\n this.auditTableData.paginator = this.paginator.toArray()[5];\r\n this.auditTableData.sort = this.sort.toArray()[5];\r\n }\r\n\r\n clearWallpaperLogs() {\r\n this.wallpaperLogs = [];\r\n this.wallpaperTableData = new MatTableDataSource(this.wallpaperLogs);\r\n this.wallpaperTableData.paginator = this.paginator.toArray()[6];\r\n this.wallpaperTableData.sort = this.sort.toArray()[6];\r\n }\r\n\r\n applyFilterTemplateLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.templateLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.templateLogsTableData.paginator) {\r\n this.templateLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterSoftwareUpgradeLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.softwareUpgradeLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.softwareUpgradeLogsTableData.paginator) {\r\n this.softwareUpgradeLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterUpcomingTemplatesLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.upcomingTemplatesLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.upcomingTemplatesLogsTableData.paginator) {\r\n this.upcomingTemplatesLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterUpcomingSoftwareUpgradesLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.upComingSoftwareUpgradesTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.upComingSoftwareUpgradesTableData.paginator) {\r\n this.upComingSoftwareUpgradesTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterConflictsLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.conflictsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.conflictsTableData.paginator) {\r\n this.conflictsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterAuditLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.auditTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.auditTableData.paginator) {\r\n this.auditTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterWallpaperLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.wallpaperTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.wallpaperTableData.paginator) {\r\n this.wallpaperTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n sendIDToDialog(jobId, IP) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { jobId: jobId, IP: IP }\r\n });\r\n\r\n }\r\n\r\n sendTemplateIDToDialog(templateID: string) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsTemplatesComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { templateID: templateID }\r\n });\r\n\r\n }\r\n\r\n sendIDToStateDialog(jobId) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsWallpaperComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { jobId: jobId }\r\n });\r\n\r\n }\r\n\r\n reloadTabData(tabIndex) {\r\n if (tabIndex == 0) { this.clearTemplateLogs; this.getTemplateLogs(); }\r\n else if (tabIndex == 1) { this.clearSoftwareUpgradeLogs; this.getSoftwareUpgradeLogs(); }\r\n else if (tabIndex == 2) { this.clearUpcomingTemplatesLogs; this.getUpcomingTemplatesLogs(); }\r\n else if (tabIndex == 3) { this.clearUpcomingSoftwareUpgradesLogs(); this.getUpComingSoftwareUpgrades(); }\r\n else if (tabIndex == 4) { this.clearConflictsLogs(); this.getConflictLogs(); }\r\n else if (tabIndex == 5) { this.clearAuditLogs(); this.getAuditLogs(); }\r\n else if (tabIndex == 6) { this.clearWallpaperLogs(); this.getWallpaperLogs(); }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialogRemoveSWUpgrade(element) {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Remove Scheduled SW Upgrade\", message: `Confirm the removal of the scheduled SW upgrade with id: ${element.job_id} and ip address: ${element.system_ip}` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.loggingService.removeUpComingSoftwareUpgrade(element.job_id).subscribe(data => {\r\n this.getUpComingSoftwareUpgrades();\r\n this.openSnackBar(\"SW upgrade job removed successfully\", \"Success\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Job Name {{element.job_name?element.job_name:\"NA\"}} Unit IP Address {{element.ip_address?element.ip_address:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} \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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \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
Job ID {{element.job_id?element.job_id:\"NA\"}} System Name {{element.system_name?element.system_name:\"NA\"}} Unit IP Address {{element.system_ip?element.system_ip:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} Job Status {{element.job_status?element.job_status:\"NA\"}} Job Start Date {{element.start_at?element.start_at:\"NA\"}} Job Parent ID {{element.parent_job_id?element.parent_job_id:\"NA\"}} Upgrade Status Last Change {{element.upgrade_status_last_change?element.upgrade_status_last_change:\"NA\"}} Upgrade Status {{element.upgrade_status_status?element.upgrade_status_status:\"NA\"}} \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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Job Title {{element.job_title?element.job_title:\"NA\"}} Job ID {{element.template_job_id?element.template_job_id:\"NA\"}} Start Date {{element.start_job_at?element.start_job_at:\"NA\"}} Next Run Time {{element.next_run_time?element.next_run_time:\"NA\"}} Job Expired {{element.expired}} Template Frequency {{element.template_frequency?element.template_frequency:\"NA\"}} Created by {{element.job_creator_editor?element.job_creator_editor:\"NA\"}} \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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n delete_forever\r\n \r\n
\r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Unit IP Address {{element.system_ip?element.system_ip:\"NA\"}} Operation Name {{element.operation_name?element.operation_name:\"NA\"}} Upgrade Date {{element.start_at?element.start_at:\"NA\"}} System Command {{element.system_command?element.system_command:\"NA\"}}
\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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Date {{element.conflict_date?element.conflict_date:\"NA\"}} Conflict IP {{element.conflict_ip?element.conflict_ip:\"NA\"}} Affected IP {{element.affected_ip?element.affected_ip:\"NA\"}} Issue Description {{element.issue?element.issue:\"NA\"}} Action Taken {{element.action_taken?element.action_taken:\"NA\"}}
\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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Request Details {{element.request_details?element.request_details:\"NA\"}} Requested By {{element.requested_by?element.requested_by:\"NA\"}} Requested At {{element.requested_at?element.requested_at:\"NA\"}} Request State {{element.request_state?element.request_state:\"NA\"}} Completion Date {{element.completed_at?element.completed_at:\"NA\"}}
\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 Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Unit IP Address {{element.endpoint_ip?element.endpoint_ip:\"NA\"}} Image Name {{element.image_id?element.image_id:\"NA\"}} Requested By {{element.created_by?element.created_by:\"NA\"}} Creation Date {{element.creationDate?element.creationDate:\"NA\"}} \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n\r\n\r\n","import { Component } from '@angular/core';\r\n@Component({\r\n selector: 'logs-component',\r\n templateUrl: './logs.component.html',\r\n styleUrls: ['./logs.component.css']\r\n})\r\n\r\nexport class LogsComponent {\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { TemplateJobsGeneral } from './templateJobsGeneral';\r\nimport { JobState } from './jobState.model';\r\nimport { softwareUpgradeJob } from './softwareUpgradeJob';\r\nimport { TemplateJobs } from './templateJobs';\r\nimport { UserLog } from './UserLog.model';\r\nimport { UserDetailedLog } from './UserDetailedLog.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs';\r\nimport { logs } from '../../assets/conf_urls.json';\r\nimport { UserTemplateLog } from './UserTemplateLog.model';\r\nimport { ConflictLog } from './conflictLogs.model';\r\nimport { AuditLog } from './auditLogs.model';\r\nimport { WallpaperLog } from './wallpaperLogs.model';\r\nimport { UserDetailedLogWallpaper } from './UserDetailedLogWallpaper.model';\r\n\r\n@Injectable()\r\nexport class LoggingService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getLogs(searchText: string): Observable<{ data: UserTemplateLog[] }> {\r\n return this.http.post<{ data: UserTemplateLog[] }>(logs.getLogs, {\r\n \"event\": searchText\r\n });\r\n }\r\n\r\n getSWLogs(searchText: string): Observable<{ data: UserLog[] }> {\r\n return this.http.post<{ data: UserLog[] }>(logs.getLogs, {\r\n \"event\": searchText\r\n });\r\n }\r\n\r\n getDetailedLogs(jobId: string, ipAddress: string): Observable<{ data: UserDetailedLog[] }> {\r\n return this.http.post<{ data: UserDetailedLog[] }>(logs.getLogs, {\r\n \"event\": \"logs_by_ip_and_job\",\r\n \"job_id\": jobId,\r\n \"ip_address\": ipAddress\r\n });\r\n }\r\n\r\n getWallpaperDetailedLogs(jobId: string, ipAddress: string): Observable<{ data: UserDetailedLogWallpaper[] }> {\r\n return this.http.post<{ data: UserDetailedLogWallpaper[] }>(logs.getLogs, {\r\n \"event\": \"wallpaper_logs_details\",\r\n \"job_id\": jobId,\r\n \"ip_address\": ipAddress\r\n });\r\n }\r\n\r\n // getDetailedLogs2(jobId: string, ipAddress: string): Observable<{ data: any[] }> {\r\n // let url = `https://rtcapps:444/api/jobs/${jobId}`\r\n // return this.http.get<{ data: any[] }>(url);\r\n // }\r\n\r\n getUpcomingTemplatesJobs(tempId: string): Observable<{ data: TemplateJobs[] }> {\r\n return this.http.post<{ data: TemplateJobs[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_templates_jobs\",\r\n \"template_id\": tempId\r\n });\r\n }\r\n\r\n getUpcomingTemplatesJobsData(): Observable<{ data: TemplateJobsGeneral[] }> {\r\n return this.http.post<{ data: TemplateJobsGeneral[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_templates_data\"\r\n });\r\n }\r\n\r\n getUpComingSoftwareUpgrades(): Observable<{ data: softwareUpgradeJob[] }> {\r\n return this.http.post<{ data: softwareUpgradeJob[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_software_upgrades\"\r\n });\r\n }\r\n\r\n removeUpComingSoftwareUpgrade(jobId): Observable {\r\n return this.http.post(logs.getLogs, {\r\n \"event\": \"remove_sw_upgrade_logs\",\r\n \"job_id\": jobId\r\n });\r\n }\r\n\r\n getConflictLogs(): Observable<{ data: ConflictLog[] }> {\r\n return this.http.post<{ data: ConflictLog[] }>(logs.getLogs, {\r\n \"event\": \"conflict_logs\"\r\n });\r\n }\r\n\r\n getAuditLogs(): Observable<{ data: AuditLog[] }> {\r\n return this.http.post<{ data: AuditLog[] }>(logs.getLogs, {\r\n \"event\": \"audit_logs\"\r\n });\r\n }\r\n\r\n getWallpaperLogs(): Observable<{ data: WallpaperLog[] }> {\r\n return this.http.post<{ data: WallpaperLog[] }>(logs.getLogs, {\r\n \"event\": \"wallpaper_logs\"\r\n });\r\n\r\n }\r\n\r\n getWallpaperStateLogs(id): Observable<{ data: JobState[] }> {\r\n let url = `https://rtcapps:444/api/jobs/${id}`\r\n return this.http.get<{ data: JobState[] }>(url);\r\n }\r\n\r\n}\r\n","import { defineCustomElements } from 'xml-viewer-component/dist/loader';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n//enableProdMode();\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\ndefineCustomElements(window);","// import { Component, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n// import { Router } from '@angular/router';\r\n// import { MatDialog } from '@angular/material/dialog';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n// import { SearchModuleService } from 'src/shared/search.module.service';\r\n// import { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\n// import { AccessAuthService } from 'src/shared/access.auth.service';\r\n// import jwt_decode from 'jwt-decode'\r\n// import { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\n// import { AdminService } from 'src/admin/services/admin.service';\r\n\r\n// @Component({\r\n// selector: 'app-navbar',\r\n// templateUrl: './navbar.component.html',\r\n// styleUrls: ['./navbar.component.css']\r\n// })\r\n// export class NavbarComponent implements OnInit, OnChanges {\r\n// isCollapsed = true;\r\n// showFiller = false;\r\n// user_info_obj: any;\r\n// adminAuthorization: boolean = false;\r\n\r\n// constructor(public router: Router,\r\n// private loggerService: LoggerService,\r\n// private searchModuleService: SearchModuleService,\r\n// public dialog: MatDialog,\r\n// public accessAuthService: AccessAuthService,\r\n// public adminService: AdminService,) {\r\n\r\n// }\r\n// ngOnChanges(changes: SimpleChanges): void {\r\n// // if (!this.user_info_obj) {\r\n// // if (localStorage.getItem('accessToken')) {\r\n// // this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n// // } else {\r\n// // this.user_info_obj = null;\r\n// // }\r\n// // }\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// // if (localStorage.getItem('accessToken')) {\r\n// // this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n// // } else {\r\n// // this.user_info_obj = null;\r\n// // }\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.subscribe(data => this.user_info_obj = data)\r\n// this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n// }\r\n\r\n// logOut(): void {\r\n// if (localStorage.getItem('accessToken')) {\r\n// localStorage.removeItem('accessToken');\r\n// this.accessAuthService.isAdmin.next(false);\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.next(null)\r\n// }\r\n// this.router.navigate(['/login']);\r\n// this.loggerService.log(\"NavbarComponent\", `logged out`, Levels.info)\r\n// }\r\n\r\n// openDialog(): void {\r\n// this.searchModuleService.openSearchDialog();\r\n// }\r\n\r\n// goToHome() {\r\n// this.router.navigate(['/home'])\r\n// }\r\n\r\n// openConfirmationDialog(): void {\r\n// const dialogRef = this.dialog.open(ReportIssueDialogComponent, {\r\n// minWidth: '50vw',\r\n// maxWidth: '50vw',\r\n// minHeight: '50%',\r\n// data: {},\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// // this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n// }\r\n// });\r\n\r\n// }\r\n\r\n// openResetPasswordDialog() {\r\n// const dialogRef = this.dialog.open(ResetPasswordDialogComponent, {\r\n// minWidth: '50vw',\r\n// maxWidth: '50vw',\r\n// minHeight: '50%',\r\n// data: {},\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// }\r\n// });\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\nimport jwt_decode from 'jwt-decode'\r\nimport { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\nimport { AdminService } from 'src/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css'],\r\n providers: [AccessAuthService]\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n isCollapsed = true;\r\n showFiller = false;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(public router: Router,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService,\r\n public adminService: AdminService,) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n // console.log(this.user_info_obj);\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n }\r\n\r\n logOut(): void {\r\n if (localStorage.getItem('accessToken')) {\r\n localStorage.removeItem('accessToken');\r\n this.accessAuthService.isAdmin.next(false);\r\n }\r\n this.router.navigate(['/login']);\r\n this.loggerService.log(\"NavbarComponent\", `logged out`, Levels.info)\r\n }\r\n\r\n openDialog(): void {\r\n this.searchModuleService.openSearchDialog();\r\n }\r\n\r\n goToHome() {\r\n this.router.navigate(['/home'])\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(ReportIssueDialogComponent, {\r\n minWidth: '50vw',\r\n maxWidth: '50vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n // this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n }\r\n });\r\n\r\n }\r\n\r\n openResetPasswordDialog() {\r\n const dialogRef = this.dialog.open(ResetPasswordDialogComponent, {\r\n minWidth: '50vw',\r\n maxWidth: '50vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\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
VMS Navigation Menu
\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 Systems Profile\r\n\r\n\r\n\r\n\r\n \r\n Folders Management\r\n\r\n\r\n\r\n \r\n System Reports\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n System Templates\r\n\r\n\r\n\r\n\r\n \r\n System Software Manager\r\n\r\n\r\n \r\n Package Manager\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n Users Manager\r\n \r\n\r\n \r\n \r\n System Market Manager\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n

\r\n account_circle\r\n {{user_info_obj?.name}}\r\n

\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\n// @ts-ignore\r\nimport { phonebook } from \"../assets/conf_urls.json\"\r\nimport { Form, FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'app-phonebook-manager',\r\n templateUrl: './phonebook-manager.component.html',\r\n styleUrls: ['./phonebook-manager.component.css']\r\n})\r\nexport class PhonebookManagerComponent implements OnInit {\r\n //custom phonebook\r\n list_CustomPhonebookFiles = []\r\n selected_phonebook_file_row = []\r\n toggle_add_new_phonebook = false;\r\n toggle_edit_phonebook = false;\r\n toggle_edit_file_mappings = false;\r\n form_new_phonebook: FormGroup\r\n //end\r\n //forms\r\n\r\n //method\r\n form_new_contact_method: FormGroup\r\n form_edit_catalog_card: FormGroup\r\n form_edit_contact_card: FormGroup\r\n //\r\n //phonebook list\r\n toggle_new_contact_method = false;\r\n toggle_edit_catalog = false;\r\n toggle_edit_form = false;\r\n toggle_list = true;\r\n list_phonebook_files_data = []\r\n list_folder_props = []\r\n list_distinct_system_type = []\r\n selected_item_contact = \"\"\r\n selected_item_folder: any;\r\n selected_item_folder_row: any;\r\n show_progressbar = false;\r\n submit_response = false\r\n //phonebook mapping\r\n selected_phonebook_file: any;\r\n list_selected_folders = [];\r\n list_all_phonebook_folders = [];\r\n save_mapping_selected_file: any;\r\n //\r\n //phonebook files tree\r\n obj_tree_query = \"select e.Name,r.Protocol,r.`Restrict`,r.DialString,r.Description,r.SystemType from catalog c inner join entry e on c.Id=e.FK_Catalog inner join route r on e.Id = r.FK_Entry\"\r\n\r\n //\r\n constructor(private http: HttpClient,\r\n private fb: FormBuilder,\r\n private _snackBar: MatSnackBar,\r\n private authService: AuthService,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n //### phonebook files list\r\n //get phonebook files.\r\n get_phonebook_files_data() {\r\n let json_object = { \"event\": \"query_all\" }\r\n this.http.post(phonebook.phonebook_management, json_object).subscribe(response_data => {\r\n this.list_phonebook_files_data = response_data['data']\r\n this.list_folder_props = response_data['folder_props']\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n //get selected item\r\n get_selected_phonebook_file(item: any) {\r\n this.selected_item_contact = item[\"item\"][\"props\"]\r\n\r\n }\r\n\r\n get_selected_folder(item: any) {\r\n this.selected_item_folder = item;\r\n\r\n }\r\n\r\n get_selected_folder_data() {\r\n this.http.post(phonebook.catalog_management, {\r\n \"event\": \"query_by_name\",\r\n \"item\": this.selected_item_folder['item']\r\n }).subscribe(data => {\r\n this.selected_item_folder_row = data['data'][0]\r\n\r\n this.form_edit_catalog_card = this.fb.group({});\r\n const Id = new FormControl(this.selected_item_folder_row['Id'], Validators.required)\r\n const Name = new FormControl(this.selected_item_folder_row['Name'], Validators.required)\r\n this.form_edit_catalog_card.addControl('Id', Id)\r\n this.form_edit_catalog_card.addControl('Name', Name)\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n //edit contact card\r\n edit_contact_card() {\r\n this.submit_response = false;\r\n this.http.post(phonebook.entry_management, { \"event\": \"query_distinct_system_type\" }).subscribe(data => {\r\n this.list_distinct_system_type = data['data']\r\n //Intialize the form\r\n this.form_edit_contact_card = this.fb.group({});\r\n\r\n // intialize form controls.\r\n const fc_name = new FormControl(this.selected_item_contact[\"Name\"], Validators.required)\r\n const fc_system_type = new FormControl(this.selected_item_contact[\"SystemType\"], Validators.required)\r\n const fc_protocol = new FormControl(this.selected_item_contact[\"Protocol\"], Validators.required)\r\n const fc_dialstring = new FormControl(this.selected_item_contact[\"DialString\"], Validators.required)\r\n const fc_description = new FormControl(this.selected_item_contact[\"Description\"], Validators.required)\r\n const fc_Id = new FormControl(this.selected_item_contact[\"Id\"], Validators.required)\r\n\r\n\r\n this.form_edit_contact_card.addControl('Name', fc_name)\r\n this.form_edit_contact_card.addControl('SystemType', fc_system_type)\r\n this.form_edit_contact_card.addControl('Protocol', fc_protocol)\r\n this.form_edit_contact_card.addControl('Description', fc_description)\r\n this.form_edit_contact_card.addControl('DialString', fc_dialstring)\r\n this.form_edit_contact_card.addControl('Id', fc_Id)\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error);\r\n })\r\n\r\n\r\n }\r\n\r\n edit_new_contact_method() {\r\n this.http.post(phonebook.entry_management, { \"event\": \"query_distinct_system_type\" }).subscribe(data => {\r\n this.list_distinct_system_type = data['data']\r\n //Intialize the form\r\n this.form_new_contact_method = this.fb.group({});\r\n\r\n //initialize form controls.\r\n const fc_name = new FormControl('', Validators.required)\r\n const fc_restrict = new FormControl('Norestrict', Validators.required)\r\n const fc_system_type = new FormControl('', Validators.required)\r\n const fc_call_type = new FormControl('', Validators.required)\r\n const fc_protocol = new FormControl('', Validators.required)\r\n const fc_dialstring = new FormControl('', Validators.required)\r\n const fc_description = new FormControl('', Validators.required)\r\n const fc_Id = new FormControl(this.selected_item_folder_row[\"Id\"], Validators.required)\r\n //add controls\r\n this.form_new_contact_method.addControl('Name', fc_name)\r\n this.form_new_contact_method.addControl('Restrict', fc_restrict)\r\n this.form_new_contact_method.addControl('CallType', fc_call_type)\r\n this.form_new_contact_method.addControl('SystemType', fc_system_type)\r\n this.form_new_contact_method.addControl('Protocol', fc_protocol)\r\n this.form_new_contact_method.addControl('Description', fc_description)\r\n this.form_new_contact_method.addControl('DialString', fc_dialstring)\r\n this.form_new_contact_method.addControl('parent_id', fc_Id)\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }\r\n\r\n submit_form_edit_contact_card() {\r\n if (this.form_edit_contact_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_contact_card.value['event'] = 'update_entry_route'\r\n this.http.post(phonebook.entry_management, this.form_edit_contact_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n submit_form_edit_catalog_card() {\r\n if (this.form_edit_catalog_card.valid) {\r\n this.show_progressbar = true\r\n this.form_edit_catalog_card.value['event'] = 'update'\r\n this.http.post(phonebook.catalog_management, this.form_edit_catalog_card.value).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n } else {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n submit_form_new_contact_method() {\r\n if (this.form_new_contact_method.valid) {\r\n this.show_progressbar = true\r\n this.form_new_contact_method.value['event'] = 'create'\r\n this.http.post(phonebook.entry_management, this.form_new_contact_method.value).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.show_progressbar = false;\r\n let rec_id = response_data['data']\r\n delete this.form_new_contact_method.value['parent_id']\r\n delete this.form_new_contact_method.value['Name']\r\n this.form_new_contact_method.value['FK_Entry'] = rec_id\r\n this.http.post(phonebook.route_management, this.form_new_contact_method.value).subscribe(response_data => {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n })\r\n } else {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n delete_form_edit_contact_card() {\r\n if (this.form_edit_contact_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_contact_card.value['event'] = 'delete_entry_route'\r\n this.http.post(phonebook.entry_management, this.form_edit_contact_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n delete_form_edit_catalog_card() {\r\n if (this.form_edit_catalog_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_catalog_card.value['event'] = 'delete'\r\n this.http.post(phonebook.catalog_management, this.form_edit_catalog_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n\r\n // custom phonebook\r\n get_all_phonebook_files() {\r\n this.show_progressbar = true\r\n this.http.post(phonebook.phonebook_management, { \"event\": \"query_all\" }).subscribe(response_data => {\r\n this.list_CustomPhonebookFiles = response_data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n get_all_phonebook_files_no_processing() {\r\n this.http.post(phonebook.phonebook_management, { \"event\": \"query_all\" }).subscribe(response_data => {\r\n this.list_CustomPhonebookFiles = response_data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n submit_new_phonebook_file() {\r\n if (this.form_new_phonebook.valid) {\r\n this.form_new_phonebook.value['event'] = 'create'\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n submit_edit_phonebook_file(file) {\r\n\r\n let row_id = file['Id']\r\n let folder_updated_name = $('#update_id_' + row_id).val()\r\n\r\n\r\n this.form_new_phonebook.reset()\r\n this.form_new_phonebook.value['event'] = 'update'\r\n this.form_new_phonebook.value['Name'] = folder_updated_name\r\n this.form_new_phonebook.value['Id'] = row_id\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n this.toggle_edit_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }\r\n\r\n submit_delete_phonebook_file(file) {\r\n\r\n let row_id = file['Id']\r\n this.form_new_phonebook.reset()\r\n this.form_new_phonebook.value['event'] = 'delete'\r\n this.form_new_phonebook.value['Id'] = row_id\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }\r\n\r\n assign_file_row(file: any) {\r\n this.selected_phonebook_file_row = file\r\n }\r\n\r\n receiveMessage2($event) {\r\n var selected_folder = $event\r\n var flag = 0;\r\n //case 1\r\n if (this.list_selected_folders.length == 0) {\r\n this.list_selected_folders.push(selected_folder)\r\n return\r\n }\r\n //case 2\r\n Object.keys(this.list_selected_folders).forEach(k => {\r\n let item_name = this.list_selected_folders[k]['Name']\r\n if (item_name == selected_folder.Name) {\r\n flag = 1\r\n return\r\n } else {\r\n flag = 0\r\n }\r\n })\r\n if (flag == 0) {\r\n this.list_selected_folders.push(selected_folder)\r\n this.openSnackBar(selected_folder.Name + \" was added the list\", 'success')\r\n } else {\r\n this.openSnackBar(selected_folder.Name + \" is already in the list\", 'warning')\r\n }\r\n }\r\n\r\n //delete mapped folder to file\r\n delete_folder_from_list(entry) {\r\n var flag = 0;\r\n //case 1\r\n if (this.list_selected_folders.length == 0) {\r\n return\r\n }\r\n //case 2\r\n Object.keys(this.list_selected_folders).forEach(k => {\r\n let item_name = this.list_selected_folders[k]['Name']\r\n if (item_name == entry.Name) {\r\n flag = 1\r\n this.list_selected_folders.splice(parseInt(k), 1)\r\n // remove from database\r\n let json_object = {\r\n \"event\": \"delete\",\r\n \"phonebook_id\": this.save_mapping_selected_file.Id,\r\n \"catalog_id\": entry.Id\r\n }\r\n\r\n let delay = parseInt(k) * 500\r\n setTimeout(() => {\r\n this.http.post(phonebook.phonebookcatalog_management, json_object).subscribe(response_data => {\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }, delay)\r\n //end of remove db.\r\n this.openSnackBar(entry.Name + \" was removed from the list\", \"success\")\r\n return\r\n } else {\r\n flag = 0\r\n }\r\n })\r\n\r\n }\r\n\r\n // phonebook mapping\r\n get_mapped_folders_to_pb_file(file: any) {\r\n this.list_all_phonebook_folders = []\r\n this.list_selected_folders = []\r\n this.show_progressbar = true\r\n this.http.post(phonebook.catalog_management, { \"event\": \"queryall\" }).subscribe(data => {\r\n\r\n this.list_all_phonebook_folders = data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n var jobject = {\r\n \"event\": \"queryall_by_id\",\r\n \"id\": file.Id\r\n }\r\n this.http.post(phonebook.phonebook_task_management, jobject).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.list_selected_folders = []\r\n this.list_selected_folders = response_data['data']\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n // save phonebook mapping,\r\n save_file_folder_mapping() {\r\n Object.keys(this.list_selected_folders).forEach(index => {\r\n let folder_id = this.list_selected_folders[index][\"Id\"]\r\n let json_object = { \"event\": \"create\", \"phonebook_id\": this.save_mapping_selected_file.Id, \"catalog_id\": folder_id }\r\n\r\n let delay = parseInt(index) * 500\r\n setTimeout(() => {\r\n this.http.post(phonebook.phonebookcatalog_management, json_object).subscribe(response_data => {\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }, delay)\r\n\r\n })\r\n }\r\n //publish phonebook file\r\n publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"create\", \"phonebook_id\": file.Id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n delete_publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"delete\", \"id\": file.id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n reload_publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"reload\", \"id\": file.id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n\r\n // end\r\n //end ###\r\n ngOnInit(): void {\r\n // load custom phonebook list\r\n this.get_all_phonebook_files()\r\n // load phonebook files list\r\n this.get_phonebook_files_data()\r\n //auto refresh\r\n //setInterval(()=>{this.get_all_phonebook_files_no_processing()},3000)\r\n\r\n // forms\r\n //Intialize the form\r\n this.form_edit_contact_card = this.fb.group({\r\n SystemType: ['', Validators.required],\r\n Name: ['', Validators.required],\r\n Protocol: ['', Validators.required],\r\n Description: ['', Validators.required],\r\n DialString: ['', Validators.required]\r\n });\r\n this.form_edit_catalog_card = this.fb.group({\r\n Name: ['', Validators.required],\r\n Id: ['', Validators.required],\r\n });\r\n this.form_new_contact_method = this.fb.group({\r\n SystemType: ['', Validators.required],\r\n Name: ['', Validators.required],\r\n CallType: ['', Validators.required],\r\n Protocol: ['', Validators.required],\r\n Restrict: ['Norestrict', Validators.required],\r\n DialString: ['', Validators.required],\r\n Description: ['', Validators.required],\r\n\r\n });\r\n this.form_new_phonebook = this.fb.group({\r\n Name: ['', Validators.required],\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

Custom Files List

\r\n \r\n \r\n notes\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 {{file.Name}}\r\n
0\" mat-line>Entries: {{file.NoOfEntries}}
\r\n
in-service
\r\n
task created {{file.created_at | date}}
\r\n
task processing
\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n device_hub\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
New phonebook file
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n *File Name\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

Select {{selected_phonebook_file.Name}}'s folder/s

\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
All Folders
\r\n \r\n folder\r\n
{{folder.Name}}
\r\n
Created: {{folder.created_at | date}}
\r\n
Entries: {{folder.NoOfEntries }}
\r\n \r\n add\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col\">\r\n
\r\n \r\n
Selected Folders ({{this.list_selected_folders.length}})\r\n \r\n save\r\n \r\n
\r\n \r\n folder\r\n
{{folder.Name}}
\r\n
Created: {{folder.created_at | date}}
\r\n
Entries: {{folder.NoOfEntries }}
\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 toggle list\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 format_quote\r\n No saved files\r\n format_quote\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 supervised_user_circle\r\n Contact Card
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n contact_phone\r\n {{selected_item_contact['Name']}}\r\n \r\n Contact Name\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n camera_alt\r\n System type:\r\n\r\n {{selected_item_contact['SystemType']}}\r\n\r\n\r\n \r\n System Type\r\n \r\n \r\n {{sys.SystemType}}\r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n dialer_sip\r\n Protocol:{{selected_item_contact['Protocol']}}\r\n \r\n Protocol\r\n \r\n \r\n Auto\r\n \r\n \r\n H323\r\n \r\n \r\n SIP\r\n \r\n \r\n \r\n
\r\n dialpad\r\n Dial String:{{selected_item_contact['DialString']}}\r\n \r\n Dial String\r\n \r\n \r\n
\r\n call\r\n Call type: {{selected_item_contact['CallType']}}
\r\n comment\r\n Description:\r\n\r\n {{selected_item_contact['Description']}}\r\n \r\n Description\r\n \r\n \r\n
\r\n warning\r\n Restrict:{{selected_item_contact['Restrict']}}
\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 settings\r\n
\r\n {{selected_item_folder_row['Name']}} Settings\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n contacts\r\n
{{selected_item_folder_row['Name']}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Created at: {{selected_item_folder_row['created_at']}}
\r\n
Entries: {{selected_item_folder_row['NoOfEntries']}}
\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

New contact method

\r\n \r\n
\r\n Name \r\n Title \r\n \r\n

Contact method

\r\n Dial String \r\n System Type\r\n Protocol\r\n Call Type\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { ReportGeneratorService } from './report-generator.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogReportGeneratorComponent } from 'src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component';\r\n\r\nexport interface sysHeader {\r\n name: string;\r\n shownValue: string;\r\n completed: boolean;\r\n color: ThemePalette;\r\n subtasks?: sysHeader[];\r\n}\r\n\r\n@Component({\r\n selector: 'app-report-generator',\r\n templateUrl: './report-generator.component.html',\r\n styleUrls: ['./report-generator.component.css'],\r\n providers: [ReportGeneratorService]\r\n})\r\n\r\nexport class ReportGeneratorComponent implements OnInit {\r\n targetFolder: { id: Number, text: string } = { id: null, text: \"\" };\r\n received_selected_items = [];\r\n allComplete: boolean = false;\r\n systemHeader: sysHeader = {\r\n shownValue: null,\r\n name: 'Select All',\r\n completed: false,\r\n color: 'accent',\r\n subtasks: [\r\n { shownValue: \"DNS Domain\", name: 'dns_domain_name', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 1\", name: 'dns_server1', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 2\", name: 'dns_server2', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 3\", name: 'dns_server3', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Address\", name: 'h323_gatekeeper_address', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Status\", name: 'h323_gatekeeper_status', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Reason\", name: 'h323_gatekeeper_reason', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Mode\", name: 'h323_gatekeeper_mode', completed: false, color: 'primary' },\r\n { shownValue: \"H323 E164\", name: 'h323_e164', completed: false, color: 'primary' },\r\n { shownValue: \"H323 ID\", name: 'h323_id', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Port\", name: 'h323_gatekeeper_port', completed: false, color: 'primary' },\r\n { shownValue: \"IP Address\", name: 'system_ip', completed: false, color: 'primary' },\r\n { shownValue: \"Last Monitor Date\", name: 'last_monitored_date', completed: false, color: 'primary' },\r\n { shownValue: \"MAC Address\", name: 'system_mac_address', completed: false, color: 'primary' },\r\n { shownValue: \"NTP Server\", name: 'ntp_server1', completed: false, color: 'primary' },\r\n { shownValue: \"Product ID\", name: 'product_id', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Audio\", name: 'qos_audio', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Data\", name: 'qos_data', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Signaling\", name: 'qos_signaling', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Video\", name: 'qos_video', completed: false, color: 'primary' },\r\n { shownValue: \"Remedy Ticket No.\", name: 'remedy_opened_ticket', completed: false, color: 'primary' },\r\n { shownValue: \"Serial Number\", name: 'serial_number', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Auth Username\", name: 'sip_authentication_username', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Listen Port\", name: 'sip_listen_port', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Name\", name: 'sip_display_name', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 1\", name: 'sip_proxy_address', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 2\", name: 'sip_proxy_address2', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 1 Status\", name: 'sip_proxy_address_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 2 Status\", name: 'sip_proxy_address2_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Registration Status\", name: 'sip_registration_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Registration URI\", name: 'sip_registration_uri', completed: false, color: 'primary' },\r\n { shownValue: \"SIP TLS Verify\", name: 'sip_tls_verify', completed: false, color: 'primary' },\r\n { shownValue: \"Software Name\", name: 'software_name', completed: false, color: 'primary' },\r\n { shownValue: \"Software Version\", name: 'software_version', completed: false, color: 'primary' },\r\n { shownValue: \"System Name\", name: 'system_name', completed: false, color: 'primary' },\r\n { shownValue: \"System Notes\", name: 'ops_note', completed: false, color: 'primary' },\r\n { shownValue: \"System Status\", name: 'status', completed: false, color: 'primary' },\r\n { shownValue: \"Time Zone\", name: 'system_time_zone', completed: false, color: 'primary' }\r\n ]\r\n };\r\n\r\n systemsData: any[] = [];\r\n disableFetchButton: boolean = false;\r\n\r\n constructor(\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar,\r\n private reportGeneratorService: ReportGeneratorService,\r\n public dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n recieve_selected_folder(folderDetails) {\r\n let disableBtn: boolean = false;\r\n this.targetFolder.id = null;\r\n this.targetFolder.text = null;\r\n if (folderDetails && disableBtn == false) {\r\n if (folderDetails.children && folderDetails.children.length > 0\r\n && folderDetails.children[0].value.type == 'folder') {\r\n disableBtn = true;\r\n return;\r\n }\r\n }\r\n this.targetFolder.id = folderDetails.value.id;\r\n this.targetFolder.text = folderDetails.text;\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items;\r\n }\r\n\r\n updateAllComplete() {\r\n this.allComplete = this.systemHeader.subtasks != null && this.systemHeader.subtasks.every(t => t.completed);\r\n }\r\n\r\n someComplete(): boolean {\r\n if (this.systemHeader.subtasks == null) {\r\n return false;\r\n }\r\n return this.systemHeader.subtasks.filter(t => t.completed).length > 0 && !this.allComplete;\r\n }\r\n\r\n setAll(completed: boolean) {\r\n this.allComplete = completed;\r\n if (this.systemHeader.subtasks == null) {\r\n return;\r\n }\r\n this.systemHeader.subtasks.forEach(t => (t.completed = completed));\r\n }\r\n\r\n\r\n sendDataToReportGenerator() {\r\n this.disableFetchButton = true;\r\n this.reportGeneratorService.systemsReceiver(this.adjustHeadersToBeSent(), this.adjustUnitsIDsToBeSent()).subscribe(data => {\r\n //length for Vodafone_ is 9 letters\r\n\r\n let Vodafone_Length: number = 10;\r\n for (let item of data) {\r\n let fullPath: string = item.entire_path;\r\n let firstPartOfStringAfterVodafone_: string = fullPath.slice(\r\n fullPath.indexOf(\"Vodafone&&\") + Vodafone_Length, fullPath.length\r\n );\r\n let nextDashIndex: number = firstPartOfStringAfterVodafone_.indexOf(\"&&\");\r\n\r\n item.main_folder = firstPartOfStringAfterVodafone_.includes(\"&&\") ? firstPartOfStringAfterVodafone_.slice(0, nextDashIndex) : firstPartOfStringAfterVodafone_\r\n\r\n item.secondary_folders = (firstPartOfStringAfterVodafone_.length == item.main_folder.length) ? \"\" : firstPartOfStringAfterVodafone_.slice(\r\n nextDashIndex + 2, firstPartOfStringAfterVodafone_.length\r\n );\r\n\r\n if (item.secondary_folders.includes(\"&&\")) {\r\n item.secondary_folders = item.secondary_folders.replaceAll(\"&&\", \"-\")\r\n };\r\n\r\n }\r\n\r\n this.systemsData = data;\r\n // this.openSnackBar(\"Date Retrieved.\", \"Done\");\r\n this.disableFetchButton = false;\r\n this.openDialog()\r\n }, err => {\r\n this.disableFetchButton = false;\r\n\r\n this.openSnackBar(err?.error?.message ? err?.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n\r\n adjustHeadersToBeSent() {\r\n let headerString: string = \"\";\r\n\r\n this.systemHeader.subtasks.forEach(i => {\r\n if (i.completed) {\r\n headerString += (i.name + \",\");\r\n }\r\n });\r\n\r\n headerString = headerString.slice(0, -1);\r\n\r\n return headerString;\r\n }\r\n\r\n adjustUnitsIDsToBeSent() {\r\n let ids: string = \"(\";\r\n\r\n this.received_selected_items.forEach(i => {\r\n ids += (i.value + \",\");\r\n });\r\n\r\n ids = ids.slice(0, -1);\r\n ids += (\")\");\r\n return ids;\r\n }\r\n\r\n adjustHeadersForDialog() {\r\n let data: string[] = [];\r\n this.systemHeader.subtasks.forEach(i => {\r\n if (i.completed) {\r\n data.push(i.name);\r\n }\r\n });\r\n data = [\"main_folder\", \"secondary_folders\", ...data, \"remedy_location_name\", \"remedy_market_name\"]\r\n\r\n return { stringArr: data, unitsArr: this.systemsData };\r\n }\r\n\r\n\r\n\r\n\r\n openDialog(): void {\r\n let dataToBeSent: { stringArr: string[], unitsArr: any[] } = this.adjustHeadersForDialog();\r\n\r\n const dialogRef = this.dialog.open(DialogReportGeneratorComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true,\r\n data: dataToBeSent\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n //this.deleteSystem(systemToBeDeleted);\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

Please select data headers to be fetched

\r\n
\r\n \r\n \r\n {{systemHeader.name}}\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n \r\n {{subtask.shownValue}}\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","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../assets/conf_urls.json';\r\nimport { throwError } from 'rxjs';\r\n@Injectable()\r\n\r\nexport class ReportGeneratorService {\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n systemsReceiver(headersToBeSent: string, ids: string): Observable {\r\n if (headersToBeSent == \"\") {\r\n return throwError('No data were selected');\r\n }\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"reportGenerator\",\r\n \"headersToBeSent\": headersToBeSent,\r\n \"sys\": ids\r\n })\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n@Component({\r\n selector: \"app-error-eomponent\",\r\n templateUrl: './404.component.html',\r\n styleUrls: ['./404.component.css']\r\n})\r\nexport class ErrorComponent {\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Oops!

\r\n
\r\n

404 - Page not found

\r\n

The page you are looking for might have been removed or had its name changed or is temporarily unavailable or you have no access to it.

\r\n Go To Homepage\r\n
\r\n
\r\n
\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class BulkActionsService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n bulkDelete(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": \"bulk_delete\",\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkMonitor(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'monitor',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkUnMonitor(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unmonitor',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkProvision(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'provision_quick',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkUnProvision(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unprovision_quick',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n pullAllUnitsConfigurationFiles(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"pull_all_units_configuration_files\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n}\r\n","import { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { BulkActionsService } from './bulkActions.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n//@ts-ignore\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\n\r\n@Component({\r\n selector: 'dialog-bulkActions-component',\r\n templateUrl: './dialog.bulkActions.component.html',\r\n styleUrls: ['./dialog.bulkActions.component.css'],\r\n providers: [BulkActionsService]\r\n})\r\nexport class BulkActionsDialogComponent implements OnInit {\r\n switcher_toggle_navigator = true;\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n //items in delete tree\r\n received_selected_items = [];\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private bulkActionsService: BulkActionsService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items\r\n // let checkDb = \"\"\r\n // this.received_selected_items.forEach(item => checkDb = checkDb + item.value + \",\")\r\n }\r\n\r\n openConfirmationDialogForDelete() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete units\", message: `Confirm the deletion of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkDelete(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Removed successfully from VMS and currently removing all the provisioing urls from the units this process takes time.\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForMonitor() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Monitor units\", message: `Confirm the monitor of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkMonitor(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Units were monitored successfully\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForUnMonitor() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"UnMonitor units\", message: `Confirm the unmonitor of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkUnMonitor(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Units were monitored successfully\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForProvision() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Provision units\", message: `Confirm the provisioing of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkProvision(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Your provisioing request was submitted successfully, currently changing the provisioing url on units. Check again later.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForUnProvision() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"unProvision units\", message: `Confirm the unprovisioing of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkUnProvision(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Your unprovisioing request was submitted successfully, currently removing the provisioing url on units. Check again later.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForPullAllUnits(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Pull All Units Configuration Files\", message: \"Confirm pulling all VMS units configuration files. This process takes time so please confirm or cancel\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.pullAllUnitsConfigurationFiles(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Pulling all units configuration files has begun, this process may takes several minutes.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n getSelectedIds() {\r\n let idsToBeSent: number[] = [];\r\n this.received_selected_items.forEach(item => idsToBeSent.push(item.value));\r\n return idsToBeSent;\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n\r\n

Bulk System Management

\r\n
\r\n Toggle Navigator\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Units Seleced

\r\n\r\n

\r\n * Select units from tree\r\n

\r\n\r\n
0\" style=\"color:blue\" class=\"align-left\">\r\n * Total number of units selected are {{this.received_selected_items.length}}\r\n
\r\n\r\n
\r\n\r\n 0\"\r\n mat-table [dataSource]=\"this.received_selected_items\"\r\n class=\"mat-elevation-z8 col-sm-12\">\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 computer\r\n Unit Name - Unit IP\r\n {{element.text}}\r\n
\r\n
\r\n\r\n
0\" id=\"provisionOptions\">\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 close\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import {Component, Inject} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n\r\nexport interface DialogData {\r\n title: string;\r\n message: string;\r\n response:boolean;\r\n}\r\n\r\n\r\n@Component({\r\n templateUrl:'./dialog.confirmation.component.html',\r\n styleUrls:['./dialog.confirmation.component.css']\r\n})\r\nexport class DialogConfirmationComponent{\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {}\r\n\r\n onNoClick(): void {\r\n this.data.response=false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response=true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{data.title}}\r\n

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

{{data.message}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { enteredDataObj } from './model/EnteredDataObj';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n selector: 'search-dialog',\r\n templateUrl: './dialog.report-generator.component.html',\r\n styleUrls: ['./dialog.report-generator.component.css']\r\n})\r\nexport class DialogReportGeneratorComponent implements OnInit {\r\n title = 'VMS-Systems';\r\n fileName = `VMS Extracted Report${new Date().toISOString()}.csv`;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private loggerService: LoggerService,\r\n @Inject(MAT_DIALOG_DATA) public data: { stringArr: string[], unitsArr: enteredDataObj[] }) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n exportExcel(): void {\r\n /* pass here the table id */\r\n let element = document.getElementById('excel-table');\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n /* save to file */\r\n XLSX.writeFile(wb, this.fileName);\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
{{item}}
{{item[stringData]}}
\r\n\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n","import { Router } from '@angular/router';\r\nimport { VcUnitData } from './model/VcUnitData';\r\nimport { SearchService } from './service/search.service';\r\nimport { Component, Inject, ViewChild, OnInit, Input } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { DialogData } from './model/dialogData';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'search-dialog',\r\n templateUrl: './dialog.search.component.html',\r\n styleUrls: ['./dialog.search.component.css'],\r\n providers: [SearchService]\r\n})\r\nexport class DialogSearchComponent implements OnInit {\r\n //displayed columns for the table\r\n displayedColumns: string[] = ['checkBox', 'system_name', 'system_mac_address', 'system_ip', 'sip_registration_uri'];\r\n //these are the keys available that the name show in the dropdown list and we send the value to the api.\r\n keysAvailable: { text, value }[] = [\r\n { text: 'Name', value: 'system_name' }, { text: 'IP', value: 'system_ip' }, { text: 'MAC Address', value: 'system_mac_address' },\r\n { text: 'Time Zone', value: 'system_time_zone' }, { text: 'H323 Gatekeeper Address', value: 'h323_gatekeeper_address' },\r\n { text: 'H323 Gatekeeper Status ', value: 'h323_gatekeeper_status' }, { text: 'H323 Gatekeeper Mode', value: 'h323_gatekeeper_mode' },\r\n { text: 'SIP Proxy Address', value: 'sip_proxy_address' }, { text: 'SIP Proxy Status', value: 'sip_proxy_address_status' },\r\n { text: 'SIP Registration Status', value: 'sip_registration_status' }, { text: 'SIP Registration URI', value: 'sip_registration_uri' },\r\n { text: 'DNS Server 1', value: 'dns_server1' }, { text: 'DNS Server 2', value: 'dns_server2' },\r\n { text: 'Serial Number', value: 'serial_number' }, { text: 'NTP Server 1', value: 'ntp_server1' },\r\n { text: 'Product Id', value: 'product_id' }, { text: 'Software Name', value: 'software_name' }, { text: 'Software Version', value: 'software_version' }\r\n ]\r\n //the data that fills the table\r\n tableData: MatTableDataSource;\r\n //this is the message that shown if the table is not shown\r\n initialMessageAndNoData: string = 'Search from the dropdown list with the requested value.';\r\n //the message color according to the condition that have been met\r\n initialMessageColor: string = 'black';\r\n //this is the user choice from the drop down list and it stores the value corresponding to his selected text from keysAvailable array\r\n itemSelectedFromList: string = null;\r\n //this is the user inputted text to be used to send to the api and fetch the search result\r\n searchedInputText: string = null;\r\n //the array that stores the user chosen units ids.\r\n selectedItems: VcUnitData[] = [];\r\n //input to enable or disable multiple select in the table\r\n @Input() allowMultipleSelect: boolean = false;\r\n selection: SelectionModel;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n //this array is to be used to check the route and close the confirm button if the url does not match one of them.\r\n private allowedAccessRoutes: string[] = ['/templatemanager', '/softwareupdate', '/systemprofile', '/systemprofileV2'];\r\n //boolean to control the existence of the confirm button\r\n confirmBtnCheck: boolean = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public searchService: SearchService,\r\n private loggerService: LoggerService,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData[]) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.tableData = new MatTableDataSource([]);\r\n this.selection = new SelectionModel(this.allowMultipleSelect, []);\r\n if (this.allowedAccessRoutes.includes(this.router.url)) {\r\n this.confirmBtnCheck = true;\r\n } else {\r\n this.confirmBtnCheck = false;\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n if (this.tableData.paginator) {\r\n this.tableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n checkboxLabel(row?: DialogData): void {\r\n if (this.selection.isSelected(row)) {\r\n if (!this.allowMultipleSelect) {\r\n this.selectedItems = [];\r\n }\r\n this.selectedItems.push(new VcUnitData(row.id, row.parent_id, row.parent_name));\r\n } else {\r\n if (!this.allowMultipleSelect && this.selectedItems.includes(new VcUnitData(row.id, row.parent_id, row.parent_name))) {\r\n this.selectedItems.pop();\r\n } else {\r\n const elementIndex = this.selectedItems.findIndex(i => i.id == row.id);\r\n if (elementIndex != -1) this.selectedItems.splice(elementIndex, 1);\r\n }\r\n }\r\n }\r\n\r\n selectionChange(event: MatSelectChange) {\r\n if (event.value) {\r\n // these lines seems to be working fine because in the case that he changes from the dropdown list whilst there were data\r\n //in the table the presentation is not correct so this resets all and adjust the message color and text.\r\n this.resetTable();\r\n this.initialMessageAndNoData = 'Search from the dropdown list with the requested value.';\r\n this.initialMessageColor = 'black';\r\n this.itemSelectedFromList = event.value;\r\n }\r\n }\r\n\r\n\r\n fetchData() {\r\n //reset table first\r\n this.resetTable();\r\n\r\n //case wrong input\r\n if (!this.itemSelectedFromList || this.searchedInputText == null || this.searchedInputText.length == 0) {\r\n this.initialMessageColor = 'red';\r\n this.initialMessageAndNoData = \"Invalid input search data.\"\r\n return;\r\n }\r\n\r\n //send to the api\r\n this.searchService.postSearchData(this.itemSelectedFromList, this.searchedInputText).subscribe(items => {\r\n if (items.length == 0) {\r\n this.initialMessageColor = 'blue';\r\n this.initialMessageAndNoData = \"No data were found matching your search\";\r\n return;\r\n }\r\n this.data = items;\r\n this.tableData = new MatTableDataSource(this.data);\r\n this.tableData.paginator = this.paginator;\r\n }, err => {\r\n this.loggerService.log(\"DialogSearchComponent\", err.message, Levels.error)\r\n\r\n this.initialMessageColor = 'red';\r\n this.initialMessageAndNoData = \"A problem occurred while fetching data, please try again later.\";\r\n })\r\n }\r\n\r\n // resets data in table, and adjust the logic of the existence of the search_result column or not in the table\r\n resetTable() {\r\n if (this.displayedColumns.includes(this.itemSelectedFromList)) {\r\n if (this.displayedColumns.includes('search_result')) {\r\n this.displayedColumns.pop();\r\n }\r\n } else {\r\n if (!this.displayedColumns.includes('search_result')) {\r\n this.displayedColumns.push('search_result');\r\n }\r\n }\r\n this.clearSelection();\r\n this.data = [];\r\n this.tableData = new MatTableDataSource(this.data);\r\n this.tableData.paginator = this.paginator;\r\n this.selectedItems = [];\r\n }\r\n //return the correct text for the search_result column if it exists\r\n fillText(): string {\r\n const result = this.keysAvailable.find(i => i.value == this.itemSelectedFromList).text;\r\n return result;\r\n }\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableData.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle(): void {\r\n this.isAllSelected() ? this.clearSelection() : this.selectAll();\r\n }\r\n\r\n clearSelection() {\r\n this.selection.clear();\r\n this.selectedItems = [];\r\n }\r\n\r\n selectAll() {\r\n this.tableData.data.forEach(row => {\r\n this.selection.select(row);\r\n this.selectedItems.push(new VcUnitData(row.id, row.parent_id, row.parent_name));\r\n });\r\n }\r\n //fires when cancel is clicked\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n //fires when confirm is clicked\r\n onYesClick(): void {\r\n this.dialogRef.close(this.selectedItems);\r\n }\r\n\r\n}\r\n","\r\n
\r\n

Search

\r\n \r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Keys available\r\n \r\n {{item.text}}\r\n \r\n \r\n
\r\n
\r\n \r\n Enter search value \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
0\">\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n\r\n 0\">\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n System Name {{element.system_name}} System MAC Address {{element.system_mac_address?element.system_mac_address:\"No data available\"}} System IP {{element.system_ip?element.system_ip:\"No data available\"}} SIP Registration URI {{element.sip_registration_uri?element.sip_registration_uri:\"No data available\"}} {{fillText()}} {{element.search_result}}
\r\n\r\n
\r\n
{{initialMessageAndNoData}}
\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","export class VcUnitData{\r\n id:number;\r\n type:string;\r\n parent:{};\r\n\r\n constructor(no:number,parentId:number,parentName:string,type:string=\"endpoint\") {\r\n this.id=no;\r\n this.type=type;\r\n this.parent={text:parentName,\r\n value:{id:parentId,\r\n type:\"folder\"}\r\n };\r\n }\r\n}\r\n","import { DialogData } from '../model/dialogData';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport {searchModule}from '../../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\nexport class SearchService{\r\n /**\r\n *Service used to fetch the searched result based on the key and the value.\r\n */\r\n constructor(public http:HttpClient) {\r\n }\r\n\r\n postSearchData(selectedKey:string,searchText:string):Observable{\r\n\r\n return this.http.post(searchModule.postSearch,{\r\n \"event\" : \"select_by_key\",\r\n \"search_key\" : selectedKey,\r\n \"search_value\" : searchText\r\n }\r\n );\r\n\r\n }\r\n\r\n}\r\n","import { GlobalSharedService } from './../../global.shared.service';\r\nimport { AfterContentInit, Component, ComponentFactoryResolver, Inject, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { folderAccess } from 'src/shared/models/folderAccess.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from '../dialog-confirmation/dialog.confirmation.component';\r\n\r\n@Component({\r\n selector: 'app-lm-lists',\r\n templateUrl: './lm-lists.component.html',\r\n styleUrls: ['./lm-lists.component.css'],\r\n providers: [GlobalSharedService, DatePipe]\r\n})\r\n\r\nexport class LmListsComponent implements FormsModule, OnInit, AfterContentInit {\r\n title = 'Select folders to allow access to them';\r\n masterSelected: boolean;\r\n editMode: boolean = false;\r\n marketList: folderAccess[];\r\n marketsReceivedIds: number[] = [];\r\n accessArr: any;\r\n newSelectedMarketList: folderAccess[];\r\n marketNotPicked: boolean;\r\n butCol: string = 'gray';\r\n myDate = new Date();\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private globalService: GlobalSharedService,\r\n private loggerService: LoggerService,\r\n private datePipe: DatePipe,\r\n @Inject(MAT_DIALOG_DATA) public data: { userId: number, isEditMode: boolean }\r\n ) {\r\n this.masterSelected = false;\r\n this.marketList = [];\r\n this.myDate = new Date(Date.now());\r\n\r\n }\r\n ngAfterContentInit(): void {\r\n this.getUserMappedList();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.marketNotPicked = true;\r\n this.getAccessList();\r\n if (this.data?.isEditMode) {\r\n this.editMode = true;\r\n\r\n }\r\n }\r\n\r\n getUserMappedList() {\r\n\r\n this.globalService.getUserAccessMappingFolders(this.data?.userId).subscribe(userMappedFolders => {\r\n \r\n setTimeout(() => {\r\n for (var i of userMappedFolders.data) {\r\n for (var f = 0; f < this.marketList.length; f++) {\r\n if (this.marketList[f].id == i.folder_id) {\r\n this.marketList[f].isSelected = true;\r\n }\r\n }\r\n }\r\n }, 100);\r\n \r\n\r\n }, err => {\r\n this.loggerService.log(\"LmListsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n\r\n getAccessList() {\r\n this.globalService.getAllAccessFolders().subscribe(allItems => {\r\n this.marketList = allItems?.data;\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n this.marketList[i].isSelected = false;\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"LmListsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n\r\n // Check All Checkbox Checked\r\n isAllSelected() {\r\n this.masterSelected = this.marketList.every(item => item.isSelected)\r\n }\r\n\r\n onItemSelect(): void {\r\n this.newSelectedMarketList = [];\r\n this.accessArr = [];\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n if (this.marketList[i].isSelected) {\r\n this.newSelectedMarketList.push(this.marketList[i]);\r\n\r\n\r\n }\r\n }\r\n for (var iarr = 0; iarr < this.newSelectedMarketList.length; iarr++) { this.accessArr.push(this.newSelectedMarketList[iarr].id); }\r\n this.marketNotPicked = false;\r\n this.butCol = 'blue';\r\n }\r\n\r\n checkUncheckAll() {\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n this.marketList[i].isSelected = this.masterSelected;\r\n }\r\n this.onItemSelect();\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onOKClick() {\r\n if (this.editMode) {\r\n this.openConfirmationDialog();\r\n } else {\r\n this.dialogRef.close(this.newSelectedMarketList);\r\n }\r\n\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Confirm updating user access\", message: \"Please confirm or cancel user access request\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n for (let idObj of this.newSelectedMarketList) {\r\n this.marketsReceivedIds.push(idObj.id)\r\n }\r\n this.globalService.updateAccessFolders(this.data.userId, this.marketsReceivedIds).subscribe(data => {\r\n\r\n this.openSnackBar(\"User access has been updated.\", \"Done\");\r\n this.dialogRef.close();\r\n\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n this.dialogRef.close();\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n

\r\n {{ title }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n Select/ Unselect All\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 {{item?.item_name}}\r\n
  • \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n\r\n \r\n\r\n\r\n
    \r\n","import { ReportIssueService } from './reportIssue.service';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dialog-reportIssue-component',\r\n templateUrl: './dialog.reportIssue.component.html',\r\n styleUrls: ['./dialog.reportIssue.component.css'],\r\n providers: [ReportIssueService]\r\n})\r\nexport class ReportIssueDialogComponent implements OnInit {\r\n\r\n title: string = \"\";\r\n description: string = \"\";\r\n contactEmail: string = \"\";\r\n sendMailFlag: boolean = false;\r\n private user_info_obj: { name: string, role: string } = null;\r\n @ViewChild('f') issueReportForm: NgForm;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private reportIssueService: ReportIssueService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n onSubmit() {\r\n this.sendMailFlag = true;\r\n if (this.issueReportForm.valid) {\r\n this.reportIssueService.reportAnIssue(this.user_info_obj.name, this.title, this.contactEmail, this.description).subscribe(data => {\r\n this.sendMailFlag = false;\r\n this.openSnackBar(\"Issue has been reported and is being processed.\", \"Mail sent.\");\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }, err => {\r\n this.sendMailFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Report an issue

    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Title\r\n \r\n \r\n Title is required\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Your Contact Email\r\n \r\n \r\n Contact email is required in correct format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n Description is required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class ReportIssueService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n reportAnIssue(userWhoMadeRequest: string, title: string,\r\n contactEmail: string, description: string): Observable {\r\n return this.http.post(home.reportIssue, {\r\n \"requested_by\": userWhoMadeRequest,\r\n \"title\": title,\r\n \"contact_email\": contactEmail,\r\n \"description\": description\r\n })\r\n }\r\n\r\n\r\n}\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AdminService } from 'src/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'dialog-resetPassword-component',\r\n templateUrl: './dialog.resetPassword.component.html',\r\n styleUrls: ['./dialog.resetPassword.component.css'],\r\n providers: [AdminService]\r\n})\r\nexport class ResetPasswordDialogComponent implements OnInit {\r\n\r\n sendFlag: boolean = false;\r\n newPassword: string = null;\r\n private user_info_obj: { name: string, role: string } = null;\r\n @ViewChild('f') resetPasswordForm: NgForm;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private adminService: AdminService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n onSubmit() {\r\n this.sendFlag = true;\r\n // if (this.resetPasswordForm.valid) {\r\n // this.adminService.updatePasswordByToken(this.newPassword).subscribe(res => {\r\n // this.sendFlag = false;\r\n // this.openSnackBar(res[\"message\"], \"Success\");\r\n // this.data.response = true;\r\n // this.dialogRef.close(this.data.response);\r\n // }, err => {\r\n // this.sendFlag = false;\r\n // this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n // })\r\n // }\r\n }\r\n\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Reset My Password

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n Password is required.\r\n \r\n \r\n Password must be at least 6 characters long upper case, special char. req .\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n","import { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { WallpaperUploadService } from './wallpaperUpload.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n//@ts-ignore\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'dialog-wallpaperUpload-component',\r\n templateUrl: './dialog.wallpaperUpload.component.html',\r\n styleUrls: ['./dialog.wallpaperUpload.component.css'],\r\n providers: [WallpaperUploadService]\r\n})\r\nexport class WallpaperUploadDialogComponent implements OnInit {\r\n switcher_toggle_navigator = true;\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n //items in delete tree\r\n received_selected_items = [];\r\n imagesNames: string[] = [];\r\n selectedImage: string = null;\r\n imageData: any = {};\r\n imageSource: any;\r\n requestSentFlag: boolean = false;\r\n\r\n allowMultipleSelect = false;\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private wallpaperUploadService: WallpaperUploadService,\r\n private sanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n\r\n this.wallpaperUploadService.getAllImages().subscribe(imgs => {\r\n this.imagesNames = imgs;\r\n }, err => {\r\n this.loggerService.log(\"WallpaperUploadDialogComponent\", err.message, Levels.error);\r\n })\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items\r\n // let checkDb = \"\"\r\n // this.received_selected_items.forEach(item => checkDb = checkDb + item.value + \",\")\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n getImageUrl() {\r\n this.wallpaperUploadService.getImage(this.selectedImage).subscribe(imageData => {\r\n this.imageData = imageData;\r\n this.imageSource = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${this.imageData?.base64_encoded_image}`);\r\n }, err => {\r\n this.loggerService.log(\"WallpaperUploadDialogComponent\", err.message, Levels.error);\r\n })\r\n }\r\n\r\n openConfirmDialog() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Push wallpaper to units\", message: `Confirm pushing wallpaper with title ${this.selectedImage} to ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.requestSentFlag = true;\r\n this.wallpaperUploadService.postJobs(this.received_selected_items, this.selectedImage,this.user_info_obj.name).subscribe(data => {\r\n this.requestSentFlag = false;\r\n this.openSnackBar(\"Job pushed successfully.\", \"Done\");\r\n }, err => {\r\n this.requestSentFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Wallpaper Management

    \r\n
    \r\n Toggle Navigator\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Units selected

    \r\n\r\n

    \r\n * Select units from tree\r\n

    \r\n\r\n
    0\" style=\"color:blue\" class=\"align-left\">\r\n * Total number of units selected are {{this.received_selected_items.length}}\r\n
    \r\n\r\n
    \r\n\r\n 0\"\r\n mat-table [dataSource]=\"this.received_selected_items\"\r\n class=\"mat-elevation-z8 col-sm-12\">\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 computer\r\n Unit Name - Unit IP\r\n {{element.text}}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Available images

    \r\n \r\n Images Names\r\n \r\n {{image}}\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { wallpaper } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class WallpaperUploadService {\r\n\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAllImages(): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"getWallpaperList\"\r\n })\r\n }\r\n\r\n getImage(img: string): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"getWallpaperByName\",\r\n \"wallpaperName\": img\r\n })\r\n }\r\n postJobs(unitsArr: any, imageID:string,requestedBy:string): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"postJobs\",\r\n \"data\": unitsArr,\r\n \"imageID\": imageID,\r\n \"requestedBy\":requestedBy\r\n })\r\n }\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport jwt_decode from 'jwt-decode'\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccessAuthService {\r\n isAdmin = new BehaviorSubject(false);\r\n user_info_obj_BehaviorSubject = new BehaviorSubject<{\r\n \"role\": string,\r\n \"name\": string,\r\n \"displayname\": string\r\n }>(null);\r\n\r\n constructor(private router: Router) {\r\n if (localStorage.getItem('accessToken')) {\r\n\r\n let user_info_obj: any = jwt_decode(localStorage.getItem('accessToken'));\r\n let adminAuthorization: boolean = user_info_obj.role === \"admin\" ? true : false;\r\n this.isAdmin.next(adminAuthorization);\r\n this.user_info_obj_BehaviorSubject.next(user_info_obj)\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { folderAccess } from './models/folderAccess.model';\r\nimport { system_manager, auth_server } from '../assets/conf_urls.json';\r\nimport { userAccessMapping } from './models/userAccessMapping.model';\r\n\r\n@Injectable()\r\nexport class GlobalSharedService {\r\n private token = localStorage.getItem('accessToken');\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAllAccessFolders(): Observable<{ data: folderAccess[] }> {\r\n return this.http.post<{ data: folderAccess[] }>(\r\n system_manager.services,\r\n {\r\n \"event\": \"select_folders_mapping\"\r\n })\r\n }\r\n\r\n getUserAccessMappingFolders(userId: number): Observable<{ data: userAccessMapping[] }> {\r\n return this.http.post<{ data: userAccessMapping[] }>(\r\n system_manager.services,\r\n {\r\n \"event\": \"getUserAccessFolders\",\r\n \"userId\": userId\r\n })\r\n }\r\n\r\n\r\n\r\n updateAccessFolders(userId: number, foldersArr: number[]): Observable<{ data: folderAccess[] }> {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post<{ data: folderAccess[] }>(\r\n auth_server.updateByIdUserAccess,\r\n {\r\n \"userId\": userId,\r\n \"folders\": foldersArr\r\n }, { headers })\r\n }\r\n\r\n}\r\n","export enum Levels {\r\n info,\r\n warning,\r\n error,\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport jwt_decode from 'jwt-decode';\r\nimport { logger } from \"../../assets/conf_urls.json\"\r\nimport { Levels } from './levels.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerService {\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n \r\n logUser(componentName: string, nameOfUser: string, msg: string, lvl: Levels) {\r\n let body = {\r\n username: nameOfUser,\r\n message: componentName + \": \" + msg,\r\n level: this.getLevelString(lvl)\r\n }\r\n this.http.post(logger.logEntry, body).subscribe(data => { });\r\n }\r\n\r\n log(componentName: string, msg: string, lvl: Levels) {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n\r\n let body = {\r\n username: this.user_info_obj.name,\r\n message: componentName + \": \" + msg,\r\n level: this.getLevelString(lvl)\r\n };\r\n this.http.post(logger.logEntry, body).subscribe(data => { });\r\n }\r\n\r\n getLevelString(lvl: Levels): string {\r\n switch (lvl) {\r\n case Levels.info:\r\n return \"info\";\r\n case Levels.warning:\r\n return \"warning\";\r\n case Levels.error:\r\n return \"error\";\r\n }\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogSearchComponent } from './Dialogs/dialog-search/dialog.search.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SearchModuleService {\r\n\r\n dataTransmitted = new Subject();\r\n private allowMultipleSelect: boolean = false;\r\n\r\n constructor(private router: Router, private dialog: MatDialog,) {\r\n }\r\n\r\n private checkMultipleSelect() {\r\n const urlsForMultipleSelect: string[] = ['/templatemanager', '/softwareupdate']\r\n if (urlsForMultipleSelect.includes(this.router.url)) {\r\n this.allowMultipleSelect = true;\r\n } else {\r\n this.allowMultipleSelect = false;\r\n }\r\n }\r\n\r\n openSearchDialog(): void {\r\n this.checkMultipleSelect();\r\n\r\n const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n maxHeight: '100vh',\r\n data: [],\r\n disableClose: true\r\n });\r\n\r\n let instance = dialogRef.componentInstance;\r\n instance.allowMultipleSelect = this.allowMultipleSelect;\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendData(result)\r\n }\r\n });\r\n\r\n }\r\n\r\n private sendData(data: number[]) {\r\n this.dataTransmitted.next(data);\r\n }\r\n\r\n}\r\n","import { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\n//@ts-ignore\r\nimport { software_update, user_access, system_manager } from \"../assets/conf_urls.json\"\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'app-software-upgrade',\r\n templateUrl: './software-upgrade.component.html',\r\n styleUrls: ['./software-upgrade.component.css']\r\n})\r\nexport class SoftwareUpgradeComponent implements OnInit {\r\n //forms\r\n form_updatelist: FormGroup\r\n show_progressbar = false\r\n\r\n //\r\n switcher_toggle_navigator = true;\r\n show_job_form = false;\r\n // upgrade list\r\n upgrade_list = []\r\n final_upgrade_list = []\r\n //tmp\r\n package_list = []\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n // for user access\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n recieve_selected_items = [];\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.recieve_selected_items = items\r\n items.forEach(item => {\r\n if (item[\"parent\"]) {\r\n delete item[\"parent\"]\r\n }\r\n });\r\n }\r\n\r\n move_selected_to_list() {\r\n\r\n this.show_progressbar = true\r\n let request_body = {\r\n \"event\": \"select_by_id_list\", \"id_list\": this.recieve_selected_items\r\n }\r\n this.http.post(system_manager.services, request_body).subscribe(response_data => {\r\n\r\n if (response_data[\"status_type\"] == \"Success\") {\r\n //found system profile\r\n if (response_data[\"data\"][0]) {\r\n response_data[\"data\"].forEach(item => {\r\n this.move_single_system_to_list(item)\r\n });\r\n this.show_progressbar = false\r\n\r\n }\r\n //no data for this mac address\r\n else {\r\n //change the message only\r\n this.show_progressbar = false;\r\n }\r\n } else {\r\n this.show_progressbar = false;\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n this.recieve_selected_items = []\r\n }\r\n\r\n move_single_system_to_list(system_obj) {\r\n if (this.upgrade_list.find(element => element.system.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n // 1. get the package\r\n let sw_name = \"\"\r\n sw_name = system_obj[\"software_name\"]\r\n this.get_packages_by_sw_name(sw_name, system_obj)\r\n\r\n // 2. create the upgrade list item\r\n\r\n }\r\n\r\n selected_option_value = \"\"\r\n selected_option_sw_name = \"\"\r\n changed_selected_option(value, sw_name, button_id) {\r\n this.selected_option_value = value\r\n this.selected_option_sw_name = sw_name\r\n document.getElementById(\"value_\" + button_id).hidden = false\r\n }\r\n\r\n change_all_similar(button_id) {\r\n if (this.selected_option_sw_name.length > 0 && this.selected_option_value.length > 0) {\r\n Object.keys(this.upgrade_list).forEach(item => {\r\n if (this.upgrade_list[item]['system'][\"software_name\"] == this.selected_option_sw_name) {\r\n let temp = 'value_' + this.upgrade_list[item]['system']['id']\r\n this.form_updatelist.get(temp).setValue(this.selected_option_value);\r\n }\r\n\r\n })\r\n this.selected_option_value = \"\"\r\n this.selected_option_sw_name = \"\"\r\n document.getElementById(button_id).hidden = true\r\n }\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n let element1: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n element1.click();\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, 700)\r\n }\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n });\r\n // end\r\n }\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private _formbuilder: FormBuilder,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_multiple_items(data)\r\n )\r\n this.form_updatelist = this._formbuilder.group({\r\n start_at: ['', Validators.required],\r\n\r\n });\r\n }\r\n //1. get package.\r\n //2. add to form.\r\n get_packages_by_sw_name(sw_name: any, row: any) {\r\n let flag = 1\r\n this.package_list = []\r\n //let row = event[\"item\"][\"props\"]\r\n //if (row == undefined) {\r\n // row = event[\"item\"]\r\n //}\r\n let json_object = { \"event\": \"query_package_by_sw_name\", \"software_name\": sw_name }\r\n this.http.post(software_update.services, json_object).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.package_list = response_data[\"data\"][0][\"packages\"]\r\n\r\n let system_name = row[\"system_name\"]\r\n\r\n Object.keys(this.upgrade_list).forEach(item => {\r\n let current_system_name = this.upgrade_list[item][\"system_name\"]\r\n\r\n if (current_system_name == system_name) {\r\n this.upgrade_list.splice(parseInt(item), 1)\r\n }\r\n\r\n })\r\n //add package with system\r\n\r\n this.upgrade_list.push({ \"system\": row, \"package\": this.package_list })\r\n\r\n //add to form\r\n\r\n\r\n let fc_id = row['id']\r\n\r\n const fc_value = new FormControl('')\r\n const fc_system = new FormControl(row['system_name'])\r\n const fc_ip = new FormControl(row['system_ip'])\r\n const fc_operation = new FormControl('Software Upgrade ' + row['system_name'] + '')\r\n const fc_status = new FormControl('new')\r\n const fc_isexecuted = new FormControl('0')\r\n this.form_updatelist.addControl('value_' + fc_id, fc_value)\r\n this.form_updatelist.addControl('system_name_' + fc_id, fc_system)\r\n this.form_updatelist.addControl('system_ip_' + fc_id, fc_ip)\r\n this.form_updatelist.addControl('operation_name_' + fc_id, fc_operation)\r\n this.form_updatelist.addControl('job_status_' + fc_id, fc_status)\r\n this.form_updatelist.addControl('is_executed_' + fc_id, fc_isexecuted)\r\n // this.form_updatelist.addControl('start_at' , fc_value)\r\n } else {\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n delete_item_from_array(item: any) {\r\n let current_id = item[\"id\"]\r\n const iterate_index = this.upgrade_list.findIndex(i => i.system.id == item[\"id\"]);\r\n this.upgrade_list.splice(iterate_index, 1)\r\n // Object.keys(this.upgrade_list).forEach(index => {\r\n // let iterate_id = this.upgrade_list[index][\"system\"][\"id\"]\r\n // if (current_id == iterate_id) {\r\n // this.upgrade_list.splice(parseInt(index), 1)\r\n // }\r\n // })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n uuidv4() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n create_job() {\r\n let parent_job_id = this.uuidv4()\r\n let date = new Date()\r\n\r\n Object.keys(this.form_updatelist.value).forEach(key => {\r\n let job_id = this.uuidv4()\r\n if (key.includes('system_name_')) {\r\n let row_id = key.split('_')[2]\r\n let system_name = this.form_updatelist.value[key]\r\n let system_ip = this.form_updatelist.value[\"system_ip_\" + row_id]\r\n let operation_name = this.form_updatelist.value[\"operation_name_\" + row_id]\r\n let job_status = this.form_updatelist.value[\"job_status_\" + row_id]\r\n let is_executed = this.form_updatelist.value[\"is_executed_\" + row_id]\r\n let system_command = 'xCommand SystemUnit SoftwareUpgrade URL:\"' + this.form_updatelist.value[\"value_\" + row_id] + '\"'\r\n let start_at = this.form_updatelist.get('start_at').value\r\n\r\n if (system_command !== undefined && system_command.length !== 0 && system_command !== null) {\r\n\r\n let jobj = {\r\n \"event\": \"create_job_sw_upgrade\",\r\n \"system_name\": system_name,\r\n \"system_ip\": system_ip,\r\n \"operation_name\": operation_name,\r\n \"job_status\": job_status,\r\n \"is_executed\": is_executed,\r\n \"system_command\": system_command,\r\n \"start_at\": start_at,\r\n \"parent_job_id\": parent_job_id,\r\n \"job_id\": job_id\r\n }\r\n //post command to the template\r\n this.show_progressbar = true\r\n this.http.post(software_update.services, jobj).subscribe(response_data => {\r\n\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n })\r\n } else {\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 Toggle Navigator\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\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

    Upgrade list\r\n {{upgrade_list.length}}\r\n \r\n \r\n\r\n

    \r\n
    \r\n
    1. Select Start Date/Time \r\n \r\n
    \r\n\r\n
    2. select the required package to upgrade
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n \r\n videocam\r\n
    {{record[\"system\"][\"system_name\"]}}
    \r\n
    System IP: {{record[\"system\"][\"system_ip\"]}}
    \r\n
    Product ID: {{record[\"system\"][\"product_id\"]}}
    \r\n
    Software Name: {{record[\"system\"][\"software_name\"]}}
    \r\n
    Software Version: {{record[\"system\"][\"software_version\"]}}
    \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    No compatible package found for this software\r\n family {{record[\"system\"][\"software_name\"]}}
    \r\n
    \r\n \r\n\r\n\r\n \r\n Available Package/s\r\n \r\n \r\n {{row_package['file_name']}}\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

    Job Profile

    \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { template_manager } from '../assets/conf_urls.json';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { UserData } from './userdata.model';\r\n\r\n@Component({\r\n selector: 'app-sql-data-table',\r\n templateUrl: './sql-data-table.component.html',\r\n\r\n styleUrls: ['./sql-data-table.component.css']\r\n})\r\nexport class SqlDataTableComponent implements OnInit {\r\n show_progressbar = false\r\n displayedColumns: string[] = [];\r\n dataSource: MatTableDataSource;\r\n sqlRows: any;\r\n @Input() icon: string;\r\n @Input() table_name: string;\r\n @Input() condition: string;\r\n @Input() condition_key: string;\r\n @Input() condition_value: string;\r\n @Input() condition_value_type: string;\r\n @Input() hidden_cols: string;\r\n @Input() cols: string;\r\n @Input() query: string;\r\n @Input() ischeckbox: boolean;\r\n @Input() action_button_title: string;\r\n @Input() show_action_button: string;\r\n @Input() url: string;\r\n @Input() table: string;\r\n @Input() dropdownSources: any[];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @Output() formDataMessageEvent = new EventEmitter<{}>();\r\n @Output() messageEvent = new EventEmitter<[]>();\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n myFormGroup: FormGroup;\r\n formTemplate: any = [];\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n list_selected_items: any = [];\r\n list_hidden_cols: any = [];\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private _formBuilder: FormBuilder,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n log_item(n: any, event) {\r\n var flag = 0;\r\n var clickevent = event['checked'];\r\n //add\r\n if (clickevent == true) {\r\n if (this.list_selected_items.length > 0) {\r\n this.list_selected_items.forEach(item => {\r\n if (item['id'] !== n['id']) {\r\n flag = 0;\r\n } else {\r\n flag = 1;\r\n }\r\n });\r\n if (flag == 0) {\r\n this.list_selected_items.push(n);\r\n }\r\n } else {\r\n this.list_selected_items.push(n);\r\n }\r\n }\r\n //remove\r\n else {\r\n const index = this.list_selected_items.indexOf(n, 0);\r\n if (index > -1) {\r\n this.list_selected_items.splice(index, 1);\r\n }\r\n }\r\n this.sendMessage_selected_rows();\r\n }\r\n\r\n sendMessage_selected_rows() {\r\n\r\n this.messageEvent.emit(this.list_selected_items);\r\n\r\n }\r\n\r\n sendMessage_single_row(row) {\r\n this.messageEvent.emit(row);\r\n\r\n }\r\n\r\n ngsubmit() {\r\n // (formDataMessageEvent)=\"receiveMessage($event)\"\r\n if (this.myFormGroup.valid) {\r\n this.formDataMessageEvent.emit(this.myFormGroup.value);\r\n }\r\n }\r\n\r\n generate_displayed_columns() {\r\n this.displayedColumns = [];\r\n if (this.sqlRows && this.sqlRows.length > 0) {\r\n Object.keys(this.sqlRows[0]).forEach(key => {\r\n this.displayedColumns.push(key);\r\n\r\n });\r\n }\r\n }\r\n\r\n\r\n get_sql_rows() {\r\n this.show_progressbar = true\r\n var q;\r\n var json_object;\r\n if (this.condition == \"true\" && this.condition_value != undefined) {\r\n if (this.condition_value_type == 'string' && this.condition_value != undefined) {\r\n\r\n q = this.query + \" where \" + this.condition_key + \"='\" + this.condition_value + \"'\"\r\n } else {\r\n q = this.query + \" where \" + this.condition_key + \"=\" + this.condition_value + \"\"\r\n\r\n }\r\n } else {\r\n q = this.query\r\n }\r\n json_object = {\r\n 'q': q,\r\n 'event': 'dt_query'\r\n }\r\n this.http.post(template_manager.table_dataset, json_object).subscribe(data => {\r\n if (data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.sqlRows = data[\"data\"];\r\n this.generate_displayed_columns();\r\n const dt = this.sqlRows;\r\n this.dataSource = new MatTableDataSource(dt);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n q = \"\"\r\n this.show_progressbar = false\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SqlDataTableComponent\", err.message, Levels.error)\r\n });\r\n setTimeout(() => {\r\n this.list_hidden_cols.forEach(item => {\r\n $('#' + item + '_th').remove()\r\n $('#' + item + '_td').remove()\r\n })\r\n }, 1000)\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.init_form();\r\n // this.change_form();\r\n // this.get_sql_rows()\r\n if (this.hidden_cols != undefined) {\r\n if (this.hidden_cols.includes(',')) {\r\n\r\n this.list_hidden_cols = this.hidden_cols.split(',')\r\n\r\n } else {\r\n this.list_hidden_cols.push(this.hidden_cols)\r\n\r\n }\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n Filter\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
    {{item.replace('_', ' ').toUpperCase()}} \r\n \r\n {{icon}}\r\n {{row[item]}}
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n","import { SystemProfileService } from '../shared/system-profile-V2.service';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { state } from '../shared/state.enum';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { marketsLocations } from '../shared/markets.locations.model';\r\n\r\n\r\n@Component({\r\n templateUrl: './insert.systems.component.html',\r\n styleUrls: ['./insert.systems.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class InsertUnitsComponent implements OnInit {\r\n insertedSystemsText: string;\r\n insertedSystems: {} = {};\r\n targetFolder: { id: Number, text: string } = { id: null, text: \"\" };\r\n folderAddError: string = \"\";\r\n\r\n marketsData: marketsLocations[] = [];\r\n availableMarkets: { id: Number, text: string }[] = [];\r\n selectedMarketName: string = \"\";\r\n availableMarketLocations: { id: Number, text: string }[] = [];\r\n selectedMarketLocationId: { id: Number, text: string } = { id: null, text: null };\r\n provisionUnitsChoice: number = 0;\r\n monitorUnitsChoice: number = 0;\r\n\r\n displayedColumns = [\"deleteIcon\", \"ip\", \"password\", \"targetFolder\", \"market\", \"location\", \"provision\", \"monitor\", \"state\"];\r\n rowsCounter = 0;\r\n processingFlag: boolean = false;\r\n resultReceivedFlag: boolean = false;\r\n disableAfterFetchingData: boolean = false;\r\n StateEnum = state;\r\n @ViewChild('f') insertForm: NgForm;\r\n @ViewChild('ff') submitForm: NgForm;\r\n\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private systemService: SystemProfileService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.systemService.getMarketsLocationsAvailable().subscribe(data => {\r\n this.marketsData = data.data;\r\n for (const market of this.marketsData) {\r\n if (this.availableMarkets.length == 0) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n else {\r\n if (this.availableMarkets[this.availableMarkets.length - 1].text !== market.market_name) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"InsertUnitsComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n recieve_selected_folder(folderDetails) {\r\n let disableBtn: boolean = false;\r\n this.folderAddError = \"\";\r\n this.targetFolder.id = null;\r\n this.targetFolder.text = null;\r\n if (folderDetails && disableBtn == false) {\r\n if (folderDetails.children && folderDetails.children.length > 0\r\n && folderDetails.children[0].value.type == 'folder') {\r\n this.folderAddError = \"- Cannot add system to folder that contains folder(s).\"\r\n disableBtn = true;\r\n return;\r\n }\r\n }\r\n this.targetFolder.id = folderDetails.value.id;\r\n this.targetFolder.text = folderDetails.text;\r\n }\r\n\r\n onSubmitTextArea() {\r\n if (this.insertForm.valid) {\r\n this.clearTableData()\r\n let parsedArr: string[] = this.insertedSystemsText.trim().replace(/\\n/g, \"\").split(\",\");\r\n for (let i = 0; i < parsedArr.length; i++) {\r\n if (parsedArr[i].includes(\"-\")) {\r\n let candidateEle: string[] = parsedArr[i].split(\"-\");\r\n if (candidateEle.length == 2) {\r\n let key = this.rowsCounter++;\r\n this.insertedSystems[key] = [candidateEle[0].replace(/ /g, ''), candidateEle[1].replace(/ /g, ''), null]\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n onSubmitData() {\r\n if (this.submitForm.valid && this.targetFolder.id) {\r\n this.processingFlag = true;\r\n this.resultReceivedFlag = false;\r\n this.disableAfterFetchingData = true;\r\n\r\n let dataObject: {\r\n targetFolderId: Number, marketLocationId: Number, provisionFlag: Number,\r\n monitorFlag: Number, units: { dictId: string, system_ip: string, system_password: string }[]\r\n } = {\r\n targetFolderId: this.targetFolder.id, marketLocationId: this.selectedMarketLocationId.id,\r\n provisionFlag: this.provisionUnitsChoice, monitorFlag: this.monitorUnitsChoice, units: []\r\n }\r\n for (const prop in this.insertedSystems) {\r\n let obj = this.insertedSystems[prop]\r\n dataObject.units.push({ dictId: prop, system_ip: obj[0], system_password: obj[1] });\r\n }\r\n\r\n\r\n this.systemService.addSystems(dataObject).subscribe(ReceivedData => {\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = true;\r\n\r\n for (let i = 0; i < ReceivedData['message'].length; i++) {\r\n let key: string = ReceivedData['message'][i][\"dictId\"];\r\n let stateReceivedEnum: state = ReceivedData['message'][i][\"message\"];\r\n this.insertedSystems[key][2] = this.StateEnum[stateReceivedEnum]\r\n }\r\n this.openSnackBar(\"Operation completed\", \"Success\");\r\n\r\n }, err => {\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = true;\r\n for (const prop in this.insertedSystems) {\r\n let obj = this.insertedSystems[prop]\r\n obj[2] = this.StateEnum[this.StateEnum.ErrorWhileSendingData]\r\n }\r\n this.loggerService.log(\"InsertUnitsComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n this.disableAfterFetchingData = true\r\n\r\n })\r\n }\r\n }\r\n\r\n clearTableData() {\r\n this.insertedSystems = {};\r\n this.rowsCounter = 0;\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = false;\r\n this.disableAfterFetchingData = false;\r\n\r\n }\r\n\r\n clearTextArea() {\r\n this.insertedSystemsText = \"\";\r\n this.clearTableData();\r\n }\r\n\r\n getInsertedSystemsKeys(): string[] {\r\n //set timeout is for the form in order to consider the form touched and show mat-errors automatically\r\n if (Object.keys(this.insertedSystems).length > 0) {\r\n setTimeout(x => {\r\n this.submitForm.form.markAllAsTouched();\r\n }, 100)\r\n }\r\n\r\n return Object.keys(this.insertedSystems);\r\n }\r\n\r\n removeSingleRow(elementID: string) {\r\n if (!this.processingFlag) {\r\n delete this.insertedSystems[elementID];\r\n let element = document.getElementById(elementID + \"ID\");\r\n element.parentNode.removeChild(element);\r\n }\r\n }\r\n\r\n fetchMarketLocations() {\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n const locations = this.marketsData.filter(i => i.market_name == this.selectedMarketName)\r\n for (const location of locations) {\r\n this.availableMarketLocations.push({ id: location.id, text: location.location_name });\r\n }\r\n this.selectedMarketLocationId = this.availableMarketLocations[0];\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n changemonitoringselection(){\r\n if (this.selectedMarketName == 'Not Supported'){\r\n this.monitorUnitsChoice=0\r\n return false\r\n }\r\n return true\r\n }\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Please enter systems IP-Password comma separated

    \r\n
    \r\n
    \r\n \r\n IP-Password, ....\r\n \r\n \r\n
    \r\n \r\n Enter an IP-Password format\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 Units Market\r\n \r\n {{market.text}}\r\n \r\n \r\n\r\n \r\n Locations Available\r\n \r\n {{location.text}}\r\n \r\n \r\n\r\n \r\n Provision units\r\n \r\n No\r\n Yes\r\n \r\n \r\n\r\n \r\n Monitor units\r\n \r\n No\r\n Yes\r\n \r\n \r\n
    \r\n\r\n
    \r\n

    Units to be added

    \r\n\r\n

    \r\n * Insert in the textbox above the units to be added !\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n 0\"\r\n mat-table [dataSource]=\"getInsertedSystemsKeys()\"\r\n class=\"mat-elevation-z8 col-sm-12\">\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n delete_forever\r\n
    \r\n
    \r\n\r\n \r\n IP\r\n \r\n\r\n \r\n Invalid IPV4 format\r\n \r\n\r\n \r\n\r\n \r\n \r\n Password\r\n \r\n \r\n * Note system password is empty\r\n \r\n \r\n \r\n \r\n \r\n \r\n Designated folder\r\n \r\n \r\n * select folder from tree {{folderAddError}}\r\n \r\n\r\n \r\n \r\n \r\n Selected market\r\n \r\n \r\n * select a market from above\r\n \r\n \r\n \r\n \r\n Selected location\r\n \r\n \r\n * select a location from above\r\n \r\n \r\n \r\n \r\n Provision unit\r\n \r\n \r\n * select a provision state from above\r\n \r\n \r\n \r\n \r\n Monitor unit\r\n \r\n \r\n * select a monitor state from above\r\n \r\n \r\n \r\n \r\n \r\n check_circle\r\n \r\n error\r\n\r\n \r\n {{insertedSystems[element][2]}}\r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n close\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n","export enum state {\r\n\r\n IPAlreadyExists = 0,\r\n DuplicateIPAddressReceived = 1,\r\n PasswordOrIpValidationError = 2,\r\n ConnectionErrorWithUnit = 3,\r\n InternalServerError = 4,\r\n ErrorWhileSendingData = 5\r\n\r\n}\r\n","import { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { endpoint } from './endpoints.model';\r\nimport { system_manager } from '../../assets/conf_urls.json';\r\nimport { marketsLocations } from './markets.locations.model';\r\nimport { folderSystem } from './folder.system.model';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Injectable()\r\n\r\nexport class SystemProfileService {\r\n endpointDateToBeTransmitted = new BehaviorSubject(null)\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private http: HttpClient,\r\n public accessAuthService: AccessAuthService) {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n }\r\n\r\n\r\n\r\n tryChangeSystemPassword(systemId: number, newPassword: string): Observable {\r\n let json_object = {\r\n \"id\": systemId,\r\n \"name\": \"system_password\",\r\n \"command\": \"test\",\r\n \"form_label\": \"Change the Admin Password\",\r\n \"secret_ops\": \"password_change\",\r\n \"value\": newPassword\r\n }\r\n return this.http.post(system_manager.push_system_profile, json_object)\r\n }\r\n\r\n updateEndpointFolder(unitId, NewFolderId, ip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_parent_id\",\r\n \"id\": unitId,\r\n \"new_parent_id\": NewFolderId,\r\n \"ip\": ip\r\n })\r\n }\r\n\r\n pullFromSystem(unitip: string): Observable {\r\n return this.http.post(system_manager.pull_system_profile, {\r\n \"system_ip\": unitip\r\n })\r\n }\r\n\r\n deleteSystem(unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'delete',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n unprovisionSystemWithNoDelete(unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'unprovisionSystem',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n monitorOrUnmonitorSystem(flag: boolean, unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": unitip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n provisionSystem(unitip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'startProvision',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n addSystems(data: {\r\n targetFolderId: Number,\r\n marketLocationId: Number,\r\n provisionFlag: Number,\r\n monitorFlag: Number,\r\n units: { dictId: string, system_ip: string, system_password: string }[]\r\n }):\r\n Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'create',\r\n \"data\": data\r\n })\r\n }\r\n\r\n addNoteToSystem(unitIp: string, note: string, userName: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'addNote',\r\n \"system_ip\": unitIp,\r\n \"note\": note,\r\n \"user_name\": userName\r\n })\r\n }\r\n\r\n updateProfile(unitIp, swVersion, data: any[]): Observable {\r\n return this.http.post(system_manager.update_profile, {\r\n \"system_ip\": unitIp,\r\n \"software_version\": swVersion,\r\n \"data\": data\r\n })\r\n }\r\n\r\n getConfigFiles(unitip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip\r\n })\r\n }\r\n\r\n getConfigFileByName(unitip, fileName): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip,\r\n \"configFile\": fileName\r\n })\r\n }\r\n\r\n rollbackSystemConfiguration(unitip, fileName): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip,\r\n \"rollbackFile\": fileName\r\n })\r\n }\r\n\r\n getMarketsLocationsAvailable(): Observable<{ data: marketsLocations[] }> {\r\n return this.http.post<{ data: marketsLocations[] }>(system_manager.services, {\r\n \"event\": \"select_Markets_Locations\"\r\n })\r\n }\r\n\r\n tryInsertFirstPassword(system_ip, targetFolderId, newPassword): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"insert_password_first_time\",\r\n \"system_ip\": system_ip,\r\n \"targetFolderId\": targetFolderId,\r\n \"newPassword\": newPassword\r\n })\r\n }\r\n\r\n updateVMSPassword(system_ip, newPassword): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_vms_password\",\r\n \"system_ip\": system_ip,\r\n \"newPassword\": newPassword\r\n })\r\n }\r\n\r\n getSystemMarketLocation(system_ip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"get_system_market\",\r\n \"system_ip\": system_ip,\r\n })\r\n }\r\n\r\n updateSystemMarket(system_ip, targetFolderId): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_system_market\",\r\n \"system_ip\": system_ip,\r\n \"targetFolderId\": targetFolderId\r\n })\r\n }\r\n\r\n getFolderSystems(targetFolderId): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"get_folder_systems\",\r\n \"id\": targetFolderId\r\n })\r\n }\r\n\r\n removeAllBackups(ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"removeBackups\",\r\n \"system_ip\": ip\r\n })\r\n }\r\n\r\n takeBackup(ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"takeBackup\",\r\n \"system_ip\": ip\r\n })\r\n }\r\n}\r\n\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { folderSystem } from 'src/system-profile-manager/shared/folder.system.model';\r\n\r\n@Component({\r\n selector: 'folder-systems-component',\r\n templateUrl: './folder-systems.component.html',\r\n styleUrls: ['./folder-systems.component.css']\r\n})\r\nexport class FolderSystemsComponent implements OnInit, OnChanges {\r\n receivedUnits: folderSystem[] = [];\r\n displayedColumns = [\"icon\", \"system_name\", \"system_ip\", \"parentFolder\", \"last_monitored_date\", \"status\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @Input() selected_folder: { id: Number, type: string };\r\n selectedFolderId: Number;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n ) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selectedFolderId != this.selected_folder?.id) {\r\n this.selectedFolderId = this.selected_folder?.id;\r\n this.getSystemsInFolder();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.selectedFolderId != this.selected_folder?.id) {\r\n this.selectedFolderId = this.selected_folder?.id;\r\n this.getSystemsInFolder();\r\n }\r\n }\r\n\r\n getSystemsInFolder() {\r\n this.systemService.getFolderSystems(this.selectedFolderId).subscribe(response => {\r\n this.receivedUnits = response[\"message\"].sort((a, b) => (a.system_name < b.system_name) ? -1 : ((a.system_name < b.system_name) ? 1 : 0))\r\n this.logsTableData = new MatTableDataSource(this.receivedUnits);\r\n }, err => {\r\n this.loggerService.log(\"FolderSystemsComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system location\", message: `Are you sure you want to move ` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n }\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n returnElementColor(element: folderSystem) {\r\n if (element.status == \"No HTTPS response\") return \"red\";\r\n else if (element.status == \"Idle\" || element.status == \"In a call\") return \"green\";\r\n else return \"blue\";\r\n }\r\n\r\n goToLink(endpoint) {\r\n let url = \"https://\" + endpoint.system_ip + \"/\"\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n

    Systems in folder

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

    \r\n Units Fetched: {{this.receivedUnits.length}}\r\n

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Filter\r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    tablet_android Name {{element.system_name?element.system_name:\"NA\"}} IP {{element.system_ip}} Parent Folder {{element.parentFolder?element.parentFolder:\"NA\"}} Last Health Check Date {{element.last_monitored_date?element.last_monitored_date:\"NA\"}} Status {{element.status?element.status:\"NA\"}}
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n","import { FormControl, NgForm, Validators } from '@angular/forms';\r\nimport { endpoint } from '../../shared/endpoints.model';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { marketsLocations } from 'src/system-profile-manager/shared/markets.locations.model';\r\n\r\n@Component({\r\n selector: 'system-location-password-component',\r\n templateUrl: './system-password.component.html',\r\n styleUrls: ['./system-password.component.css']\r\n})\r\nexport class SystemPasswordComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n systemMarketLocationData: { id: Number, market_name: string, location_name: string };\r\n panelOpenState1 = false;\r\n panelOpenState2 = false;\r\n panelOpenState3 = false;\r\n panelOpenState4 = false;\r\n\r\n\r\n\r\n updatePasswordError: string = null;\r\n updatePasswordError2: string = null;\r\n updateBtnErrorMsg: string = null;\r\n show_progressbar: boolean = false;\r\n system_password = new FormControl('', [Validators.required]);\r\n vms_system_password = new FormControl('', [Validators.required]);\r\n passwordProcessingFlag: boolean = false;\r\n toBeSentPassword: string = \"\";\r\n marketsData: marketsLocations[] = [];\r\n availableMarkets: { id: Number, text: string }[] = [];\r\n selectedMarketName: string = \"\";\r\n availableMarketLocations: { id: Number, text: string }[] = [];\r\n selectedMarketLocationId: { id: Number, text: string } = { id: null, text: null };\r\n @ViewChild('ff') passwordForm: NgForm;\r\n\r\n\r\n @Input() selected_parent_folder: any;\r\n @Input() selected_folder: any;\r\n @Output() endPoint_location_updated = new EventEmitter();\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.resetAllData();\r\n this.endpoint_data = data;\r\n if (this.endpoint_data && this.endpoint_data.market_location_id) {\r\n this.systemService.getSystemMarketLocation(this.endpoint_data?.system_ip).subscribe(data => {\r\n if (data[\"message\"]?.id) {\r\n this.systemMarketLocationData = data[\"message\"];\r\n setTimeout(() => {\r\n this.selectedMarketName = this.systemMarketLocationData.market_name;\r\n this.fetchMarketLocations();\r\n const location = this.availableMarketLocations.filter(i => i.id == this.systemMarketLocationData.id);\r\n this.selectedMarketLocationId = location[0];\r\n }, 100);\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n });\r\n\r\n this.systemService.getMarketsLocationsAvailable().subscribe(data => {\r\n this.marketsData = data.data;\r\n for (const market of this.marketsData) {\r\n if (this.availableMarkets.length == 0) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n else {\r\n if (this.availableMarkets[this.availableMarkets.length - 1].text !== market.market_name) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system location\", message: `Are you sure you want to move ${this.endpoint_data?.system_name} from folder: ${this.selected_parent_folder?.text} to folder: ${this.selected_folder?.text}?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.onSubmit_update_location();\r\n document.getElementById('refreshID').click();\r\n }\r\n });\r\n }\r\n\r\n openDialogInsertNewPassword(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system password\", message: `Are you sure you want to send this password to try connecting to unit?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.send_new_password();\r\n }\r\n });\r\n }\r\n\r\n openDialogUpdateVmsPassword(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update VMS system password\", message: `Are you sure you want to send this password to try connecting to unit?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.update_vms_password();\r\n }\r\n });\r\n }\r\n\r\n disableUpdateButton(): boolean {\r\n let disableBtn = this.selected_folder == undefined ? true : false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder?.value.id == this.endpoint_data?.folder_id_id) {\r\n this.updateBtnErrorMsg = \"* You chose the same parent folder.\"\r\n disableBtn = true;\r\n return disableBtn;\r\n } else if (this.selected_folder?.internalChildren && this.selected_folder?.internalChildren?.length > 0\r\n && this.selected_folder.internalChildren[0].value.type == 'folder') {\r\n this.updateBtnErrorMsg = \"* Cannot move an endpoint to a folder that contains folder(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n onSubmit_update_location() {\r\n if (this.disableUpdateButton() == false) {\r\n this.systemService.updateEndpointFolder(this.endpoint_data?.id, this.selected_folder?.value.id, this.endpoint_data?.system_ip).subscribe(response => {\r\n this.openSnackBar('Update location is finished', \"Success\");\r\n this.loggerService.log(\"SystemPasswordComponent\", `request to change the folder for unit id=${this.endpoint_data?.id} to be moved to folder with id =${this.selected_folder?.value.id} was successful.`, Levels.info)\r\n this.endPoint_location_updated.emit(\"folder\");\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n this.openSnackBar('Error occurred please check your data', \"Error\");\r\n })\r\n }\r\n }\r\n\r\n\r\n updateSystemPassword() {\r\n let password = this.system_password.value\r\n this.updatePasswordError = null;\r\n // if (password.length < 6 || ! /[A-Z]/.test(password) || !/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/.test(password)) {\r\n // if (password.length < 6) {\r\n // this.updatePasswordError = \"* Password must be of min 6 characters.\";\r\n // } else {\r\n // this.updatePasswordError = \"* Password must contain an upper case, lower case and a special character.\";\r\n // }\r\n // return;\r\n // }\r\n this.push_to_system_new_password(password);\r\n\r\n }\r\n\r\n push_to_system_new_password(new_password: any) {\r\n this.show_progressbar = true\r\n this.passwordProcessingFlag = true;\r\n this.systemService.tryChangeSystemPassword(this.endpoint_data?.id, new_password).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n this.endpoint_data.system_password = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data)\r\n this.show_progressbar = false;\r\n this.openSnackBar(\"Password changed\", \"Success\")\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error);\r\n this.show_progressbar = false;\r\n this.openSnackBar(\"Connection error password could not be changed\", \"Error\")\r\n\r\n })\r\n }\r\n\r\n fetchMarketLocations() {\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n const locations = this.marketsData.filter(i => i.market_name == this.selectedMarketName)\r\n for (const location of locations) {\r\n this.availableMarketLocations.push({ id: location.id, text: location.location_name });\r\n }\r\n this.selectedMarketLocationId = this.availableMarketLocations[0];\r\n }\r\n\r\n send_new_password() {\r\n if (this.passwordForm.valid) {\r\n this.passwordProcessingFlag = true;\r\n this.systemService.tryInsertFirstPassword(this.endpoint_data?.system_ip,\r\n this.selectedMarketLocationId.id, this.toBeSentPassword).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n data[\"message\"].enable_phonebook = data[\"message\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_sip = data[\"message\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_h323 = data[\"message\"].enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(data[\"message\"]);\r\n this.loggerService.log(\"SystemPasswordComponent\", `First password were pushed successfully for unit with id =${this.endpoint_data.id}`, Levels.info)\r\n this.openSnackBar('Password push is completed', \"Success\");\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n }\r\n\r\n update_vms_password() {\r\n let password = this.vms_system_password.value\r\n this.updatePasswordError2 = null;\r\n if (password.length < 6 || ! /[A-Z]/.test(password) || !/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/.test(password)) {\r\n if (password.length < 6) {\r\n this.updatePasswordError2 = \"* Password must be of min 6 characters.\";\r\n } else {\r\n this.updatePasswordError2 = \"* Password must contain an upper case, lower case and a special character.\";\r\n }\r\n return;\r\n }\r\n this.passwordProcessingFlag = true;\r\n this.systemService.updateVMSPassword(this.endpoint_data?.system_ip, password).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n this.endpoint_data.system_password = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data)\r\n this.openSnackBar(\"Password change to VMS is done\", \"Success\")\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error);\r\n this.openSnackBar(\"Connection error password could not be changed on VMS\", \"Error\")\r\n })\r\n }\r\n\r\n updateSystemMarket() {\r\n this.systemService.updateSystemMarket(this.endpoint_data?.system_ip, this.selectedMarketLocationId.id).subscribe(data => {\r\n this.openSnackBar('System market is updated', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n resetAllData() {\r\n this.updatePasswordError = null;\r\n this.updateBtnErrorMsg = null;\r\n this.show_progressbar = false;\r\n this.passwordProcessingFlag = false;\r\n this.toBeSentPassword = \"\";\r\n this.selectedMarketName = \"\";\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n }\r\n}\r\n","
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n Change System Password\r\n \r\n\r\n
    \r\n\r\n \r\n System Password\r\n \r\n \r\n \r\n \r\n

    *Used to change the unit admin password and VMS system password after trying to connect to unit by it.

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

    Select the Market and location for the unit along with the password

    \r\n\r\n \r\n Units Market\r\n \r\n {{market.text}}\r\n \r\n \r\n\r\n \r\n Locations Available\r\n \r\n {{location.text}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n System Password\r\n \r\n \r\n Password Minimum six characters\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 Update System Location\r\n \r\n
    \r\n\r\n
    \r\n Current Location: {{selected_parent_folder.text}}
    \r\n
    Choose destination folder location from tree
    \r\n
    \r\n Selected Location\r\n
    Move system to {{selected_folder.text}}
    \r\n \r\n
    \r\n
    \r\n \r\n
    {{updateBtnErrorMsg}}
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\nRemedy Market Information\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n

    Select the Market and location for the unit

    \r\n\r\n\r\nUnits Market\r\n\r\n{{market.text}}\r\n\r\n\r\n\r\n\r\nLocations Available\r\n\r\n{{location.text}}\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 Update VMS System Password\r\n \r\n\r\n
    \r\n\r\n \r\n System Password\r\n \r\n \r\n \r\n

    {{updatePasswordError2}}

    \r\n

    *Used to update VMS system password after trying to connect to unit by it.

    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n","import { Component, EventEmitter, Input, OnInit, Output, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from '../shared/endpoints.model';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\n\r\n@Component({\r\n selector: 'app-system-V2',\r\n templateUrl: './system-profile-V2.component.html',\r\n styleUrls: ['./system-profile-V2.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class SystemProfileV2Component implements OnInit, OnChanges {\r\n\r\n @Input() tree_received_endpoint_data: any;\r\n @Input() selected_parent_folder: any;\r\n @Input() selected_folder: any;\r\n @Output() endPoint_location_updated = new EventEmitter();\r\n endpoint_data: endpoint;\r\n adminAuthorization: boolean;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService) {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => this.endpoint_data = data);\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.tree_received_endpoint_data?.item) {\r\n this.tree_received_endpoint_data.item.enable_phonebook = this.tree_received_endpoint_data.item.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.tree_received_endpoint_data.item.enable_sip = this.tree_received_endpoint_data.item.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.tree_received_endpoint_data.item.enable_h323 = this.tree_received_endpoint_data.item.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.tree_received_endpoint_data.item);\r\n } else {\r\n // those 2 lines were closed due to the move folder bug conflict with folder systems\r\n // this.tree_received_endpoint_data = null;\r\n // this.systemService.endpointDateToBeTransmitted.next(null);\r\n }\r\n\r\n }\r\n informParentToRefetchData(data) {\r\n this.endPoint_location_updated.emit(data);\r\n\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \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

    No folder was selected from tree

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n","import { Component, OnInit } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from \"../../shared/endpoints.model\";\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\n\r\n@Component({\r\n selector: 'system-setting-component',\r\n templateUrl: './system-setting.component.html',\r\n styleUrls: ['./system-setting.component.css']\r\n})\r\n\r\nexport class SystemSettingComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n endpoint_warnings: string[] = [];\r\n panelOpenState1 = false;\r\n panelOpenState2 = false;\r\n panelOpenState3 = false;\r\n panelOpenState4 = false;\r\n panelOpenState5 = false;\r\n pullSystemFlag: boolean = false;\r\n deleteSystemFlag: boolean = false;\r\n adminAuthorization: boolean;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data = data\r\n\r\n this.endpoint_warnings = [];\r\n if (this.endpoint_data?.system_password !== 1) this.endpoint_warnings.push(\"This system does not have a password.\")\r\n if (this.endpoint_data?.is_provisioned !== 1) this.endpoint_warnings.push(\"This system is not provisioned by VMS.\")\r\n\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n if (this.deleteSystemFlag) {\r\n return;\r\n }\r\n let systemToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete system\", message: `Are you sure you want to delete system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n pullDataFromSystem() {\r\n if (this.pullSystemFlag) {\r\n return;\r\n }\r\n if (this.endpoint_warnings.length > 0) {\r\n this.openSnackBar(\"You cannot pull the system profile before solving all the warnings shown in red.\", \"Error\");\r\n return;\r\n }\r\n this.pullSystemFlag = true;\r\n this.systemService.pullFromSystem(this.endpoint_data.system_ip).subscribe(data => {\r\n this.pullSystemFlag = false;\r\n this.endpoint_data = data[\"message\"];\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemSettingComponent\", `Data were pulled for unit with id =${data.id}`, Levels.info)\r\n this.openSnackBar('Data pull is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemSettingComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while pulling data', \"Error\");\r\n this.pullSystemFlag = false;\r\n })\r\n }\r\n\r\n deleteSystem(systemToBeDeleted) {\r\n this.deleteSystemFlag = true;\r\n this.systemService.deleteSystem(systemToBeDeleted.ip).subscribe(res => {\r\n this.deleteSystemFlag = false;\r\n this.systemService.endpointDateToBeTransmitted.next(null);\r\n this.loggerService.log(\"SystemSettingComponent\", `System was deleted with id = ${systemToBeDeleted.id} , name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.`, Levels.warning)\r\n this.openSnackBar('System deleted is done', \"Success\");\r\n }, err => {\r\n this.deleteSystemFlag = false;\r\n this.loggerService.log(\"SystemSettingComponent\", `System with id = ${systemToBeDeleted.id} could not be deleted`, Levels.error)\r\n this.loggerService.log(\"SystemSettingComponent\", err.message, Levels.error)\r\n this.openSnackBar('Could not reach system but was deleted successfully', \"Error\");\r\n })\r\n }\r\n\r\n}\r\n","
    \r\n\r\n \r\n\r\n\r\n \r\n \r\n General Settings\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Display Name:

    \r\n

    IP Address:

    \r\n

    MAC Address:

    \r\n

    Time Zone:

    \r\n

    System Password:

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

    {{endpoint_data.system_name?endpoint_data.system_name:\"NA\"}}

    \r\n

    {{endpoint_data.system_ip?endpoint_data.system_ip:\"NA\"}}

    \r\n

    {{endpoint_data.system_mac_address?endpoint_data.system_mac_address:\"NA\"}}

    \r\n

    {{endpoint_data.system_time_zone?endpoint_data.system_time_zone:\"NA\"}}

    \r\n

    {{endpoint_data.system_password?\"**********\":\"System password does not exist.\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Software and Product Information\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Software Name:

    \r\n

    Software Version:

    \r\n

    Serial Number:

    \r\n

    Product ID:

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

    {{endpoint_data.software_name?endpoint_data.software_name:\"NA\"}}

    \r\n

    {{endpoint_data.software_version?endpoint_data.software_version:\"NA\"}}

    \r\n

    {{endpoint_data.serial_number?endpoint_data.serial_number:\"NA\"}}

    \r\n

    {{endpoint_data.product_id?endpoint_data.product_id:\"NA\"}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Network Settings\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    DNS Server 1:

    \r\n

    DNS Server 2:

    \r\n

    DNS Server 3:

    \r\n

    DNS Domain Name:

    \r\n\r\n

    NTP Server:

    \r\n

    H323 State:

    \r\n

    H323 Gatekeeper Address:

    \r\n

    H323 Gatekeeper Port:

    \r\n

    H323 Gatekeeper Status:

    \r\n

    H323 Gatekeeper Reason:

    \r\n

    H323 Gatekeeper Mode:

    \r\n

    H323 Alias E164:

    \r\n

    H323 Alias ID:

    \r\n\r\n

    SIP Display Name::

    \r\n

    SIP State:

    \r\n

    SIP Proxy Address 1:

    \r\n

    SIP Proxy Address 1 Status:

    \r\n

    SIP Proxy Address 2:

    \r\n

    SIP Proxy Address 2 Status:

    \r\n

    SIP Registration Status:

    \r\n

    SIP Registration URI:

    \r\n

    SIP Listen Port:

    \r\n

    SIP TLS Verify:

    \r\n

    SIP Authentication:

    \r\n

    SIP Authentication Username:

    \r\n

    SIP Authentication Password:

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

    {{endpoint_data.dns_server1?endpoint_data.dns_server1:\"NA\"}}

    \r\n

    {{endpoint_data.dns_server2?endpoint_data.dns_server2:\"NA\"}}

    \r\n

    {{endpoint_data.dns_server3?endpoint_data.dns_server3:\"NA\"}}

    \r\n

    {{endpoint_data.dns_domain_name?endpoint_data.dns_domain_name:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.ntp_server1?endpoint_data.ntp_server1:\"NA\"}}

    \r\n

    {{endpoint_data.enable_h323?endpoint_data.enable_h323:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_address?endpoint_data.h323_gatekeeper_address:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_port?endpoint_data.h323_gatekeeper_port:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_status?endpoint_data.h323_gatekeeper_status:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_reason?endpoint_data.h323_gatekeeper_reason:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_mode?endpoint_data.h323_gatekeeper_mode:\"NA\"}}

    \r\n

    {{endpoint_data.h323_e164?endpoint_data.h323_e164:\"NA\"}}

    \r\n

    {{endpoint_data.h323_id?endpoint_data.h323_id:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.sip_display_name?endpoint_data.sip_display_name:\"NA\"}}

    \r\n

    {{endpoint_data.enable_sip?endpoint_data.enable_sip:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address?endpoint_data.sip_proxy_address:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address_status?endpoint_data.sip_proxy_address_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address2?endpoint_data.sip_proxy_address2:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address2_status?endpoint_data.sip_proxy_address2_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_registration_status?endpoint_data.sip_registration_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_registration_uri?endpoint_data.sip_registration_uri:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.sip_listen_port?endpoint_data.sip_listen_port:\"NA\"}}

    \r\n

    {{endpoint_data.sip_tls_verify?endpoint_data.sip_tls_verify:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication?endpoint_data.sip_authentication:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication_username?endpoint_data.sip_authentication_username:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication_password?\"***********\":\"NA\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Address Book\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Address Book State:

    \r\n

    Address Book:

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

    {{endpoint_data.enable_phonebook?endpoint_data.enable_phonebook:\"NA\"}}

    \r\n

    {{endpoint_data.phonebook_fk_id?endpoint_data.phonebook_fk_id:\"NA\"}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n Notes\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Notes on unit:

    \r\n

    Unit remedy tickets:

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

    {{endpoint_data.ops_note?endpoint_data.ops_note:\"No notes were placed on this unit.\"}}

    \r\n

    {{endpoint_data.remedy_opened_ticket?endpoint_data.remedy_opened_ticket:\"No remedy tickets exists.\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    0\">\r\n

    * {{warning}}

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    0\">\r\n

    * Pull system is disabled until all warnings shown above in red are resolved.

    \r\n
    \r\n
    \r\n","import { Component, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { endpoint } from 'src/system-profile-manager/shared/endpoints.model';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport jwt_decode from 'jwt-decode'\r\n\r\n@Component({\r\n templateUrl: './addNote.dialog.component.html',\r\n styleUrls: ['./addNote.dialog.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class AddNoteComponent {\r\n insertedNoteText: string;\r\n endpoint_data: endpoint;\r\n user_info_obj: any;\r\n @ViewChild('f') insertForm: NgForm;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, @Inject(MAT_DIALOG_DATA) public dataReceived: endpoint,\r\n public dialogRef: MatDialogRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n\r\n if (!this.dataReceived.ops_note) this.dataReceived.ops_note = \"\";\r\n this.endpoint_data = this.dataReceived;\r\n const [first, ...rest] = this.dataReceived.ops_note.split(':-');\r\n this.insertedNoteText = rest.join(\":-\");\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n if (data) {\r\n if (!data.ops_note) data.ops_note = \"\";\r\n this.endpoint_data = data;\r\n this.insertedNoteText = data.ops_note\r\n }\r\n });\r\n }\r\n\r\n onSubmitTextArea() {\r\n if (this.insertForm.valid) {\r\n this.systemService.addNoteToSystem(this.endpoint_data.system_ip, this.insertedNoteText, this.user_info_obj.name).subscribe(data => {\r\n data[\"message\"];\r\n this.dialogRef.close(data[\"message\"]);\r\n }, err => {\r\n this.loggerService.log(\"AddNoteComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred try again later', \"Error\");\r\n this.dialogRef.close();\r\n })\r\n }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n
    \r\n

    Notes

    \r\n
    \r\n\r\n
    \r\n \r\n Write note here ...\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 close\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { state } from 'src/system-profile-manager/shared/state.enum';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n\r\n\r\n@Component({\r\n templateUrl: './rollback.component.html',\r\n styleUrls: ['./rollback.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class RollbackComponent implements OnInit {\r\n listOfFIlesNames: string[];\r\n currentConfigName: string = null;\r\n currentConfigString: string = null;\r\n rolledBackSelectedName: string = null;\r\n rolledBackSelectedString: string = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private systemService: SystemProfileService,\r\n private loggerService: LoggerService,\r\n @Inject(MAT_DIALOG_DATA) public systemIpAndName: { system_ip, system_name },\r\n private _snackBar: MatSnackBar, private dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.systemService.getConfigFiles(this.systemIpAndName.system_ip).subscribe(res => {\r\n if (res[\"data\"] && res[\"data\"].length > 0) {\r\n this.currentConfigName = res[\"data\"][0];\r\n this.systemService.getConfigFileByName(this.systemIpAndName.system_ip, this.currentConfigName).subscribe(fileRes => {\r\n this.currentConfigString = fileRes[\"data\"];\r\n this.currentConfigString.replace(\"\", \"\")\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n res[\"data\"].shift();\r\n this.listOfFIlesNames = res[\"data\"];\r\n }\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n onSubmitData() {\r\n\r\n }\r\n\r\n onNgModelChange(event) {\r\n this.systemService.getConfigFileByName(this.systemIpAndName.system_ip, event[0]).subscribe(fileRes => {\r\n this.rolledBackSelectedString = fileRes[\"data\"];\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Rollback System\", message: `Are you sure you want to rollback system with name = ${this.systemIpAndName.system_name} and ip = ${this.systemIpAndName.system_ip} from the current configuration: ${this.currentConfigName} to selected configuration: ${this.rolledBackSelectedName}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.systemService.rollbackSystemConfiguration(this.systemIpAndName.system_ip, this.rolledBackSelectedName[0]).subscribe(res => {\r\n res[\"data\"].enable_phonebook = res[\"data\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n res[\"data\"].enable_sip = res[\"data\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n res[\"data\"].enable_h323 = res[\"data\"].enable_h323 == '1' ? \"On\" : \"Off\";\r\n\r\n this.loggerService.log(\"RollbackComponent\", `Rollback for unit with ip =${this.systemIpAndName.system_ip} is completed`, Levels.info)\r\n this.openSnackBar('Rollback is completed', \"Success\");\r\n this.dialogRef.close(res[\"data\"]);\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\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

    Rollback Configuration for {{systemIpAndName.system_name}}

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

    Configuration Files Available

    \r\n \r\n \r\n {{fileName}}\r\n \r\n \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n

    Current System Configuration: {{currentConfigName}}

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

    \r\n Selected Rollback System Configuration: {{rolledBackSelectedName?rolledBackSelectedName:\"no file selected\"}}

    \r\n

    \r\n Select a file to preview from the configuration files available list\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 close\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n","import { endpoint } from '../../shared/endpoints.model';\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\nimport { AddNoteComponent } from './dialog-add-note/addNote.dialog.component';\r\nimport { RollbackComponent } from './dialog-rollback/rollback.component';\r\n\r\n@Component({\r\n selector: 'system-state-provisioning-component',\r\n templateUrl: './system-state-provisioing.component.html',\r\n styleUrls: ['./system-state-provisioing.component.css']\r\n})\r\n\r\nexport class SystemStateProvisioningComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n adminAuthorization: boolean;\r\n provisionProcessFlag: boolean = false;\r\n systemMarketLocationData: { id: Number, market_name: string, location_name: string };\r\n Math = Math;\r\n currentDate: any = new Date();\r\n lastDownDate: any = new Date();\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data = data;\r\n this.currentDate = new Date();\r\n this.lastDownDate = Date.parse(this.endpoint_data.last_down_time)\r\n if (this.endpoint_data && this.endpoint_data.market_location_id) {\r\n this.systemService.getSystemMarketLocation(this.endpoint_data?.system_ip).subscribe(data => {\r\n if (data[\"message\"]?.id) {\r\n this.systemMarketLocationData = data[\"message\"];\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n });\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n\r\n }\r\n\r\n openDialogUnprovision(): void {\r\n if (this.provisionProcessFlag) return;\r\n\r\n let systemToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Unprovision and delete system\", message: `Are you sure you want to unprovision system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.unProvisionSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openDialogProvision(): void {\r\n if (this.provisionProcessFlag) return;\r\n\r\n let systemToBeProvisioned = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Provision system by VMS\", message: `VMS will send a provision request to system with name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.provisionSystem(systemToBeProvisioned);\r\n }\r\n });\r\n }\r\n\r\n openAddNoteDialog(): void {\r\n const dialogRef = this.dialog.open(AddNoteComponent, {\r\n width: '450px',\r\n data: this.endpoint_data,\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n result.enable_phonebook = result.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n result.enable_sip = result.enable_sip == '1' ? \"On\" : \"Off\"\r\n result.enable_h323 = result.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(result);\r\n }\r\n });\r\n }\r\n\r\n openRollbackDialog(): void {\r\n const dialogRef = this.dialog.open(RollbackComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n data: { system_ip: this.endpoint_data.system_ip, system_name: this.endpoint_data.system_name },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.systemService.endpointDateToBeTransmitted.next(result);\r\n }\r\n });\r\n }\r\n\r\n openRemoveBackupDialog(): void {\r\n let systemBackupsToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Remove All Configuration and Status Backups\", message: `Are you sure you want to remove all backups for system with name = ${systemBackupsToBeDeleted.name} and ip = ${systemBackupsToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendRemoveBackupsRequest(systemBackupsToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openBackupDialog(): void {\r\n let systemToBeBackedUp = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Backup Configuration and Status Files\", message: `Are you sure you want to take backup for system with name = ${systemToBeBackedUp.name} and ip = ${systemToBeBackedUp.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendBackupRequest(systemToBeBackedUp);\r\n }\r\n });\r\n }\r\n\r\n openDialogMonitor(): void {\r\n if (this.systemMarketLocationData?.market_name == 'Not Supported') {\r\n return;\r\n }\r\n let monitorFlag: Number = this.endpoint_data.is_monitored == 1 ? 0 : 1;\r\n let systemToBeProvisioned = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n let title = this.endpoint_data.is_monitored == 1 ? \"Stop monitoring unit\" : \"Start monitoring unit\";\r\n let message = this.endpoint_data.is_monitored == 1 ? \"VMS will send a request to stop monitor\" : \"VMS will send a request to start monitor\";\r\n\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: title, message: `${message} and health checking system with name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendMonitorRequest(monitorFlag, systemToBeProvisioned);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n unProvisionSystem(systemToBeDeleted) {\r\n if (this.provisionProcessFlag) return;\r\n this.provisionProcessFlag = true;\r\n this.systemService.unprovisionSystemWithNoDelete(systemToBeDeleted.ip).subscribe(res => {\r\n this.endpoint_data.is_provisioned = 0;\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System was unprovisioned with id = ${systemToBeDeleted.id} , name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.`, Levels.warning)\r\n this.openSnackBar('System unprovision is done', \"Success\");\r\n }, err => {\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeDeleted.id} could not be unprovisioned`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while unprovisioning system', \"Error\");\r\n })\r\n }\r\n provisionSystem(systemToBeProvisioned) {\r\n if (this.provisionProcessFlag) return;\r\n this.provisionProcessFlag = true;\r\n this.systemService.provisionSystem(systemToBeProvisioned.ip).subscribe(res => {\r\n this.provisionProcessFlag = false;\r\n this.endpoint_data.is_provisioned = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} , name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip} is now provisioned`, Levels.warning)\r\n this.openSnackBar('System provision is done', \"Success\");\r\n }, err => {\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} could not be provisioned`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while sending a provision request to system', \"Error\");\r\n })\r\n }\r\n\r\n sendMonitorRequest(monitorFlag, systemToBeProvisioned) {\r\n this.systemService.monitorOrUnmonitorSystem(monitorFlag, systemToBeProvisioned.ip).subscribe(res => {\r\n this.endpoint_data.is_monitored = monitorFlag ? 1 : 0;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} , name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip} is now monitored/unmonitored and its monitoring state is ${this.endpoint_data.is_monitored}`, Levels.warning)\r\n this.openSnackBar('System monitoring is done', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} could not be monitored/unmonitored and its monitoring state is ${this.endpoint_data.is_monitored}`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while sending a monitor request to system', \"Error\");\r\n })\r\n }\r\n\r\n sendRemoveBackupsRequest(systemToBeDeleted) {\r\n this.systemService.removeAllBackups(systemToBeDeleted.ip).subscribe(res => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System backups were deleted for ip = ${systemToBeDeleted.ip} , name = ${systemToBeDeleted.name}.`, Levels.warning)\r\n this.openSnackBar('Backups removal is done', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeDeleted.id} could not delete backup files`, Levels.error)\r\n this.openSnackBar('Connection error occurred while removing backups for system', \"Error\");\r\n })\r\n }\r\n\r\n sendBackupRequest(systemToBeBackedUp) {\r\n this.systemService.takeBackup(systemToBeBackedUp.ip).subscribe(res => {\r\n this.openSnackBar('System backup is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeBackedUp.id} error while backing up files`, Levels.error)\r\n this.openSnackBar('Connection error occurred while taking backup for system files', \"Error\");\r\n })\r\n }\r\n\r\n returnElementColor(element: endpoint) {\r\n if (element.status == \"No HTTPS response\") return \"red\";\r\n else if (element.status == \"Idle\" || element.status == \"In a call\") return \"green\";\r\n else return \"blue\";\r\n }\r\n\r\n goToLink(endpoint) {\r\n let url = \"https://\" + endpoint.system_ip + \"/\"\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n
    \r\n

    {{endpoint_data.system_name}} : {{endpoint_data.system_ip}}

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

    System State:

    \r\n

    Last Health Check Date:

    \r\n

    Up Time:

    \r\n

    Last Active Date:

    \r\n

    Provisioning State:

    \r\n

    Monitoring State:

    \r\n

    Notes:

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

    {{endpoint_data.status?endpoint_data.status:\"Relay-Unit connection error\"}}

    \r\n

    {{endpoint_data.last_monitored_date?endpoint_data.last_monitored_date:\"NA\"}}

    \r\n

    {{endpoint_data.last_up_time?(endpoint_data.last_down_time?Math.ceil(Math.abs(currentDate.getTime() - lastDownDate) / 60000)+\" minutes\":\"NA\"):\"NA\"}}

    \r\n

    {{endpoint_data.last_up_time?endpoint_data.last_up_time:\"NA\"}}

    \r\n

    {{endpoint_data.is_provisioned==1?\"System is provisioned by VMS\":\"VMS is not provisioning this system\"}}

    \r\n

    {{endpoint_data.is_monitored==1?\"System is monitored by VMS\":\"VMS is not monitoring this system\"}}

    \r\n

    {{endpoint_data.ops_note?endpoint_data.ops_note:\"No notes were placed on this unit.\"}}

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

    * Rollback is disabled for unprovisioned units

    \r\n

    * This system does not have a password

    \r\n

    * This system is not monitored by VMS

    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n","export let timeZones: string[] = [\"Africa/Abidjan\",\r\n \"Africa/Accra\",\r\n \"Africa/Addis_Ababa\",\r\n \"Africa/Algiers\",\r\n \"Africa/Asmara\",\r\n \"Africa/Asmera\",\r\n \"Africa/Bamako\",\r\n \"Africa/Bangui\",\r\n \"Africa/Banjul\",\r\n \"Africa/Bissau\",\r\n \"Africa/Blantyre\",\r\n \"Africa/Brazzaville\",\r\n \"Africa/Bujumbura\",\r\n \"Africa/Cairo\",\r\n \"Africa/Casablanca\",\r\n \"Africa/Ceuta\",\r\n \"Africa/Conakry\",\r\n \"Africa/Dakar\",\r\n \"Africa/Dar_es_Salaam\",\r\n \"Africa/Djibouti\",\r\n \"Africa/Douala\",\r\n \"Africa/El_Aaiun\",\r\n \"Africa/Freetown\",\r\n \"Africa/Gaborone\",\r\n \"Africa/Harare\",\r\n \"Africa/Johannesburg\",\r\n \"Africa/Juba\",\r\n \"Africa/Kampala\",\r\n \"Africa/Khartoum\",\r\n \"Africa/Kigali\",\r\n \"Africa/Kinshasa\",\r\n \"Africa/Lagos\",\r\n \"Africa/Libreville\",\r\n \"Africa/Lome\",\r\n \"Africa/Luanda\",\r\n \"Africa/Lubumbashi\",\r\n \"Africa/Lusaka\",\r\n \"Africa/Malabo\",\r\n \"Africa/Maputo\",\r\n \"Africa/Maseru\",\r\n \"Africa/Mbabane\",\r\n \"Africa/Mogadishu\",\r\n \"Africa/Monrovia\",\r\n \"Africa/Nairobi\",\r\n \"Africa/Ndjamena\",\r\n \"Africa/Niamey\",\r\n \"Africa/Nouakchott\",\r\n \"Africa/Ouagadougou\",\r\n \"Africa/Porto-Novo\",\r\n \"Africa/Sao_Tome\",\r\n \"Africa/Timbuktu\",\r\n \"Africa/Tripoli\",\r\n \"Africa/Tunis\",\r\n \"Africa/Windhoek\",\r\n \"America/Adak\",\r\n \"America/Anchorage\",\r\n \"America/Anguilla\",\r\n \"America/Antigua\",\r\n \"America/Araguaina\",\r\n \"America/Argentina/Buenos_Aires\",\r\n \"America/Argentina/Catamarca\",\r\n \"America/Argentina/ComodRivadavia\",\r\n \"America/Argentina/Cordoba\",\r\n \"America/Argentina/Jujuy\",\r\n \"America/Argentina/La_Rioja\",\r\n \"America/Argentina/Mendoza\",\r\n \"America/Argentina/Rio_Gallegos\",\r\n \"America/Argentina/Salta\",\r\n \"America/Argentina/San_Juan\",\r\n \"America/Argentina/San_Luis\",\r\n \"America/Argentina/Tucuman\",\r\n \"America/Argentina/Ushuaia\",\r\n \"America/Aruba\",\r\n \"America/Asuncion\",\r\n \"America/Atikokan\",\r\n \"America/Atka\",\r\n \"America/Bahia\",\r\n \"America/Bahia_Banderas\",\r\n \"America/Barbados\",\r\n \"America/Belem\",\r\n \"America/Belize\",\r\n \"America/Blanc-Sablon\",\r\n \"America/Boa_Vista\",\r\n \"America/Bogota\",\r\n \"America/Boise\",\r\n \"America/Buenos_Aires\",\r\n \"America/Cambridge_Bay\",\r\n \"America/Campo_Grande\",\r\n \"America/Cancun\",\r\n \"America/Caracas\",\r\n \"America/Catamarca\",\r\n \"America/Cayenne\",\r\n \"America/Cayman\",\r\n \"America/Chicago\",\r\n \"America/Chihuahua\",\r\n \"America/Coral_Harbour\",\r\n \"America/Cordoba\",\r\n \"America/Costa_Rica\",\r\n \"America/Creston\",\r\n \"America/Cuiaba\",\r\n \"America/Curacao\",\r\n \"America/Danmarkshavn\",\r\n \"America/Dawson\",\r\n \"America/Dawson_Creek\",\r\n \"America/Denver\",\r\n \"America/Detroit\",\r\n \"America/Dominica\",\r\n \"America/Edmonton\",\r\n \"America/Eirunepe\",\r\n \"America/El_Salvador\",\r\n \"America/Ensenada\",\r\n \"America/Fort_Nelson\",\r\n \"America/Fort_Wayne\",\r\n \"America/Fortaleza\",\r\n \"America/Glace_Bay\",\r\n \"America/Godthab\",\r\n \"America/Goose_Bay\",\r\n \"America/Grand_Turk\",\r\n \"America/Grenada\",\r\n \"America/Guadeloupe\",\r\n \"America/Guatemala\",\r\n \"America/Guayaquil\",\r\n \"America/Guyana\",\r\n \"America/Halifax\",\r\n \"America/Havana\",\r\n \"America/Hermosillo\",\r\n \"America/Indiana/Indianapolis\",\r\n \"America/Indiana/Knox\",\r\n \"America/Indiana/Marengo\",\r\n \"America/Indiana/Petersburg\",\r\n \"America/Indiana/Tell_City\",\r\n \"America/Indiana/Vevay\",\r\n \"America/Indiana/Vincennes\",\r\n \"America/Indiana/Winamac\",\r\n \"America/Indianapolis\",\r\n \"America/Inuvik\",\r\n \"America/Iqaluit\",\r\n \"America/Jamaica\",\r\n \"America/Jujuy\",\r\n \"America/Juneau\",\r\n \"America/Kentucky/Louisville\",\r\n \"America/Kentucky/Monticello\",\r\n \"America/Knox_IN\",\r\n \"America/Kralendijk\",\r\n \"America/La_Paz\",\r\n \"America/Lima\",\r\n \"America/Los_Angeles\",\r\n \"America/Louisville\",\r\n \"America/Lower_Princes\",\r\n \"America/Maceio\",\r\n \"America/Managua\",\r\n \"America/Manaus\",\r\n \"America/Marigot\",\r\n \"America/Martinique\",\r\n \"America/Matamoros\",\r\n \"America/Mazatlan\",\r\n \"America/Mendoza\",\r\n \"America/Menominee\",\r\n \"America/Merida\",\r\n \"America/Metlakatla\",\r\n \"America/Mexico_City\",\r\n \"America/Miquelon\",\r\n \"America/Moncton\",\r\n \"America/Monterrey\",\r\n \"America/Montevideo\",\r\n \"America/Montreal\",\r\n \"America/Montserrat\",\r\n \"America/Nassau\",\r\n \"America/New_York\",\r\n \"America/Nipigon\",\r\n \"America/Nome\",\r\n \"America/Noronha\",\r\n \"America/North_Dakota/Beulah\",\r\n \"America/North_Dakota/Center\",\r\n \"America/North_Dakota/New_Salem\",\r\n \"America/Nuuk\",\r\n \"America/Ojinaga\",\r\n \"America/Panama\",\r\n \"America/Pangnirtung\",\r\n \"America/Paramaribo\",\r\n \"America/Phoenix\",\r\n \"America/Port-au-Prince\",\r\n \"America/Port_of_Spain\",\r\n \"America/Porto_Acre\",\r\n \"America/Porto_Velho\",\r\n \"America/Puerto_Rico\",\r\n \"America/Punta_Arenas\",\r\n \"America/Rainy_River\",\r\n \"America/Rankin_Inlet\",\r\n \"America/Recife\",\r\n \"America/Regina\",\r\n \"America/Resolute\",\r\n \"America/Rio_Branco\",\r\n \"America/Rosario\",\r\n \"America/Santa_Isabel\",\r\n \"America/Santarem\",\r\n \"America/Santiago\",\r\n \"America/Santo_Domingo\",\r\n \"America/Sao_Paulo\",\r\n \"America/Scoresbysund\",\r\n \"America/Shiprock\",\r\n \"America/Sitka\",\r\n \"America/St_Barthelemy\",\r\n \"America/St_Johns\",\r\n \"America/St_Kitts\",\r\n \"America/St_Lucia\",\r\n \"America/St_Thomas\",\r\n \"America/St_Vincent\",\r\n \"America/Swift_Current\",\r\n \"America/Tegucigalpa\",\r\n \"America/Thule\",\r\n \"America/Thunder_Bay\",\r\n \"America/Tijuana\",\r\n \"America/Toronto\",\r\n \"America/Tortola\",\r\n \"America/Vancouver\",\r\n \"America/Virgin\",\r\n \"America/Whitehorse\",\r\n \"America/Winnipeg\",\r\n \"America/Yakutat\",\r\n \"America/Yellowknife\",\r\n \"Antarctica/Casey\",\r\n \"Antarctica/Davis\",\r\n \"Antarctica/DumontDUrville\",\r\n \"Antarctica/Macquarie\",\r\n \"Antarctica/Mawson\",\r\n \"Antarctica/McMurdo\",\r\n \"Antarctica/Palmer\",\r\n \"Antarctica/Rothera\",\r\n \"Antarctica/South_Pole\",\r\n \"Antarctica/Syowa\",\r\n \"Antarctica/Troll\",\r\n \"Antarctica/Vostok\",\r\n \"Arctic/Longyearbyen\",\r\n \"Asia/Aden\",\r\n \"Asia/Almaty\",\r\n \"Asia/Amman\",\r\n \"Asia/Anadyr\",\r\n \"Asia/Aqtau\",\r\n \"Asia/Aqtobe\",\r\n \"Asia/Ashgabat\",\r\n \"Asia/Ashkhabad\",\r\n \"Asia/Atyrau\",\r\n \"Asia/Baghdad\",\r\n \"Asia/Bahrain\",\r\n \"Asia/Baku\",\r\n \"Asia/Bangkok\",\r\n \"Asia/Barnaul\",\r\n \"Asia/Beirut\",\r\n \"Asia/Bishkek\",\r\n \"Asia/Brunei\",\r\n \"Asia/Calcutta\",\r\n \"Asia/Chita\",\r\n \"Asia/Choibalsan\",\r\n \"Asia/Chongqing\",\r\n \"Asia/Chungking\",\r\n \"Asia/Colombo\",\r\n \"Asia/Dacca\",\r\n \"Asia/Damascus\",\r\n \"Asia/Dhaka\",\r\n \"Asia/Dili\",\r\n \"Asia/Dubai\",\r\n \"Asia/Dushanbe\",\r\n \"Asia/Famagusta\",\r\n \"Asia/Gaza\",\r\n \"Asia/Harbin\",\r\n \"Asia/Hebron\",\r\n \"Asia/Ho_Chi_Minh\",\r\n \"Asia/Hong_Kong\",\r\n \"Asia/Hovd\",\r\n \"Asia/Irkutsk\",\r\n \"Asia/Istanbul\",\r\n \"Asia/Jakarta\",\r\n \"Asia/Jayapura\",\r\n \"Asia/Jerusalem\",\r\n \"Asia/Kabul\",\r\n \"Asia/Kamchatka\",\r\n \"Asia/Karachi\",\r\n \"Asia/Kashgar\",\r\n \"Asia/Kathmandu\",\r\n \"Asia/Katmandu\",\r\n \"Asia/Khandyga\",\r\n \"Asia/Kolkata\",\r\n \"Asia/Krasnoyarsk\",\r\n \"Asia/Kuala_Lumpur\",\r\n \"Asia/Kuching\",\r\n \"Asia/Kuwait\",\r\n \"Asia/Macao\",\r\n \"Asia/Macau\",\r\n \"Asia/Magadan\",\r\n \"Asia/Makassar\",\r\n \"Asia/Manila\",\r\n \"Asia/Muscat\",\r\n \"Asia/Nicosia\",\r\n \"Asia/Novokuznetsk\",\r\n \"Asia/Novosibirsk\",\r\n \"Asia/Omsk\",\r\n \"Asia/Oral\",\r\n \"Asia/Phnom_Penh\",\r\n \"Asia/Pontianak\",\r\n \"Asia/Pyongyang\",\r\n \"Asia/Qatar\",\r\n \"Asia/Qostanay\",\r\n \"Asia/Qyzylorda\",\r\n \"Asia/Rangoon\",\r\n \"Asia/Riyadh\",\r\n \"Asia/Saigon\",\r\n \"Asia/Sakhalin\",\r\n \"Asia/Samarkand\",\r\n \"Asia/Seoul\",\r\n \"Asia/Shanghai\",\r\n \"Asia/Singapore\",\r\n \"Asia/Srednekolymsk\",\r\n \"Asia/Taipei\",\r\n \"Asia/Tashkent\",\r\n \"Asia/Tbilisi\",\r\n \"Asia/Tehran\",\r\n \"Asia/Tel_Aviv\",\r\n \"Asia/Thimbu\",\r\n \"Asia/Thimphu\",\r\n \"Asia/Tokyo\",\r\n \"Asia/Tomsk\",\r\n \"Asia/Ujung_Pandang\",\r\n \"Asia/Ulaanbaatar\",\r\n \"Asia/Ulan_Bator\",\r\n \"Asia/Urumqi\",\r\n \"Asia/Ust-Nera\",\r\n \"Asia/Vientiane\",\r\n \"Asia/Vladivostok\",\r\n \"Asia/Yakutsk\",\r\n \"Asia/Yangon\",\r\n \"Asia/Yekaterinburg\",\r\n \"Asia/Yerevan\",\r\n \"Atlantic/Azores\",\r\n \"Atlantic/Bermuda\",\r\n \"Atlantic/Canary\",\r\n \"Atlantic/Cape_Verde\",\r\n \"Atlantic/Faeroe\",\r\n \"Atlantic/Faroe\",\r\n \"Atlantic/Jan_Mayen\",\r\n \"Atlantic/Madeira\",\r\n \"Atlantic/Reykjavik\",\r\n \"Atlantic/South_Georgia\",\r\n \"Atlantic/St_Helena\",\r\n \"Atlantic/Stanley\",\r\n \"Australia/ACT\",\r\n \"Australia/Adelaide\",\r\n \"Australia/Brisbane\",\r\n \"Australia/Broken_Hill\",\r\n \"Australia/Canberra\",\r\n \"Australia/Currie\",\r\n \"Australia/Darwin\",\r\n \"Australia/Eucla\",\r\n \"Australia/Hobart\",\r\n \"Australia/LHI\",\r\n \"Australia/Lindeman\",\r\n \"Australia/Lord_Howe\",\r\n \"Australia/Melbourne\",\r\n \"Australia/NSW\",\r\n \"Australia/North\",\r\n \"Australia/Perth\",\r\n \"Australia/Queensland\",\r\n \"Australia/South\",\r\n \"Australia/Sydney\",\r\n \"Australia/Tasmania\",\r\n \"Australia/Victoria\",\r\n \"Australia/West\",\r\n \"Australia/Yancowinna\",\r\n \"Brazil/Acre\",\r\n \"Brazil/DeNoronha\",\r\n \"Brazil/East\",\r\n \"Brazil/West\",\r\n \"CET\",\r\n \"CST6CDT\",\r\n \"Canada/Atlantic\",\r\n \"Canada/Central\",\r\n \"Canada/Eastern\",\r\n \"Canada/Mountain\",\r\n \"Canada/Newfoundland\",\r\n \"Canada/Pacific\",\r\n \"Canada/Saskatchewan\",\r\n \"Canada/Yukon\",\r\n \"Chile/Continental\",\r\n \"Chile/EasterIsland\",\r\n \"Cuba\",\r\n \"EET\",\r\n \"EST\",\r\n \"EST5EDT\",\r\n \"Egypt\",\r\n \"Eire\",\r\n \"Etc/GMT\",\r\n \"Etc/GMT+0\",\r\n \"Etc/GMT+1\",\r\n \"Etc/GMT+10\",\r\n \"Etc/GMT+11\",\r\n \"Etc/GMT+12\",\r\n \"Etc/GMT+2\",\r\n \"Etc/GMT+3\",\r\n \"Etc/GMT+4\",\r\n \"Etc/GMT+5\",\r\n \"Etc/GMT+6\",\r\n \"Etc/GMT+7\",\r\n \"Etc/GMT+8\",\r\n \"Etc/GMT+9\",\r\n \"Etc/GMT-0\",\r\n \"Etc/GMT-1\",\r\n \"Etc/GMT-10\",\r\n \"Etc/GMT-11\",\r\n \"Etc/GMT-12\",\r\n \"Etc/GMT-13\",\r\n \"Etc/GMT-14\",\r\n \"Etc/GMT-2\",\r\n \"Etc/GMT-3\",\r\n \"Etc/GMT-4\",\r\n \"Etc/GMT-5\",\r\n \"Etc/GMT-6\",\r\n \"Etc/GMT-7\",\r\n \"Etc/GMT-8\",\r\n \"Etc/GMT-9\",\r\n \"Etc/GMT0\",\r\n \"Etc/Greenwich\",\r\n \"Etc/UCT\",\r\n \"Etc/UTC\",\r\n \"Etc/Universal\",\r\n \"Etc/Zulu\",\r\n \"Europe/Amsterdam\",\r\n \"Europe/Andorra\",\r\n \"Europe/Astrakhan\",\r\n \"Europe/Athens\",\r\n \"Europe/Belfast\",\r\n \"Europe/Belgrade\",\r\n \"Europe/Berlin\",\r\n \"Europe/Bratislava\",\r\n \"Europe/Brussels\",\r\n \"Europe/Bucharest\",\r\n \"Europe/Budapest\",\r\n \"Europe/Busingen\",\r\n \"Europe/Chisinau\",\r\n \"Europe/Copenhagen\",\r\n \"Europe/Dublin\",\r\n \"Europe/Gibraltar\",\r\n \"Europe/Guernsey\",\r\n \"Europe/Helsinki\",\r\n \"Europe/Isle_of_Man\",\r\n \"Europe/Istanbul\",\r\n \"Europe/Jersey\",\r\n \"Europe/Kaliningrad\",\r\n \"Europe/Kiev\",\r\n \"Europe/Kirov\",\r\n \"Europe/Lisbon\",\r\n \"Europe/Ljubljana\",\r\n \"Europe/London\",\r\n \"Europe/Luxembourg\",\r\n \"Europe/Madrid\",\r\n \"Europe/Malta\",\r\n \"Europe/Mariehamn\",\r\n \"Europe/Minsk\",\r\n \"Europe/Monaco\",\r\n \"Europe/Moscow\",\r\n \"Europe/Nicosia\",\r\n \"Europe/Oslo\",\r\n \"Europe/Paris\",\r\n \"Europe/Podgorica\",\r\n \"Europe/Prague\",\r\n \"Europe/Riga\",\r\n \"Europe/Rome\",\r\n \"Europe/Samara\",\r\n \"Europe/San_Marino\",\r\n \"Europe/Sarajevo\",\r\n \"Europe/Saratov\",\r\n \"Europe/Simferopol\",\r\n \"Europe/Skopje\",\r\n \"Europe/Sofia\",\r\n \"Europe/Stockholm\",\r\n \"Europe/Tallinn\",\r\n \"Europe/Tirane\",\r\n \"Europe/Tiraspol\",\r\n \"Europe/Ulyanovsk\",\r\n \"Europe/Uzhgorod\",\r\n \"Europe/Vaduz\",\r\n \"Europe/Vatican\",\r\n \"Europe/Vienna\",\r\n \"Europe/Vilnius\",\r\n \"Europe/Volgograd\",\r\n \"Europe/Warsaw\",\r\n \"Europe/Zagreb\",\r\n \"Europe/Zaporozhye\",\r\n \"Europe/Zurich\",\r\n \"GB\",\r\n \"GB-Eire\",\r\n \"GMT\",\r\n \"GMT+0\",\r\n \"GMT-0\",\r\n \"GMT0\",\r\n \"Greenwich\",\r\n \"HST\",\r\n \"Hongkong\",\r\n \"Iceland\",\r\n \"Indian/Antananarivo\",\r\n \"Indian/Chagos\",\r\n \"Indian/Christmas\",\r\n \"Indian/Cocos\",\r\n \"Indian/Comoro\",\r\n \"Indian/Kerguelen\",\r\n \"Indian/Mahe\",\r\n \"Indian/Maldives\",\r\n \"Indian/Mauritius\",\r\n \"Indian/Mayotte\",\r\n \"Indian/Reunion\",\r\n \"Iran\",\r\n \"Israel\",\r\n \"Jamaica\",\r\n \"Japan\",\r\n \"Kwajalein\",\r\n \"Libya\",\r\n \"MET\",\r\n \"MST\",\r\n \"MST7MDT\",\r\n \"Mexico/BajaNorte\",\r\n \"Mexico/BajaSur\",\r\n \"Mexico/General\",\r\n \"NZ\",\r\n \"NZ-CHAT\",\r\n \"Navajo\",\r\n \"PRC\",\r\n \"PST8PDT\",\r\n \"Pacific/Apia\",\r\n \"Pacific/Auckland\",\r\n \"Pacific/Bougainville\",\r\n \"Pacific/Chatham\",\r\n \"Pacific/Chuuk\",\r\n \"Pacific/Easter\",\r\n \"Pacific/Efate\",\r\n \"Pacific/Enderbury\",\r\n \"Pacific/Fakaofo\",\r\n \"Pacific/Fiji\",\r\n \"Pacific/Funafuti\",\r\n \"Pacific/Galapagos\",\r\n \"Pacific/Gambier\",\r\n \"Pacific/Guadalcanal\",\r\n \"Pacific/Guam\",\r\n \"Pacific/Honolulu\",\r\n \"Pacific/Johnston\",\r\n \"Pacific/Kiritimati\",\r\n \"Pacific/Kosrae\",\r\n \"Pacific/Kwajalein\",\r\n \"Pacific/Majuro\",\r\n \"Pacific/Marquesas\",\r\n \"Pacific/Midway\",\r\n \"Pacific/Nauru\",\r\n \"Pacific/Niue\",\r\n \"Pacific/Norfolk\",\r\n \"Pacific/Noumea\",\r\n \"Pacific/Pago_Pago\",\r\n \"Pacific/Palau\",\r\n \"Pacific/Pitcairn\",\r\n \"Pacific/Pohnpei\",\r\n \"Pacific/Ponape\",\r\n \"Pacific/Port_Moresby\",\r\n \"Pacific/Rarotonga\",\r\n \"Pacific/Saipan\",\r\n \"Pacific/Samoa\",\r\n \"Pacific/Tahiti\",\r\n \"Pacific/Tarawa\",\r\n \"Pacific/Tongatapu\",\r\n \"Pacific/Truk\",\r\n \"Pacific/Wake\",\r\n \"Pacific/Wallis\",\r\n \"Pacific/Yap\",\r\n \"Poland\",\r\n \"Portugal\",\r\n \"ROC\",\r\n \"ROK\",\r\n \"Singapore\",\r\n \"Turkey\",\r\n \"UCT\",\r\n \"US/Alaska\",\r\n \"US/Aleutian\",\r\n \"US/Arizona\",\r\n \"US/Central\",\r\n \"US/East-Indiana\",\r\n \"US/Eastern\",\r\n \"US/Hawaii\",\r\n \"US/Indiana-Starke\",\r\n \"US/Michigan\",\r\n \"US/Mountain\",\r\n \"US/Pacific\",\r\n \"US/Samoa\",\r\n \"UTC\",\r\n \"Universal\",\r\n \"W-SU\",\r\n \"WET\",\r\n \"Zulu\"\r\n]\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from \"../../shared/endpoints.model\";\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\nimport { timeZones } from \"./timeZones\";\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'system-update',\r\n templateUrl: './update.system.component.html',\r\n styleUrls: ['update.system.component.css']\r\n})\r\n\r\nexport class SystemUpdateComponent implements OnInit {\r\n\r\n endpoint_data_received: endpoint;\r\n endpoint_data_ToBe_Edited: endpoint;\r\n keysToBeChecked = [\"system_name\", \"sip_display_name\", \"system_time_zone\", \"dns_server1\", \"dns_server2\", \"dns_server3\",\r\n \"ntp_server1\", \"sip_proxy_address\", \"sip_proxy_address2\", \"sip_registration_uri\", \"sip_listen_port\", \"sip_tls_verify\",\r\n \"h323_gatekeeper_address\", \"dns_domain_name\", \"sip_authentication_username\", \"sip_authentication_password\",\r\n \"enable_h323\", \"enable_sip\", \"h323_e164\", \"h323_id\"]\r\n availableTimeZones = timeZones;\r\n onAndOffOptions: string[] = [\"Off\", \"On\"]\r\n checkedAuthenticationPassword: boolean = false;\r\n @ViewChild('ff') submitForm: NgForm;\r\n pushingToSystemFlag: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data_received = data;\r\n this.endpoint_data_ToBe_Edited = Object.assign({}, this.endpoint_data_received);\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n let systemToBeDeleted = { id: this.endpoint_data_received.id, name: this.endpoint_data_received.system_name, ip: this.endpoint_data_received.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete system\", message: `Are you sure you want to delete system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onSubmitData() {\r\n if (this.submitForm.valid && !this.pushingToSystemFlag) {\r\n this.pushingToSystemFlag = true;\r\n let dataChanged: { key: string, newVal: string }[] = [];\r\n dataChanged = this.checkAndGetChangedData();\r\n if (dataChanged.length > 0 && this.endpoint_data_received.is_provisioned && this.endpoint_data_received.system_password) {\r\n this.systemService.updateProfile(this.endpoint_data_received.system_ip,\r\n this.endpoint_data_received.software_version, dataChanged).subscribe(data => {\r\n // this.endpoint_data_received = data[\"message\"];\r\n // this.endpoint_data_ToBe_Edited = Object.assign({}, this.endpoint_data_received);\r\n this.pushingToSystemFlag = false;\r\n data[\"message\"].enable_phonebook = data[\"message\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_sip = data[\"message\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_h323 = data[\"message\"].enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(data[\"message\"]);\r\n this.loggerService.log(\"SystemUpdateComponent\", `Data were pushed for unit with id =${this.endpoint_data_received.id}`, Levels.info)\r\n this.openSnackBar('Data push is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemUpdateComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n this.pushingToSystemFlag = false;\r\n })\r\n } else {\r\n this.pushingToSystemFlag = false;\r\n }\r\n }\r\n }\r\n\r\n checkAndGetChangedData(): { key: string, newVal: string }[] {\r\n let dataChanged: { key: string, newVal: string }[] = [];\r\n for (let keyToBeChecked of this.keysToBeChecked) {\r\n if (this.endpoint_data_received[keyToBeChecked] != this.endpoint_data_ToBe_Edited[keyToBeChecked]) {\r\n if (keyToBeChecked == \"sip_authentication_password\") {\r\n if (!this.checkedAuthenticationPassword || this.endpoint_data_ToBe_Edited[keyToBeChecked] == \"***\"\r\n || this.endpoint_data_ToBe_Edited[keyToBeChecked].length < 6) { continue; }\r\n }\r\n dataChanged.push({ key: keyToBeChecked, newVal: this.endpoint_data_ToBe_Edited[keyToBeChecked] })\r\n }\r\n }\r\n return dataChanged\r\n }\r\n\r\n openDialogPush(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Push to System\", message: `Are you sure you want to push configuration to system with name = ${this.endpoint_data_received.system_name} and ip = ${this.endpoint_data_received.system_ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.onSubmitData();\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n

    Push to unit

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

    General Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n System Name\r\n \r\n \r\n System Name is required\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n Time Zone\r\n \r\n {{zone}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n IP\r\n \r\n \r\n Invalid IPV4 format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n MAC Address\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Software Name\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Software Version\r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n Serial Number\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Product ID\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n PhoneBook\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n Enable PhoneBook\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    SIP Settings

    \r\n\r\n
    \r\n
    \r\n \r\n System SIP Name\r\n \r\n \r\n System SIP Name is required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Proxy Address 1\r\n \r\n \r\n Required\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n SIP Proxy Address 1 Status \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Proxy Address 2\r\n \r\n \r\n Length (6-50)\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n SIP Proxy Address 2 Status\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Registration Status\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Tls Verify\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Registration URI\r\n \r\n \r\n Required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Listen Port\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Authentication\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Authentication Username\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n Sip Authentication Password\r\n \r\n \r\n Min. length 6 chars\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Enable SIP\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n

    H323 Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Address\r\n \r\n \r\n Invalid format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Port\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Mode\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Status\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 H323 Gatekeeper Reason\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Enable H323\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Alias E164\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Alias ID\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n

    Other Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n NTP Server 1\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Server 1\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Server 2\r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n DNS Server 3\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Domain Name\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

    * VMS can't push to unprovisioned units

    \r\n

    * VMS can't push to a unit with no password

    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n","import { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { system_manager, user_access } from '../assets/conf_urls.json';\r\nimport { Observable } from 'rxjs';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { InsertUnitsComponent } from './dialog-insert-system/insert.systems.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-system-profile-manager',\r\n templateUrl: './system-profile-manager.component.html',\r\n styleUrls: ['./system-profile-manager.component.css']\r\n})\r\nexport class SystemProfileManagerComponent implements OnInit {\r\n switcher_navigator = true;\r\n valueChanges: Observable;\r\n @Output() send_system_profile_object = new EventEmitter<{}>();\r\n show_progressbar = false;\r\n items: any = {};\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n verify_user: any\r\n\r\n selected_parent_folder: any\r\n selected_folder: any\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_item({ 'text': 'test', 'value': data[0] })\r\n )\r\n }\r\n\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/login';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n check_auth() {\r\n // for user access\r\n this.user_permission = localStorage.getItem('ua');\r\n if (this.user_permission && this.user_email) {\r\n\r\n this.get_user_access_service(this.user_email);\r\n\r\n } else {\r\n // user has to login\r\n window.location.href = '#/login';\r\n }\r\n //end\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n click_button() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('mat-focus-indicator mat-raised-button mat-button-base mat-primary ng-star-inserted')[0] as HTMLElement;\r\n element.click();\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }, 300)\r\n }\r\n\r\n publish_system_profile(value) {\r\n this.send_system_profile_object.emit(value)\r\n\r\n }\r\n\r\n recieve_selected_system(systemrow) {\r\n this.items = systemrow\r\n\r\n if (systemrow[\"item\"][\"name\"]) {\r\n\r\n this.openSnackBar(systemrow[\"item\"][\"name\"] + \" was selected\", \"Ok\")\r\n }\r\n this.click_button()\r\n\r\n }\r\n\r\n recieve_selected_item(systemobj) {\r\n this.selected_folder = undefined;\r\n this.selected_parent_folder = undefined;\r\n this.items = {};\r\n if (systemobj[\"value\"][\"type\"] == 'endpoint') {\r\n\r\n let json_obj = {\r\n \"event\": \"select_by_id\",\r\n \"id\": systemobj[\"value\"][\"id\"]\r\n }\r\n this.http.post(system_manager.services, json_obj).subscribe(data => {\r\n this.items = { \"item\": data[0] }\r\n if (data[\"id\"]) {\r\n\r\n this.openSnackBar(data[\"system_name\"] + \" was selected\", \"Ok\")\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemProfileManagerComponent\", err, Levels.error)\r\n })\r\n\r\n this.selected_parent_folder = systemobj[\"value\"][\"parent\"]\r\n this.click_button()\r\n }\r\n\r\n else if (systemobj[\"value\"][\"type\"] == 'folder') {\r\n this.selected_folder = systemobj\r\n }\r\n }\r\n //function to refetch data if someone changed the location folder for any other unit\r\n refetchData(data: any) {\r\n //make its value empty to fire a change event on it\r\n this.sort_tree_by = '';\r\n //this settimeout is to delay the other change a bit for the tree ti rerender the change and then fire a new change event\r\n setTimeout(() => {\r\n this.sort_tree_by = data;\r\n }, 100)\r\n\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(InsertUnitsComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n //this.deleteSystem(systemToBeDeleted);\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 Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Toggle Tree\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\n// @ts-ignore\r\nimport { template_manager, user_access, folder_manager, system_manager } from '../assets/conf_urls.json';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { createReturn } from 'typescript';\r\nimport { isObject } from 'rxjs/internal/util/isObject';\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport jwt_decode from 'jwt-decode'\r\nimport { stringify } from '@angular/compiler/src/util';\r\nimport { consoleTestResultHandler } from 'tslint/lib/test';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SearchModuleService } from 'src/shared/search.module.service';\r\n\r\nexport interface CommandsGroup {\r\n\r\n CommandFamily: string;\r\n CommandName: string[];\r\n id: string[];\r\n software_id: string[];\r\n CommandType: string[];\r\n CommandSyntax: string[];\r\n\r\n\r\n}\r\n\r\nexport interface IMappingCommands {\r\n event: \"create_template_conf\",\r\n added_by: string\r\n command_syntax: string,\r\n command_value: any,\r\n command_type: any,\r\n command_sw_version: any,\r\n command_sw_version_text: any,\r\n command_family: any,\r\n template_name_id: any,\r\n command_id_fk: any,\r\n command_is_enabled: 1\r\n};\r\n\r\nexport const _filter = (opt: string[], value: string): string[] => {\r\n const filterValue = value.toLowerCase();\r\n\r\n return opt.filter(item => item.toLowerCase().indexOf(filterValue) === 0);\r\n};\r\n\r\n@Component({\r\n selector: 'app-template-manager',\r\n templateUrl: './template-manager.component.html',\r\n styleUrls: ['./template-manager.component.css']\r\n})\r\nexport class TemplateManagerComponent implements OnInit {\r\n //\r\n newTemplateForm: FormGroup;\r\n mapCommandsForm: FormGroup;\r\n createJobForm: FormGroup;\r\n updateJobForm: FormGroup;\r\n modal_modifyCommandConfForm: FormGroup;\r\n dateTimeExample;\r\n panelOpenState = false;\r\n show_progressbar = false;\r\n // stepper:\r\n // templates selection\r\n distinct_templates: any\r\n template_name: any;\r\n template_id: any;\r\n\r\n //\r\n //commands form\r\n distinct_software_name: any\r\n filter_sw_version: any\r\n selected_commands_list: IMappingCommands[] = []\r\n saved_commands_list = []\r\n //create a job\r\n created_job_id: any;\r\n list_of_job_selected_folders = []\r\n list_of_job_selected_systems = []\r\n creation_finished = false\r\n slider_addmore = false\r\n slider_addmore_commands = false\r\n slider_editcurrent_commands = false\r\n slider_editcurrent_job = false\r\n\r\n //end\r\n //profile\r\n target_folder_list = []\r\n target_systems_list = []\r\n modal_edit_command_conf = []\r\n //\r\n\r\n //messaging vars\r\n //configuration => history job on click to get the logs.\r\n selected_item_job_id = \"\"\r\n selected_item_template_id = \"\"\r\n selected_item_job_row: any\r\n switcher_deletecommand = false\r\n show_delete_job = false\r\n selected_item_job_id_history = \"\"\r\n selected_sql_row = {}\r\n\r\n //\r\n\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n\r\n stateGroups = [];\r\n\r\n SoftwareVersion = new FormControl();\r\n stateForm: FormGroup = this._formBuilder.group({\r\n stateGroup: '',\r\n });\r\n\r\n stateGroupOptions: Observable;\r\n\r\n user_access_obj = ['admin', 'operator']\r\n //user_info = stringify(jwt_decode(localStorage.getItem('accessToken')))\r\n user_info_obj;\r\n sort_template_tree_by = \"template_jobs\"\r\n sort_nav_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n recieve_selected_items = [];\r\n addNewTemplate: boolean = false;\r\n\r\n public utctimenow = new Date().toUTCString()\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private _formBuilder: FormBuilder,\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService) {\r\n setInterval(() => {\r\n this.utctimenow = new Date().toUTCString();\r\n }, 1);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_multiple_items(data)\r\n );\r\n if (localStorage.getItem('accessToken')) {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'))\r\n }\r\n this.stateGroupOptions = this.stateForm.get('stateGroup')!.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(value => this._filterGroup(value))\r\n );\r\n\r\n\r\n this.get_distinct_templates();\r\n this.get_distinct_software_CommandDisplayName();\r\n\r\n this.newTemplateForm = this._formBuilder.group({\r\n template_name: ['', Validators.required],\r\n template_description: ['', Validators.required]\r\n });\r\n\r\n this.mapCommandsForm = this._formBuilder.group({});\r\n\r\n this.createJobForm = this._formBuilder.group({\r\n job_title: ['', Validators.required],\r\n start_job_at: ['', Validators.required],\r\n template_frequency: ['', Validators.required],\r\n template_display_name_id: [''],\r\n event: ['create_template_job'],\r\n template_job_id: [''],\r\n next_run_time: ['']\r\n\r\n });\r\n this.updateJobForm = this._formBuilder.group({\r\n job_title: ['', Validators.required],\r\n start_job_at: ['', Validators.required],\r\n template_frequency: ['', Validators.required],\r\n\r\n event: ['update_template_profile_id'],\r\n\r\n\r\n });\r\n this.modal_modifyCommandConfForm = this._formBuilder.group({});\r\n\r\n }\r\n\r\n click_get_conf_button() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('mat-focus-indicator m-1 mat-raised-button mat-button-base mat-primary ng-star-inserted')[0] as HTMLElement;\r\n element.click();\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }, 700)\r\n }\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n let element1: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n element1.click();\r\n } catch (error) {\r\n\r\n }\r\n }, 700)\r\n }\r\n\r\n reload_treeView1() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n // for user access\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.recieve_selected_items = items\r\n // items.forEach(item => {\r\n // if (item[\"parent\"]) {\r\n // delete item[\"parent\"]\r\n // }\r\n // });\r\n\r\n }\r\n recieve_selected_multiple_items_commands(items: any) {\r\n this.recieve_selected_items = items\r\n items.forEach(item => {\r\n if (item[\"parent\"]) {\r\n delete item[\"parent\"]\r\n }\r\n });\r\n }\r\n\r\n move_selected_to_list() {\r\n\r\n this.show_progressbar = true\r\n //this.stateGroups = this.stateGroups.concat(this.recieve_selected_items)\r\n this.recieve_selected_items.forEach(item => {\r\n if (this.stateGroups.find(element => element.id == item[\"id\"])) {\r\n return\r\n }\r\n this.stateGroups.push(item)\r\n })\r\n this.recieve_selected_items = []\r\n this.show_progressbar = false\r\n }\r\n\r\n move_selected_systems_to_task_list() {\r\n this.show_progressbar = true\r\n let request_body = {\r\n \"event\": \"select_by_id_list\", \"id_list\": this.recieve_selected_items\r\n }\r\n this.http.post(system_manager.services, request_body).subscribe(response_data => {\r\n\r\n if (response_data[\"status_type\"] == \"Success\") {\r\n //found system profile\r\n if (response_data[\"data\"][0]) {\r\n response_data[\"data\"].forEach(item => {\r\n this.move_single_system_to_list(item)\r\n });\r\n this.show_progressbar = false\r\n\r\n }\r\n //no data for this mac address\r\n else {\r\n //change the message only\r\n this.show_progressbar = false;\r\n }\r\n } else {\r\n this.show_progressbar = false;\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n this.recieve_selected_items = []\r\n }\r\n\r\n move_single_system_to_list(system_obj) {\r\n if (this.list_of_job_selected_systems.find(element => element.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n this.list_of_job_selected_systems.push(system_obj);\r\n if (this.target_systems_list.find(element => element.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n this.target_systems_list.push(system_obj);\r\n // 2. create the upgrade list item\r\n\r\n }\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n get_distinct_templates() {\r\n this.http.post(template_manager.services, { \"event\": \"query_distinct_templates\" }).subscribe(response_data => {\r\n this.distinct_templates = response_data[\"data\"];\r\n })\r\n }\r\n\r\n get_distinct_software_CommandDisplayName() {\r\n this.http.post(template_manager.services, { \"event\": \"query_distinct_sw_version\" }).subscribe(response_data => {\r\n this.distinct_software_name = response_data[\"data\"];\r\n })\r\n }\r\n\r\n //first form : stepper save template\r\n onCheck_assign_id(row: any) {\r\n this.template_name = row[\"template_name\"]\r\n this.template_id = row[\"id\"]\r\n this.http.post(template_manager.services, { \"event\": \"query_template_assigned_commands\", \"template_id\": this.template_id }).subscribe(response_data => {\r\n this.stateGroups = response_data[\"data\"]\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n ngOnsubmit_save_new_template() {\r\n if (this.newTemplateForm.valid) {\r\n this.newTemplateForm.value[\"event\"] = \"create_template_profile\"\r\n this.http.post(template_manager.services, this.newTemplateForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.template_id = response_data[\"data\"];\r\n this.get_distinct_templates();\r\n this.addNewTemplate = false;\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }\r\n\r\n //end\r\n //second form: stepper commnad mapper\r\n getCommands_by_filter(id: any) {\r\n var req_body = { \"event\": \"query_commands_by_software_version\", \"id\": id }\r\n this.http.post(template_manager.services, req_body).subscribe(data => {\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }\r\n\r\n filter_sw_version_event(id: any) {\r\n this.filter_sw_version = id\r\n\r\n }\r\n\r\n get_template_saved_commnads() {\r\n let j = {\r\n \"event\": \"query_template_conf_id\",\r\n \"id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, j).subscribe(data => {\r\n this.saved_commands_list = data[\"data\"]\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n add_selected_command_to_list(id, sw_id, command_syntax, command_type, command_name) {\r\n\r\n\r\n let json = { \"event\": \"query_choices_by_command_id\", \"id\": id }\r\n // this is to get command choices\r\n this.http.post(template_manager.services, json).subscribe(response_data => {\r\n // $event[\"options\"] = response_data[\"data\"]\r\n })\r\n\r\n\r\n const fc = new FormControl(command_syntax, Validators.required);\r\n this.mapCommandsForm.addControl('command_syntax_' + id, fc)\r\n\r\n const fk = new FormControl(id, Validators.required);\r\n this.mapCommandsForm.addControl('fk_' + id, fk)\r\n\r\n const fcv = new FormControl('', Validators.required);\r\n this.mapCommandsForm.addControl('command_value_' + id, fcv)\r\n const fc_sw = new FormControl(sw_id, Validators.required);\r\n this.mapCommandsForm.addControl('sw_' + id, fc_sw)\r\n const fc_command_type = new FormControl(command_type, Validators.required);\r\n this.mapCommandsForm.addControl('type_' + id, fc_command_type)\r\n const template_name_id = new FormControl(this.template_id, Validators.required);\r\n this.mapCommandsForm.addControl('template_' + id, template_name_id)\r\n //\r\n Object.keys(this.selected_commands_list).forEach(item => {\r\n let item_id = this.selected_commands_list[item][\"item\"][\"props\"][\"id\"]\r\n if (id == item_id) {\r\n this.selected_commands_list.splice(parseInt(item), 1)\r\n }\r\n\r\n })\r\n\r\n // this.selected_commands_list.push($event)\r\n this.openSnackBar(\"Command was added to the list\", \"success\")\r\n }\r\n\r\n\r\n //end\r\n delete_from_list(item: any) {\r\n\r\n }\r\n\r\n assign_commands_to_template(commands_arr: any) {\r\n let template_name_id = null\r\n if (template_name_id == undefined || template_name_id == null) {\r\n template_name_id = this.selected_item_template_id\r\n }\r\n // if (command_type == 'text') {\r\n // command_value = '\"' + command_value + '\"'\r\n // }\r\n\r\n if (commands_arr) {\r\n\r\n let jobj = {\r\n \"event\": \"create_template_conf\",\r\n \"template_name_id\": this.template_id,\r\n \"commands_arr\": commands_arr\r\n // \"added_by\": added_by,\r\n // \"command_syntax\": command_syntax,\r\n // \"command_value\": command_value,\r\n // \"command_sw_version\": command_sw,\r\n // \"command_id_fk\": command_id,\r\n // \"command_is_enabled\": 1\r\n }\r\n //post command to the template\r\n this.show_progressbar = true\r\n this.http.post(template_manager.services, jobj).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n } else {\r\n this.openSnackBar(\"Commands list is empty\", \"Pending\")\r\n }\r\n }\r\n\r\n\r\n //\r\n\r\n\r\n create_template_job() {\r\n\r\n\r\n var d = new Date();\r\n var year = d.getFullYear();\r\n var month = d.getMonth();\r\n var day = d.getDate();\r\n var c = new Date(year + 30, month, day);\r\n\r\n if (this.template_id == undefined) {\r\n this.openSnackBar(\"Please select/create a template first\", \"Error\")\r\n return\r\n }\r\n // if (!this.createJobForm.value[\"job_title\"].includes('@')) {\r\n\r\n // this.createJobForm.value[\"job_title\"] = this.createJobForm.value[\"job_title\"] + \" @\" + localStorage.getItem('useremail').split('@')[0]\r\n // }\r\n\r\n this.createJobForm.value[\"template_display_name_id\"] = this.template_id\r\n this.createJobForm.value[\"template_job_id\"] = this.uuidv4()\r\n this.createJobForm.value[\"next_run_time\"] = this.createJobForm.value[\"start_job_at\"]\r\n this.createJobForm.value[\"start_expires_at\"] = c\r\n if (this.createJobForm.valid) {\r\n this.http.post(template_manager.services, this.createJobForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.created_job_id = response_data['data']\r\n } else {\r\n\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }\r\n\r\n uuidv4() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n tree_recieve_selected_item($event) {\r\n\r\n if ($event[\"expandable\"] == false) {\r\n let switch_case = 0\r\n let entered_system_name = $event['item']['name']\r\n Object.keys(this.list_of_job_selected_systems).forEach(index => {\r\n let row_system_name = this.list_of_job_selected_systems[index]['item']['name']\r\n if (row_system_name == entered_system_name) {\r\n switch_case = 1\r\n return\r\n }\r\n })\r\n if (switch_case == 0) {\r\n this.list_of_job_selected_systems.push($event)\r\n this.openSnackBar(entered_system_name + \" was added to the list.\", 'Success')\r\n } else {\r\n\r\n this.openSnackBar(entered_system_name + \" is already in the list.\", 'Warning')\r\n\r\n }\r\n } else {\r\n let switch_case = 0\r\n let entered_folder_name = $event['item_name']\r\n Object.keys(this.list_of_job_selected_folders).forEach(index => {\r\n let row_folder_name = this.list_of_job_selected_folders[index]['item_name']\r\n if (row_folder_name == entered_folder_name) {\r\n switch_case = 1\r\n return\r\n }\r\n })\r\n if (switch_case == 0) {\r\n this.list_of_job_selected_folders.push($event)\r\n this.openSnackBar(entered_folder_name + \" was added to the list.\", 'Success')\r\n } else {\r\n\r\n this.openSnackBar(entered_folder_name + \" is already in the list.\", 'Warning')\r\n\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n set_template_job_id($event) {\r\n this.selected_item_job_row = $event\r\n this.selected_item_job_id_history = $event[\"value\"][\"id\"]\r\n this.selected_item_template_id = $event[\"value\"][\"parent\"][\"value\"][\"id\"]\r\n this.get_job_target_list($event[\"value\"][\"id\"])\r\n this.get_template_saved_commnads()\r\n\r\n }\r\n\r\n get_job_target_list(id: any) {\r\n this.target_folder_list = []\r\n this.target_systems_list = []\r\n this.selected_item_job_id = id\r\n let j = {\r\n \"event\": \"query_conf_by_job_id\",\r\n \"id\": id\r\n\r\n }\r\n this.http.post(template_manager.services, j).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n //this.target_folder_list = response_data[\"data\"][0][\"folders\"]\r\n this.target_systems_list = response_data[\"data\"][\"systems\"]\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n assign_items_to_job() {\r\n let jobject = {\r\n \"event\": \"create_job_system_conf\",\r\n \"systeminformation_id_list\": this.recieve_selected_items,\r\n \"templatecreatejob_id\": this.created_job_id,\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(data => {\r\n if (data[\"status\"] == 'success') {\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n } else {\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n this.creation_finished = true\r\n }\r\n\r\n add_item_to_current_list($event) {\r\n\r\n\r\n // event validation\r\n let item = $event['item']\r\n let item_type = $event['expandable']\r\n if ($event['item_name'] !== undefined) {\r\n // define the item type\r\n\r\n // item is a folder\r\n\r\n // check the item in the list\r\n let switch_case = 0\r\n Object.keys(this.target_folder_list).forEach(index => {\r\n let current_item_name = this.target_folder_list[index]['item_name']\r\n let selected_item_name = $event['item_name']\r\n // validate\r\n if (current_item_name == selected_item_name) {\r\n // item was found\r\n switch_case = 1\r\n }\r\n })\r\n // check if the folder was found or not\r\n if (switch_case == 0) {\r\n this.target_folder_list.push($event)\r\n this.openSnackBar($event['item_name'] + \" was added to the list.\", 'Success')\r\n }\r\n else {\r\n this.openSnackBar($event['item_name'] + \" is already in the list.\", 'Warning')\r\n }\r\n\r\n }\r\n // item validated with type\r\n if (item !== undefined && item_type !== undefined) {\r\n\r\n\r\n // item is a system\r\n // check the item in the list\r\n let switch_case = 0\r\n Object.keys(this.target_systems_list).forEach(index => {\r\n let current_item_name = this.target_systems_list[index]['system_name']\r\n let selected_item_name = item['system_name']\r\n // validate\r\n if (current_item_name == selected_item_name) {\r\n // item was found\r\n switch_case = 1\r\n }\r\n })\r\n // check if the system was found or not\r\n if (switch_case == 0) {\r\n this.target_systems_list.push(item)\r\n this.openSnackBar(item['system_name'] + \" was added to the list.\", 'Success')\r\n }\r\n else {\r\n this.openSnackBar(item['system_name'] + \" is already in the list.\", 'Warning')\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n //sql table\r\n\r\n get_selected_sql_row($event) {\r\n this.modal_modifyCommandConfForm = this._formBuilder.group({});\r\n this.show_progressbar = true;\r\n let command_id = $event['command_id']\r\n let command_conf_id = $event['command_conf_id']\r\n let value_type = $event['command_parameters_count']\r\n var jobject = {\r\n \"event\": \"query_command_configuration\",\r\n \"id\": command_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.modal_edit_command_conf = response_data[\"data\"]\r\n //add mandatory form controls\r\n const command_conf_id_ctrl = new FormControl(command_conf_id, Validators.required);\r\n this.modal_modifyCommandConfForm.addControl('id', command_conf_id_ctrl)\r\n\r\n const command_value = new FormControl('');\r\n this.modal_modifyCommandConfForm.addControl('command_value', command_value)\r\n\r\n let value_type = this.modal_edit_command_conf[0]['command_props']['command_parameters_count']\r\n const command_value_type = new FormControl(value_type, Validators.required);\r\n this.modal_modifyCommandConfForm.addControl('command_value_type', command_value_type)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n this.selected_sql_row = $event\r\n $(\"#modal_sql_row\").click()\r\n }\r\n\r\n\r\n delete_folder_from_current_list(item: any) {\r\n this.target_folder_list.forEach(folder => {\r\n let folder_id = folder[\"id\"]\r\n let rem_folder_id = item[\"id\"]\r\n if (folder_id == rem_folder_id) {\r\n let index = this.target_folder_list.indexOf(folder)\r\n this.target_folder_list.splice(index, 1);\r\n this.openSnackBar(\"Folder \" + item[\"item_name\"] + \" was removed\", \"success\")\r\n }\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n delete_system_from_current_list(item: any) {\r\n let index = 0\r\n this.target_systems_list.forEach(system => {\r\n index += 1\r\n\r\n let system_id;\r\n let rem_system_id;\r\n if (system[\"id\"] !== undefined) {\r\n system_id = system[\"id\"]\r\n }\r\n else {\r\n system_id = system['item'][\"id\"]\r\n }\r\n if (item[\"id\"] !== undefined) {\r\n rem_system_id = item[\"id\"]\r\n }\r\n else {\r\n rem_system_id = item['item'][\"id\"]\r\n }\r\n\r\n\r\n if (system_id == rem_system_id && (system_id != undefined || rem_system_id != undefined)) {\r\n // let index = this.target_folder_list.indexOf(system)\r\n if (index == 0) {\r\n this.target_systems_list.splice(index, 1);\r\n }\r\n else {\r\n this.target_systems_list.splice(index - 1, 1);\r\n }\r\n\r\n\r\n this.openSnackBar(\"System \" + item[\"system_name\"] + \" was removed\", \"success\")\r\n }\r\n\r\n })\r\n\r\n }\r\n\r\n delete_template_command_conf(item_id: any) {\r\n //delete_template_conf_id\r\n if (item_id !== undefined) {\r\n this.show_progressbar = true\r\n let jobject = {\r\n \"event\": \"delete_template_conf_id\",\r\n \"id\": item_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n delete_job() {\r\n var job = {\r\n \"event\": \"delete_job_by_template_job_id\",\r\n \"id\": this.selected_item_job_id_history\r\n }\r\n\r\n this.http.post(template_manager.services, job).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n document.getElementById('refreshID').click();\r\n\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.loggerService.log(\"TemplateManagerComponent\", response_data[\"message\"], Levels.error)\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n ngSubmit_save_job_config_folder_changes() {\r\n //user cleared all folders.\r\n var jobject = {\r\n \"event\": \"clear_jobs_folders\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n\r\n if (this.target_folder_list.length == 0) {\r\n this.show_progressbar = true\r\n var jobject = {\r\n \"event\": \"clear_jobs_folders\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n }\r\n if (this.target_folder_list.length > 0) {\r\n this.target_folder_list.forEach(item => {\r\n let folder_id = item[\"id\"]\r\n let jobject = {\r\n \"event\": \"create_job_folder_conf\",\r\n \"templatecreatejob_id\": this.selected_item_job_id,\r\n \"systemlocation_id\": folder_id\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n }\r\n\r\n ngSubmit_update_job_profile() {\r\n if (this.updateJobForm.valid) {\r\n this.updateJobForm.value[\"id\"] = this.selected_item_job_id_history\r\n this.updateJobForm.value[\"next_run_time\"] = this.updateJobForm.value[\"start_job_at\"]\r\n this.updateJobForm.value[\"job_creator_editor\"] = this.user_info_obj[\"name\"]\r\n this.http.post(template_manager.services, this.updateJobForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"]);\r\n document.getElementById('refreshID').click();\r\n this.slider_editcurrent_job = false;\r\n this.selected_item_job_row = null;\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"]);\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error);\r\n })\r\n }\r\n }\r\n\r\n ngSubmit_save_job_config_system_changes() {\r\n\r\n // user cleared all systems.\r\n if (this.recieve_selected_items.length == 0) {\r\n this.show_progressbar = true\r\n var jobject = {\r\n \"event\": \"clear_jobs_systems\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.recieve_selected_items = []\r\n this.get_job_target_list(this.selected_item_job_id_history)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n else if (this.recieve_selected_items.length > 0) {\r\n\r\n let jobject = {\r\n \"event\": \"create_job_system_conf\",\r\n \"templatecreatejob_id\": this.selected_item_job_id,\r\n \"systeminformation_id_list\": this.recieve_selected_items\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.recieve_selected_items = []\r\n this.get_job_target_list(this.selected_item_job_id_history)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n ngSubmit_save_modified_template_command() {\r\n\r\n if (this.modal_modifyCommandConfForm.valid) {\r\n this.modal_modifyCommandConfForm.value[\"event\"] = \"update_template_conf_id\"\r\n if (this.modal_modifyCommandConfForm.value[\"command_value_type\"] == 'text') {\r\n this.modal_modifyCommandConfForm.value[\"command_value\"] = '\"' + this.modal_modifyCommandConfForm.value[\"command_value\"] + '\"'\r\n }\r\n delete this.modal_modifyCommandConfForm.value[\"command_value_type\"]\r\n this.http.post(template_manager.services, this.modal_modifyCommandConfForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n //commands controller\r\n check_all() {\r\n document.querySelectorAll('.mat-option').forEach(item => {\r\n var select_state = item.getAttribute('aria-selected')\r\n\r\n if (select_state === 'false') {\r\n item.click()\r\n }\r\n })\r\n }\r\n\r\n deselect_all() {\r\n document.querySelectorAll('.mat-option').forEach(item => {\r\n var select_state = item.getAttribute('aria-selected')\r\n if (select_state === 'true') {\r\n item.click()\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n get_filtered_commands() {\r\n this.show_progressbar = true\r\n this.stateGroups = []\r\n var selectedList_sw_versions = this.SoftwareVersion.value\r\n var search_key = this.stateForm.get('stateGroup').value\r\n var ob = {\r\n \"parent_table_name\": \"system_overview_systemclicommands\",\r\n \"parent_table_group_key\": \"command_family\",\r\n \"parent_table_display_value\": \"command_display_name\",\r\n \"software_filter_list\": selectedList_sw_versions,\r\n \"search_keyword\": search_key\r\n }\r\n\r\n var array = []\r\n this.http.post(template_manager.templatecommandsview, ob).subscribe(data => {\r\n this.show_progressbar = false\r\n this.stateGroups = data['tree'][0]\r\n if (this.stateGroups === undefined) {\r\n this.openSnackBar('No results found,try another keyword', '')\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n toggle_command_parameter_div($event, line) {\r\n var parameter_element_id = \"command_value_\" + line['id']\r\n if ($event['checked'] == true) {\r\n\r\n document.getElementById(parameter_element_id).classList.replace('invisible', 'visible')\r\n\r\n } else {\r\n document.getElementById(parameter_element_id).classList.replace('visible', 'invisible')\r\n\r\n }\r\n\r\n }\r\n\r\n prompt_save_commands() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n this.selected_commands_list = []\r\n document.querySelectorAll('.mat-checkbox-checked').forEach(item => {\r\n var command_line = []\r\n var switcher = 0\r\n var command_value = document.getElementById('command_value_' + item.id.split('_')[2] + '').textContent\r\n var command_id_fk = item.id.split('_')[2]\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index]['rec_id'] == command_id_fk) {\r\n command_line.push(this.stateGroups[index])\r\n\r\n\r\n }\r\n })\r\n var command_sw_id = command_line['software_version_id']\r\n var command_syntax = command_line['command_syntax']\r\n var command_type = command_line['command_parameters_count']\r\n var command_display = document.getElementById(item.id).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item.id.split('_')[2] + '').val().toString()\r\n\r\n }\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index]['command_id_fk'] == command_id_fk) {\r\n switcher = 1\r\n }\r\n\r\n })\r\n\r\n\r\n if (switcher == 0 || this.selected_commands_list.length == 0) {\r\n // this.selected_commands_list.push({\r\n // added_by: 'test',\r\n // command_id_fk: item.id.split('_')[2],\r\n // command_is_enabled: 1,\r\n // command_sw_version: command_sw_id,\r\n // command_type: command_type,\r\n // command_syntax: command_syntax,\r\n // command_value: command_value,\r\n // template_name_id: this.template_id,\r\n // event: \"create_template_conf\"\r\n // })\r\n this.openSnackBar('Command was added to the list', '')\r\n //(this.selected_commands_list)\r\n\r\n } else {\r\n this.openSnackBar('Command is already in the list', '')\r\n\r\n }\r\n })\r\n }\r\n\r\n prompt_save_commands2() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n this.selected_commands_list = []\r\n this.stateGroups.forEach(item => {\r\n var command_value = document.getElementById('command_value_' + item['id']).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item['id']).val().toString()\r\n\r\n }\r\n this.selected_commands_list.push({\r\n added_by: this.user_info_obj[\"name\"],\r\n command_id_fk: item['id'],\r\n command_is_enabled: 1,\r\n command_sw_version: item['software_version_id'],\r\n command_sw_version_text: item['software_version'],\r\n command_family: item['command_family'],\r\n command_type: item['command_parameters_count'],\r\n command_syntax: item['command_syntax'],\r\n command_value: command_value,\r\n template_name_id: this.template_id,\r\n event: \"create_template_conf\"\r\n })\r\n this.openSnackBar('Command was added to the list', '')\r\n\r\n })\r\n }\r\n\r\n prompt_save_commands_no_alert() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n // this.selected_commands_list=[]\r\n document.querySelectorAll('.mat-checkbox-checked').forEach(item => {\r\n var command_line = []\r\n var switcher = 0\r\n var command_value = document.getElementById('command_value_' + item.id.split('_')[2] + '').textContent\r\n var command_id_fk = item.id.split('_')[2]\r\n\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index]['rec_id'] == command_id_fk) {\r\n command_line.push(this.stateGroups[index])\r\n\r\n\r\n }\r\n })\r\n var command_sw_id = command_line[0]['software_version_id']\r\n var command_syntax = command_line[0]['command_syntax']\r\n var command_type = command_line[0]['command_parameters_count']\r\n var command_display = document.getElementById(item.id).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item.id.split('_')[2] + '').val().toString()\r\n\r\n }\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index]['command_id_fk'] == command_id_fk) {\r\n switcher = 1\r\n }\r\n\r\n })\r\n\r\n\r\n if (switcher == 0 || this.selected_commands_list.length == 0) {\r\n // this.selected_commands_list.push({\r\n // added_by: 'test',\r\n // command_id_fk: item.id.split('_')[2],\r\n // command_is_enabled: 1,\r\n // command_sw_version: command_sw_id,\r\n // command_type: command_type,\r\n // command_syntax: command_syntax,\r\n // command_value: command_value,\r\n // template_name_id: this.template_id,\r\n // event: \"create_template_conf\"\r\n // })\r\n\r\n } else {\r\n\r\n }\r\n })\r\n }\r\n\r\n prompt_assign_command_to_template() {\r\n // Object.keys(this.selected_commands_list).forEach(index => {\r\n // var command_id = this.selected_commands_list[index][\"command_id_fk\"]\r\n // var command_value = this.selected_commands_list[index][\"command_value\"]\r\n // var command_syntax = this.selected_commands_list[index][\"command_syntax\"]\r\n // var command_sw = this.selected_commands_list[index][\"command_sw_version\"]\r\n // var command_type = this.selected_commands_list[index][\"command_type\"]\r\n // var added_by = this.selected_commands_list[index][\"added_by\"]\r\n this.assign_commands_to_template(this.selected_commands_list)\r\n // })\r\n\r\n\r\n }\r\n\r\n delete_from_stateGroups(item: any) {\r\n var command_id = item.id\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index] != undefined && this.stateGroups[index]['id'] === command_id) {\r\n this.stateGroups.splice(Number(index), 1)\r\n }\r\n\r\n })\r\n }\r\n\r\n delete_from_selected_commands_list(item: any) {\r\n var command_id = item.command_id_fk\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index] != undefined && this.selected_commands_list[index]['command_id_fk'] === command_id) {\r\n this.selected_commands_list.splice(Number(index), 1)\r\n this.stateGroups.splice(Number(index), 1)\r\n }\r\n\r\n })\r\n }\r\n\r\n private _filterGroup(value: string): CommandsGroup[] {\r\n if (value) {\r\n return this.stateGroups\r\n .map(group => ({\r\n CommandFamily: group.CommandFamily,\r\n software_id: group.software_id,\r\n CommandSyntax: group.CommandSyntax,\r\n CommandType: group.CommandType,\r\n id: group.id,\r\n CommandName: _filter(group.CommandName, value)\r\n }))\r\n .filter(group => group.CommandName.length > 0);\r\n }\r\n\r\n return this.stateGroups;\r\n\r\n }\r\n\r\n // end of commands controller\r\n //end\r\n\r\n\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n\r\n deleteTemplate(id: number) {\r\n this.http.post(template_manager.services, {\r\n \"event\": \"delete_template_profile_id\",\r\n \"id\": id\r\n }).subscribe(data => {\r\n this.get_distinct_templates();\r\n this.openSnackBar(\"Template deleted\", \"Success\")\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n this.openSnackBar(\"Error while deleting template\", \"Error\")\r\n })\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n settings_applications\r\n Management\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n Template selection\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    Templates list

    \r\n
    Choose one of the templates
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{row.template_name}}\r\n \r\n delete\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Create a new template profile

    \r\n \r\n Template Name\r\n \r\n \r\n
    \r\n\r\n\r\n \r\n Description\r\n \r\n\r\n \r\n
    \r\n \r\n\r\n

    ({{template_id}}) template is ready, move to the next.

    \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 Configuration\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

    Selected Commands List

    \r\n \r\n
    \r\n \r\n\r\n
    \r\n delete\r\n\r\n {{line.command_display_name}}\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 Click to select\r\n \r\n \r\n {{option['command_choice']}}\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n {{line.software_version}}\r\n \r\n \r\n \r\n \r\n {{line.command_family}}\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 Schedule a Task\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    Task Configuration

    \r\n \r\n \r\n \r\n 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
    \r\n\r\n \r\n How Often?\r\n \r\n Once\r\n Daily\r\n Weekly\r\n Monthly\r\n Yearly\r\n \r\n \r\n\r\n
    \r\n
    \r\n

    \r\n select_all\r\n Select the target system(s) for the created job ({{this.createJobForm.get('job_title').value}})\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 computer\r\n Selected List - {{this.recieve_selected_items.length}}\r\n {{element.text}}\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 Done\r\n\r\n
    \r\n

    \r\n thumb_up\r\n Perfect, Job: {{this.createJobForm.get('job_title').value}} is ready\r\n

    \r\n

    \r\n access_alarms\r\n Next run time at: {{this.createJobForm.get('start_job_at').value}}

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

    \r\n error_outline\r\n Please, complete all the the steps..\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 list_alt\r\n Configuration\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 Sort tree by\r\n \r\n \r\n {{item.viewValue}}\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 timer\r\n Scheduler\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {{selected_item_job_row[\"text\"]}}\r\n \r\n From: {{selected_item_job_row[\"value\"][\"start_job_at\"]}}\r\n \r\n Job ID: {{selected_item_job_row[\"value\"][\"template_job_id\"]}}\r\n
    \r\n\r\n \r\n

    \r\n\r\n

    \r\n
    \r\n \r\n Edit Profile\r\n
    \r\n Delete job (no revert)\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Edit Profile

    \r\n
    \r\n \r\n
    \r\n\r\n \r\n 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 How Often?\r\n \r\n Once\r\n Daily\r\n Weekly\r\n Monthly\r\n Yearly\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n folder\r\n Template target list\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 computer\r\n New List - {{this.recieve_selected_items.length}}\r\n {{element.text}}\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 computer\r\n Saved List - {{this.target_systems_list.length}}\r\n {{element.system_name}} - {{element.system_ip}}\r\n
    \r\n
    \r\n
    \r\n \r\n Switch to Navigator\r\n \r\n
    \r\n \r\n Clear list\r\n \r\n
    \r\n \r\n Save save\r\n \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n format_list_bulleted\r\n Saved Commands\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 history\r\n Template History\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
    Edit Command
    \r\n \r\n
    \r\n
    \r\n

    Current Configuration

    \r\n
    \r\n

    {{selected_sql_row['command_display_name']}} : {{selected_sql_row['command_value']}}

    \r\n

    Family: {{selected_sql_row['command_family']}}

    \r\n
    Software Version: {{selected_sql_row['command_sw_version']}}
    \r\n Delete this template-command mapping (No revert)\r\n \r\n
    \r\n

    Modify current value

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n \r\n {{list_item['command_props']['command_display_name']}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n \r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Confirm commands
    \r\n \r\n
    \r\n
    \r\n

    You have selected {{selected_commands_list.length}} command(s)

    \r\n

    \r\n close\r\n please select a template first.\r\n

    \r\n
    \r\n

    Please, select one or more commands.\r\n \r\n

    \r\n
      \r\n
    1. \r\n delete\r\n {{row.command_family}}\r\n {{row.command_sw_version_text}}\r\n {{row.command_syntax}}: {{row.command_value}}
    2. \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

    403

    \r\n
    \r\n

    Access Denied

    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { CollectionViewer, DataSource, SelectionChange } from '@angular/cdk/collections';\r\n// @ts-ignore\r\nimport { folder_manager, template_manager } from '../assets/conf_urls.json';\r\nimport { map } from 'rxjs/operators';\r\nimport { TreeviewItem, TreeviewConfig, TreeviewHelper, TreeviewComponent } from 'ngx-treeview';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n/** Flat node with expandable and level information */\r\nexport class DynamicFlatNode {\r\n constructor(public item: string, public level = 1, public expandable = false,\r\n public isLoading = false, props?: any[],) {\r\n }\r\n}\r\n\r\n/**\r\n * Database for dynamic data. When expanding a node in the tree, the data source will need to fetch\r\n * the descendants data from the database.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynamicDatabase {\r\n dataMap = new Map(\r\n [['UK', ['']]]\r\n );\r\n rootLevelNodes: string[] = [];\r\n\r\n setDatamap(item: any, array: any) {\r\n this.dataMap.set(item, array);\r\n }\r\n\r\n setRootLevel(item) {\r\n\r\n this.rootLevelNodes.push(item);\r\n }\r\n\r\n /** Initial data from database */\r\n initialData(): DynamicFlatNode[] {\r\n return this.rootLevelNodes.map(name => new DynamicFlatNode(name, 0, true));\r\n }\r\n\r\n getChildren(node: string): string[] | undefined {\r\n return this.dataMap.get(node);\r\n }\r\n\r\n isExpandable(node: string): boolean {\r\n return this.dataMap.has(node);\r\n }\r\n}\r\n\r\n\r\nexport class DynamicDataSource implements DataSource {\r\n\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): DynamicFlatNode[] {\r\n return this.dataChange.value;\r\n }\r\n\r\n set data(value: DynamicFlatNode[]) {\r\n this._treeControl.dataNodes = value;\r\n this.dataChange.next(value);\r\n }\r\n\r\n constructor(private _treeControl: FlatTreeControl,\r\n private _database: DynamicDatabase) {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n this._treeControl.expansionModel.changed.subscribe(change => {\r\n if ((change as SelectionChange).added ||\r\n (change as SelectionChange).removed) {\r\n this.handleTreeControl(change as SelectionChange);\r\n }\r\n });\r\n\r\n return merge(collectionViewer.viewChange, this.dataChange).pipe(map(() => this.data));\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n }\r\n\r\n /** Handle expand/collapse behaviors */\r\n handleTreeControl(change: SelectionChange) {\r\n if (change.added) {\r\n change.added.forEach(node => this.toggleNode(node, true));\r\n }\r\n if (change.removed) {\r\n change.removed.slice().reverse().forEach(node => this.toggleNode(node, false));\r\n }\r\n }\r\n\r\n /**\r\n * Toggle the node, remove from display list\r\n */\r\n toggleNode(node: DynamicFlatNode, expand: boolean) {\r\n const children = this._database.getChildren(node.item);\r\n const index = this.data.indexOf(node);\r\n if (!children || index < 0) { // If no children, or cannot find the node, no op\r\n return;\r\n }\r\n\r\n node.isLoading = true;\r\n\r\n setTimeout(() => {\r\n if (expand) {\r\n const nodes = children.map(name =>\r\n new DynamicFlatNode(name, node.level + 1, this._database.isExpandable(name)));\r\n this.data.splice(index + 1, 0, ...nodes);\r\n } else {\r\n let count = 0;\r\n for (let i = index + 1; i < this.data.length\r\n && this.data[i].level > node.level; i++, count++) {\r\n }\r\n this.data.splice(index + 1, count);\r\n }\r\n\r\n // notify the change\r\n this.dataChange.next(this.data);\r\n node.isLoading = false;\r\n }, 10);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-treeview-systems',\r\n templateUrl: './treeview-systems.component.html',\r\n styleUrls: ['./treeview-systems.component.css'],\r\n\r\n})\r\n\r\n\r\n\r\nexport class TreeviewSystemsComponent implements OnInit {\r\n //icons\r\n @Input() parent_icon: string;//\r\n @Input() child_icon: string;//\r\n\r\n //m2mtable\r\n\r\n @Input() title: string;//\r\n\r\n @Input() parent_table_name: string;//\r\n @Input() parent_table_pk: string;//\r\n @Input() parent_table_ref_value: string;//\r\n @Input() child_table_fk: string;//\r\n @Input() child_table_displayname: string;//\r\n @Input() child_table_name: string;//\r\n //one table tree params\r\n\r\n @Input() parent_table_group_key: string;//\r\n @Input() parent_table_display_value: string;//\r\n\r\n //end\r\n // tree by query\r\n @Input() query_tree: string;//\r\n @Input() aggr_table: string;//\r\n @Input() aggr_column: string;//\r\n @Input() display_value: string;//\r\n @Input() map_column: string;//\r\n //by url\r\n @Input() url: string;//\r\n\r\n\r\n //\r\n @Input() algorithm: string;//\r\n @Output() messageEvent = new EventEmitter();//\r\n @Output() messageEvent_send_parent_information = new EventEmitter();//\r\n @Output() messageEvent2 = new EventEmitter<{}>();//\r\n\r\n //ngx tree used inputs and outputs\r\n //input for ngx tree sort-by\r\n @Input() sort_by: string;\r\n @Input() has_checkbox = true;\r\n @Output() messageSelectedNode = new EventEmitter<{}>();\r\n @Output() messageSelectedMultipleNodes = new EventEmitter<{}>();\r\n @Output() messageSelectedMultipleNodesWithTheirText = new EventEmitter<{}>();\r\n @Output() messageSelectedFolder = new EventEmitter<{}>();\r\n @Output() messageResponseData = new EventEmitter<{}>();\r\n dropdownEnabled = true;\r\n items: TreeviewItem[];\r\n items_json: any;\r\n values: number[];\r\n config = TreeviewConfig.create({\r\n hasAllCheckBox: this.has_checkbox,\r\n hasFilter: true,\r\n hasCollapseExpand: true,\r\n decoupleChildFromParent: false,\r\n maxHeight: 500\r\n });\r\n\r\n show_progressbar = false;\r\n\r\n selected_items: any;\r\n single_item_selected: any;\r\n\r\n node_click_style_value = \"\";\r\n\r\n treeControl: FlatTreeControl;\r\n dataSource: DynamicDataSource;\r\n getLevel = (node: DynamicFlatNode) => node.level;\r\n isExpandable = (node: DynamicFlatNode) => node.expandable;\r\n hasChild = (_: number, _nodeData: DynamicFlatNode) => _nodeData.expandable;\r\n\r\n constructor(private database: DynamicDatabase,\r\n private http: HttpClient,\r\n private loggerService: LoggerService) {\r\n this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);\r\n this.dataSource = new DynamicDataSource(this.treeControl, this.database);\r\n this.dataSource.data = this.database.initialData();\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.get_tree()\r\n //this.get_ngx_tree(this.sort_by)\r\n //this.reload_treeView()\r\n }\r\n\r\n node_click_style(node: TreeviewItem) {\r\n if (this.node_click_style_value === node.value) {\r\n return \"color:black; font-weight: bold; font-size: 14px;\"\r\n }\r\n else {\r\n return \"\"\r\n }\r\n }\r\n\r\n set_node_click_style_value(node: TreeviewItem) {\r\n if (this.node_click_style_value === node.value) {\r\n this.node_click_style_value = \"\"\r\n return\r\n }\r\n this.node_click_style_value = node.value\r\n }\r\n\r\n bkground_color(node: TreeviewItem) {\r\n if (node.checked) {\r\n return \"color:black; font-weight: bold; font-size: 14px;\"\r\n }\r\n else {\r\n return \"\"\r\n }\r\n }\r\n\r\n log_item(item: any) {\r\n }\r\n\r\n\r\n\r\n\r\n onSelection(iw: any) {\r\n this.messageSelectedFolder.emit(iw)\r\n if (iw[\"expandable\"] == true) {\r\n this.get_folder_id_emit(iw)\r\n\r\n } else {\r\n this.messageEvent2.emit(iw)\r\n }\r\n }\r\n\r\n //\r\n get_folder_id_emit(node) {\r\n this.show_progressbar = true;\r\n\r\n this.http.post(folder_manager.get_folder_id_by_name, {\r\n 'event': 'query',\r\n 'item_name': node['item']\r\n }).subscribe(response => {\r\n this.show_progressbar = false;\r\n this.single_item_selected = { 'id': response[0]['id'], 'item_name': response[0]['item_name'] };\r\n this.messageEvent_send_parent_information.emit(this.single_item_selected)\r\n this.messageEvent2.emit(this.single_item_selected)\r\n });\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n refreshFlag: boolean = true;\r\n get_ngx_tree(sort_by) {\r\n if (sort_by && this.refreshFlag) {\r\n this.refreshFlag = false;\r\n var json_body = { 'group_by': sort_by }\r\n this.items = [];\r\n this.http.post(folder_manager.ngx_tree, json_body).subscribe(data => {\r\n this.refreshFlag = true;\r\n this.show_progressbar = false\r\n this.items_json = data['tree'];\r\n if (typeof (this.items_json) == 'object') {\r\n this.items_json.forEach(item => {\r\n this.items.push(new TreeviewItem(item));\r\n });\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TreeviewSystemsComponent\", err.message, Levels.error);\r\n this.refreshFlag = true;\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n /**********THIS FUNCTION WILL TRIGGER WHEN PARENT COMPONENT UPDATES 'sort_by'**************/\r\n this.get_ngx_tree(this.sort_by);\r\n this.config.hasAllCheckBox = this.has_checkbox\r\n }\r\n\r\n\r\n onFilterChange(value: string) {\r\n }\r\n\r\n @ViewChild(TreeviewComponent) treeView: TreeviewComponent;\r\n onSelectedChange(node: TreeviewItem[]) {\r\n //this.treeView.selection.checkedItems.forEach(item=>item.correctChecked())\r\n let nodesToBeSentWithTheirValuesAndText = [];\r\n //this array is mainly to bulk delete to have each item in tree with its text and id only\r\n // console.log(this.treeView);\r\n // console.log(this.items);\r\n\r\n this.treeView.selection.checkedItems.forEach(item => {\r\n if (item.value?.type == \"endpoint\") {\r\n nodesToBeSentWithTheirValuesAndText.push({ text: item.text, value: item.value?.id })\r\n }\r\n })\r\n this.messageSelectedMultipleNodesWithTheirText.emit(nodesToBeSentWithTheirValuesAndText)\r\n this.messageSelectedMultipleNodes.emit(node)\r\n }\r\n\r\n\r\n onSelection_new(item: any) {\r\n\r\n if (item.value[\"type\"] == \"endpoint\" || item.value[\"type\"] == \"template_job\") {\r\n if (this.sort_by == \"folder\" || this.sort_by == \"template_jobs\") {\r\n for (const root_item of this.items) {\r\n if (TreeviewHelper.findParent(root_item, item)) {\r\n //this.messageSelectedFolder.emit(TreeviewHelper.findParent(root_item, item))\r\n item.value[\"parent\"] = TreeviewHelper.findParent(root_item, item)\r\n }\r\n }\r\n }\r\n this.messageSelectedNode.emit(item)\r\n } else if (item.value[\"type\"] == \"folder\" && this.sort_by == \"folder\") {\r\n this.messageSelectedFolder.emit(item)\r\n // console.log(\"iw\", item)\r\n\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    {{sort_by}} Tree \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n \r\n\r\n\r\n
    • Refresh
    • \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 folder\r\n videocam\r\n list\r\n chrome_reader_mode\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"]}